Created
May 2, 2025 02:49
-
-
Save lopesivan/0c4304da477026714cc1cf9ad807ac17 to your computer and use it in GitHub Desktop.
locsl build lua, neovim
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
PWD_LOCAL=$PWD | |
V=5.1.5 | |
R=${V%.?} | |
_d=lua-${V} | |
test -d $_d && rm -rf $_d | |
_f=lua-${V}.tar.gz | |
if ! test -e $_f; then | |
wget https://www.lua.org/ftp/lua-${V}.tar.gz | |
fi | |
tar xvzf lua-${V}.tar.gz | |
cd ${PWD_LOCAL}/lua-${V}/src | |
# static | |
CFLAGS="-O2 -Wall -DLUA_USE_LINUX" | |
LDFLAGS="-lm -Wl,-E -ldl -lreadline -lhistory -lncurses" | |
gcc ${CFLAGS} -c -o lapi.o lapi.c | |
gcc ${CFLAGS} -c -o lcode.o lcode.c | |
gcc ${CFLAGS} -c -o ldebug.o ldebug.c | |
gcc ${CFLAGS} -c -o ldo.o ldo.c | |
gcc ${CFLAGS} -c -o ldump.o ldump.c | |
gcc ${CFLAGS} -c -o lfunc.o lfunc.c | |
gcc ${CFLAGS} -c -o lgc.o lgc.c | |
gcc ${CFLAGS} -c -o llex.o llex.c | |
gcc ${CFLAGS} -c -o lmem.o lmem.c | |
gcc ${CFLAGS} -c -o lobject.o lobject.c | |
gcc ${CFLAGS} -c -o lopcodes.o lopcodes.c | |
gcc ${CFLAGS} -c -o lparser.o lparser.c | |
gcc ${CFLAGS} -c -o lstate.o lstate.c | |
gcc ${CFLAGS} -c -o lstring.o lstring.c | |
gcc ${CFLAGS} -c -o ltable.o ltable.c | |
gcc ${CFLAGS} -c -o ltm.o ltm.c | |
gcc ${CFLAGS} -c -o lundump.o lundump.c | |
gcc ${CFLAGS} -c -o lvm.o lvm.c | |
gcc ${CFLAGS} -c -o lzio.o lzio.c | |
gcc ${CFLAGS} -c -o lauxlib.o lauxlib.c | |
gcc ${CFLAGS} -c -o lbaselib.o lbaselib.c | |
gcc ${CFLAGS} -c -o ldblib.o ldblib.c | |
gcc ${CFLAGS} -c -o liolib.o liolib.c | |
gcc ${CFLAGS} -c -o lmathlib.o lmathlib.c | |
gcc ${CFLAGS} -c -o loslib.o loslib.c | |
gcc ${CFLAGS} -c -o ltablib.o ltablib.c | |
gcc ${CFLAGS} -c -o lstrlib.o lstrlib.c | |
gcc ${CFLAGS} -c -o loadlib.o loadlib.c | |
gcc ${CFLAGS} -c -o linit.o linit.c | |
OBJ_FILES="lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o loadlib.o linit.o" | |
ar rcu liblua.a ${OBJ_FILES} # DLL needs all object files | |
ranlib liblua.a | |
gcc ${CFLAGS} -c -o lua.o lua.c | |
gcc -o lua lua.o liblua.a ${LDFLAGS} | |
gcc ${CFLAGS} -c -o luac.o luac.c | |
gcc ${CFLAGS} -c -o print.o print.c | |
gcc -o luac luac.o print.o liblua.a ${LDFLAGS} | |
_d=${HOME}/.luaenv/versions/${V} | |
test -d $_d && rm -rf $_d | |
mkdir -p \ | |
${HOME}/.luaenv/versions/${V}/bin \ | |
${HOME}/.luaenv/versions/${V}/include \ | |
${HOME}/.luaenv/versions/${V}/lib \ | |
${HOME}/.luaenv/versions/${V}/man/man1 \ | |
${HOME}/.luaenv/versions/${V}/share/lua/${R} \ | |
${HOME}/.luaenv/versions/${V}/lib/lua/${R} | |
cd ${PWD_LOCAL}/lua-${V}/src && | |
install -p -m 0755 lua luac ${HOME}/.luaenv/versions/$V/bin | |
cd ${PWD_LOCAL}/lua-${V}/src && | |
install -p -m 0644 lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp ${HOME}/.luaenv/versions/$V/include | |
cd ${PWD_LOCAL}/lua-${V}/src && | |
install -p -m 0644 liblua.a ${HOME}/.luaenv/versions/$V/lib | |
cd ${PWD_LOCAL}/lua-${V}/doc && | |
install -p -m 0644 lua.1 luac.1 ${HOME}/.luaenv/versions/$V/man/man1 | |
# shared | |
CFLAGS="-fPIC -O2 -Wall -DLUA_USE_LINUX" | |
LDFLAGS="-lm -Wl,-E -ldl -lreadline -lhistory -lncurses" | |
cd ${PWD_LOCAL}/lua-${V}/src | |
# compila todos os .c como posição-independente | |
gcc ${CFLAGS} -c -o lapi.o lapi.c | |
gcc ${CFLAGS} -c -o lcode.o lcode.c | |
gcc ${CFLAGS} -c -o ldebug.o ldebug.c | |
gcc ${CFLAGS} -c -o ldo.o ldo.c | |
gcc ${CFLAGS} -c -o ldump.o ldump.c | |
gcc ${CFLAGS} -c -o lfunc.o lfunc.c | |
gcc ${CFLAGS} -c -o lgc.o lgc.c | |
gcc ${CFLAGS} -c -o llex.o llex.c | |
gcc ${CFLAGS} -c -o lmem.o lmem.c | |
gcc ${CFLAGS} -c -o lobject.o lobject.c | |
gcc ${CFLAGS} -c -o lopcodes.o lopcodes.c | |
gcc ${CFLAGS} -c -o lparser.o lparser.c | |
gcc ${CFLAGS} -c -o lstate.o lstate.c | |
gcc ${CFLAGS} -c -o lstring.o lstring.c | |
gcc ${CFLAGS} -c -o ltable.o ltable.c | |
gcc ${CFLAGS} -c -o ltm.o ltm.c | |
gcc ${CFLAGS} -c -o lundump.o lundump.c | |
gcc ${CFLAGS} -c -o lvm.o lvm.c | |
gcc ${CFLAGS} -c -o lzio.o lzio.c | |
gcc ${CFLAGS} -c -o lauxlib.o lauxlib.c | |
gcc ${CFLAGS} -c -o lbaselib.o lbaselib.c | |
gcc ${CFLAGS} -c -o ldblib.o ldblib.c | |
gcc ${CFLAGS} -c -o liolib.o liolib.c | |
gcc ${CFLAGS} -c -o lmathlib.o lmathlib.c | |
gcc ${CFLAGS} -c -o loslib.o loslib.c | |
gcc ${CFLAGS} -c -o ltablib.o ltablib.c | |
gcc ${CFLAGS} -c -o lstrlib.o lstrlib.c | |
gcc ${CFLAGS} -c -o loadlib.o loadlib.c | |
gcc ${CFLAGS} -c -o linit.o linit.c | |
OBJ_FILES="lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o loadlib.o linit.o" | |
gcc -shared -o liblua.so.${V} ${OBJ_FILES} ${LDFLAGS} # gera a shared lib | |
cd ${PWD_LOCAL}/lua-${V}/src && | |
install -p -m 0644 liblua.so.${V} ${HOME}/.luaenv/versions/$V/lib | |
cd ${HOME}/.luaenv/versions/$V/lib | |
ln -s liblua.so.${V} liblua.so | |
ln -s liblua.so.${V} liblua.so.${R} | |
exit 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
PWD_LOCAL=$PWD | |
V=5.4.6 | |
R=${V%.?} | |
_d=lua-${V} | |
test -d $_d && rm -rf $_d | |
_f=lua-${V}.tar.gz | |
if ! test -e $_f; then | |
wget https://www.lua.org/ftp/lua-${V}.tar.gz | |
fi | |
# tar xvzf lua-${V}.tar.gz | |
# cd lua-${V} | |
# make linux CC="gcc" | |
# _d=${HOME}/.luaenv/versions/${V} | |
# test -d $_d && rm -rf $_d | |
# #make INSTALL_TOP=${HOME}/.luaenv/versions/${V} install | |
tar xvzf lua-${V}.tar.gz | |
cd ${PWD_LOCAL}/lua-${V}/src | |
# static | |
CFLAGS="-O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_LINUX" | |
LDFLAGS="-lm -Wl,-E -ldl" | |
#LDFLAGS="-lm -Wl,-E -ldl -lreadline -lhistory -lncurses" | |
gcc ${CFLAGS} -c -o lapi.o lapi.c | |
gcc ${CFLAGS} -c lcode.c | |
gcc ${CFLAGS} -c -o lctype.o lctype.c | |
gcc ${CFLAGS} -c -o ldebug.o ldebug.c | |
gcc ${CFLAGS} -c -o ldo.o ldo.c | |
gcc ${CFLAGS} -c -o ldump.o ldump.c | |
gcc ${CFLAGS} -c -o lfunc.o lfunc.c | |
gcc ${CFLAGS} -c -o lgc.o lgc.c | |
gcc ${CFLAGS} -c llex.c | |
gcc ${CFLAGS} -c -o lmem.o lmem.c | |
gcc ${CFLAGS} -c -o lobject.o lobject.c | |
gcc ${CFLAGS} -c -o lopcodes.o lopcodes.c | |
gcc ${CFLAGS} -c lparser.c | |
gcc ${CFLAGS} -c -o lstate.o lstate.c | |
gcc ${CFLAGS} -c -o lstring.o lstring.c | |
gcc ${CFLAGS} -c -o ltable.o ltable.c | |
gcc ${CFLAGS} -c -o ltm.o ltm.c | |
gcc ${CFLAGS} -c -o lundump.o lundump.c | |
gcc ${CFLAGS} -c -o lvm.o lvm.c | |
gcc ${CFLAGS} -c -o lzio.o lzio.c | |
gcc ${CFLAGS} -c -o lauxlib.o lauxlib.c | |
gcc ${CFLAGS} -c -o lbaselib.o lbaselib.c | |
gcc ${CFLAGS} -c -o lcorolib.o lcorolib.c | |
gcc ${CFLAGS} -c -o ldblib.o ldblib.c | |
gcc ${CFLAGS} -c -o liolib.o liolib.c | |
gcc ${CFLAGS} -c -o lmathlib.o lmathlib.c | |
gcc ${CFLAGS} -c -o loadlib.o loadlib.c | |
gcc ${CFLAGS} -c -o loslib.o loslib.c | |
gcc ${CFLAGS} -c -o lstrlib.o lstrlib.c | |
gcc ${CFLAGS} -c -o ltablib.o ltablib.c | |
gcc ${CFLAGS} -c -o lutf8lib.o lutf8lib.c | |
gcc ${CFLAGS} -c -o linit.o linit.c | |
OBJ_FILES="lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o" | |
ar rcu liblua.a ${OBJ_FILES} # DLL needs all object files | |
ranlib liblua.a | |
gcc ${CFLAGS} -c -o lua.o lua.c | |
gcc -o lua lua.o liblua.a ${LDFLAGS} | |
gcc ${CFLAGS} -c -o luac.o luac.c | |
gcc -o luac luac.o liblua.a ${LDFLAGS} | |
_d=${HOME}/.luaenv/versions/${V} | |
test -d $_d && rm -rf $_d | |
mkdir -p \ | |
${HOME}/.luaenv/versions/${V}/bin \ | |
${HOME}/.luaenv/versions/${V}/include \ | |
${HOME}/.luaenv/versions/${V}/lib \ | |
${HOME}/.luaenv/versions/${V}/man/man1 \ | |
${HOME}/.luaenv/versions/${V}/share/lua/${R} \ | |
${HOME}/.luaenv/versions/${V}/lib/lua/${R} | |
cd ${PWD_LOCAL}/lua-${V}/src && | |
install -p -m 0755 lua luac ${HOME}/.luaenv/versions/${V}/bin | |
cd ${PWD_LOCAL}/lua-${V}/src && | |
install -p -m 0644 lua.h luaconf.h lualib.h lauxlib.h lua.hpp ${HOME}/.luaenv/versions/${V}/include | |
cd ${PWD_LOCAL}/lua-${V}/src && | |
install -p -m 0644 liblua.a ${HOME}/.luaenv/versions/${V}/lib | |
cd ${PWD_LOCAL}/lua-${V}/doc && | |
install -p -m 0644 lua.1 luac.1 ${HOME}/.luaenv/versions/${V}/man/man1 | |
# shared | |
CFLAGS="-fPIC -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_LINUX" | |
LDFLAGS="-lm -Wl,-E -ldl" | |
cd ${PWD_LOCAL}/lua-${V}/src | |
# compila todos os .c como posição-independente | |
gcc ${CFLAGS} -c -o lapi.o lapi.c | |
gcc ${CFLAGS} -c lcode.c | |
gcc ${CFLAGS} -c -o lctype.o lctype.c | |
gcc ${CFLAGS} -c -o ldebug.o ldebug.c | |
gcc ${CFLAGS} -c -o ldo.o ldo.c | |
gcc ${CFLAGS} -c -o ldump.o ldump.c | |
gcc ${CFLAGS} -c -o lfunc.o lfunc.c | |
gcc ${CFLAGS} -c -o lgc.o lgc.c | |
gcc ${CFLAGS} -c llex.c | |
gcc ${CFLAGS} -c -o lmem.o lmem.c | |
gcc ${CFLAGS} -c -o lobject.o lobject.c | |
gcc ${CFLAGS} -c -o lopcodes.o lopcodes.c | |
gcc ${CFLAGS} -c lparser.c | |
gcc ${CFLAGS} -c -o lstate.o lstate.c | |
gcc ${CFLAGS} -c -o lstring.o lstring.c | |
gcc ${CFLAGS} -c -o ltable.o ltable.c | |
gcc ${CFLAGS} -c -o ltm.o ltm.c | |
gcc ${CFLAGS} -c -o lundump.o lundump.c | |
gcc ${CFLAGS} -c -o lvm.o lvm.c | |
gcc ${CFLAGS} -c -o lzio.o lzio.c | |
gcc ${CFLAGS} -c -o lauxlib.o lauxlib.c | |
gcc ${CFLAGS} -c -o lbaselib.o lbaselib.c | |
gcc ${CFLAGS} -c -o lcorolib.o lcorolib.c | |
gcc ${CFLAGS} -c -o ldblib.o ldblib.c | |
gcc ${CFLAGS} -c -o liolib.o liolib.c | |
gcc ${CFLAGS} -c -o lmathlib.o lmathlib.c | |
gcc ${CFLAGS} -c -o loadlib.o loadlib.c | |
gcc ${CFLAGS} -c -o loslib.o loslib.c | |
gcc ${CFLAGS} -c -o lstrlib.o lstrlib.c | |
gcc ${CFLAGS} -c -o ltablib.o ltablib.c | |
gcc ${CFLAGS} -c -o lutf8lib.o lutf8lib.c | |
gcc ${CFLAGS} -c -o linit.o linit.c | |
OBJ_FILES="lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o" | |
gcc -shared -o liblua.so.${V} ${OBJ_FILES} ${LDFLAGS} # gera a shared lib | |
cd ${PWD_LOCAL}/lua-${V}/src && | |
install -p -m 0644 liblua.so.${V} ${HOME}/.luaenv/versions/$V/lib | |
cd ${HOME}/.luaenv/versions/$V/lib | |
ln -s liblua.so.${V} liblua.so | |
ln -s liblua.so.${V} liblua.so.${R} | |
exit 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
V=luajit-2.1-dev | |
_d=LuaJIT | |
test -d $_d && rm -rf $_d | |
_f=luajit-2.1-dev.tgz | |
if ! test -e $_f; then | |
git clone https://github.com/LuaJIT/LuaJIT.git | |
tar czvf ${V}.tgz LuaJIT | |
fi | |
tar xvzf ${V}.tgz | |
cd LuaJIT | |
make MYCFLAGS="-fPIC" linux | |
_d=${HOME}/.luaenv/versions/$V | |
test -d $_d && rm -rf $_d | |
make INSTALL_TOP=${HOME}/.luaenv/versions/$V install | |
exit 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
./configure --with-lua-include=$(luaenv prefix)/include --prefix=/home/ivan/.config/luarock/$(luaenv version-name) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
test -d neovim && rm -rf neovim | |
# if exist path `/home/linuxbrew/.linuxbrew/Cellar/ivan/neovim.1' then remove. | |
_d=/home/linuxbrew/.linuxbrew/Cellar/ivan/neovim | |
test -d ${_d}.1 && rm -rf ${_d}.1 | |
mv $_d $_d.1 | |
git clone https://github.com/neovim/neovim | |
cd neovim | |
make CMAKE_BUILD_TYPE=Release CMAKE_INSTALL_PREFIX=$(brew --prefix)/Cellar/ivan/neovim | |
make install | |
exit 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
lua: | |
./build-lua-5.1.5.sh | |
./build-lua-5.4.6.sh | |
neovim: | |
./build-nvim.sh | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment