chiark / gitweb /
a34e5bb52b02b20a63f49b948f9c3e4eabc77f6c
[termux-packages] / packages / libluajit / build.sh
1 TERMUX_PKG_HOMEPAGE=https://luajit.org/
2 TERMUX_PKG_DESCRIPTION="Just-In-Time Compiler for Lua"
3 TERMUX_PKG_VERSION=2.1.0~beta2
4 TERMUX_PKG_REVISION=1
5 TERMUX_PKG_SRCURL=https://luajit.org/download/LuaJIT-2.1.0-beta2.tar.gz
6 TERMUX_PKG_EXTRA_MAKE_ARGS="V=1 amalg PREFIX=$TERMUX_PREFIX"
7 TERMUX_PKG_BUILD_IN_SRC=yes
8 TERMUX_PKG_CONFLICTS="lua,lua-dev"
9 TERMUX_PKG_REPLACES="lua,lua-dev"
10
11 termux_step_pre_configure() {
12         # luajit wants same pointer size for host and target build
13         export HOST_CC="gcc"
14         if [ $TERMUX_ARCH_BITS = "32" ]; then
15                 if [ `uname` = "Linux" ]; then
16                         # NOTE: "apt install libc6-dev-i386" for 32-bit headers
17                         export HOST_CFLAGS="-m32" # -arch i386"
18                         export HOST_LDFLAGS="-m32" # arch i386"
19                 elif [ `uname` = "Darwin" ]; then
20                         export HOST_CFLAGS="-m32 -arch i386"
21                         export HOST_LDFLAGS="-arch i386"
22                 fi
23         fi
24         export TARGET_FLAGS="$CFLAGS $CPPFLAGS $LDFLAGS"
25         export TARGET_SYS=Linux
26 }
27
28 termux_step_make_install () {
29         cp $TERMUX_PKG_SRCDIR/src/{lauxlib.h,lua.h,lua.hpp,luaconf.h,luajit.h,lualib.h} $TERMUX_PREFIX/include/
30         rm -f $TERMUX_PREFIX/lib/libluajit*
31         cp $TERMUX_PKG_SRCDIR/src/libluajit.so $TERMUX_PREFIX/lib/libluajit-5.1.so
32         (cd $TERMUX_PREFIX/include; ln -s -f libluajit-5.1.so libluajit.so; ln -s -f libluajit-5.1.so liblua.so)
33
34         mkdir -p $TERMUX_PREFIX/share/man/man1/
35         cp $TERMUX_PKG_SRCDIR/etc/luajit.1 $TERMUX_PREFIX/share/man/man1/
36         (cd $TERMUX_PREFIX/share/man/man1/; ln -s -f luajit.1 lua.1)
37
38         cp $TERMUX_PKG_SRCDIR/etc/luajit.pc $TERMUX_PREFIX/lib/pkgconfig/
39         (cd $TERMUX_PREFIX/lib/pkgconfig; ln -s -f luajit.pc lua.pc)
40
41         rm -f $TERMUX_PREFIX/bin/luajit
42         cp $TERMUX_PKG_SRCDIR/src/luajit $TERMUX_PREFIX/bin/luajit
43         (cd $TERMUX_PREFIX/bin; ln -s -f luajit lua)
44
45         # Files needed for the -b option (http://luajit.org/running.html) to work.
46         # Note that they end up in the 'luajit' subpackage, not the 'libluajit' one.
47         TERMUX_LUAJIT_JIT_FOLDER_RELATIVE=share/luajit-$TERMUX_PKG_VERSION/jit
48         local TERMUX_LUAJIT_JIT_FOLDER=$TERMUX_PREFIX/$TERMUX_LUAJIT_JIT_FOLDER_RELATIVE
49         rm -Rf $TERMUX_LUAJIT_JIT_FOLDER
50         mkdir -p $TERMUX_LUAJIT_JIT_FOLDER
51         cp $TERMUX_PKG_SRCDIR/src/jit/*lua $TERMUX_LUAJIT_JIT_FOLDER
52 }