summary refs log tree commit diff
path: root/src/devices/wifi/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/wifi/meson.build')
-rw-r--r--src/devices/wifi/meson.build46
1 files changed, 28 insertions, 18 deletions
diff --git a/src/devices/wifi/meson.build b/src/devices/wifi/meson.build
index 6566f201..00404c71 100644
--- a/src/devices/wifi/meson.build
+++ b/src/devices/wifi/meson.build
@@ -1,28 +1,38 @@
-common_sources = files(
-  'nm-wifi-ap.c',
-  'nm-wifi-p2p-peer.c',
-  'nm-wifi-utils.c',
-)
-
-sources = common_sources + files(
-  'nm-device-olpc-mesh.c',
-  'nm-device-wifi-p2p.c',
-  'nm-device-wifi.c',
-  'nm-wifi-common.c',
-  'nm-wifi-factory.c',
-)
+# SPDX-License-Identifier: LGPL-2.1+
 
+iwd_sources = files()
 if enable_iwd
-  sources += files(
+  iwd_sources += files(
     'nm-device-iwd.c',
     'nm-iwd-manager.c',
   )
 endif
 
+libnm_wifi_base = static_library(
+  'nm-wifi-base',
+  sources: files(
+    'nm-device-olpc-mesh.c',
+    'nm-device-wifi-p2p.c',
+    'nm-device-wifi.c',
+    'nm-wifi-ap.c',
+    'nm-wifi-common.c',
+    'nm-wifi-p2p-peer.c',
+    'nm-wifi-utils.c',
+  ) + iwd_sources,
+  dependencies: daemon_nm_default_dep,
+  c_args: daemon_c_flags,
+)
+
+libnm_wifi_base_dep = declare_dependency(
+  link_with: libnm_wifi_base,
+)
+
 libnm_device_plugin_wifi = shared_module(
   'nm-device-plugin-wifi',
-  sources: sources,
-  dependencies: daemon_nm_default_dep,
+  sources: files(
+    'nm-wifi-factory.c',
+  ),
+  dependencies: [ daemon_nm_default_dep, libnm_wifi_base_dep ],
   c_args: daemon_c_flags,
   link_args: ldflags_linker_script_devices,
   link_depends: linker_script_devices,
@@ -43,8 +53,8 @@ if enable_tests
 
   exe = executable(
     test_unit,
-    ['tests/' + test_unit + '.c'] + common_sources,
-    dependencies: libnetwork_manager_test_dep,
+    'tests/' + test_unit + '.c',
+    dependencies: [ libnetwork_manager_test_dep, libnm_wifi_base_dep ],
     c_args: test_c_flags,
   )