diff options
author | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2014-02-20 13:17:05 +0000 |
---|---|---|
committer | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2014-02-20 13:17:05 +0000 |
commit | 2c8c09c799a79d236069db8d4c07f2616f425712 (patch) | |
tree | b4764aef5ebd7dfc2ca09d936c1494235534c068 | |
parent | e4791b96c8c3d172b25db65f15f46d086362c0f1 (diff) | |
download | libmicrohttpd-2c8c09c799a79d236069db8d4c07f2616f425712.tar.gz libmicrohttpd-2c8c09c799a79d236069db8d4c07f2616f425712.zip |
add W32 dll information resources
-rw-r--r-- | configure.ac | 13 | ||||
-rw-r--r-- | src/microhttpd/Makefile.am | 22 | ||||
-rw-r--r-- | src/microhttpd/microhttpd_dll_res.rc.in | 35 |
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 | # |
23 | AC_PREREQ(2.57) | 23 | AC_PREREQ(2.57) |
24 | LT_PREREQ([2.4.0]) | ||
24 | AC_INIT([libmicrohttpd], [0.9.33],[libmicrohttpd@gnu.org]) | 25 | AC_INIT([libmicrohttpd], [0.9.33],[libmicrohttpd@gnu.org]) |
25 | AM_INIT_AUTOMAKE([silent-rules] [subdir-objects]) | 26 | AM_INIT_AUTOMAKE([silent-rules] [subdir-objects]) |
26 | AC_CONFIG_HEADERS([MHD_config.h]) | 27 | AC_CONFIG_HEADERS([MHD_config.h]) |
@@ -69,10 +70,18 @@ AC_PROG_LN_S | |||
69 | AC_PROG_MAKE_SET | 70 | AC_PROG_MAKE_SET |
70 | AC_CANONICAL_HOST | 71 | AC_CANONICAL_HOST |
71 | AM_PROG_CC_C_O | 72 | AM_PROG_CC_C_O |
72 | AC_LIBTOOL_WIN32_DLL | 73 | LT_INIT([win32-dll]) |
73 | AC_PROG_LIBTOOL | 74 | LT_LANG([Windows Resource]) |
74 | AC_C_BIGENDIAN | 75 | AC_C_BIGENDIAN |
75 | 76 | ||
77 | PACKAGE_VERSION_MAJOR=${PACKAGE_VERSION%.*.*} | ||
78 | PACKAGE_VERSION_MINOR=${PACKAGE_VERSION%.*}; PACKAGE_VERSION_MINOR=${PACKAGE_VERSION_MINOR#*.} | ||
79 | PACKAGE_VERSION_SUBMINOR=${PACKAGE_VERSION#*.*.} | ||
80 | AC_SUBST([PACKAGE_VERSION_MAJOR]) | ||
81 | AC_SUBST([PACKAGE_VERSION_MINOR]) | ||
82 | AC_SUBST([PACKAGE_VERSION_SUBMINOR]) | ||
83 | AC_CONFIG_FILES([src/microhttpd/microhttpd_dll_res.rc]) | ||
84 | |||
76 | AC_CHECK_MEMBER([struct sockaddr_in.sin_len], | 85 | AC_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 = \ | |||
73 | libmicrohttpd_la_LIBADD = \ | 73 | libmicrohttpd_la_LIBADD = \ |
74 | $(MHD_W32_LIB) | 74 | $(MHD_W32_LIB) |
75 | 75 | ||
76 | if HAVE_W32 | ||
77 | MHD_DLL_RES_SRC = microhttpd_dll_res.rc | ||
78 | MHD_DLL_RES_LO = libmicrohttpd_la-$(MHD_DLL_RES_SRC:.rc=.lo) | ||
79 | |||
80 | EXTRA_libmicrohttpd_la_DEPENDENCIES = $(MHD_DLL_RES_LO) | ||
81 | libmicrohttpd_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 | ||
96 | endif | ||
97 | |||
76 | if USE_COVERAGE | 98 | if USE_COVERAGE |
77 | AM_CFLAGS += --coverage | 99 | AM_CFLAGS += --coverage |
78 | endif | 100 | endif |
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 | |||
5 | LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US | ||
6 | VS_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 | ||
14 | BEGIN | ||
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 | ||
34 | END | ||
35 | |||