Skip to content

Commit df9f3be

Browse files
authored
Merge pull request #48 from zao/fix/vendor-luajit-build
fix: vendor older and faster LuaJIT build
2 parents 2d4782f + 8b8d575 commit df9f3be

16 files changed

+670
-1
lines changed

vcpkg-configuration.json

+9-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,13 @@
22
"default-registry": {
33
"kind": "builtin",
44
"baseline": "4cfabe769eaceb209ea37267e8c50c43b86a4a7b"
5-
}
5+
},
6+
"registries": [
7+
{
8+
"kind": "filesystem",
9+
"path": "vcpkg-ports",
10+
"baseline": "2024-03-26",
11+
"packages": ["luajit"]
12+
}
13+
]
614
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
diff --git a/src/msvcbuild.bat b/src/msvcbuild.bat
2+
index aab4ef1..ff9df57 100644
3+
--- a/src/msvcbuild.bat
4+
+++ b/src/msvcbuild.bat
5+
@@ -15,19 +15,20 @@
6+
@setlocal
7+
@rem Add more debug flags here, e.g. DEBUGCFLAGS=/DLUA_USE_APICHECK
8+
@set DEBUGCFLAGS=
9+
-@set LJCOMPILE=cl /nologo /c /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_STDIO_INLINE=__declspec(dllexport)__inline
10+
+@set SOURCEDIR=%1
11+
+@set LJCOMPILE=cl /nologo /c /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_STDIO_INLINE=__declspec(dllexport)__inline /I%SOURCEDIR%
12+
@set LJLINK=link /nologo
13+
@set LJMT=mt /nologo
14+
@set LJLIB=lib /nologo /nodefaultlib
15+
-@set DASMDIR=..\dynasm
16+
+@set DASMDIR=%SOURCEDIR%\..\dynasm
17+
@set DASM=%DASMDIR%\dynasm.lua
18+
@set DASC=vm_x64.dasc
19+
@set LJDLLNAME=lua51.dll
20+
@set LJLIBNAME=lua51.lib
21+
@set BUILDTYPE=release
22+
-@set ALL_LIB=lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c lib_buffer.c
23+
+@set ALL_LIB=%SOURCEDIR%\lib_base.c %SOURCEDIR%\lib_math.c %SOURCEDIR%\lib_bit.c %SOURCEDIR%\lib_string.c %SOURCEDIR%\lib_table.c %SOURCEDIR%\lib_io.c %SOURCEDIR%\lib_os.c %SOURCEDIR%\lib_package.c %SOURCEDIR%\lib_debug.c %SOURCEDIR%\lib_jit.c %SOURCEDIR%\lib_ffi.c %SOURCEDIR%\lib_buffer.c
24+
25+
-%LJCOMPILE% host\minilua.c
26+
+%LJCOMPILE% %SOURCEDIR%\host\minilua.c /Fdminilua.pdb
27+
@if errorlevel 1 goto :BAD
28+
%LJLINK% /out:minilua.exe minilua.obj
29+
@if errorlevel 1 goto :BAD
30+
@@ -51,7 +52,7 @@ if exist minilua.exe.manifest^
31+
-minilua %DASM% -LN %DASMFLAGS% -o host\buildvm_arch.h %DASC%
32+
+minilua %DASM% -LN %DASMFLAGS% -o %SOURCEDIR%\host\buildvm_arch.h %SOURCEDIR%\%DASC%
33+
@if errorlevel 1 goto :BAD
34+
35+
-%LJCOMPILE% /I "." /I %DASMDIR% host\buildvm*.c
36+
+%LJCOMPILE% /I "." /I %DASMDIR% %SOURCEDIR%\host\buildvm*.c /Fdbuildvm.pdb
37+
@if errorlevel 1 goto :BAD
38+
%LJLINK% /out:buildvm.exe buildvm*.obj
39+
@if errorlevel 1 goto :BAD
40+
@@ -60,41 +61,41 @@ if exist buildvm.exe.manifest^
41+
42+
buildvm -m peobj -o lj_vm.obj
43+
@if errorlevel 1 goto :BAD
44+
-buildvm -m bcdef -o lj_bcdef.h %ALL_LIB%
45+
+buildvm -m bcdef -o %SOURCEDIR%\lj_bcdef.h %ALL_LIB%
46+
@if errorlevel 1 goto :BAD
47+
-buildvm -m ffdef -o lj_ffdef.h %ALL_LIB%
48+
+buildvm -m ffdef -o %SOURCEDIR%\lj_ffdef.h %ALL_LIB%
49+
@if errorlevel 1 goto :BAD
50+
-buildvm -m libdef -o lj_libdef.h %ALL_LIB%
51+
+buildvm -m libdef -o %SOURCEDIR%\lj_libdef.h %ALL_LIB%
52+
@if errorlevel 1 goto :BAD
53+
-buildvm -m recdef -o lj_recdef.h %ALL_LIB%
54+
+buildvm -m recdef -o %SOURCEDIR%\lj_recdef.h %ALL_LIB%
55+
@if errorlevel 1 goto :BAD
56+
-buildvm -m vmdef -o jit\vmdef.lua %ALL_LIB%
57+
+buildvm -m vmdef -o %SOURCEDIR%\jit\vmdef.lua %ALL_LIB%
58+
@if errorlevel 1 goto :BAD
59+
-buildvm -m folddef -o lj_folddef.h lj_opt_fold.c
60+
+buildvm -m folddef -o %SOURCEDIR%\lj_folddef.h %SOURCEDIR%\lj_opt_fold.c
61+
@if errorlevel 1 goto :BAD
62+
63+
-@if "%1" neq "debug" goto :NODEBUG
64+
+@set LJLINK=%LJLINK% /debug
65+
+@if "%2" neq "debug" goto :NODEBUG
66+
@shift
67+
@set BUILDTYPE=debug
68+
@set LJCOMPILE=%LJCOMPILE% /Zi %DEBUGCFLAGS%
69+
-@set LJLINK=%LJLINK% /opt:ref /opt:icf /incremental:no
70+
:NODEBUG
71+
@set LJLINK=%LJLINK% /%BUILDTYPE%
72+
-@if "%1"=="amalg" goto :AMALGDLL
73+
-@if "%1"=="static" goto :STATIC
74+
-%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL lj_*.c lib_*.c
75+
+@if "%2"=="amalg" goto :AMALGDLL
76+
+@if "%2"=="static" goto :STATIC
77+
+%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb
78+
@if errorlevel 1 goto :BAD
79+
%LJLINK% /DLL /out:%LJDLLNAME% lj_*.obj lib_*.obj
80+
@if errorlevel 1 goto :BAD
81+
@goto :MTDLL
82+
:STATIC
83+
-%LJCOMPILE% lj_*.c lib_*.c
84+
+%LJCOMPILE% %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb
85+
@if errorlevel 1 goto :BAD
86+
%LJLIB% /OUT:%LJLIBNAME% lj_*.obj lib_*.obj
87+
@if errorlevel 1 goto :BAD
88+
@goto :MTDLL
89+
:AMALGDLL
90+
-%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL ljamalg.c
91+
+%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL %SOURCEDIR%\ljamalg.c
92+
@if errorlevel 1 goto :BAD
93+
%LJLINK% /DLL /out:%LJDLLNAME% ljamalg.obj lj_vm.obj
94+
@if errorlevel 1 goto :BAD
95+
@@ -102,7 +103,7 @@ buildvm -m folddef -o lj_folddef.h lj_opt_fold.c
96+
if exist %LJDLLNAME%.manifest^
97+
%LJMT% -manifest %LJDLLNAME%.manifest -outputresource:%LJDLLNAME%;2
98+
99+
-%LJCOMPILE% luajit.c
100+
+%LJCOMPILE% %SOURCEDIR%\luajit.c /Fdluajit.pdb
101+
@if errorlevel 1 goto :BAD
102+
%LJLINK% /out:luajit.exe luajit.obj %LJLIBNAME%
103+
@if errorlevel 1 goto :BAD
104+
@@ -110,8 +111,8 @@ if exist luajit.exe.manifest^
105+
%LJMT% -manifest luajit.exe.manifest -outputresource:luajit.exe
106+
107+
@del *.obj *.manifest minilua.exe buildvm.exe
108+
-@del host\buildvm_arch.h
109+
-@del lj_bcdef.h lj_ffdef.h lj_libdef.h lj_recdef.h lj_folddef.h
110+
+@del %SOURCEDIR%\host\buildvm_arch.h
111+
+@del %SOURCEDIR%\lj_bcdef.h %SOURCEDIR%\lj_ffdef.h %SOURCEDIR%\lj_libdef.h %SOURCEDIR%\lj_recdef.h %SOURCEDIR%\lj_folddef.h
112+
@echo.
113+
@echo === Successfully built LuaJIT for Windows/%LJARCH% ===
114+
115+
@@ -124,4 +125,5 @@ if exist luajit.exe.manifest^
116+
@goto :END
117+
:FAIL
118+
@echo You must open a "Visual Studio Command Prompt" to run this script
119+
+exit 1
120+
:END
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
diff --git a/src/msvcbuild.bat b/src/msvcbuild.bat
2+
index ff9df57..912bdc9 100644
3+
--- a/src/msvcbuild.bat
4+
+++ b/src/msvcbuild.bat
5+
@@ -74,22 +74,25 @@ buildvm -m vmdef -o %SOURCEDIR%\jit\vmdef.lua %ALL_LIB%
6+
buildvm -m folddef -o %SOURCEDIR%\lj_folddef.h %SOURCEDIR%\lj_opt_fold.c
7+
@if errorlevel 1 goto :BAD
8+
9+
+@if "%2"=="static" set CRT_LINKAGE=/MT
10+
+@if "%2"=="dynamic" set CRT_LINKAGE=/MD
11+
@set LJLINK=%LJLINK% /debug
12+
-@if "%2" neq "debug" goto :NODEBUG
13+
+@if "%3" neq "debug" goto :NODEBUG
14+
@shift
15+
@set BUILDTYPE=debug
16+
@set LJCOMPILE=%LJCOMPILE% /Zi %DEBUGCFLAGS%
17+
+@set CRT_LINKAGE=%CRT_LINKAGE%d
18+
:NODEBUG
19+
@set LJLINK=%LJLINK% /%BUILDTYPE%
20+
-@if "%2"=="amalg" goto :AMALGDLL
21+
-@if "%2"=="static" goto :STATIC
22+
-%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb
23+
+@if "%3"=="amalg" goto :AMALGDLL
24+
+@if "%3"=="static" goto :STATIC
25+
+%LJCOMPILE% %CRT_LINKAGE% /DLUA_BUILD_AS_DLL %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb
26+
@if errorlevel 1 goto :BAD
27+
%LJLINK% /DLL /out:%LJDLLNAME% lj_*.obj lib_*.obj
28+
@if errorlevel 1 goto :BAD
29+
@goto :MTDLL
30+
:STATIC
31+
-%LJCOMPILE% %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb
32+
+%LJCOMPILE% %CRT_LINKAGE% %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb
33+
@if errorlevel 1 goto :BAD
34+
%LJLIB% /OUT:%LJLIBNAME% lj_*.obj lib_*.obj
35+
@if errorlevel 1 goto :BAD
36+
@@ -103,7 +106,7 @@ buildvm -m folddef -o %SOURCEDIR%\lj_folddef.h %SOURCEDIR%\lj_opt_fold.c
37+
if exist %LJDLLNAME%.manifest^
38+
%LJMT% -manifest %LJDLLNAME%.manifest -outputresource:%LJDLLNAME%;2
39+
40+
-%LJCOMPILE% %SOURCEDIR%\luajit.c /Fdluajit.pdb
41+
+%LJCOMPILE% %CRT_LINKAGE% %SOURCEDIR%\luajit.c /Fdluajit.pdb
42+
@if errorlevel 1 goto :BAD
43+
%LJLINK% /out:luajit.exe luajit.obj %LJLIBNAME%
44+
@if errorlevel 1 goto :BAD
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
diff --git a/src/Makefile b/src/Makefile
2+
index 30d64be..b753ea1 100644
3+
--- a/src/Makefile
4+
+++ b/src/Makefile
5+
@@ -316,9 +316,6 @@ ifeq (,$(shell $(TARGET_CC) -o /dev/null -c -x c /dev/null -fno-stack-protector
6+
TARGET_XCFLAGS+= -fno-stack-protector
7+
endif
8+
ifeq (Darwin,$(TARGET_SYS))
9+
- ifeq (,$(MACOSX_DEPLOYMENT_TARGET))
10+
- $(error missing: export MACOSX_DEPLOYMENT_TARGET=XX.YY)
11+
- endif
12+
TARGET_STRIP+= -x
13+
TARGET_XCFLAGS+= -DLUAJIT_UNWIND_EXTERNAL
14+
TARGET_XSHLDFLAGS= -dynamiclib -single_module -undefined dynamic_lookup -fPIC
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
vcpkg_from_github(
2+
OUT_SOURCE_PATH SOURCE_PATH
3+
REPO LuaJIT/LuaJIT
4+
REF 633f265f67f322cbe2c5fd11d3e46d968ac220f7 #2022-08-11
5+
SHA512 0a1d79ab7d2de6894bcff33309e015fdba0ea67cf0425d75b9301a30006039e81b527178dbb3485e1adea177ffe062e6fcef74307f8e725678e70562d57d1a5b
6+
HEAD_REF master
7+
PATCHES
8+
001-fix-build-path.patch
9+
002-fix-crt-linkage.patch
10+
003-do-not-set-macosx-deployment-target.patch
11+
)
12+
13+
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
14+
set (LJIT_STATIC "")
15+
else()
16+
set (LJIT_STATIC "static")
17+
endif()
18+
19+
if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug)
20+
message(STATUS "Building ${TARGET_TRIPLET}-dbg")
21+
file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
22+
file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
23+
24+
if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
25+
vcpkg_execute_required_process_repeat(
26+
COUNT 1
27+
COMMAND "${SOURCE_PATH}/src/msvcbuild.bat" ${SOURCE_PATH}/src ${VCPKG_CRT_LINKAGE} debug ${LJIT_STATIC}
28+
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg"
29+
LOGNAME build-${TARGET_TRIPLET}-dbg
30+
)
31+
32+
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/luajit.exe" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/tools")
33+
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lua51.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
34+
35+
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
36+
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lua51.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
37+
file(COPY "${CURRENT_PACKAGES_DIR}/debug/bin/lua51.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/tools")
38+
endif()
39+
40+
vcpkg_copy_pdbs()
41+
else()
42+
vcpkg_execute_build_process(
43+
COMMAND make -j${VCPKG_CONCURRENCY} -f ${SOURCE_PATH}/Makefile clean
44+
WORKING_DIRECTORY ${SOURCE_PATH}
45+
LOGNAME clean-${TARGET_TRIPLET}-debug
46+
)
47+
vcpkg_execute_build_process(
48+
COMMAND make -j${VCPKG_CONCURRENCY} -f ${SOURCE_PATH}/Makefile PREFIX=${CURRENT_PACKAGES_DIR}/debug CCDEBUG=-g3 CFLAGS=-O0 BUILDMODE=${VCPKG_LIBRARY_LINKAGE} install
49+
WORKING_DIRECTORY ${SOURCE_PATH}
50+
LOGNAME build-${TARGET_TRIPLET}-debug
51+
)
52+
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
53+
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
54+
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/lua")
55+
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin")
56+
endif()
57+
endif()
58+
59+
if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release)
60+
message(STATUS "Building ${TARGET_TRIPLET}-rel")
61+
file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
62+
file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
63+
64+
if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
65+
vcpkg_execute_required_process_repeat(
66+
COUNT 1
67+
COMMAND "${SOURCE_PATH}/src/msvcbuild.bat" ${SOURCE_PATH}/src ${VCPKG_CRT_LINKAGE} ${LJIT_STATIC}
68+
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel"
69+
LOGNAME build-${TARGET_TRIPLET}-rel
70+
)
71+
72+
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/luajit.exe" DESTINATION "${CURRENT_PACKAGES_DIR}/tools")
73+
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lua51.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
74+
75+
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
76+
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lua51.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
77+
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools)
78+
endif()
79+
80+
vcpkg_copy_pdbs()
81+
else()
82+
vcpkg_execute_build_process(
83+
COMMAND make -j${VCPKG_CONCURRENCY} -f ${SOURCE_PATH}/Makefile clean
84+
WORKING_DIRECTORY ${SOURCE_PATH}
85+
LOGNAME clean-${TARGET_TRIPLET}-rel
86+
)
87+
vcpkg_execute_build_process(
88+
COMMAND make -j${VCPKG_CONCURRENCY} -f ${SOURCE_PATH}/Makefile PREFIX=${CURRENT_PACKAGES_DIR} CCDEBUG= BUILDMODE=${VCPKG_LIBRARY_LINKAGE} install
89+
WORKING_DIRECTORY ${SOURCE_PATH}
90+
LOGNAME build-${TARGET_TRIPLET}-rel
91+
)
92+
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/lua" "${CURRENT_PACKAGES_DIR}/lib/lua")
93+
endif()
94+
endif()
95+
96+
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
97+
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
98+
endif()
99+
100+
file(INSTALL "${SOURCE_PATH}/src/lua.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}")
101+
file(INSTALL "${SOURCE_PATH}/src/luajit.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}")
102+
file(INSTALL "${SOURCE_PATH}/src/luaconf.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}")
103+
file(INSTALL "${SOURCE_PATH}/src/lualib.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}")
104+
file(INSTALL "${SOURCE_PATH}/src/lauxlib.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}")
105+
file(INSTALL "${SOURCE_PATH}/src/lua.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}")
106+
107+
vcpkg_fixup_pkgconfig()
108+
109+
file(INSTALL "${SOURCE_PATH}/COPYRIGHT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"name": "luajit",
3+
"version-date": "2022-08-11",
4+
"port-version": 1,
5+
"description": "LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.",
6+
"homepage": "https://github.com/LuaJIT/LuaJIT",
7+
"license": "MIT",
8+
"supports": "!uwp"
9+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
diff --git a/src/Makefile b/src/Makefile
2+
index c4d0b14d..2c9769b9 100644
3+
--- a/src/Makefile
4+
+++ b/src/Makefile
5+
@@ -302,9 +302,6 @@ ifeq (,$(shell $(TARGET_CC) -o /dev/null -c -x c /dev/null -fno-stack-protector
6+
TARGET_XCFLAGS+= -fno-stack-protector
7+
endif
8+
ifeq (Darwin,$(TARGET_SYS))
9+
- ifeq (,$(MACOSX_DEPLOYMENT_TARGET))
10+
- $(error missing: export MACOSX_DEPLOYMENT_TARGET=XX.YY)
11+
- endif
12+
TARGET_STRIP+= -x
13+
TARGET_XSHLDFLAGS= -dynamiclib -single_module -undefined dynamic_lookup -fPIC
14+
TARGET_DYNXLDOPTS=
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
diff --git a/etc/luajit.pc b/etc/luajit.pc
2+
index 39e1e57..3837d3b 100644
3+
--- a/etc/luajit.pc
4+
+++ b/etc/luajit.pc
5+
@@ -21,5 +21,5 @@ URL: https://luajit.org
6+
Version: ${version}
7+
Requires:
8+
Libs: -L${libdir} -l${libname}
9+
-Libs.private: -Wl,-E -lm -ldl
10+
+Libs.private: -lm -ldl
11+
Cflags: -I${includedir}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
all:
2+
@echo _CL_ = $(_CL_)
3+
@echo _LINK_ = $(_LINK_)
4+
cd src && .\msvcbuild.bat $(MSVCBUILD_OPTIONS)
5+
6+
install: src/luajit.exe
7+
-mkdir "$(INSTALLDIR)"
8+
-mkdir "$(INSTALLDIR)\bin"
9+
copy src\luajit.exe "$(INSTALLDIR)\bin\"
10+
if exist src\lua51.dll copy src\lua51.dll "$(INSTALLDIR)\bin\"
11+
-mkdir "$(INSTALLDIR)\lib"
12+
copy src\lua51.lib "$(INSTALLDIR)\lib\"
13+
-mkdir "$(INSTALLDIR)\include"
14+
-mkdir "$(INSTALLDIR)\include\luajit"
15+
copy src/lua.h "$(INSTALLDIR)\include\luajit\"
16+
copy src/luajit.h "$(INSTALLDIR)\include\luajit\"
17+
copy src/luaconf.h "$(INSTALLDIR)\include\luajit\"
18+
copy src/lualib.h "$(INSTALLDIR)\include\luajit\"
19+
copy src/lauxlib.h "$(INSTALLDIR)\include\luajit\"
20+
copy src/lua.hpp "$(INSTALLDIR)\include\luajit\"

0 commit comments

Comments
 (0)