summaryrefslogtreecommitdiff
path: root/plugins/elf
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2019-02-04 18:45:19 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2019-02-04 18:45:19 (GMT)
commitff187d24b7441e88e1f0361d59b0f6f55851791f (patch)
treee340d88fb8189ef79f2c2d4193eea97be4fa003e /plugins/elf
parent9b35b89fce2499d5352f5323baec53abbf9a4af2 (diff)
Added an option to drop Python support at compilation time.
Diffstat (limited to 'plugins/elf')
-rw-r--r--plugins/elf/Makefile.am23
-rw-r--r--plugins/elf/core.c18
2 files changed, 33 insertions, 8 deletions
diff --git a/plugins/elf/Makefile.am b/plugins/elf/Makefile.am
index 50c9d49..59ee46c 100644
--- a/plugins/elf/Makefile.am
+++ b/plugins/elf/Makefile.am
@@ -4,6 +4,18 @@ lib_LTLIBRARIES = libelf.la
libdir = $(pluginslibdir)
+if BUILD_PYTHON3_BINDINGS
+
+PYTHON3_LIBADD = python/libelfpython.la
+
+PYTHON3_LDFLAGS = -Wl,-rpath,$(abs_top_srcdir)/plugins/pychrysalide/.libs \
+ -L$(top_srcdir)/plugins/pychrysalide/.libs -l:pychrysalide.so
+
+PYTHON3_SUBDIRS = python
+
+endif
+
+
libelf_la_SOURCES = \
core.h core.c \
elf-int.h elf-int.c \
@@ -19,12 +31,11 @@ libelf_la_SOURCES = \
symbols.h symbols.c
libelf_la_LIBADD = \
- python/libelfpython.la
+ $(PYTHON3_LIBADD)
-libelf_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
+libelf_la_LDFLAGS = \
+ -L$(top_srcdir)/src/.libs -lchrysacore \
+ $(PYTHON3_LDFLAGS)
devdir = $(includedir)/chrysalide-$(subdir)
@@ -36,4 +47,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/elf/core.c b/plugins/elf/core.c
index d3d226e..41adff7 100644
--- a/plugins/elf/core.c
+++ b/plugins/elf/core.c
@@ -24,17 +24,27 @@
#include "core.h"
+#include <config.h>
#include <core/global.h>
#include <plugins/plugin-def.h>
#include "format.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("GElfPlugin", "elf", "Add support for the ELF format", "0.1.0",
- RL("PyChrysalide"), AL(PGA_PLUGIN_INIT, PGA_CONTENT_RESOLVER));
+ PG_REQ, AL(PGA_PLUGIN_INIT, PGA_CONTENT_RESOLVER));
@@ -54,7 +64,11 @@ G_MODULE_EXPORT bool chrysalide_plugin_init(GPluginModule *plugin)
{
bool result; /* Bilan à retourner */
+#ifdef HAVE_PYTHON3_BINDINGS
result = add_format_elf_module_to_python_module();
+#else
+ result = true;
+#endif
return result;