]> sigrok.org Git - libsigrok.git/commitdiff
Only build hardware plugins if requested by user.
authorUwe Hermann <redacted>
Thu, 24 Jun 2010 23:11:11 +0000 (01:11 +0200)
committerUwe Hermann <redacted>
Thu, 24 Jun 2010 23:11:11 +0000 (01:11 +0200)
Per default all plugins will be built, though. The user can override
this via the --disable-la-xxxx options.

Makefile.am
hwplugin.c

index 060b2cabc0d06bf0c8b54c422751cdcca5b5529c..f5fb2b30a4ca730ab904415f6464da1bc6cac6d3 100644 (file)
@@ -32,13 +32,6 @@ libsigrok_la_SOURCES = \
        hardware/common/ezusb.c \
        hardware/common/misc.c \
        hardware/common/serial.c \
-       hardware/openbench-logic-sniffer/ols.c \
-       hardware/saleae-logic/saleae-logic.c \
-       hardware/zeroplus-logic-cube/analyzer.c \
-       hardware/zeroplus-logic-cube/analyzer.h \
-       hardware/zeroplus-logic-cube/gl_usb.c \
-       hardware/zeroplus-logic-cube/gl_usb.h \
-       hardware/zeroplus-logic-cube/zeroplus.c \
        input/input_binary.c \
        input/input.c \
        output/output_binary.c \
@@ -58,6 +51,34 @@ EXTRA_DIST = \
        hardware/asix-sigma/asix-sigma.h
 endif
 
+if LA_OLS
+libsigrok_la_SOURCES += hardware/openbench-logic-sniffer/ols.c
+else
+EXTRA_DIST = hardware/openbench-logic-sniffer/ols.c
+endif
+
+if LA_SALEAE_LOGIC
+libsigrok_la_SOURCES += hardware/saleae-logic/saleae-logic.c
+else
+EXTRA_DIST = hardware/saleae-logic/saleae-logic.c
+endif
+
+if LA_ZEROPLUS_LOGIC_CUBE
+libsigrok_la_SOURCES += \
+       hardware/zeroplus-logic-cube/analyzer.c \
+       hardware/zeroplus-logic-cube/analyzer.h \
+       hardware/zeroplus-logic-cube/gl_usb.c \
+       hardware/zeroplus-logic-cube/gl_usb.h \
+       hardware/zeroplus-logic-cube/zeroplus.c
+else
+EXTRA_DIST = \
+       hardware/zeroplus-logic-cube/analyzer.c \
+       hardware/zeroplus-logic-cube/analyzer.h \
+       hardware/zeroplus-logic-cube/gl_usb.c \
+       hardware/zeroplus-logic-cube/gl_usb.h \
+       hardware/zeroplus-logic-cube/zeroplus.c
+endif
+
 libsigrok_la_LIBADD = $(LIBOBJS)
 
 include_HEADERS = sigrok.h
index aaf71b50ce94e840e8bddd5c0266ad58db5ba073..0dd8d75bfd351748e8958ac449704ae822af6704 100644 (file)
@@ -40,9 +40,15 @@ struct hwcap_option hwcap_options[] = {
        {0, 0, NULL, NULL},
 };
 
+#ifdef HAVE_LA_SALEAE_LOGIC
 extern struct device_plugin saleae_logic_plugin_info;
+#endif
+#ifdef HAVE_LA_OLS
 extern struct device_plugin ols_plugin_info;
+#endif
+#ifdef HAVE_LA_ZEROPLUS_LOGIC_CUBE
 extern struct device_plugin zeroplus_logic_cube_plugin_info;
+#endif
 #ifdef HAVE_LA_ASIX_SIGMA
 extern struct device_plugin asix_sigma_plugin_info;
 #endif
@@ -50,11 +56,17 @@ extern struct device_plugin asix_sigma_plugin_info;
 /* TODO: No linked list needed, this can be a simple array. */
 int load_hwplugins(void)
 {
+#ifdef HAVE_LA_SALEAE_LOGIC
        plugins =
            g_slist_append(plugins, (gpointer *)&saleae_logic_plugin_info);
+#endif
+#ifdef HAVE_LA_OLS
        plugins = g_slist_append(plugins, (gpointer *)&ols_plugin_info);
+#endif
+#ifdef HAVE_LA_ZEROPLUS_LOGIC_CUBE
        plugins = g_slist_append(plugins,
                           (gpointer *)&zeroplus_logic_cube_plugin_info);
+#endif
 #ifdef HAVE_LA_ASIX_SIGMA
        plugins = g_slist_append(plugins, (gpointer *)&asix_sigma_plugin_info);
 #endif