diff options
Diffstat (limited to 'plugins/dexbnf')
-rw-r--r-- | plugins/dexbnf/Makefile.am | 23 | ||||
-rw-r--r-- | plugins/dexbnf/core.c | 16 |
2 files changed, 31 insertions, 8 deletions
diff --git a/plugins/dexbnf/Makefile.am b/plugins/dexbnf/Makefile.am index 226bcc0..f460459 100644 --- a/plugins/dexbnf/Makefile.am +++ b/plugins/dexbnf/Makefile.am @@ -4,6 +4,18 @@ lib_LTLIBRARIES = libdexbnf.la libdir = $(pluginslibdir) +if BUILD_PYTHON3_BINDINGS + +PYTHON3_LIBADD = python/libdexbnfpython.la + +PYTHON3_LDFLAGS = -Wl,-rpath,$(abs_top_srcdir)/plugins/pychrysalide/.libs \ + -L$(top_srcdir)/plugins/pychrysalide/.libs -l:pychrysalide.so + +PYTHON3_SUBDIRS = python + +endif + + libdexbnf_la_SOURCES = \ context.h context.c \ core.h core.c \ @@ -13,12 +25,11 @@ libdexbnf_la_SOURCES = \ type.h type.c libdexbnf_la_LIBADD = \ - python/libdexbnfpython.la + $(PYTHON3_LIBADD) -libdexbnf_la_LDFLAGS = \ - -L$(top_srcdir)/src/.libs -lchrysacore \ - -Wl,-rpath,$(abs_top_srcdir)/plugins/pychrysalide/.libs \ - -L$(top_srcdir)/plugins/pychrysalide/.libs -l:pychrysalide.so +libdexbnf_la_LDFLAGS = \ + -L$(top_srcdir)/src/.libs -lchrysacore \ + $(PYTHON3_LDFLAGS) devdir = $(includedir)/chrysalide-$(subdir) @@ -30,4 +41,4 @@ AM_CPPFLAGS = $(LIBGTK_CFLAGS) $(LIBXML_CFLAGS) -I$(top_srcdir)/src AM_CFLAGS = $(DEBUG_CFLAGS) $(WARNING_FLAGS) $(COMPLIANCE_FLAGS) -SUBDIRS = python +SUBDIRS = $(PYTHON3_SUBDIRS) diff --git a/plugins/dexbnf/core.c b/plugins/dexbnf/core.c index 736fa5f..f96f64b 100644 --- a/plugins/dexbnf/core.c +++ b/plugins/dexbnf/core.c @@ -24,17 +24,27 @@ #include "core.h" +#include <config.h> #include <core/demanglers.h> #include <plugins/plugin-def.h> #include "demangler.h" -#include "python/module.h" +#ifdef HAVE_PYTHON3_BINDINGS +# include "python/module.h" +#endif + + +#ifdef HAVE_PYTHON3_BINDINGS +# define PG_REQ RL("PyChrysalide") +#else +# define PG_REQ NO_REQ +#endif DEFINE_CHRYSALIDE_PLUGIN("GDexBnfPlugin", "dexbnf", "Symbol demangler for Dex", "0.1.0", - RL("PyChrysalide"), AL(PGA_PLUGIN_INIT)); + PG_REQ, AL(PGA_PLUGIN_INIT)); @@ -56,8 +66,10 @@ G_MODULE_EXPORT bool chrysalide_plugin_init(GPluginModule *plugin) result = register_demangler_type("dex", G_TYPE_DEX_DEMANGLER); +#ifdef HAVE_PYTHON3_BINDINGS if (result) result = add_mangling_dexbnf_module_to_python_module(); +#endif return result; |