Add common directory for shared modules.
authorBert Vermeulen <bert@biot.com>
Wed, 20 Apr 2016 23:33:49 +0000 (01:33 +0200)
committerUwe Hermann <uwe@hermann-uwe.de>
Wed, 4 May 2016 17:34:47 +0000 (19:34 +0200)
Makefile.am
srd.c

index a8df8f6e280a454d48cee9b23532eec39045fad9..1a1074e25938e0c5941fca9ddb64c4b32874a09f 100644 (file)
@@ -23,11 +23,12 @@ AM_LIBTOOLFLAGS = --silent
 GNUMAKEFLAGS = --no-print-directory
 
 DECODERS_DIR = $(pkgdatadir)/decoders
+COMMON_DIR = $(pkgdatadir)/common
 # Do not hard-code the decoders location on Windows.
 if WIN32
 AM_CPPFLAGS =
 else
-AM_CPPFLAGS = -DDECODERS_DIR='"$(DECODERS_DIR)"'
+AM_CPPFLAGS = -DDECODERS_DIR='"$(DECODERS_DIR)"' -DCOMMON_DIR='"$(COMMON_DIR)"'
 endif
 
 # The tests CFLAGS are a superset of the libsigrokdecode CFLAGS.
@@ -88,14 +89,20 @@ ChangeLog:
 dist-hook: ChangeLog
        $(MKDIR_P) $(distdir)/tools
        cp ${top_srcdir}/tools/install-decoders $(distdir)/tools
+       $(MKDIR_P) $(distdir)/common
+       cp -a ${top_srcdir}/common $(distdir)
        $(MKDIR_P) $(distdir)/decoders
        ${top_srcdir}/tools/install-decoders -i ${top_srcdir}/decoders \
                -o $(distdir)/decoders
 
+install-common:
+       $(MKDIR_P) $(DESTDIR)$(COMMON_DIR)
+       cp -a ${top_srcdir}/common $(DESTDIR)$(pkgdatadir)
+
 install-decoders:
        $(MKDIR_P) $(DESTDIR)$(DECODERS_DIR)
        $(PYTHON3) ${top_srcdir}/tools/install-decoders \
                -i ${top_srcdir}/decoders -o $(DESTDIR)$(DECODERS_DIR)
 
-install-data-hook: install-decoders
+install-data-hook: install-common install-decoders
 
diff --git a/srd.c b/srd.c
index 2947ca8dd14bcda6073b41c4ee7e0c0a2d86f297..c74d2ded7d5c65d845e2f84858a41f932c1fd158 100644 (file)
--- a/srd.c
+++ b/srd.c
@@ -169,6 +169,12 @@ SRD_API int srd_init(const char *path)
                }
        }
 #ifdef DECODERS_DIR
+       /* Common modules for use by any decoder. */
+       if ((ret = srd_decoder_searchpath_add(COMMON_DIR)) != SRD_OK) {
+               Py_Finalize();
+               return ret;
+       }
+
        /* Hardcoded decoders install location, if defined. */
        if ((ret = srd_decoder_searchpath_add(DECODERS_DIR)) != SRD_OK) {
                Py_Finalize();