Add support for building/installing on MSYS2

This commit is contained in:
Christopher Ng 2023-01-01 11:58:09 +00:00
parent 1c55d16080
commit 18c8ced9f4
2 changed files with 28 additions and 6 deletions

View File

@ -63,6 +63,7 @@ INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT2)
INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME) INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME)
INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME) INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME)
INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME) INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME)
INSTALL_DLL=
INSTALL_DIRS= $(INSTALL_BIN) $(INSTALL_LIB) $(INSTALL_INC) $(INSTALL_MAN) \ INSTALL_DIRS= $(INSTALL_BIN) $(INSTALL_LIB) $(INSTALL_INC) $(INSTALL_MAN) \
$(INSTALL_PKGCONFIG) $(INSTALL_JITLIB) $(INSTALL_LMOD) $(INSTALL_CMOD) $(INSTALL_PKGCONFIG) $(INSTALL_JITLIB) $(INSTALL_LMOD) $(INSTALL_CMOD)
@ -94,8 +95,11 @@ FILES_JITLIB= bc.lua bcsave.lua dump.lua p.lua v.lua zone.lua \
dis_arm64be.lua dis_ppc.lua dis_mips.lua dis_mipsel.lua \ dis_arm64be.lua dis_ppc.lua dis_mips.lua dis_mipsel.lua \
dis_mips64.lua dis_mips64el.lua vmdef.lua dis_mips64.lua dis_mips64el.lua vmdef.lua
UNAME:= $(shell uname -s)
ifeq (,$(findstring Windows,$(OS))) ifeq (,$(findstring Windows,$(OS)))
HOST_SYS:= $(shell uname -s) HOST_SYS= UNAME
else ifeq (MSYS_NT,$(findstring MSYS_NT,$(UNAME)))
HOST_SYS= MSYS
else else
HOST_SYS= Windows HOST_SYS= Windows
endif endif
@ -106,6 +110,15 @@ ifeq (Darwin,$(TARGET_SYS))
INSTALL_SOSHORT1= $(INSTALL_DYLIBSHORT1) INSTALL_SOSHORT1= $(INSTALL_DYLIBSHORT1)
INSTALL_SOSHORT2= $(INSTALL_DYLIBSHORT2) INSTALL_SOSHORT2= $(INSTALL_DYLIBSHORT2)
LDCONFIG= : LDCONFIG= :
else ifeq (MSYS,$(TARGET_SYS))
FILE_A= libluajit-$(ABIVER).dll.a
INSTALL_ANAME= libluajit-$(ABIVER).dll.a
INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME)
DLL_VER= $(subst .,,$(ABIVER))
FILE_DLL= lua$(DLL_VER).dll
INSTALL_DLLNAME= $(FILE_DLL)
INSTALL_DLL= $(INSTALL_BIN)/$(INSTALL_DLLNAME)
endif endif
############################################################################## ##############################################################################
@ -128,6 +141,9 @@ install: $(INSTALL_DEP)
( $(LDCONFIG) $(INSTALL_LIB) || : ) && \ ( $(LDCONFIG) $(INSTALL_LIB) || : ) && \
$(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \ $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \
$(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || : $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || :
test -n $(INSTALL_DLL) && \
cd src && test -f $(FILE_DLL) && \
$(INSTALL_F) $(FILE_DLL) $(INSTALL_DLL) || :
cd etc && $(INSTALL_F) $(FILE_MAN) $(INSTALL_MAN) cd etc && $(INSTALL_F) $(FILE_MAN) $(INSTALL_MAN)
cd etc && $(SED_PC) $(FILE_PC) > $(FILE_PC).tmp && \ cd etc && $(SED_PC) $(FILE_PC) > $(FILE_PC).tmp && \
$(INSTALL_F) $(FILE_PC).tmp $(INSTALL_PC) && \ $(INSTALL_F) $(FILE_PC).tmp $(INSTALL_PC) && \
@ -145,7 +161,7 @@ install: $(INSTALL_DEP)
uninstall: uninstall:
@echo "==== Uninstalling LuaJIT $(VERSION) from $(PREFIX) ====" @echo "==== Uninstalling LuaJIT $(VERSION) from $(PREFIX) ===="
$(UNINSTALL) $(INSTALL_T) $(INSTALL_STATIC) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2) $(INSTALL_MAN)/$(FILE_MAN) $(INSTALL_PC) $(UNINSTALL) $(INSTALL_T) $(INSTALL_STATIC) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2) $(INSTALL_MAN)/$(FILE_MAN) $(INSTALL_PC) $(INSTALL_DLL)
for file in $(FILES_JITLIB); do \ for file in $(FILES_JITLIB); do \
$(UNINSTALL) $(INSTALL_JITLIB)/$$file; \ $(UNINSTALL) $(INSTALL_JITLIB)/$$file; \
done done

View File

@ -39,12 +39,18 @@
#define LUA_LUADIR "/lua/5.1/" #define LUA_LUADIR "/lua/5.1/"
#define LUA_LJDIR "/luajit-2.1.0-beta3/" #define LUA_LJDIR "/luajit-2.1.0-beta3/"
#ifdef __CYGWIN__
#define _LUA_LIBEXT ".dll"
#else
#define _LUA_LIBEXT ".so"
#endif
#ifdef LUA_ROOT #ifdef LUA_ROOT
#define LUA_JROOT LUA_ROOT #define LUA_JROOT LUA_ROOT
#define LUA_RLDIR LUA_ROOT "/share" LUA_LUADIR #define LUA_RLDIR LUA_ROOT "/share" LUA_LUADIR
#define LUA_RCDIR LUA_ROOT "/" LUA_MULTILIB LUA_LUADIR #define LUA_RCDIR LUA_ROOT "/" LUA_MULTILIB LUA_LUADIR
#define LUA_RLPATH ";" LUA_RLDIR "?.lua;" LUA_RLDIR "?/init.lua" #define LUA_RLPATH ";" LUA_RLDIR "?.lua;" LUA_RLDIR "?/init.lua"
#define LUA_RCPATH ";" LUA_RCDIR "?.so" #define LUA_RCPATH ";" LUA_RCDIR "?" _LUA_LIBEXT
#else #else
#define LUA_JROOT LUA_LROOT #define LUA_JROOT LUA_LROOT
#define LUA_RLPATH #define LUA_RLPATH
@ -55,11 +61,11 @@
#define LUA_LLDIR LUA_LROOT "/share" LUA_LUADIR #define LUA_LLDIR LUA_LROOT "/share" LUA_LUADIR
#define LUA_LCDIR LUA_LROOT "/" LUA_LMULTILIB LUA_LUADIR #define LUA_LCDIR LUA_LROOT "/" LUA_LMULTILIB LUA_LUADIR
#define LUA_LLPATH ";" LUA_LLDIR "?.lua;" LUA_LLDIR "?/init.lua" #define LUA_LLPATH ";" LUA_LLDIR "?.lua;" LUA_LLDIR "?/init.lua"
#define LUA_LCPATH1 ";" LUA_LCDIR "?.so" #define LUA_LCPATH1 ";" LUA_LCDIR "?" _LUA_LIBEXT
#define LUA_LCPATH2 ";" LUA_LCDIR "loadall.so" #define LUA_LCPATH2 ";" LUA_LCDIR "loadall" _LUA_LIBEXT
#define LUA_PATH_DEFAULT "./?.lua" LUA_JPATH LUA_LLPATH LUA_RLPATH #define LUA_PATH_DEFAULT "./?.lua" LUA_JPATH LUA_LLPATH LUA_RLPATH
#define LUA_CPATH_DEFAULT "./?.so" LUA_LCPATH1 LUA_RCPATH LUA_LCPATH2 #define LUA_CPATH_DEFAULT "./?" _LUA_LIBEXT LUA_LCPATH1 LUA_RCPATH LUA_LCPATH2
#endif #endif
/* Environment variable names for path overrides and initialization code. */ /* Environment variable names for path overrides and initialization code. */