From: Uwe Hermann Date: Thu, 24 Jun 2010 23:11:11 +0000 (+0200) Subject: Only build hardware plugins if requested by user. X-Git-Tag: libsigrok-0.1.0~491 X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=960a75e4741edf7d3481339897328f0ea712e2c0;p=libsigrok.git Only build hardware plugins if requested by user. Per default all plugins will be built, though. The user can override this via the --disable-la-xxxx options. --- diff --git a/Makefile.am b/Makefile.am index 060b2cab..f5fb2b30 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 diff --git a/hwplugin.c b/hwplugin.c index aaf71b50..0dd8d75b 100644 --- a/hwplugin.c +++ b/hwplugin.c @@ -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