Index: configure.ac ================================================================== --- configure.ac +++ configure.ac @@ -399,10 +399,16 @@ AC_MSG_ERROR(Compiler does not support properties!) ]) AC_CHECK_TOOL(AR, ar) AC_PROG_RANLIB + +case "$host_os" in +mingw*) + AC_CHECK_TOOL(RC, windres) + ;; +esac AC_ARG_ENABLE(shared, AS_HELP_STRING([--disable-shared], [do not build shared library])) AS_IF([test x"$enable_shared" != x"no"], [ BUILDSYS_SHARED_LIB Index: src/Makefile ================================================================== --- src/Makefile +++ src/Makefile @@ -207,11 +207,11 @@ OFSubarray.m \ OFUTF8String.m \ ${LIBBASES_M} \ ${RUNTIME_AUTORELEASE_M} \ ${RUNTIME_INSTANCE_M} \ - ${UNICODE_M} + ${UNICODE_M} SRCS_FILES += OFFileURIHandler.m SRCS_SOCKETS += OFDNSResolverSettings.m \ ${OF_EPOLL_KERNEL_EVENT_OBSERVER_M} \ OFHTTPURIHandler.m \ OFHostAddressResolver.m \ @@ -219,11 +219,12 @@ OFKernelEventObserver.m \ ${OF_KQUEUE_KERNEL_EVENT_OBSERVER_M} \ ${OF_POLL_KERNEL_EVENT_OBSERVER_M} \ ${OF_SELECT_KERNEL_EVENT_OBSERVER_M} \ OFTCPSocketSOCKS5Connector.m -SRCS_WINDOWS += platform/Windows/OFWin32ConsoleStdIOStream.m +SRCS_WINDOWS += platform/Windows/OFWin32ConsoleStdIOStream.m \ + versioninfo.rc OBJS_EXTRA = exceptions/exceptions.a \ encodings/encodings.a \ forwarding/forwarding.a LIB_OBJS_EXTRA = exceptions/exceptions.lib.a \ @@ -237,5 +238,9 @@ FRAMEWORK_LIBS := -Fruntime \ ${RUNTIME_FRAMEWORK_LIBS} \ ${REEXPORT_RUNTIME_FRAMEWORK} \ ${LIBS} LIBS := -Lruntime ${RUNTIME_LIBS} ${REEXPORT_RUNTIME} ${LIBS} +RCFLAGS = -DOBJFW_LIB_MAJOR=${OBJFW_LIB_MAJOR} \ + -DOBJFW_LIB_MINOR=${OBJFW_LIB_MINOR} \ + -DOBJFW_LIB_VERSION=\"${OBJFW_LIB_MANJOR}.${OBJFW_LIB_MINOR}\" \ + -DOBJFW_SHARED_LIB=\"${OBJFW_SHARED_LIB}\" Index: src/runtime/Makefile ================================================================== --- src/runtime/Makefile +++ src/runtime/Makefile @@ -29,15 +29,17 @@ selector.m \ sparsearray.m \ static-instances.m \ synchronized.m \ tagged-pointer.m \ - ${USE_SRCS_THREADS} + ${USE_SRCS_THREADS} \ + ${USE_SRCS_WINDOWS} SRCS_THREADS = OFOnce.m \ OFPlainMutex.m \ OFTLSKey.m \ threading.m +SRCS_WINDOWS = versioninfo.rc INCLUDES = ObjFWRT.h includesubdir = ObjFWRT OBJS_EXTRA = lookup-asm/lookup-asm.a LIB_OBJS_EXTRA = lookup-asm/lookup-asm.lib.a @@ -54,5 +56,9 @@ -DOBJFWRT_LIB_MAJOR=${OBJFWRT_LIB_MAJOR} \ -DOBJFWRT_LIB_MINOR=${OBJFWRT_LIB_MINOR} AMIGA_LIB_CFLAGS += -DOBJC_COMPILING_AMIGA_LIBRARY LD = ${OBJC} FRAMEWORK_LIBS = ${LIBS} +RCFLAGS = -DOBJFWRT_LIB_MAJOR=${OBJFWRT_LIB_MAJOR} \ + -DOBJFWRT_LIB_MINOR=${OBJFWRT_LIB_MINOR} \ + -DOBJFWRT_LIB_VERSION=\"${OBJFWRT_LIB_MANJOR}.${OBJFWRT_LIB_MINOR}\" \ + -DOBJFWRT_SHARED_LIB=\"${OBJFWRT_SHARED_LIB}\" ADDED src/runtime/versioninfo.rc Index: src/runtime/versioninfo.rc ================================================================== --- src/runtime/versioninfo.rc +++ src/runtime/versioninfo.rc @@ -0,0 +1,27 @@ +#include "config.h" +#include "winver.h" + +1 VERSIONINFO + FILEVERSION OBJFWRT_LIB_MAJOR, OBJFWRT_LIB_MINOR, 0, 0 + PRODUCTVERSION OBJFW_VERSION_MAJOR, OBJFW_VERSION_MINOR, 0, 0 + FILEOS VOS__WINDOWS32 + FILETYPE VFT_DLL +{ + BLOCK "StringFileInfo" { + BLOCK "040904E4" { + VALUE "ProductName", "ObjFW Runtime" + VALUE "ProductVersion", PACKAGE_VERSION + VALUE "FileVersion", OBJFWRT_LIB_VERSION + VALUE "FileDescription", "Objective-C runtime" + VALUE "LegalCopyright", + "(c) 2008-2022 Jonathan Schleifer" + VALUE "InternalName", "ObjFWRT" + VALUE "OriginalFilename", OBJFWRT_SHARED_LIB + } + + } + + BLOCK "VarFileInfo" { + VALUE "Translation", 0x409, 1252 + } +} ADDED src/versioninfo.rc Index: src/versioninfo.rc ================================================================== --- src/versioninfo.rc +++ src/versioninfo.rc @@ -0,0 +1,27 @@ +#include "config.h" +#include "winver.h" + +1 VERSIONINFO + FILEVERSION OBJFW_LIB_MAJOR, OBJFW_LIB_MINOR, 0, 0 + PRODUCTVERSION OBJFW_VERSION_MAJOR, OBJFW_VERSION_MINOR, 0, 0 + FILEOS VOS__WINDOWS32 + FILETYPE VFT_DLL +{ + BLOCK "StringFileInfo" { + BLOCK "040904E4" { + VALUE "ProductName", "ObjFW" + VALUE "ProductVersion", PACKAGE_VERSION + VALUE "FileVersion", OBJFW_LIB_VERSION + VALUE "FileDescription", "Objective-C framework" + VALUE "LegalCopyright", + "(c) 2008-2022 Jonathan Schleifer" + VALUE "InternalName", "ObjFW" + VALUE "OriginalFilename", OBJFW_SHARED_LIB + } + + } + + BLOCK "VarFileInfo" { + VALUE "Translation", 0x409, 1252 + } +}