blob: 79e9535df7b6b2ff358a9b8018307cc72020ffc8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# Maintainer: edub4rt <edub4rt@gmail.com>
pkgname=mingw-w64-luajit-2.1
pkgver=2.1.0.beta3
pkgfile=${pkgver/.beta/-beta}
pkgrel=3
pkgdesc='Just-in-time compiler and drop-in replacement for Lua 5.1'
arch=('i686' 'x86_64')
url='http://luajit.org/'
license=('MIT')
depends=(mingw-w64-crt)
makedepends=(mingw-w64-gcc patch)
conflicts=('mingw-w64-luajit')
provides=('mingw-w64-luajit')
source=(https://luajit.org/download/LuaJIT-${pkgfile}.tar.gz
001-make-import-library.patch
002-fix-pkg-config-file.patch)
options=(!strip !buildflags staticlibs)
sha256sums=('1ad2e34b111c802f9d0cdf019e986909123237a28c746b21295b63c9e785d9c3'
'89a044f2da887036e84e843f5e5fc491fcf7ee6fccea407a4607ac3b3f344937'
'4df486e82b0bbeead01dcf6001e90c51477a3a8ac18611d60d7067f2c7013428')
_targets="i686-w64-mingw32 x86_64-w64-mingw32"
prepare() {
cd "${srcdir}/LuaJIT-$pkgfile"
patch -b -p1 -i ${srcdir}/001-make-import-library.patch
patch -b -p1 -i ${srcdir}/002-fix-pkg-config-file.patch
}
build() {
unset LDFLAGS
for _target in ${_targets}; do
mkdir -p ${srcdir}/luajit-build-${_target} && cd ${srcdir}/luajit-build-${_target}
cp -R $srcdir/LuaJIT-$pkgfile/* .
cd src
sed -i 's/^BUILDMODE= [a-z]*$/BUILDMODE= dynamic/' Makefile
make clean
if [ "$_target" == "i686-w64-mingw32" ]; then
make PREFIX=/usr/$_target HOST_CC="gcc -m32" CROSS=${_target}- TARGET_SYS=Windows lua51.dll
else
make PREFIX=/usr/$_target HOST_CC="gcc -m64" CROSS=${_target}- TARGET_SYS=Windows lua51.dll
fi
cp lua51.dll ../
sed -i 's/^BUILDMODE= [a-z]*$/BUILDMODE= static/' Makefile
make clean
if [ "$_target" == "i686-w64-mingw32" ]; then
make PREFIX=/usr/$_target HOST_CC="gcc -m32" CROSS=${_target}- TARGET_SYS=Windows amalg
else
make PREFIX=/usr/$_target HOST_CC="gcc -m64" CROSS=${_target}- TARGET_SYS=Windows amalg
fi
done
}
package() {
for _target in ${_targets}; do
cd ${srcdir}/luajit-build-${_target}
mkdir -p $pkgdir/usr/${_target}/{bin,lib}
mkdir -p $pkgdir/usr/${_target}/include/luajit-2.1
mkdir -p $pkgdir/usr/${_target}/lib/pkgconfig
cp lua51.dll $pkgdir/usr/${_target}/bin/luajit-2.1.dll
cp src/libluajit.a $pkgdir/usr/${_target}/lib/
cp src/libluajit-5.1.dll.a $pkgdir/usr/${_target}/lib/libluajit-2.1.dll.a
cp src/{lauxlib.h,lua.h,lua.hpp,luaconf.h,luajit.h,lualib.h} $pkgdir/usr/$_target/include/luajit-2.1/
cp etc/luajit.pc "$pkgdir"/usr/${_target}/lib/pkgconfig/
${_target}-strip --strip-unneeded "$pkgdir"/usr/${_target}/bin/*.dll
${_target}-strip -g "$pkgdir"/usr/${_target}/lib/*.a
done
}
|