gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r32442 - in libmicrohttpd: . src/microhttpd


From: gnunet
Subject: [GNUnet-SVN] r32442 - in libmicrohttpd: . src/microhttpd
Date: Thu, 20 Feb 2014 14:16:49 +0100

Author: Karlson2k
Date: 2014-02-20 14:16:48 +0100 (Thu, 20 Feb 2014)
New Revision: 32442

Modified:
   libmicrohttpd/configure.ac
   libmicrohttpd/src/microhttpd/Makefile.am
Log:
create export libmicrohttpd.lib on W32 when building shared lib
use MS lib.exe if found or dlltool otherwise

Modified: libmicrohttpd/configure.ac
===================================================================
--- libmicrohttpd/configure.ac  2014-02-20 10:35:33 UTC (rev 32441)
+++ libmicrohttpd/configure.ac  2014-02-20 13:16:48 UTC (rev 32442)
@@ -104,32 +104,27 @@
      AC_DEFINE_UNQUOTED(OSX,1,[This is an OS X system])
      CFLAGS="-no-cpp-precomp -fno-common $CFLAGS"
      AM_CONDITIONAL(HAVE_GNU_LD, false)
-     AM_CONDITIONAL(HAVE_W32, false)
      ;;
 freebsd*)
      AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
      AC_DEFINE_UNQUOTED(FREEBSD,1,[This is a FreeBSD system])
      AM_CONDITIONAL(HAVE_GNU_LD, true)
-     AM_CONDITIONAL(HAVE_W32, false)
      CFLAGS="-D_THREAD_SAFE $CFLAGS"
      ;;
 openbsd*)
      AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
      AC_DEFINE_UNQUOTED(OPENBSD,1,[This is an OpenBSD system])
      AM_CONDITIONAL(HAVE_GNU_LD, true)
-     AM_CONDITIONAL(HAVE_W32, false)
      ;;
 netbsd*)
      AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
      AC_DEFINE_UNQUOTED(NETBSD,1,[This is a NetBSD system])
      AM_CONDITIONAL(HAVE_GNU_LD, true)
-     AM_CONDITIONAL(HAVE_W32, false)
      ;;
 *solaris*)
      AC_DEFINE_UNQUOTED(SOLARIS,1,[This is a Solaris system])
      AC_DEFINE_UNQUOTED(_REENTRANT,1,[Need with solaris or errno doesnt work])
      AM_CONDITIONAL(HAVE_GNU_LD, false)
-     AM_CONDITIONAL(HAVE_W32, false)
      LDFLAGS="$LDFLAGS -lpthread"
      ;;
 *arm-linux*)
@@ -137,7 +132,6 @@
      AC_DEFINE_UNQUOTED(HAVE_LISTEN_SHUTDOWN,1,[can use shutdown on listen 
sockets])
      CFLAGS="-D_REENTRANT -fPIC -pipe $CFLAGS"
      AM_CONDITIONAL(HAVE_GNU_LD, true)
-     AM_CONDITIONAL(HAVE_W32, false)
      AC_MSG_CHECKING(whether to support epoll)
      AC_ARG_ENABLE([epoll],
                AS_HELP_STRING([--disable-epoll],
@@ -150,7 +144,6 @@
      AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux kernel])
      AC_DEFINE_UNQUOTED(HAVE_LISTEN_SHUTDOWN,1,[can use shutdown on listen 
sockets])
      AM_CONDITIONAL(HAVE_GNU_LD, true)
-     AM_CONDITIONAL(HAVE_W32, false)
      AC_MSG_CHECKING(whether to support epoll)
      AC_ARG_ENABLE([epoll],
                AS_HELP_STRING([--disable-epoll],
@@ -162,23 +155,33 @@
 *cygwin*)
      AC_DEFINE_UNQUOTED(CYGWIN,1,[This is a Cygwin system])
      AM_CONDITIONAL(HAVE_GNU_LD, false)
-     AM_CONDITIONAL(HAVE_W32, false)
      LDFLAGS="$LDFLAGS"
      os_is_windows=yes
      ;;
 *mingw*)
      AC_DEFINE_UNQUOTED(MINGW,1,[This is a MinGW system])
      AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
-     AM_CONDITIONAL(HAVE_W32, true)
      LDFLAGS="$LDFLAGS -lws2_32"
      AM_CONDITIONAL(HAVE_GNU_LD, true)
      AC_CHECK_HEADERS([winsock2.h ws2tcpip.h],, AC_MSG_ERROR([[Winsock2 
headers are required for W32]]))
+     AC_CACHE_CHECK([for MS lib utility], [ac_cv_use_ms_lib_tool],
+       [[mslibcheck=`lib 2>&1`
+        if [[ $mslibcheck = "Microsoft (R) Library Manager"* ]]; then
+          ac_cv_use_ms_lib_tool=yes
+        else
+          ac_cv_use_ms_lib_tool=no
+        fi
+         ]])
+     if test "x$ac_cv_use_ms_lib_tool" = "xyes"; then
+       AC_SUBST([MS_LIB_TOOL], [[lib]])
+     fi
+     AC_SUBST([lt_cv_objdir])
      os_is_windows=yes
+     os_is_native_w32=yes
      ;;
 *openedition*)
      AC_DEFINE_UNQUOTED(OS390,1,[This is a OS/390 system])
      AM_CONDITIONAL(HAVE_GNU_LD, false)
-     AM_CONDITIONAL(HAVE_W32, false)
     ;;
 *)
      AC_MSG_RESULT(Unrecognised OS $host_os)
@@ -188,11 +191,23 @@
 #    pipes are used instead to signal 'select'.
 #    AC_DEFINE_UNQUOTED(HAVE_LISTEN_SHUTDOWN,1,[can use shutdown on listen 
sockets])
      AM_CONDITIONAL(HAVE_GNU_LD, false)
-     AM_CONDITIONAL(HAVE_W32, false)
 ;;
 esac
 
+AM_CONDITIONAL(HAVE_W32, [test "x$os_is_native_w32" = "xyes"])
+w32_shared_lib_exp=no
+if test "x$enable_shared" = "xyes" && test "x$os_is_native_w32" = "xyes"; then
+  if test "x$ac_cv_use_ms_lib_tool" = "xyes" || test -n "$DLLTOOL"; then
+    w32_shared_lib_exp=yes
+  else
+    AC_MSG_WARN([[GNU dlltool or MS lib.exe is required for creating shared 
library export on W32]])
+    AC_MSG_WARN([[Export library libmicrohttpd.lib will not be created]])
+  fi
+fi
+AM_CONDITIONAL(W32_SHARED_LIB_EXP, [test "x$w32_shared_lib_exp" = "xyes"])
+AM_CONDITIONAL(USE_MS_LIB_TOOL, [test "x$ac_cv_use_ms_lib_tool" = "xyes"])
 
+
 if test "$enable_epoll" = "yes"
 then
  AC_CHECK_HEADERS([sys/epoll.h],

Modified: libmicrohttpd/src/microhttpd/Makefile.am
===================================================================
--- libmicrohttpd/src/microhttpd/Makefile.am    2014-02-20 10:35:33 UTC (rev 
32441)
+++ libmicrohttpd/src/microhttpd/Makefile.am    2014-02-20 13:16:48 UTC (rev 
32442)
@@ -12,7 +12,38 @@
 lib_LTLIBRARIES = \
   libmicrohttpd.la
 
+noinst_DATA =
+MOSTLYCLEANFILES =
 
+if W32_SHARED_LIB_EXP
+W32_MHD_LIB_LDFLAGS = -Wl,--output-def,$(lt_cv_objdir)/libmicrohttpd.def
+noinst_DATA += $(lt_cv_objdir)/libmicrohttpd.lib 
$(lt_cv_objdir)/libmicrohttpd.def $(lt_cv_objdir)/libmicrohttpd.exp
+MOSTLYCLEANFILES += $(lt_cv_objdir)/libmicrohttpd.lib 
$(lt_cv_objdir)/libmicrohttpd.def $(lt_cv_objdir)/libmicrohttpd.exp
+
+$(lt_cv_objdir)/libmicrohttpd.def: libmicrohttpd.la
+
+$(lt_cv_objdir)/libmicrohttpd.exp: $(lt_cv_objdir)/libmicrohttpd.lib
+
+$(lt_cv_objdir)/libmicrohttpd.lib: $(lt_cv_objdir)/libmicrohttpd.def 
libmicrohttpd.la $(libmicrohttpd_la_OBJECTS)
+if USE_MS_LIB_TOOL
+       @echo Creating $@ and libmicrohttpd.exp by $(MS_LIB_TOOL)... && \
+       dll_name=`$(EGREP) -o dlname=\'.+\' libmicrohttpd.la` && \
+       dll_name=$${dll_name#*\'} && dll_name=$${dll_name%\'} && test -n 
"$$dll_name" && \
+       echo Using .dll filename: $$dll_name.. && \
+       $(MS_LIB_TOOL) -def:$(lt_cv_objdir)/libmicrohttpd.def -name:$$dll_name 
-out:$@ $(libmicrohttpd_la_OBJECTS:.lo=.o)
+else
+       @echo Creating $@ and libmicrohttpd.exp by $(DLLTOOL)... && \
+       dll_name=`$(EGREP) -o dlname=\'.+\' libmicrohttpd.la` && \
+       dll_name=$${dll_name#*\'} && dll_name=$${dll_name%\'} && test -n 
"$$dll_name" && \
+       echo Using .dll filename: $$dll_name.. && \
+       $(DLLTOOL) -d $(lt_cv_objdir)/libmicrohttpd.def -D $$dll_name -l $@ 
$(libmicrohttpd_la_OBJECTS:.lo=.o) -e $(lt_cv_objdir)/libmicrohttpd.exp && \
+       echo Created libmicrohttpd.exp and libmicrohttpd.lib.
+endif
+else
+  W32_MHD_LIB_LDFLAGS =
+endif
+
+
 libmicrohttpd_la_SOURCES = \
   connection.c connection.h \
   reason_phrase.c reason_phrase.h \
@@ -25,6 +56,7 @@
   -DBUILDING_MHD_LIB=1
 libmicrohttpd_la_LDFLAGS = \
   $(MHD_LIB_LDFLAGS) \
+  $(W32_MHD_LIB_LDFLAGS) \
   -version-info @LIB_VERSION_CURRENT@:@LIB_VERSION_REVISION@:@LIB_VERSION_AGE@
 libmicrohttpd_la_LIBADD = \
   $(MHD_W32_LIB)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]