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.
This commit is contained in:
Uwe Hermann 2010-06-25 01:11:11 +02:00
parent 5b907f9b07
commit 960a75e474
2 changed files with 40 additions and 7 deletions

View 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

View 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