diff --git a/Makefile b/Makefile index b0288b4d..fa523396 100644 --- a/Makefile +++ b/Makefile @@ -63,6 +63,7 @@ INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT2) INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME) INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME) INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME) +INSTALL_DLL= INSTALL_DIRS= $(INSTALL_BIN) $(INSTALL_LIB) $(INSTALL_INC) $(INSTALL_MAN) \ $(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_mips64.lua dis_mips64el.lua vmdef.lua +UNAME:= $(shell uname -s) ifeq (,$(findstring Windows,$(OS))) - HOST_SYS:= $(shell uname -s) + HOST_SYS= UNAME +else ifeq (MSYS_NT,$(findstring MSYS_NT,$(UNAME))) + HOST_SYS= MSYS else HOST_SYS= Windows endif @@ -106,6 +110,15 @@ ifeq (Darwin,$(TARGET_SYS)) INSTALL_SOSHORT1= $(INSTALL_DYLIBSHORT1) INSTALL_SOSHORT2= $(INSTALL_DYLIBSHORT2) 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 ############################################################################## @@ -128,6 +141,9 @@ install: $(INSTALL_DEP) ( $(LDCONFIG) $(INSTALL_LIB) || : ) && \ $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \ $(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 && $(SED_PC) $(FILE_PC) > $(FILE_PC).tmp && \ $(INSTALL_F) $(FILE_PC).tmp $(INSTALL_PC) && \ @@ -145,7 +161,7 @@ install: $(INSTALL_DEP) uninstall: @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 \ $(UNINSTALL) $(INSTALL_JITLIB)/$$file; \ done diff --git a/src/luaconf.h b/src/luaconf.h index e8790c1d..65b9d427 100644 --- a/src/luaconf.h +++ b/src/luaconf.h @@ -39,12 +39,18 @@ #define LUA_LUADIR "/lua/5.1/" #define LUA_LJDIR "/luajit-2.1.0-beta3/" +#ifdef __CYGWIN__ +#define _LUA_LIBEXT ".dll" +#else +#define _LUA_LIBEXT ".so" +#endif + #ifdef LUA_ROOT #define LUA_JROOT LUA_ROOT #define LUA_RLDIR LUA_ROOT "/share" LUA_LUADIR #define LUA_RCDIR LUA_ROOT "/" LUA_MULTILIB LUA_LUADIR #define LUA_RLPATH ";" LUA_RLDIR "?.lua;" LUA_RLDIR "?/init.lua" -#define LUA_RCPATH ";" LUA_RCDIR "?.so" +#define LUA_RCPATH ";" LUA_RCDIR "?" _LUA_LIBEXT #else #define LUA_JROOT LUA_LROOT #define LUA_RLPATH @@ -55,11 +61,11 @@ #define LUA_LLDIR LUA_LROOT "/share" LUA_LUADIR #define LUA_LCDIR LUA_LROOT "/" LUA_LMULTILIB LUA_LUADIR #define LUA_LLPATH ";" LUA_LLDIR "?.lua;" LUA_LLDIR "?/init.lua" -#define LUA_LCPATH1 ";" LUA_LCDIR "?.so" -#define LUA_LCPATH2 ";" LUA_LCDIR "loadall.so" +#define LUA_LCPATH1 ";" LUA_LCDIR "?" _LUA_LIBEXT +#define LUA_LCPATH2 ";" LUA_LCDIR "loadall" _LUA_LIBEXT #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 /* Environment variable names for path overrides and initialization code. */