# Upon installation, everything will be moved to ${INSTALL_LIB} and ${INSTALL_BIN}
if [ -z "${BUILD}" ]; then
- BUILD=/tmp/metalua-build
+ BUILD=$(mkdir -p ../build; cd ../build; pwd)
fi
if [ -z "${BUILD_BIN}" ]; then
fi
# Where to place the final results
+# DESTDIR=
# INSTALL_BIN=/usr/local/bin
# INSTALL_LIB=/usr/local/lib/lua/5.1
if [ -z "${INSTALL_BIN}" ]; then
# --- END OF USER-EDITABLE PART ---
+if [ -z ${LUA} ] ; then echo "Error: no lua interpreter found"; fi
+if [ -z ${LUAC} ] ; then echo "Error: no lua compiler found"; fi
+
+if [ -f ~/.metaluabuildrc ] ; then . ~/.metaluabuildrc; fi
+
+if [ -z "$LINEREADER" ] && which -s rlwrap; then LINEREADER=rlwrap; fi
echo '*** Lua paths setup ***'
mkdir -p ${BUILD_BIN}
mkdir -p ${BUILD_LIB}
-cp -R lib/* ${BUILD_LIB}/
-# cp -R bin/* ${BUILD_BIN}/ # No binaries provided for unix (for now)
+cp -Rp lib/* ${BUILD_LIB}/
+# cp -Rp bin/* ${BUILD_BIN}/ # No binaries provided for unix (for now)
echo '*** Generate a callable metalua shell script ***'
#!/bin/sh
mkdir -p ${INSTALL_BIN}
mkdir -p ${INSTALL_LIB}
-
-cat > ${INSTALL_BIN}/metalua <<EOF
+if [ -n "${DESTDIR}" ]; then
+ mkdir -p ${DESTDIR}${INSTALL_BIN}
+ mkdir -p ${DESTDIR}${INSTALL_LIB}
+fi
+cat > ${DESTDIR}${INSTALL_BIN}/metalua <<EOF
#!/bin/sh
METALUA_LIB=${INSTALL_LIB}
export LUA_PATH="?.luac;?.lua;\\\${METALUA_LIB}/?.luac;\\\${METALUA_LIB}/?.lua"
export LUA_MPATH="?.mlua;\\\${METALUA_LIB}/?.mlua"
-${LUA} \\\${METALUA_LIB}/metalua.luac "\\\$@"
+exec ${LINEREADER} ${LUA} \\\${METALUA_LIB}/metalua.luac "\\\$@"
EOF
-chmod a+x ${INSTALL_BIN}/metalua
+chmod a+x ${DESTDIR}${INSTALL_BIN}/metalua
+
+cp -pR ${BUILD_LIB}/* ${DESTDIR}${INSTALL_LIB}/
-cp -R ${BUILD_LIB}/* ${INSTALL_LIB}/
+echo "metalua libs installed in ${INSTALL_LIB};"
+echo "metalua executable in ${INSTALL_BIN}."
EOF2
chmod a+x make-install.sh