A conversation from early February 2022 in the Prosody IM Chatroom resulted in
determining Lua 5.4 as the target language version ('makes no sense to rely on
CentOS 7 EOL if compiling for Windows').OpenSSL 3 works fine under Windows, but someone mentioned in the chat that OpenSSL 1.x is more widespread in common Linux distributions. I'm open to suggestions here, but if OpenSSL 3 looks good to maintainers, I will keep the patch like this. libidn 1.41 requires some patching if Prosody is going to be compiled with MSVC, like I do. The maintainers said that even Windows builds are compiled on Linux, so the build process has to be GCC-aware, I guess. Again, I'm open to all suggestions. Also, this Makefile is currently not aware of x64 configuration of dependencies. It must be revised to be able to provide both Win32 and x64 targets, in case of MSVC. -- You received this message because you are subscribed to the Google Groups "prosody-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/prosody-dev/5a644645e80cefe411cb.1677714830%40EI08_MatisseX.
# HG changeset patch # User Vitaly Orekhov <[email protected]> # Date 1677714727 -10800 # Thu Mar 02 02:52:07 2023 +0300 # Node ID 5a644645e80cefe411cb761b92211b73d4a7f18a # Parent 09f4172812fb10c10a1cb7ba8237dd9aeaea4973 Makefile.win: Update dependencies for all utility libraries A conversation from early February 2022 in the Prosody IM Chatroom resulted in determining Lua 5.4 as the target language version ('makes no sense to rely on CentOS 7 EOL if compiling for Windows'). OpenSSL 3 works fine under Windows, but someone mentioned in the chat that OpenSSL 1.x is more widespread in common Linux distributions. I'm open to suggestions here, but if OpenSSL 3 looks good to maintainers, I will keep the patch like this. libidn 1.41 requires some patching if Prosody is going to be compiled with MSVC, like I do. The maintainers said that even Windows builds are compiled on Linux, so the build process has to be GCC-aware, I guess. Again, I'm open to all suggestions. Also, this Makefile is currently not aware of x64 configuration of dependencies. It must be revised to be able to provide both Win32 and x64 targets, in case of MSVC. diff -r 09f4172812fb -r 5a644645e80c util-src/Makefile.win --- a/util-src/Makefile.win Sat Feb 25 01:33:30 2023 +0300 +++ b/util-src/Makefile.win Thu Mar 02 02:52:07 2023 +0300 @@ -1,38 +1,67 @@ LUA_PATH=$(LUA_DEV) -IDN_PATH=..\..\libidn-1.15 -OPENSSL_PATH=..\..\openssl-0.9.8k +IDN_PATH=..\..\libidn-1.41 +OPENSSL_PATH=..\..\openssl-3.0.8 LUA_INCLUDE=$(LUA_PATH)\include -LUA_LIB=$(LUA_PATH)\lib\lua5.1.lib +LUA_LIB=$(LUA_PATH)\lib\lua54.lib -IDN_LIB=$(IDN_PATH)\win32\lib\libidn.lib +IDN_LIB=$(IDN_PATH)\windows\Win32\libidn.lib IDN_INCLUDE1=$(IDN_PATH)\lib -IDN_INCLUDE2=$(IDN_PATH)\win32\include -OPENSSL_LIB=$(OPENSSL_PATH)\out32dll\libeay32.lib +IDN_INCLUDE2=$(IDN_PATH)\windows\include +OPENSSL_CRYPTO=$(OPENSSL_PATH)\libcrypto.lib +OPENSSL_LIB=$(OPENSSL_PATH)\libssl.lib OPENSSL_INCLUDE=$(OPENSSL_PATH)\include CL=cl /LD /MD /nologo -all: encodings.dll hashes.dll windows.dll +all: compat.dll crand.dll crypto.dll encodings.dll hashes.dll net.dll poll.dll ringbuffer.dll signal.dll strbitop.dll table.dll time.dll windows.dll -install: encodings.dll hashes.dll windows.dll +install: compat.dll crand.dll crypto.dll encodings.dll hashes.dll net.dll poll.dll ringbuffer.dll signal.dll strbitop.dll table.dll time.dll windows.dll copy /Y *.dll ..\util\ clean: - del encodings.dll encodings.exp encodings.lib encodings.obj encodings.dll.manifest - del hashes.dll hashes.exp hashes.lib hashes.obj hashes.dll.manifest - del windows.dll windows.exp windows.lib windows.obj windows.dll.manifest + del *.dll *.exp *.lib *.obj *.dll.manifest +compat.dll: compat.c + $(CL) compat.c /I"$(LUA_INCLUDE)" /link "$(LUA_LIB)" /export:luaopen_util_compat + del compat.exp compat.lib compat.obj compat.dll.manifest +crand.dll: crand.c + $(CL) crand.c /DWITH_OPENSSL /I"$(LUA_INCLUDE)" /I"$(OPENSSL_INCLUDE)" /link "$(LUA_LIB)" "$(OPENSSL_CRYPTO)" /export:luaopen_util_crand + del crand.exp crand.lib crand.obj crand.dll.manifest +crypto.dll: crypto.c + $(CL) crypto.c /I"$(LUA_INCLUDE)" /I"$(OPENSSL_INCLUDE)" /link "$(LUA_LIB)" "$(OPENSSL_CRYPTO)" /export:luaopen_util_crypto + del crypto.exp crypto.lib crypto.obj crypto.dll.manifest encodings.dll: encodings.c $(CL) encodings.c /I"$(LUA_INCLUDE)" /I"$(IDN_INCLUDE1)" /I"$(IDN_INCLUDE2)" /link "$(LUA_LIB)" "$(IDN_LIB)" /export:luaopen_util_encodings del encodings.exp encodings.lib encodings.obj encodings.dll.manifest hashes.dll: hashes.c - $(CL) hashes.c /I"$(LUA_INCLUDE)" /I"$(OPENSSL_INCLUDE)" /link "$(LUA_LIB)" "$(OPENSSL_LIB)" /export:luaopen_util_hashes + $(CL) hashes.c /I"$(LUA_INCLUDE)" /I"$(OPENSSL_INCLUDE)" /link "$(LUA_LIB)" "$(OPENSSL_CRYPTO)" "$(OPENSSL_LIB)" /export:luaopen_util_hashes del hashes.exp hashes.lib hashes.obj hashes.dll.manifest +net.dll: net.c + $(CL) net.c /I"$(LUA_INCLUDE)" /link "$(LUA_LIB)" ws2_32.lib /export:luaopen_util_net + del net.exp net.lib net.obj net.dll.manifest +poll.dll: poll.c + $(CL) poll.c /I"$(LUA_INCLUDE)" /link "$(LUA_LIB)" ws2_32.lib /export:luaopen_util_poll + del poll.exp poll.lib poll.obj poll.dll.manifest +ringbuffer.dll: ringbuffer.c + $(CL) ringbuffer.c /I"$(LUA_INCLUDE)" /link "$(LUA_LIB)" kernel32.lib /export:luaopen_util_ringbuffer + del ringbuffer.exp ringbuffer.lib ringbuffer.obj ringbuffer.dll.manifest +signal.dll: signal.c + $(CL) signal.c /I"$(LUA_INCLUDE)" /link "$(LUA_LIB)" /export:luaopen_util_signal + del signal.exp signal.lib signal.obj signal.dll.manifest +strbitop.dll: strbitop.c + $(CL) strbitop.c /I"$(LUA_INCLUDE)" /link "$(LUA_LIB)" /export:luaopen_util_strbitop + del strbitop.exp strbitop.lib strbitop.obj strbitop.dll.manifest +table.dll: table.c + $(CL) table.c /I"$(LUA_INCLUDE)" /link "$(LUA_LIB)" /export:luaopen_util_table + del table.exp table.lib table.obj table.dll.manifest +time.dll: time.c + $(CL) time.c /I"$(LUA_INCLUDE)" /link "$(LUA_LIB)" /export:luaopen_util_time + del time.exp time.lib time.obj time.dll.manifest windows.dll: windows.c - $(CL) windows.c /I"$(LUA_INCLUDE)" /link "$(LUA_LIB)" dnsapi.lib /export:luaopen_util_windows + $(CL) windows.c /I"$(LUA_INCLUDE)" /link "$(LUA_LIB)" dnsapi.lib advapi32.lib /export:luaopen_util_windows del windows.exp windows.lib windows.obj windows.dll.manifest
