blob: 6867293a19abca0ef83262af6ba71724896db1cb [file] [log] [blame]
diff -Naur a/gi/Makefile.am b/gi/Makefile.am
--- a/gi/Makefile.am 2011-06-13 20:30:25.000000000 +0400
+++ b/gi/Makefile.am 2014-02-23 11:03:40.784200000 +0400
@@ -22,7 +22,8 @@
_gi_la_LDFLAGS = \
-module \
-avoid-version \
- -export-symbols-regex "init_gi|PyInit__gi"
+ -export-symbols-regex "init_gi|PyInit__gi" \
+ -shrext $(PYTHON_SO)
_gi_la_LIBADD = \
$(GI_LIBS) \
$(top_builddir)/glib/libpyglib-2.0-@PYTHON_BASENAME@.la
@@ -82,13 +83,13 @@
# This is to ensure we have a symlink to the .so in the
# build directory, which the Python interpreter can load
# directly without having to know how to parse .la files.
-.la.so:
- test -L $@ || $(LN_S) .libs/$@ $@
+%$(PYTHON_SO): %.la
+ $(LN_S) -f .libs/$@ $@
-all-local: $(LTLIBRARIES:.la=.so)
-check-local: $(LTLIBRARIES:.la=.so)
+all-local: $(LTLIBRARIES:.la=$(PYTHON_SO))
+check-local: $(LTLIBRARIES:.la=$(PYTHON_SO))
clean-local:
- rm -f $(LTLIBRARIES:.la=.so)
+ rm -f $(LTLIBRARIES:.la=$(PYTHON_SO))
diff -Naur a/gio/Makefile.am b/gio/Makefile.am
--- a/gio/Makefile.am 2011-06-13 20:33:49.000000000 +0400
+++ b/gio/Makefile.am 2014-02-23 11:05:13.589200000 +0400
@@ -25,7 +25,7 @@
pygio_PYTHON = __init__.py
# linker flags
-common_ldflags = -module -avoid-version
+common_ldflags = -module -avoid-version -shrext $(PYTHON_SO)
if PLATFORM_WIN32
common_ldflags += -no-undefined
endif
@@ -67,7 +67,7 @@
gio.c: $(GIO_DEFS) $(GIO_OVERRIDES)
_gio_la_CFLAGS = $(GIO_CFLAGS)
_gio_la_LDFLAGS = $(common_ldflags) -export-symbols-regex init_gio
-_gio_la_LIBADD = $(GIO_LIBS) $(top_builddir)/glib/libpyglib-2.0-@PYTHON_BASENAME@.la
+_gio_la_LIBADD = $(GIO_LIBS) $(PYTHON_LIBS) $(top_builddir)/glib/libpyglib-2.0-@PYTHON_BASENAME@.la
_gio_la_SOURCES = \
giomodule.c \
pygio-utils.c \
@@ -85,7 +85,7 @@
unix.c: $(GIOUNIX_DEFS) unix.override
unix_la_CFLAGS = $(GIOUNIX_CFLAGS)
unix_la_LDFLAGS = $(common_ldflags) -export-symbols-regex initunix
-unix_la_LIBADD = $(GIOUNIX_LIBS)
+unix_la_LIBADD = $(GIOUNIX_LIBS) $(PYTHON_LIBS)
unix_la_SOURCES = unixmodule.c
nodist_unix_la_SOURCES = unix.c
if BUILD_GIOUNIX
@@ -108,10 +108,10 @@
if BUILD_GIO
-all: $(pkgpyexec_LTLIBRARIES:.la=.so)
-check-local: $(pkgpyexec_LTLIBRARIES:.la=.so)
+all: $(pkgpyexec_LTLIBRARIES:.la=$(PYTHON_SO))
+check-local: $(pkgpyexec_LTLIBRARIES:.la=$(PYTHON_SO))
clean-local:
- rm -f $(pkgpyexec_LTLIBRARIES:.la=.so)
-.la.so:
- $(LN_S) .libs/$@ $@ || true
+ rm -f $(pkgpyexec_LTLIBRARIES:.la=$(PYTHON_SO))
+%$(PYTHON_SO): %.la
+ $(LN_S) -f .libs/$@ $@
endif
diff -Naur a/glib/Makefile.am b/glib/Makefile.am
--- a/glib/Makefile.am 2011-06-13 20:33:49.000000000 +0400
+++ b/glib/Makefile.am 2014-02-23 11:06:35.612600000 +0400
@@ -20,13 +20,14 @@
option.py
pyglib_LTLIBRARIES = _glib.la
-common_ldflags = -module -avoid-version
+common_ldflags = -module -avoid-version -shrext $(PYTHON_SO)
if PLATFORM_WIN32
common_ldflags += -no-undefined
endif
libpyglib_2_0_@PYTHON_BASENAME@_la_CFLAGS = $(GLIB_CFLAGS)
-libpyglib_2_0_@PYTHON_BASENAME@_la_LIBADD = $(GLIB_LIBS) $(FFI_LIBS)
+libpyglib_2_0_@PYTHON_BASENAME@_la_LDFLAGS = -no-undefined
+libpyglib_2_0_@PYTHON_BASENAME@_la_LIBADD = $(GLIB_LIBS) $(FFI_LIBS) $(PYTHON_LIBS)
libpyglib_2_0_@PYTHON_BASENAME@_la_SOURCES = \
pyglib.c \
pyglib.h \
@@ -29,7 +30,7 @@
_glib_la_CFLAGS = $(GLIB_CFLAGS)
_glib_la_LDFLAGS = $(common_ldflags) -export-symbols-regex "_glib|PyInit__glib"
-_glib_la_LIBADD = $(GLIB_LIBS) libpyglib-2.0-@PYTHON_BASENAME@.la
+_glib_la_LIBADD = $(GLIB_LIBS) $(PYTHON_LIBS) libpyglib-2.0-@PYTHON_BASENAME@.la
_glib_la_SOURCES = \
glibmodule.c \
pygiochannel.c \
@@ -51,11 +52,11 @@
_glib_la_CFLAGS += -DPLATFORM_WIN32
endif
-all: $(pyglib_LTLIBRARIES:.la=.so)
-check-local: $(pyglib_LTLIBRARIES:.la=.so)
+all: $(pyglib_LTLIBRARIES:.la=$(PYTHON_SO))
+check-local: $(pyglib_LTLIBRARIES:.la=$(PYTHON_SO))
clean-local:
- rm -f $(pyglib_LTLIBRARIES:.la=.so)
-.la.so:
- $(LN_S) .libs/$@ $@ || true
+ rm -f $(pyglib_LTLIBRARIES:.la=$(PYTHON_SO))
+%$(PYTHON_SO): %.la
+ $(LN_S) -f .libs/$@ $@
-include $(top_srcdir)/git.mk
diff -Naur a/gobject/Makefile.am b/gobject/Makefile.am
--- a/gobject/Makefile.am 2011-06-13 20:33:49.000000000 +0400
+++ b/gobject/Makefile.am 2014-02-23 11:08:30.106000000 +0400
@@ -14,7 +14,7 @@
propertyhelper.py
pygobject_LTLIBRARIES = _gobject.la
-common_ldflags = -module -avoid-version
+common_ldflags = -module -avoid-version -shrext $(PYTHON_SO)
if PLATFORM_WIN32
common_ldflags += -no-undefined
endif
@@ -35,6 +35,7 @@
_gobject_la_LIBADD = \
$(GLIB_LIBS) \
$(FFI_LIBS) \
+ $(PYTHON_LIBS) \
$(top_builddir)/glib/libpyglib-2.0-@PYTHON_BASENAME@.la
_gobject_la_SOURCES = \
gobjectmodule.c \
@@ -65,11 +66,11 @@
endif
-all: $(pygobject_LTLIBRARIES:.la=.so)
-check-local: $(pygobject_LTLIBRARIES:.la=.so)
+all: $(pygobject_LTLIBRARIES:.la=$(PYTHON_SO))
+check-local: $(pygobject_LTLIBRARIES:.la=$(PYTHON_SO))
clean-local:
- rm -f $(pygobject_LTLIBRARIES:.la=.so)
-.la.so:
- $(LN_S) .libs/$@ $@ || true
+ rm -f $(pygobject_LTLIBRARIES:.la=$(PYTHON_SO))
+%$(PYTHON_SO): %.la
+ $(LN_S) -f .libs/$@ $@
-include $(top_srcdir)/git.mk
diff -Naur a/tests/Makefile.am b/tests/Makefile.am
--- a/tests/Makefile.am 2011-06-13 20:33:49.000000000 +0400
+++ b/tests/Makefile.am 2014-02-23 11:09:57.671800000 +0400
@@ -5,10 +5,10 @@
nodist_libregress_la_SOURCES = $(GI_DATADIR)/tests/regress.c $(GI_DATADIR)/tests/regress.h
libregress_la_CFLAGS = $(GIO_CFLAGS) $(PYCAIRO_CFLAGS)
-libregress_la_LDFLAGS = -module -avoid-version $(GIO_LIBS) $(PYCAIRO_LIBS)
+libregress_la_LDFLAGS = -module -avoid-version -no-undefined $(GIO_LIBS) $(PYCAIRO_LIBS) -shrext $(PYTHON_SO)
nodist_libgimarshallingtests_la_SOURCES = $(GI_DATADIR)/tests/gimarshallingtests.c $(GI_DATADIR)/tests/gimarshallingtests.h
libgimarshallingtests_la_CFLAGS = $(GLIB_CFLAGS)
-libgimarshallingtests_la_LDFLAGS = -module -avoid-version $(GLIB_LIBS)
+libgimarshallingtests_la_LDFLAGS = -module -avoid-version -no-undefined $(GLIB_LIBS) -shrext $(PYTHON_SO)
# This is a hack to make sure a shared library is built
libregress.la: $(libregress_la_OBJECTS) $(libregress_la_DEPENDENCIES)
@@ -49,7 +49,7 @@
noinst_LTLIBRARIES += testhelper.la
testhelper_la_CFLAGS = -I$(top_srcdir)/gobject -I$(top_srcdir)/glib $(PYTHON_INCLUDES) $(GLIB_CFLAGS)
-testhelper_la_LDFLAGS = -module -avoid-version
+testhelper_la_LDFLAGS = -module -avoid-version -no-undefined $(PYTHON_LIBS) -shrext $(PYTHON_SO)
testhelper_la_LIBADD = $(GLIB_LIBS)
testhelper_la_SOURCES = \
testhelpermodule.c \
@@ -62,11 +62,11 @@
$(LINK) -rpath $(pkgpyexecdir) $(testhelper_la_LDFLAGS) $(testhelper_la_OBJECTS) $(testhelper_la_LIBADD) $(LIBS)
-.la.so:
- test -L $@ || $(LN_S) .libs/$@ $@
+%$(PYTHON_SO): %.la
+ $(LN_S) -f .libs/$@ $@
-all: $(LTLIBRARIES:.la=.so)
+all: $(LTLIBRARIES:.la=$(PYTHON_SO))
TEST_FILES_STATIC = \
test_gobject.py \
@@ -109,7 +109,7 @@
EXTRA_DIST += $(TEST_FILES_STATIC) $(TEST_FILES_GI) $(TEST_FILES_GIO)
clean-local:
- rm -f $(LTLIBRARIES:.la=.so) file.txt~
+ rm -f $(LTLIBRARIES:.la=$(PYTHON_SO)) file.txt~
DBUS_LAUNCH=$(shell which dbus-launch)
RUN_TESTS_ENV_VARS= \
@@ -121,7 +121,7 @@
RUN_TESTS_LAUNCH=$(RUN_TESTS_ENV_VARS) $(DBUS_LAUNCH) $(EXEC_NAME) $(PYTHON) $(srcdir)/runtests.py
# run tests in separately to avoid loading static and introspection bindings in the same process
-check-local: $(LTLIBRARIES:.la=.so) Regress-1.0.typelib GIMarshallingTests-1.0.typelib gschemas.compiled
+check-local: $(LTLIBRARIES:.la=$(PYTHON_SO)) Regress-1.0.typelib GIMarshallingTests-1.0.typelib gschemas.compiled
TEST_FILES="$(TEST_FILES_STATIC)" $(RUN_TESTS_LAUNCH)
TEST_FILES="$(TEST_FILES_GI)" $(RUN_TESTS_LAUNCH)
if BUILD_GIO