mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-07-22 18:54:36 +00:00
build: build intermediate library with core wifi for device-plugin and tests
Don't build the same sources multiple times. The test code should statically link against the tested code, just like the device plugin that uses the code in production.
This commit is contained in:
parent
5ed1edc02a
commit
7d8da6c9c1
34
Makefile.am
34
Makefile.am
|
@ -3606,9 +3606,9 @@ EXTRA_DIST += \
|
||||||
|
|
||||||
if WITH_WIFI
|
if WITH_WIFI
|
||||||
|
|
||||||
core_plugins += src/devices/wifi/libnm-device-plugin-wifi.la
|
noinst_LTLIBRARIES += src/devices/wifi/libnm-wifi-base.la
|
||||||
|
|
||||||
src_devices_wifi_libnm_device_plugin_wifi_la_SOURCES = \
|
src_devices_wifi_libnm_wifi_base_la_SOURCES = \
|
||||||
src/devices/wifi/nm-device-olpc-mesh.c \
|
src/devices/wifi/nm-device-olpc-mesh.c \
|
||||||
src/devices/wifi/nm-device-olpc-mesh.h \
|
src/devices/wifi/nm-device-olpc-mesh.h \
|
||||||
src/devices/wifi/nm-device-wifi-p2p.c \
|
src/devices/wifi/nm-device-wifi-p2p.c \
|
||||||
|
@ -3619,7 +3619,6 @@ src_devices_wifi_libnm_device_plugin_wifi_la_SOURCES = \
|
||||||
src/devices/wifi/nm-wifi-ap.h \
|
src/devices/wifi/nm-wifi-ap.h \
|
||||||
src/devices/wifi/nm-wifi-common.c \
|
src/devices/wifi/nm-wifi-common.c \
|
||||||
src/devices/wifi/nm-wifi-common.h \
|
src/devices/wifi/nm-wifi-common.h \
|
||||||
src/devices/wifi/nm-wifi-factory.c \
|
|
||||||
src/devices/wifi/nm-wifi-p2p-peer.c \
|
src/devices/wifi/nm-wifi-p2p-peer.c \
|
||||||
src/devices/wifi/nm-wifi-p2p-peer.h \
|
src/devices/wifi/nm-wifi-p2p-peer.h \
|
||||||
src/devices/wifi/nm-wifi-utils.c \
|
src/devices/wifi/nm-wifi-utils.c \
|
||||||
|
@ -3627,7 +3626,7 @@ src_devices_wifi_libnm_device_plugin_wifi_la_SOURCES = \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
if WITH_IWD
|
if WITH_IWD
|
||||||
src_devices_wifi_libnm_device_plugin_wifi_la_SOURCES += \
|
src_devices_wifi_libnm_wifi_base_la_SOURCES += \
|
||||||
src/devices/wifi/nm-device-iwd.c \
|
src/devices/wifi/nm-device-iwd.c \
|
||||||
src/devices/wifi/nm-device-iwd.h \
|
src/devices/wifi/nm-device-iwd.h \
|
||||||
src/devices/wifi/nm-iwd-manager.c \
|
src/devices/wifi/nm-iwd-manager.c \
|
||||||
|
@ -3635,6 +3634,19 @@ src_devices_wifi_libnm_device_plugin_wifi_la_SOURCES += \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
src_devices_wifi_libnm_wifi_base_la_CPPFLAGS = $(src_cppflags_device_plugin)
|
||||||
|
|
||||||
|
src_devices_wifi_libnm_wifi_base_la_LIBADD = \
|
||||||
|
$(GLIB_LIBS)
|
||||||
|
|
||||||
|
$(src_devices_wifi_libnm_wifi_base_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
|
||||||
|
|
||||||
|
core_plugins += src/devices/wifi/libnm-device-plugin-wifi.la
|
||||||
|
|
||||||
|
src_devices_wifi_libnm_device_plugin_wifi_la_SOURCES = \
|
||||||
|
src/devices/wifi/nm-wifi-factory.c \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
src_devices_wifi_libnm_device_plugin_wifi_la_CPPFLAGS = $(src_cppflags_device_plugin)
|
src_devices_wifi_libnm_device_plugin_wifi_la_CPPFLAGS = $(src_cppflags_device_plugin)
|
||||||
|
|
||||||
src_devices_wifi_libnm_device_plugin_wifi_la_LDFLAGS = \
|
src_devices_wifi_libnm_device_plugin_wifi_la_LDFLAGS = \
|
||||||
|
@ -3642,8 +3654,11 @@ src_devices_wifi_libnm_device_plugin_wifi_la_LDFLAGS = \
|
||||||
-Wl,--version-script="$(srcdir)/linker-script-devices.ver"
|
-Wl,--version-script="$(srcdir)/linker-script-devices.ver"
|
||||||
|
|
||||||
src_devices_wifi_libnm_device_plugin_wifi_la_LIBADD = \
|
src_devices_wifi_libnm_device_plugin_wifi_la_LIBADD = \
|
||||||
|
src/devices/wifi/libnm-wifi-base.la \
|
||||||
$(GLIB_LIBS)
|
$(GLIB_LIBS)
|
||||||
|
|
||||||
|
$(src_devices_wifi_libnm_device_plugin_wifi_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
|
||||||
|
|
||||||
check-local-devices-wifi: src/devices/wifi/libnm-device-plugin-wifi.la
|
check-local-devices-wifi: src/devices/wifi/libnm-device-plugin-wifi.la
|
||||||
$(srcdir)/tools/check-exports.sh $(builddir)/src/devices/wifi/.libs/libnm-device-plugin-wifi.so "$(srcdir)/linker-script-devices.ver"
|
$(srcdir)/tools/check-exports.sh $(builddir)/src/devices/wifi/.libs/libnm-device-plugin-wifi.so "$(srcdir)/linker-script-devices.ver"
|
||||||
$(call check_so_symbols,$(builddir)/src/devices/wifi/.libs/libnm-device-plugin-wifi.so)
|
$(call check_so_symbols,$(builddir)/src/devices/wifi/.libs/libnm-device-plugin-wifi.so)
|
||||||
|
@ -3654,14 +3669,15 @@ check_programs += src/devices/wifi/tests/test-devices-wifi
|
||||||
|
|
||||||
src_devices_wifi_tests_test_devices_wifi_SOURCES = \
|
src_devices_wifi_tests_test_devices_wifi_SOURCES = \
|
||||||
src/devices/wifi/tests/test-devices-wifi.c \
|
src/devices/wifi/tests/test-devices-wifi.c \
|
||||||
src/devices/wifi/nm-wifi-ap.c \
|
$(NULL)
|
||||||
src/devices/wifi/nm-wifi-ap.h \
|
|
||||||
src/devices/wifi/nm-wifi-utils.c \
|
|
||||||
src/devices/wifi/nm-wifi-utils.h
|
|
||||||
|
|
||||||
src_devices_wifi_tests_test_devices_wifi_CPPFLAGS = $(src_cppflags_base_test)
|
src_devices_wifi_tests_test_devices_wifi_CPPFLAGS = $(src_cppflags_base_test)
|
||||||
|
|
||||||
src_devices_wifi_tests_test_devices_wifi_LDADD = src/libNetworkManagerTest.la
|
src_devices_wifi_tests_test_devices_wifi_LDADD = \
|
||||||
|
src/libNetworkManagerTest.la \
|
||||||
|
src/devices/wifi/libnm-wifi-base.la \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
src_devices_wifi_tests_test_devices_wifi_LDFLAGS = $(SANITIZER_EXEC_LDFLAGS)
|
src_devices_wifi_tests_test_devices_wifi_LDFLAGS = $(SANITIZER_EXEC_LDFLAGS)
|
||||||
|
|
||||||
$(src_devices_wifi_tests_test_devices_wifi_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
|
$(src_devices_wifi_tests_test_devices_wifi_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
|
||||||
|
|
|
@ -1,28 +1,36 @@
|
||||||
common_sources = files(
|
iwd_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',
|
|
||||||
)
|
|
||||||
|
|
||||||
if enable_iwd
|
if enable_iwd
|
||||||
sources += files(
|
iwd_sources += files(
|
||||||
'nm-device-iwd.c',
|
'nm-device-iwd.c',
|
||||||
'nm-iwd-manager.c',
|
'nm-iwd-manager.c',
|
||||||
)
|
)
|
||||||
endif
|
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(
|
libnm_device_plugin_wifi = shared_module(
|
||||||
'nm-device-plugin-wifi',
|
'nm-device-plugin-wifi',
|
||||||
sources: sources,
|
sources: files(
|
||||||
dependencies: daemon_nm_default_dep,
|
'nm-wifi-factory.c',
|
||||||
|
),
|
||||||
|
dependencies: [ daemon_nm_default_dep, libnm_wifi_base_dep ],
|
||||||
c_args: daemon_c_flags,
|
c_args: daemon_c_flags,
|
||||||
link_args: ldflags_linker_script_devices,
|
link_args: ldflags_linker_script_devices,
|
||||||
link_depends: linker_script_devices,
|
link_depends: linker_script_devices,
|
||||||
|
@ -43,8 +51,8 @@ if enable_tests
|
||||||
|
|
||||||
exe = executable(
|
exe = executable(
|
||||||
test_unit,
|
test_unit,
|
||||||
['tests/' + test_unit + '.c'] + common_sources,
|
'tests/' + test_unit + '.c',
|
||||||
dependencies: libnetwork_manager_test_dep,
|
dependencies: [ libnetwork_manager_test_dep, libnm_wifi_base_dep ],
|
||||||
c_args: test_c_flags,
|
c_args: test_c_flags,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue