aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Grin (Karlson2k) <k2k@narod.ru>2014-02-20 13:17:05 +0000
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2014-02-20 13:17:05 +0000
commit2c8c09c799a79d236069db8d4c07f2616f425712 (patch)
treeb4764aef5ebd7dfc2ca09d936c1494235534c068
parente4791b96c8c3d172b25db65f15f46d086362c0f1 (diff)
downloadlibmicrohttpd-2c8c09c799a79d236069db8d4c07f2616f425712.tar.gz
libmicrohttpd-2c8c09c799a79d236069db8d4c07f2616f425712.zip
add W32 dll information resources
-rw-r--r--configure.ac13
-rw-r--r--src/microhttpd/Makefile.am22
-rw-r--r--src/microhttpd/microhttpd_dll_res.rc.in35
3 files changed, 68 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index c6159d00..050ff222 100644
--- a/configure.ac
+++ b/configure.ac
@@ -21,6 +21,7 @@
21# 21#
22# 22#
23AC_PREREQ(2.57) 23AC_PREREQ(2.57)
24LT_PREREQ([2.4.0])
24AC_INIT([libmicrohttpd], [0.9.33],[libmicrohttpd@gnu.org]) 25AC_INIT([libmicrohttpd], [0.9.33],[libmicrohttpd@gnu.org])
25AM_INIT_AUTOMAKE([silent-rules] [subdir-objects]) 26AM_INIT_AUTOMAKE([silent-rules] [subdir-objects])
26AC_CONFIG_HEADERS([MHD_config.h]) 27AC_CONFIG_HEADERS([MHD_config.h])
@@ -69,10 +70,18 @@ AC_PROG_LN_S
69AC_PROG_MAKE_SET 70AC_PROG_MAKE_SET
70AC_CANONICAL_HOST 71AC_CANONICAL_HOST
71AM_PROG_CC_C_O 72AM_PROG_CC_C_O
72AC_LIBTOOL_WIN32_DLL 73LT_INIT([win32-dll])
73AC_PROG_LIBTOOL 74LT_LANG([Windows Resource])
74AC_C_BIGENDIAN 75AC_C_BIGENDIAN
75 76
77PACKAGE_VERSION_MAJOR=${PACKAGE_VERSION%.*.*}
78PACKAGE_VERSION_MINOR=${PACKAGE_VERSION%.*}; PACKAGE_VERSION_MINOR=${PACKAGE_VERSION_MINOR#*.}
79PACKAGE_VERSION_SUBMINOR=${PACKAGE_VERSION#*.*.}
80AC_SUBST([PACKAGE_VERSION_MAJOR])
81AC_SUBST([PACKAGE_VERSION_MINOR])
82AC_SUBST([PACKAGE_VERSION_SUBMINOR])
83AC_CONFIG_FILES([src/microhttpd/microhttpd_dll_res.rc])
84
76AC_CHECK_MEMBER([struct sockaddr_in.sin_len], 85AC_CHECK_MEMBER([struct sockaddr_in.sin_len],
77 [ AC_DEFINE(HAVE_SOCKADDR_IN_SIN_LEN, 1, [Do we have sockaddr_in.sin_len?]) 86 [ AC_DEFINE(HAVE_SOCKADDR_IN_SIN_LEN, 1, [Do we have sockaddr_in.sin_len?])
78 ], 87 ],
diff --git a/src/microhttpd/Makefile.am b/src/microhttpd/Makefile.am
index 489a3a22..f9dec065 100644
--- a/src/microhttpd/Makefile.am
+++ b/src/microhttpd/Makefile.am
@@ -73,6 +73,28 @@ libmicrohttpd_la_LDFLAGS = \
73libmicrohttpd_la_LIBADD = \ 73libmicrohttpd_la_LIBADD = \
74 $(MHD_W32_LIB) 74 $(MHD_W32_LIB)
75 75
76if HAVE_W32
77MHD_DLL_RES_SRC = microhttpd_dll_res.rc
78MHD_DLL_RES_LO = libmicrohttpd_la-$(MHD_DLL_RES_SRC:.rc=.lo)
79
80EXTRA_libmicrohttpd_la_DEPENDENCIES = $(MHD_DLL_RES_LO)
81libmicrohttpd_la_LIBADD += $(MHD_DLL_RES_LO)
82
83# General rule is not required, but keep it just in case
84.rc.lo:
85 $(LIBTOOL) $(AM_V_lt) --tag=RC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(RC) $(RCFLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $< -o $@
86
87# To add dll resource only to .dll file and exclude it form static
88# lib, a little trick was used. Allow libtool to create file.lo,
89# file.o and .libs/file.lo, .libs/file.o files, then overwrite file.o
90# by empty object generated from empty c-file. Later libtool will
91# use .libs/file.o for shared lib and empty file.o for static lib.
92# This implementation is based on trick found in liblzma.
93$(MHD_DLL_RES_LO): $(MHD_DLL_RES_SRC)
94 $(LIBTOOL) $(AM_V_lt) --tag=RC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(RC) $(RCFLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmicrohttpd_la_CPPFLAGS) $(CPPFLAGS) $< -o $@ && \
95 echo > $@-empty.c && $(CC) $(AM_CFLAGS) $(CFLAGS) -c $@-empty.c -o $(@:.lo=.o) && rm -f $@-tmp.c
96endif
97
76if USE_COVERAGE 98if USE_COVERAGE
77 AM_CFLAGS += --coverage 99 AM_CFLAGS += --coverage
78endif 100endif
diff --git a/src/microhttpd/microhttpd_dll_res.rc.in b/src/microhttpd/microhttpd_dll_res.rc.in
new file mode 100644
index 00000000..c9441f20
--- /dev/null
+++ b/src/microhttpd/microhttpd_dll_res.rc.in
@@ -0,0 +1,35 @@
1/* W32 resources for .dll */
2
3#include <winresrc.h>
4
5LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
6VS_VERSION_INFO VERSIONINFO
7 FILEVERSION @PACKAGE_VERSION_MAJOR@,@PACKAGE_VERSION_MINOR@,@PACKAGE_VERSION_SUBMINOR@,0
8 PRODUCTVERSION @PACKAGE_VERSION_MAJOR@,@PACKAGE_VERSION_MINOR@,@PACKAGE_VERSION_SUBMINOR@,0
9 FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
10 FILEFLAGS 0
11 FILEOS VOS_NT_WINDOWS32
12 FILETYPE VFT_DLL
13 FILESUBTYPE VFT2_UNKNOWN
14BEGIN
15 BLOCK "StringFileInfo"
16 BEGIN
17 BLOCK "04090000" /* Lang = US English, Charset = ASCII */
18 BEGIN
19 VALUE "ProductName", "GNU libmicrohttpd\0"
20 VALUE "ProductVersion", "@PACKAGE_VERSION@\0"
21 VALUE "FileVersion", "@PACKAGE_VERSION@\0"
22 VALUE "FileDescription", "GNU libmicrohttpd dll for Windows\0"
23 VALUE "InternalName", "libmicrohttpd\0"
24 VALUE "OriginalFilename", "libmicrohttpd.dll\0"
25 VALUE "CompanyName", "Free Software Foundation\0"
26 VALUE "LegalCopyright", "Copyright (C) 2007-2014 Christian Grothoff and project contributors\0"
27 VALUE "Comments", "http://www.gnu.org/software/libmicrohttpd/\0"
28 END
29 END
30 BLOCK "VarFileInfo"
31 BEGIN
32 VALUE "Translation", 0x0409, 0 /* US English, ASCII */
33 END
34END
35