]> sigrok.org Git - libsigrok.git/blobdiff - Makefile.am
build: Use common SWIG defines for Python and Java
[libsigrok.git] / Makefile.am
index 582b38f7d47107689c7871add24440cf6d14801f..10b2d03b94d39452118b8f17c0d4420cd1f6c2b8 100644 (file)
@@ -493,7 +493,6 @@ EXTRA_DIST = \
        bindings/java/org/sigrok/core/classes/classes.i \
        bindings/java/org/sigrok/core/interfaces/DatafeedCallback.java \
        bindings/java/org/sigrok/core/interfaces/LogCallback.java \
-       bindings/java/org/sigrok/core/interfaces/SourceCallback.java \
        bindings/swig/classes.i \
        bindings/swig/doc.py \
        contrib/gnuplot_chronovu_la8.gpi \
@@ -582,29 +581,39 @@ $(CPPXMLDOC): bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp \
                bindings/cxx/enums.timestamp
        $(AM_V_GEN)cd $(srcdir)/bindings/cxx && BUILDDIR=$(abs_builddir)/bindings/cxx/ doxygen Doxyfile 2>/dev/null
 
+# Macro definitions to be used by the SWIG parser.
+swig_defs = -Dnoexcept= -Dprivate=protected -DG_GNUC_BEGIN_IGNORE_DEPRECATIONS= -DG_GNUC_END_IGNORE_DEPRECATIONS=
+
 if BINDINGS_PYTHON
 
 PDIR = bindings/python
-PDOC = bindings/python/sigrok/core/doc.i
+PDOC_START = bindings/python/sigrok/core/doc_start.i
+PDOC_END = bindings/python/sigrok/core/doc_end.i
 
 setup_vars = VERSION='$(PACKAGE_VERSION)' CC='$(CXX)' CFLAGS='$(AM_CXXFLAGS) $(CXXFLAGS)' LDADD='$(PYSIGROK_LIBS)'
 setup_quiet = --quiet
 setup_py = $(PYTHON) $(srcdir)/$(PDIR)/setup.py $(setup_vars) $(setup_quiet)
 
-$(PDOC): $(srcdir)/bindings/swig/doc.py $(CPPXMLDOC)
+$(PDOC_START): $(srcdir)/bindings/swig/doc.py $(CPPXMLDOC)
+       $(AM_V_at)test -d $(PDIR)/sigrok/core || $(MKDIR_P) $(PDIR)/sigrok/core
+       $(AM_V_GEN)$(PYTHON) $(srcdir)/bindings/swig/doc.py python $(CPPXMLDOC) start > $@
+
+$(PDOC_END): $(srcdir)/bindings/swig/doc.py $(CPPXMLDOC)
        $(AM_V_at)test -d $(PDIR)/sigrok/core || $(MKDIR_P) $(PDIR)/sigrok/core
-       $(AM_V_GEN)$(PYTHON) $(srcdir)/bindings/swig/doc.py python $(CPPXMLDOC) > $@
+       $(AM_V_GEN)$(PYTHON) $(srcdir)/bindings/swig/doc.py python $(CPPXMLDOC) end > $@
 
 python-build: $(PDIR)/timestamp
 
 $(PDIR)/timestamp: $(PDIR)/sigrok/core/classes.i \
-               bindings/swig/classes.i bindings/swig/enums.i $(PDOC) \
-               $(library_include_HEADERS) $(nodist_library_include_HEADERS) \
+               bindings/swig/classes.i bindings/swig/templates.i \
+               bindings/swig/enums.i $(PDOC_START) $(PDOC_END) \
+               $(library_include_HEADERS) \
+               $(nodist_library_include_HEADERS) \
                $(bindings_cxx_libsigrokcxx_la_include_HEADERS) \
                $(nodist_bindings_cxx_libsigrokcxx_la_include_HEADERS) \
                @ORDER@ bindings/cxx/libsigrokcxx.la
        $(AM_V_at)$(setup_py) clean --all 2>/dev/null
-       $(AM_V_GEN)$(setup_py) build_ext --swig "$(SWIG)" build_py
+       $(AM_V_GEN)$(setup_py) build_ext --swig "$(SWIG)" --swig-opts '$(swig_defs)' build_py
        $(AM_V_at): >$@
 
 python-install:
@@ -647,11 +656,13 @@ $(JDOC): $(srcdir)/bindings/swig/doc.py $(CPPXMLDOC)
        $(AM_V_at)test -d $(JCLS) || $(MKDIR_P) $(JCLS)
        $(AM_V_GEN)$(PYTHON) $(srcdir)/bindings/swig/doc.py java $(CPPXMLDOC) > $@
 
-$(JCXX): $(srcdir)/$(JSWG) $(JDOC) bindings/swig/classes.i bindings/swig/enums.i \
+$(JCXX): $(srcdir)/$(JSWG) $(JDOC) bindings/swig/classes.i \
+               bindings/swig/templates.i bindings/swig/enums.i \
                $(bindings_cxx_libsigrokcxx_la_include_HEADERS) \
                $(nodist_bindings_cxx_libsigrokcxx_la_include_HEADERS)
        -$(AM_V_at)rm -f $(java_cleanfiles)
-       $(AM_V_GEN)$(SWIG) -c++ -Dnoexcept= -java -package org.sigrok.core.classes \
+       $(AM_V_GEN)$(SWIG) -c++ $(swig_defs) \
+               -java -package org.sigrok.core.classes \
                -Ibindings -I$(JCLS) $(local_includes) -I$(srcdir) $(JNI_CPPFLAGS) \
                -outdir $(JCLS) -o $@ $(srcdir)/$(JSWG)
 
@@ -670,9 +681,9 @@ $(JLIB): $(JCXX) \
 
 java-install:
        $(INSTALL) -d $(DESTDIR)$(libdir)/jni
-       $(INSTALL) $(JLIB) -t $(DESTDIR)$(libdir)/jni
+       $(INSTALL) $(JLIB) $(DESTDIR)$(libdir)/jni
        $(INSTALL) -d $(DESTDIR)$(datadir)/java
-       $(INSTALL) $(JJAR) -t $(DESTDIR)$(datadir)/java
+       $(INSTALL) $(JJAR) $(DESTDIR)$(datadir)/java
 
 java-clean:
        -$(AM_V_at)rm -f $(java_cleanfiles)