chiark / gitweb /
ab1df706aad20f157680e50c44c6e9239fd91fa0
[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_BUILD_REVISION=1
5 TERMUX_PKG_SRCURL=https://luajit.org/download/LuaJIT-2.1.0-beta2.tar.gz
6 TERMUX_PKG_EXTRA_MAKE_ARGS="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 CROSS=${TERMUX_HOST_PLATFORM}-
25         export TARGET_FLAGS="$CFLAGS $CPPFLAGS $LDFLAGS"
26         export TARGET_SYS=Linux
27
28         ORIG_STRIP=$STRIP
29         unset AR AS CC CXX CPP CPPFLAGS CFLAGS CXXFLAGS LDFLAGS RANLIB LD PKG_CONFIG STRIP
30 }
31
32 termux_step_make_install () {
33         cp $TERMUX_PKG_SRCDIR/src/{lauxlib.h,lua.h,lua.hpp,luaconf.h,luajit.h,lualib.h} $TERMUX_PREFIX/include/
34         rm -f $TERMUX_PREFIX/lib/libluajit*
35         cp $TERMUX_PKG_SRCDIR/src/libluajit.so $TERMUX_PREFIX/lib/libluajit-5.1.so
36         (cd $TERMUX_PREFIX/include; ln -s -f libluajit-5.1.so libluajit.so; ln -s -f libluajit-5.1.so liblua.so)
37
38         mkdir -p $TERMUX_PREFIX/share/man/man1/
39         cp $TERMUX_PKG_SRCDIR/etc/luajit.1 $TERMUX_PREFIX/share/man/man1/
40         (cd $TERMUX_PREFIX/share/man/man1/; ln -s -f luajit.1 lua.1)
41
42         cp $TERMUX_PKG_SRCDIR/etc/luajit.pc $TERMUX_PREFIX/lib/pkgconfig/
43         (cd $TERMUX_PREFIX/lib/pkgconfig; ln -s -f luajit.pc lua.pc)
44
45         rm -f $TERMUX_PREFIX/bin/luajit
46         cp $TERMUX_PKG_SRCDIR/src/luajit $TERMUX_PREFIX/bin/luajit
47         (cd $TERMUX_PREFIX/bin; ln -s -f luajit lua)
48
49         # Files needed for the -b option (http://luajit.org/running.html) to work.
50         # Note that they end up in the 'luajit' subpackage, not the 'libluajit' one.
51         TERMUX_LUAJIT_JIT_FOLDER_RELATIVE=share/luajit-$TERMUX_PKG_VERSION/jit
52         local TERMUX_LUAJIT_JIT_FOLDER=$TERMUX_PREFIX/$TERMUX_LUAJIT_JIT_FOLDER_RELATIVE
53         rm -Rf $TERMUX_LUAJIT_JIT_FOLDER
54         mkdir -p $TERMUX_LUAJIT_JIT_FOLDER
55         cp $TERMUX_PKG_SRCDIR/src/jit/*lua $TERMUX_LUAJIT_JIT_FOLDER
56
57         STRIP=$ORIG_STRIP
58 }