Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions vcpkg-configuration.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
{
"kind": "filesystem",
"path": "vcpkg-ports",
"baseline": "2025-01-19",
"baseline": "2025-10-07",
"packages": ["glfw3", "gli", "luajit"]
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
diff --git a/src/Makefile b/src/Makefile
index c4d0b14d..2c9769b9 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -318,9 +318,6 @@ ifeq (,$(shell $(TARGET_CC) -o /dev/null -c -x c /dev/null -fno-stack-protector
TARGET_XCFLAGS+= -fno-stack-protector
endif
ifeq (Darwin,$(TARGET_SYS))
- ifeq (,$(MACOSX_DEPLOYMENT_TARGET))
- $(error missing: export MACOSX_DEPLOYMENT_TARGET=XX.YY)
- endif
TARGET_STRIP+= -x
TARGET_XCFLAGS+= -DLUAJIT_UNWIND_EXTERNAL
TARGET_XSHLDFLAGS= -dynamiclib -undefined dynamic_lookup -fPIC
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
diff --git a/etc/luajit.pc b/etc/luajit.pc
index 39e1e57..3837d3b 100644
--- a/etc/luajit.pc
+++ b/etc/luajit.pc
@@ -21,5 +21,5 @@ URL: https://luajit.org
Version: ${version}
Requires:
Libs: -L${libdir} -l${libname}
-Libs.private: -Wl,-E -lm -ldl
+Libs.private: -lm -ldl
Cflags: -I${includedir}
20 changes: 20 additions & 0 deletions vcpkg-ports/ports/luajit/2025-07-24_1/Makefile.nmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
all:
@echo _CL_ = $(_CL_)
@echo _LINK_ = $(_LINK_)
cd src && .\msvcbuild.bat $(MSVCBUILD_OPTIONS)

install: src/luajit.exe
-mkdir "$(INSTALLDIR)"
-mkdir "$(INSTALLDIR)\bin"
copy src\luajit.exe "$(INSTALLDIR)\bin\"
if exist src\lua51.dll copy src\lua51.dll "$(INSTALLDIR)\bin\"
-mkdir "$(INSTALLDIR)\lib"
copy src\lua51.lib "$(INSTALLDIR)\lib\"
-mkdir "$(INSTALLDIR)\include"
-mkdir "$(INSTALLDIR)\include\luajit"
copy src/lua.h "$(INSTALLDIR)\include\luajit\"
copy src/luajit.h "$(INSTALLDIR)\include\luajit\"
copy src/luaconf.h "$(INSTALLDIR)\include\luajit\"
copy src/lualib.h "$(INSTALLDIR)\include\luajit\"
copy src/lauxlib.h "$(INSTALLDIR)\include\luajit\"
copy src/lua.hpp "$(INSTALLDIR)\include\luajit\"
86 changes: 86 additions & 0 deletions vcpkg-ports/ports/luajit/2025-07-24_1/configure
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
#!/bin/sh

set -e

LJARCH=
LUAJIT_BUILDMODE=
LUAJIT_BUILDVM_X=
LUAJIT_DASM_ARCHS=
LUAJIT_PREFIX=
for OPTION; do
case "${OPTION}" in
--prefix=*)
LUAJIT_PREFIX="${OPTION#--prefix=}"
;;
BUILDMODE=*)
LUAJIT_BUILDMODE="${OPTION#BUILDMODE=}"
;;
BUILDVM_X=*)
LUAJIT_BUILDVM_X="${OPTION#BUILDVM_X=}"
;;
DASM_ARCHS=*)
LUAJIT_DASM_ARCHS="${OPTION#DASM_ARCHS=}"
;;
LJARCH=*)
LJARCH="${OPTION#LJARCH=}"
;;
esac
done

cat > Makefile.vcpkg <<END_MAKEFILE ;

COMMON_OPTIONS += 'E=@:' 'Q='
COMMON_OPTIONS += 'BUILDMODE=${LUAJIT_BUILDMODE}'
COMMON_OPTIONS += 'PREFIX=${LUAJIT_PREFIX}'
COMMON_OPTIONS += 'INSTALL_TNAME=luajit'

BUILD_OPTIONS += 'CC=${CC}'
BUILD_OPTIONS += 'CCDEBUG='
BUILD_OPTIONS += 'CFLAGS=${CPPFLAGS} ${CFLAGS}'
BUILD_OPTIONS += 'LDFLAGS=${LDFLAGS}'
BUILD_OPTIONS += 'LIBS=${LIBS}'

ifeq (${LJARCH},)
# native
BUILDVM_PREFIX = ${LUAJIT_PREFIX}/manual-tools/luajit
DASM_ARCHS = ${LUAJIT_DASM_ARCHS}
else
# cross
BUILD_OPTIONS += 'HOST_CC=:'
BUILD_OPTIONS += 'BUILDVM_T='
BUILD_OPTIONS += 'BUILDVM_X=${LUAJIT_BUILDVM_X}'
endif

# used by src/Makefile, best effort from manual '<CC> [-m32] -E src/lj_arch.h -dM'
TARGET_TESTARCH_COMMON += 'LJ_LE 1' 'LJ_HASJIT 1' 'LJ_HASFFI 1' 'LJ_ARCH_HASFPU 1' 'LJ_ABI_SOFTFP 0'
TARGET_TESTARCH_COMMON_32 += \$(TARGET_TESTARCH_COMMON) 'LJ_ARCH_BITS 32'
TARGET_TESTARCH_COMMON_64 += \$(TARGET_TESTARCH_COMMON) 'LJ_ARCH_BITS 64' 'LJ_TARGET_GC64 1'
TARGET_TESTARCH_arm = \$(TARGET_TESTARCH_COMMON_32) LJ_TARGET_ARM
TARGET_TESTARCH_arm64 = \$(TARGET_TESTARCH_COMMON_64) LJ_TARGET_ARM64 'LJ_ARCH_VERSION 80'
TARGET_TESTARCH_x86 = \$(TARGET_TESTARCH_COMMON_32) LJ_TARGET_X86
TARGET_TESTARCH_x64 = \$(TARGET_TESTARCH_COMMON_64) LJ_TARGET_X64 'LJ_FR2 1'

all:
\$(MAKE) clean \$(COMMON_OPTIONS) \$(BUILD_OPTIONS)
\$(MAKE) all \$(COMMON_OPTIONS) \$(BUILD_OPTIONS)
for DA in \$(DASM_ARCHS); do \\
rm -f src/host/buildvm_arch.h src/host/*.o; \\
case "\$\$DA" in \\
arm) TARGET_TESTARCH="\$(TARGET_TESTARCH_arm)" ;; \\
arm64) TARGET_TESTARCH="\$(TARGET_TESTARCH_arm64)" ;; \\
x86) TARGET_TESTARCH="\$(TARGET_TESTARCH_x86)" ;; \\
x64) TARGET_TESTARCH="\$(TARGET_TESTARCH_x64)" ;; \\
esac ; \\
\$(MAKE) -C src host/buildvm-\$\$DA\$(EXECUTABLE_SUFFIX) \$(COMMON_OPTIONS) \$(BUILD_OPTIONS) \\
BUILDVM_T=host/buildvm-\$\$DA\$(EXECUTABLE_SUFFIX) "TARGET_TESTARCH=\$\${TARGET_TESTARCH}" \\
|| exit 1; \\
done

install:
\$(MAKE) install \$(COMMON_OPTIONS)
for DA in \$(DASM_ARCHS); do \\
mkdir -p "\$\${DESTDIR}\$(BUILDVM_PREFIX)"; \\
install -m 0755 "src/host/buildvm-\$\$DA\$(EXECUTABLE_SUFFIX)" "\$\${DESTDIR}\$(BUILDVM_PREFIX)/buildvm-\$\$DA\$(EXECUTABLE_SUFFIX)" || exit 1 ; \\
done

END_MAKEFILE
24 changes: 24 additions & 0 deletions vcpkg-ports/ports/luajit/2025-07-24_1/luajit.pc.win.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Package information for LuaJIT to be used by pkg-config.
majver=2
minver=1
relver=0
version=${majver}.${minver}
abiver=51

prefix=@PREFIX@
multilib=lib
exec_prefix=${prefix}
libdir=${exec_prefix}/${multilib}
libname=lua${abiver}
includedir=${prefix}/include/luajit

INSTALL_LMOD=${prefix}/share/lua/${abiver}
INSTALL_CMOD=${prefix}/${multilib}/lua/${abiver}

Name: LuaJIT
Description: Just-in-time compiler for Lua
URL: https://luajit.org
Version: ${version}
Requires:
Libs: -L${libdir} -l${libname}
Cflags: -I${includedir} @LJIT_MSVC_PC_CFLAGS@
51 changes: 51 additions & 0 deletions vcpkg-ports/ports/luajit/2025-07-24_1/msvcbuild.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
diff --git a/src/msvcbuild.bat b/src/msvcbuild.bat
index 69c0c61a..a5bcde7b 100644
--- a/src/msvcbuild.bat
+++ b/src/msvcbuild.bat
@@ -15,15 +15,15 @@

@setlocal
@rem Add more debug flags here, e.g. DEBUGCFLAGS=/DLUA_USE_ASSERT
-@set DEBUGCFLAGS=
-@set LJCOMPILE=cl /nologo /c /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_STDIO_INLINE=__declspec(dllexport)__inline
+@set DEBUGCFLAGS=/Od
+@set LJCOMPILE=cl /nologo /c /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_STDIO_INLINE=__declspec(dllexport)__inline /Z7 /GL
@set LJDYNBUILD=/DLUA_BUILD_AS_DLL /MD
@set LJDYNBUILD_DEBUG=/DLUA_BUILD_AS_DLL /MDd
@set LJCOMPILETARGET=/Zi
@set LJLINKTYPE=/DEBUG /RELEASE
@set LJLINKTYPE_DEBUG=/DEBUG
@set LJLINKTARGET=/OPT:REF /OPT:ICF /INCREMENTAL:NO
-@set LJLINK=link /nologo
+@set LJLINK=link /nologo /LTCG
@set LJMT=mt /nologo
@set LJLIB=lib /nologo /nodefaultlib
@set DASMDIR=..\dynasm
@@ -105,10 +105,10 @@ buildvm -m folddef -o lj_folddef.h lj_opt_fold.c
@set LJLINK=%LJLINK% %LJLINKTYPE% %LJLINKTARGET%
@if "%1"=="amalg" goto :AMALGDLL
@if "%1"=="static" goto :STATIC
-%LJCOMPILE% %LJDYNBUILD% lj_*.c lib_*.c
+%LJCOMPILE% %LJDYNBUILD% lj_*.c lib_*.c /Fdlua51.pdb
@if errorlevel 1 goto :BAD
@if "%1"=="mixed" goto :STATICLIB
-%LJLINK% /DLL /OUT:%LJDLLNAME% lj_*.obj lib_*.obj
+%LJLINK% /DLL /OUT:%LJDLLNAME% lj_*.obj lib_*.obj /DEBUG /OPT:ICF /OPT:REF
@if errorlevel 1 goto :BAD
@goto :MTDLL
:STATIC
@@ -136,7 +136,7 @@ buildvm -m folddef -o lj_folddef.h lj_opt_fold.c
if exist %LJDLLNAME%.manifest^
%LJMT% -manifest %LJDLLNAME%.manifest -outputresource:%LJDLLNAME%;2

-%LJCOMPILE% luajit.c
+%LJCOMPILE% luajit.c /Fdluajit.pdb
@if errorlevel 1 goto :BAD
%LJLINK% /OUT:luajit.exe luajit.obj %LJLIBNAME%
@if errorlevel 1 goto :BAD
@@ -164,4 +164,5 @@ if exist luajit.exe.manifest^
@goto :END
:FAIL
@echo You must open a "Visual Studio Command Prompt" to run this script
+exit 1
:END
Loading
Loading