meson: Cleanup library linking
Change-Id: Ie1fa47ec3c6f2d2a88f8487f3a533c5ebd801612
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/meson.build b/meson.build
index 66e6801..19dfc62 100644
--- a/meson.build
+++ b/meson.build
@@ -12,16 +12,9 @@
build_tests = get_option('tests')
-gmock = dependency('gmock')
-gpioplus = dependency('gpioplus')
-gtest = dependency('gtest', main: true)
-phosphor_dbus_interfaces = dependency('phosphor-dbus-interfaces')
-phosphor_logging = dependency('phosphor-logging')
-sdbusplus = dependency('sdbusplus')
-sdeventplus = dependency('sdeventplus')
-stdplus = dependency('stdplus')
fmt = dependency('fmt')
-threads = dependency('threads')
+gmock = dependency('gmock')
+gtest = dependency('gtest', main: true)
conf = configuration_data()
conf.set_quoted('BUSNAME_PREFIX', get_option('busname-prefix'))
@@ -29,82 +22,62 @@
conf.set10('NEGATIVE_ERRNO_ON_FAIL', get_option('negative-errno-on-fail'))
conf.set10('UPDATE_FUNCTIONAL_ON_FAIL', get_option('update-functional-on-fail'))
-configure_file(output: 'config.h', configuration: conf)
+sysfs_headers = include_directories('.')
-libaverage = static_library(
- 'average',
- 'average.cpp',
-)
+sysfs_deps = [
+ fmt,
+]
-libfan_pwm = static_library(
- 'fan_pwm',
- 'fan_pwm.cpp',
-)
-
-libhwmon = static_library(
- 'hwmon',
- 'hwmon.cpp',
-)
-
-libhwmonio = static_library(
- 'hwmonio',
- 'hwmonio.cpp',
-)
-
-libsensor = static_library(
- 'sensor',
- 'sensor.cpp',
- dependencies: [
- phosphor_dbus_interfaces,
- phosphor_logging,
- sdbusplus,
- ],
- link_with: [
- libhwmon,
- ],
-)
-
-libsysfs = static_library(
+sysfs_lib = static_library(
'sysfs',
'sysfs.cpp',
- dependencies: [
- sdbusplus,
- ],
-)
+ include_directories: sysfs_headers,
+ dependencies: sysfs_deps)
-libhwmon_all = static_library(
- 'hwmon_all',
+sysfs_dep = declare_dependency(
+ dependencies: sysfs_deps,
+ include_directories: sysfs_headers,
+ link_with: sysfs_lib)
+
+hwmon_headers = include_directories('.')
+
+hwmon_deps = [
+ fmt,
+ dependency('gpioplus'),
+ dependency('phosphor-dbus-interfaces'),
+ dependency('phosphor-logging'),
+ dependency('sdbusplus'),
+ dependency('sdeventplus'),
+ dependency('stdplus'),
+ sysfs_dep,
+]
+
+hwmon_lib = static_library(
+ 'hwmon',
+ 'average.cpp',
+ configure_file(output: 'config.h', configuration: conf),
'env.cpp',
+ 'fan_pwm.cpp',
'fan_speed.cpp',
'gpio_handle.cpp',
+ 'hwmon.cpp',
+ 'hwmonio.cpp',
'mainloop.cpp',
+ 'sensor.cpp',
'sensorset.cpp',
- dependencies: [
- fmt,
- gpioplus,
- phosphor_dbus_interfaces,
- phosphor_logging,
- ],
- link_with: [
- libaverage,
- libfan_pwm,
- libhwmon,
- libhwmonio,
- libsensor,
- libsysfs,
- ],
-)
+ dependencies: hwmon_deps,
+ include_directories: hwmon_headers)
+
+hwmon_dep = declare_dependency(
+ dependencies: hwmon_deps,
+ include_directories: hwmon_headers,
+ link_with: hwmon_lib)
executable(
'phosphor-hwmon-readd',
'readd.cpp',
- dependencies: [
- sdeventplus,
- ],
+ dependencies: hwmon_dep,
install: true,
- link_with: [
- libhwmon_all,
- ],
)
subdir('msl')