Workaround mysterious dlopen bug on Python import
[projects/chimara/chimara.git] / libchimara / Makefile.am
index 81c5bc7aec27e371752f666a958b12e63cb0c43e..b39c8f1455ae088b01caca7ab1294a33f0433369 100644 (file)
@@ -4,12 +4,6 @@ AM_CFLAGS = -Wall
 
 lib_LTLIBRARIES = libchimara.la
 
-if TARGET_ILIAD
-pluginpath = "../interpreters"
-else
-pluginpath = $(pkglibdir)
-endif
-
 libchimara_la_SOURCES = \
        abort.c abort.h \
        case.c \
@@ -45,7 +39,7 @@ libchimara_la_SOURCES = \
 libchimara_la_CPPFLAGS = $(AM_CPPFLAGS) \
        -DG_LOG_DOMAIN=\"Chimara\" \
        -DLOCALEDIR=\""$(datadir)/locale"\" \
-       -DPLUGINDIR=\""$(pluginpath)"\" \
+       -DPLUGINDIR=\""$(pkglibdir)"\" \
        -DPLUGINSOURCEDIR=\""$(abs_builddir)/../interpreters"\" \
        -I$(top_srcdir)
 libchimara_la_CFLAGS = @CHIMARA_CFLAGS@ $(AM_CFLAGS)
@@ -76,7 +70,13 @@ CLEANFILES =
 -include $(INTROSPECTION_MAKEFILE)
 INTROSPECTION_GIRS =
 INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir)
-INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
+# The '--shared-library' incantation is because, for some reason, the typelib
+# only stores the filename without a pathname (see, in gobject-introspection,
+# _g_typelib_do_dlopen() in gitypelib.c around line 2100.) This is a regression
+# in either gobject-introspection or g-ir-compiler, but I can't pinpoint it.
+INTROSPECTION_COMPILER_ARGS = \
+       --includedir=$(srcdir) \
+       --shared-library=$(libdir)/libchimara.so.0
 
 if HAVE_INTROSPECTION
 introspection_sources = \
@@ -95,10 +95,10 @@ Chimara_1_0_gir_SCANNERFLAGS = \
 Chimara_1_0_gir_EXPORT_PACKAGES = chimara
 INTROSPECTION_GIRS += Chimara-1.0.gir
 
-girdir = $(datadir)/gir-1.0
+girdir = @INTROSPECTION_GIRDIR@
 gir_DATA = $(INTROSPECTION_GIRS)
 
-typelibdir = $(libdir)/girepository-1.0
+typelibdir = @INTROSPECTION_TYPELIBDIR@
 typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
 
 CLEANFILES += $(gir_DATA) $(typelib_DATA)