Add infrastructure for built-in plugins
[connman] / plugins / Makefile.am
index 2358d33..7c9d054 100644 (file)
 
 plugindir = $(libdir)/connman/plugins
 
-plugin_LTLIBRARIES = rtnllink.la ethernet.la wifi.la bluetooth.la \
-                       dhclient.la ipv4.la resolvconf.la resolvfile.la
+plugin_LTLIBRARIES =
 
-if HAL
-plugin_LTLIBRARIES += hal.la
+builtin_modules =
+builtin_sources =
 
-hal_la_SOURCES = hal.c
-hal_la_LIBADD = @HAL_LIBS@
-hal_la_CFLAGS = @GLIB_CFLAGS@ @HAL_CFLAGS@
+if LOOPBACK
+plugin_LTLIBRARIES += loopback.la
 endif
 
-rtnllink_la_SOURCES = rtnllink.c
+if ETHERNET
+plugin_LTLIBRARIES += ethernet.la
 
-ethernet_la_SOURCES = ethernet.c
+ethernet_la_SOURCES = ethernet.c inet.h inet.c
+endif
+
+if WIFI
+plugin_LTLIBRARIES += wifi.la
+
+wifi_la_SOURCES = wifi.c inet.h inet.c supplicant.h supplicant.c
+wifi_la_LIBADD = @GDBUS_LIBS@
+endif
+
+if BLUETOOTH
+plugin_LTLIBRARIES += bluetooth.la
+
+bluetooth_la_SOURCES = bluetooth.c inet.h inet.c
+bluetooth_la_LIBADD = @GDBUS_LIBS@
+endif
+
+if MODEMMGR
+plugin_LTLIBRARIES += modemmgr.la
+
+modemmgr_la_LIBADD = @GDBUS_LIBS@
+endif
+
+if NOVATEL
+plugin_LTLIBRARIES += novatel.la
+
+novatel_la_SOURCES = novatel.c modem.h modem.c
+endif
+
+if HUAWEI
+plugin_LTLIBRARIES += huawei.la
+
+huawei_la_SOURCES = huawei.c modem.h modem.c
+endif
+
+if HSO
+plugin_LTLIBRARIES += hso.la
+
+hso_la_SOURCES = hso.c modem.h modem.c
+endif
+
+if UDHCP
+plugin_LTLIBRARIES += udhcp.la
 
-wifi_la_SOURCES = wifi.c supplicant.h supplicant.c
+udhcp_la_SOURCES = udhcp.c inet.h inet.c task.h task.c
+udhcp_la_CFLAGS = $(AM_CFLAGS) -DUDHCPC=\"@UDHCPC@\" \
+               -DSTATEDIR=\""$(statedir)"\" -DSCRIPTDIR=\""$(scriptdir)"\"
+endif
 
-bluetooth_la_SOURCES = bluetooth.c
+if DHCLIENT
+plugin_LTLIBRARIES += dhclient.la
 
-dhclient_la_SOURCES = dhclient.c
-dhclient_la_CFLAGS = @GDBUS_CFLAGS@ -DDHCLIENT=\"@DHCLIENT@\" \
+dhclient_la_SOURCES = dhclient.c inet.h inet.c
+dhclient_la_CFLAGS = $(AM_CFLAGS) -DDHCLIENT=\"@DHCLIENT@\" \
                -DSTATEDIR=\""$(statedir)"\" -DSCRIPTDIR=\""$(scriptdir)"\"
+endif
+
+if PPPD
+plugin_LTLIBRARIES += pppd.la
 
-ipv4_la_SOURCES = ipv4.c
+pppd_la_CFLAGS = $(AM_CFLAGS) -DPPPD=\"@PPPD@\"
+endif
+
+if RESOLVCONF
+plugin_LTLIBRARIES += resolvconf.la
+
+resolvconf_la_CFLAGS = $(AM_CFLAGS) -DRESOLVCONF=\"@RESOLVCONF@\"
+endif
+
+if DNSPROXY
+plugin_LTLIBRARIES += dnsproxy.la
+endif
+
+if POLKIT
+plugin_LTLIBRARIES += polkit.la
+
+polkit_la_LIBADD = @POLKIT_LIBS@ @GLIB_LIBS@
+polkit_la_CFLAGS = $(AM_CFLAGS) @POLKIT_CFLAGS@
+
+if DATAFILES
+policydir = @POLKIT_DATADIR@
+
+policy_DATA = connman.policy
+endif
+endif
 
-resolvconf_la_SOURCES = resolvconf.c
+if IOSPM
+plugin_LTLIBRARIES += iospm.la
+endif
+
+if IWMXSDK
+plugin_LTLIBRARIES += iwmxsdk.la
+
+iwmxsdk_la_SOURCES = iwmxsdk.c inet.h inet.c
+iwmxsdk_la_LIBADD = @IWMXSDK_LIBS@ @GLIB_LIBS@
+iwmxsdk_la_CFLAGS = $(AM_CFLAGS) @IWMXSDK_CFLAGS@
+endif
+
+if FAKE
+plugin_LTLIBRARIES += fake.la
+endif
 
-resolvfile_la_SOURCES = resolvfile.c
+noinst_LTLIBRARIES = libbuiltin.la
 
-AM_LDFLAGS = -no-undefined -module -avoid-version \
-                               -export-symbols-regex connman_plugin_desc
+libbuiltin_la_SOURCES = $(builtin_sources)
+libbuiltin_la_LDFLAGS =
+libbuiltin_la_CFLAGS = $(AM_CFLAGS) -DCONNMAN_PLUGIN_BUILTIN
+
+BUILT_SOURCES = builtin.h
+
+nodist_libbuiltin_la_SOURCES = $(BUILT_SOURCES)
+
+AM_LDFLAGS = -no-undefined -module -avoid-version
 
 statedir = $(localstatedir)/run/connman
 
@@ -41,8 +135,24 @@ else
 scriptdir = $(libdir)/connman/scripts
 endif
 
-AM_CFLAGS = @GDBUS_CFLAGS@
+AM_CFLAGS = -fvisibility=hidden @GLIB_CFLAGS@ @GDBUS_CFLAGS@
 
 INCLUDES = -I$(top_builddir)/include
 
+CLEANFILES = $(BUILT_SOURCES) connman.policy
+
+EXTRA_DIST = polkit.policy
+
 MAINTAINERCLEANFILES = Makefile.in
+
+builtin.h:
+       echo "" > $@
+       list='$(builtin_modules)'; for i in $$list; \
+         do echo "extern struct connman_plugin_desc __connman_builtin_$$i;" > $@; done
+       echo "static struct connman_plugin_desc *__connman_builtin[] = {" >> $@
+       list='$(builtin_modules)'; for i in $$list; \
+         do echo "&__connman_builtin_$$i," >> $@; done
+       echo "NULL };" >> $@
+
+connman.policy: polkit.policy
+       cp $< $@