diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2012-03-12 14:15:48 +0000 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2012-06-15 14:25:48 +0100 |
commit | efddba53da6b76478064f43d8235de12151f33ad (patch) | |
tree | c4e2a252b17149e4d87e272bcec03a3e4934ddf9 | |
parent | 09d71f92c349fb25053136fd329b5903c7216bdd (diff) | |
download | dbus-efddba53da6b76478064f43d8235de12151f33ad.tar.gz |
When not producing a dynamic library, define DBUS_STATIC_BUILD
When targeting Windows, linking against the static library requires
special effort to turn off DLL import/export processing. We normally
link some things against the dynamic library, but if we're not building
that, we'll have to link everything statically.
Based on patches from 'william' on fd.o #46367.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33973
Tested-by: René Berber <Rene.Berber gmail com>
-rw-r--r-- | configure.ac | 10 | ||||
-rw-r--r-- | dbus-1-uninstalled.pc.in | 2 | ||||
-rw-r--r-- | dbus-1.pc.in | 2 | ||||
-rw-r--r-- | test/Makefile.am | 3 | ||||
-rw-r--r-- | tools/Makefile.am | 1 |
5 files changed, 16 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index 837e7b25..8d952278 100644 --- a/configure.ac +++ b/configure.ac @@ -123,6 +123,16 @@ AM_CONDITIONAL(DBUS_WINCE, test "$dbus_wince" = yes) AM_CONDITIONAL(DBUS_UNIX, test "$dbus_unix" = yes) AM_CONDITIONAL(DBUS_CYGWIN, test "$dbus_cygwin" = yes) +DBUS_STATIC_BUILD_CPPFLAGS= +if test "x$enable_shared" = xno; then + # On Windows, linking against the static library requires special effort + # to turn off DLL import/export processing. We normally link some things + # against the dynamic library, but if we're not building that, we'll + # have to link everything statically. + DBUS_STATIC_BUILD_CPPFLAGS=-DDBUS_STATIC_BUILD +fi +AC_SUBST([DBUS_STATIC_BUILD_CPPFLAGS]) + AC_ARG_ENABLE(ansi, AS_HELP_STRING([--enable-ansi],[enable -ansi -pedantic gcc flags]),enable_ansi=$enableval,enable_ansi=no) AC_ARG_ENABLE(verbose-mode, AS_HELP_STRING([--enable-verbose-mode],[support verbose debug mode]),enable_verbose_mode=$enableval,enable_verbose_mode=$USE_MAINTAINER_MODE) AC_ARG_ENABLE(asserts, AS_HELP_STRING([--enable-asserts],[include assertion checks]),enable_asserts=$enableval,enable_asserts=$USE_MAINTAINER_MODE) diff --git a/dbus-1-uninstalled.pc.in b/dbus-1-uninstalled.pc.in index f0072325..038c83e2 100644 --- a/dbus-1-uninstalled.pc.in +++ b/dbus-1-uninstalled.pc.in @@ -14,4 +14,4 @@ Description: Free desktop message bus (uninstalled copy) Version: @VERSION@ Libs: ${abs_top_builddir}/dbus/libdbus-1.la Libs.private: @LIBDBUS_LIBS@ -Cflags: -I${abs_top_srcdir} +Cflags: -I${abs_top_srcdir} @DBUS_STATIC_BUILD_CPPFLAGS@ diff --git a/dbus-1.pc.in b/dbus-1.pc.in index 7201e07f..25f8bcee 100644 --- a/dbus-1.pc.in +++ b/dbus-1.pc.in @@ -14,4 +14,4 @@ Description: Free desktop message bus Version: @VERSION@ Libs: -L${libdir} -ldbus-1 Libs.private: @LIBDBUS_LIBS@ -Cflags: -I${includedir}/dbus-1.0 -I${libdir}/dbus-1.0/include +Cflags: -I${includedir}/dbus-1.0 -I${libdir}/dbus-1.0/include @DBUS_STATIC_BUILD_CPPFLAGS@ diff --git a/test/Makefile.am b/test/Makefile.am index aa04792b..e9448998 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -4,8 +4,10 @@ SUBDIRS= . name-test DIST_SUBDIRS=name-test +# CPPFLAGS for binaries that are normally dynamic AM_CPPFLAGS = \ -I$(top_srcdir) \ + $(DBUS_STATIC_BUILD_CPPFLAGS) \ $(GLIB_CFLAGS) \ $(DBUS_GLIB_CFLAGS) \ $(NULL) @@ -13,6 +15,7 @@ AM_CPPFLAGS = \ # improve backtraces from test stuff AM_LDFLAGS = @R_DYNAMIC_LDFLAG@ +# CPPFLAGS for binaries that are always static static_cppflags = \ $(AM_CPPFLAGS) \ -DDBUS_STATIC_BUILD \ diff --git a/tools/Makefile.am b/tools/Makefile.am index 08b90234..c4632e3e 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -2,6 +2,7 @@ configdir=$(sysconfdir)/dbus-1 AM_CPPFLAGS = \ -I$(top_srcdir) \ + $(DBUS_STATIC_BUILD_CPPFLAGS) \ $(DBUS_X_CFLAGS) \ -DDBUS_COMPILATION \ -DDBUS_MACHINE_UUID_FILE=\""$(localstatedir)/lib/dbus/machine-id"\" \ |