-extern struct device_plugin saleae_logic_plugin_info;
-extern struct device_plugin ols_plugin_info;
-extern struct device_plugin zeroplus_logic_cube_plugin_info;
-
-int load_hwplugins(void)
+#ifdef HAVE_LA_DEMO
+extern struct sr_device_plugin demo_plugin_info;
+#endif
+#ifdef HAVE_LA_SALEAE_LOGIC
+extern struct sr_device_plugin saleae_logic_plugin_info;
+#endif
+#ifdef HAVE_LA_OLS
+extern struct sr_device_plugin ols_plugin_info;
+#endif
+#ifdef HAVE_LA_ZEROPLUS_LOGIC_CUBE
+extern struct sr_device_plugin zeroplus_logic_cube_plugin_info;
+#endif
+#ifdef HAVE_LA_ASIX_SIGMA
+extern struct sr_device_plugin asix_sigma_plugin_info;
+#endif
+#ifdef HAVE_LA_CHRONOVU_LA8
+extern SR_PRIV struct device_plugin chronovu_la8_plugin_info;
+#endif
+#ifdef HAVE_LA_LINK_MSO19
+extern struct sr_device_plugin link_mso19_plugin_info;
+#endif
+#ifdef HAVE_LA_ALSA
+extern struct sr_device_plugin alsa_plugin_info;
+#endif
+
+/* TODO: No linked list needed, this can be a simple array. */
+SR_PRIV int load_hwplugins(void)