diff --git a/configure.ac b/configure.ac index 70598714..38b14a1e 100644 --- a/configure.ac +++ b/configure.ac @@ -441,6 +441,7 @@ AC_DEFINE_UNQUOTED([IFCONFIG_PATH], ["$IFCONFIG"], [Path to ifconfig tool]) AC_DEFINE_UNQUOTED([IPROUTE_PATH], ["$IPROUTE"], [Path to iproute tool]) AC_DEFINE_UNQUOTED([ROUTE_PATH], ["$ROUTE"], [Path to route tool]) AC_DEFINE_UNQUOTED([SYSTEMD_ASK_PASSWORD_PATH], ["$SYSTEMD_ASK_PASSWORD"], [Path to systemd-ask-password tool]) +AC_CHECK_TOOLS([WINDMC], [windmc mc.exe],[no]) # # man page generation - based on python-docutils diff --git a/src/openvpnserv/CMakeLists.txt b/src/openvpnserv/CMakeLists.txt index 82099f16..340b904c 100644 --- a/src/openvpnserv/CMakeLists.txt +++ b/src/openvpnserv/CMakeLists.txt @@ -41,7 +41,7 @@ endif () file(MAKE_DIRECTORY ${MC_GEN_DIR}) set(MC_FILE ${CMAKE_CURRENT_SOURCE_DIR}/eventmsg.mc) -find_program(MC_COMPILER NAMES mc mc.exe x86_64-w64-mingw32-windmc i686-w64-mingw32-windmc windmc) +find_program(MC_COMPILER NAMES mc.exe x86_64-w64-mingw32-windmc i686-w64-mingw32-windmc windmc) if (NOT MC_COMPILER) message(FATAL_ERROR "No message compiler found.") @@ -58,12 +58,17 @@ add_custom_command( add_custom_target(msg_mc_gen ALL DEPENDS ${MC_GEN_DIR}/eventmsg.rc ${MC_GEN_DIR}/eventmsg.h) add_library(openvpnservmsg SHARED ${MC_GEN_DIR}/eventmsg.rc) +add_dependencies(openvpnservmsg msg_mc_gen) if (MSVC) set_target_properties(openvpnservmsg PROPERTIES LINK_FLAGS "/NOENTRY") else() - target_link_options(openvpnservmsg PRIVATE "-Wl,--no-entry") + set_target_properties(openvpnservmsg PROPERTIES LINKER_LANGUAGE C OUTPUT_NAME "openvpnservmsg") + target_link_options(openvpnservmsg PRIVATE + -Wl,--entry=0 + -nostdlib + -nostartfiles + ) endif() -add_dependencies(openvpnservmsg msg_mc_gen) add_dependencies(openvpnserv msg_mc_gen) diff --git a/src/openvpnserv/Makefile.am b/src/openvpnserv/Makefile.am index ef5f3f34..a27fbbff 100644 --- a/src/openvpnserv/Makefile.am +++ b/src/openvpnserv/Makefile.am @@ -28,6 +28,10 @@ openvpnserv_CFLAGS = \ openvpnserv_LDADD = \ -ladvapi32 -luserenv -liphlpapi -lfwpuclnt -lrpcrt4 \ -lshlwapi -lnetapi32 -lws2_32 -lntdll -lole32 +noinst_DATA = \ + MSG00409.bin eventmsg.h eventmsg.rc openvpnservmsg.dll +BUILT_SOURCES = \ + eventmsg.h endif openvpnserv_SOURCES = \ @@ -37,3 +41,11 @@ openvpnserv_SOURCES = \ validate.c validate.h \ $(top_srcdir)/src/openvpn/wfp_block.c $(top_srcdir)/src/openvpn/wfp_block.h \ openvpnserv_resources.rc + +openvpnservmsg.dll: eventmsg.o + $(CC) -shared -Wl,--entry=0 -nostdlib -nostartfiles -o $@ $< + +eventmsg.o: eventmsg.rc + +eventmsg.h: eventmsg.mc + $(WINDMC) -U $<