diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2012-07-04 12:17:10 +0100 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2012-07-05 11:53:02 +0100 |
commit | 5558ee11313fd929ed6aeb22228e89de2263e520 (patch) | |
tree | 6d5d729a282ea28ba436be8fe643ed8ad8180dde | |
parent | ec2671485a23090c470180eb297e67b86638d9b5 (diff) | |
download | dbus-python-5558ee11313fd929ed6aeb22228e89de2263e520.tar.gz |
Link Python extensions differently on Windows
-rw-r--r-- | _dbus_bindings/Makefile.am | 14 | ||||
-rw-r--r-- | _dbus_glib_bindings/Makefile.am | 14 | ||||
-rw-r--r-- | configure.ac | 13 |
3 files changed, 41 insertions, 0 deletions
diff --git a/_dbus_bindings/Makefile.am b/_dbus_bindings/Makefile.am index e0fb889..42c9f91 100644 --- a/_dbus_bindings/Makefile.am +++ b/_dbus_bindings/Makefile.am @@ -7,6 +7,20 @@ AM_LDFLAGS = -module -avoid-version \ libadd = $(DBUS_LIBS) +if WINDOWS +# Win32 DLLs can't have undefined symbols (so this needs explicit linking +# against the Python DLL), and Python expects extensions to be *.pyd +# instead of *.dll +AM_LDFLAGS += \ + -no-undefined \ + -shrext ".pyd" \ + $(NULL) + +libadd += \ + $(PYTHON_LIBS) \ + $(NULL) +endif + _dbus_bindings_la_LIBADD = $(libadd) _dbus_bindings_la_SOURCES = \ abstract.c \ diff --git a/_dbus_glib_bindings/Makefile.am b/_dbus_glib_bindings/Makefile.am index 48af169..ead49da 100644 --- a/_dbus_glib_bindings/Makefile.am +++ b/_dbus_glib_bindings/Makefile.am @@ -11,5 +11,19 @@ libadd = \ $(DBUS_GLIB_LIBS) \ $(NULL) +if WINDOWS +# Win32 DLLs can't have undefined symbols (so this needs explicit linking +# against the Python DLL), and Python expects extensions to be *.pyd +# instead of *.dll +AM_LDFLAGS += \ + -no-undefined \ + -shrext ".pyd" \ + $(NULL) + +libadd += \ + $(PYTHON_LIBS) \ + $(NULL) +endif + _dbus_glib_bindings_la_LIBADD = $(libadd) _dbus_glib_bindings_la_SOURCES = module.c diff --git a/configure.ac b/configure.ac index 4c7c728..73bd3fa 100644 --- a/configure.ac +++ b/configure.ac @@ -36,6 +36,19 @@ AM_INIT_AUTOMAKE([1.9 -Wno-portability]) AC_CANONICAL_BUILD AC_CANONICAL_HOST +# mingw32, mingw-w64 are native Windows; for our purposes, Cygwin isn't +AC_MSG_CHECKING([for native Windows host]) +case "$host" in + (*-*-mingw*) + windows=yes + ;; + (*) + windows=no + ;; +esac +AC_MSG_RESULT([$windows]) +AM_CONDITIONAL([WINDOWS], [test "x$windows" = xyes]) + AC_DISABLE_STATIC dnl XXXX hack to kill off all the libtool tags ... |