1user_channel_inc = include_directories('.') 2 3channellayer_pre = declare_dependency( 4 include_directories: [root_inc, user_channel_inc], 5 dependencies: [ 6 crypto, 7 ipmid_dep, 8 libsystemd_dep, 9 nlohmann_json_dep, 10 phosphor_dbus_interfaces_dep, 11 phosphor_logging_dep, 12 ], 13) 14 15channellayer_src = ['channel_layer.cpp', 'channel_mgmt.cpp', 'cipher_mgmt.cpp'] 16 17channellayer_lib = library( 18 'channellayer', 19 channellayer_src, 20 implicit_include_directories: false, 21 dependencies: channellayer_pre, 22 version: meson.project_version(), 23 install: true, 24 install_dir: get_option('libdir'), 25 override_options: ['b_lundef=false'], 26) 27 28channellayer_dep = declare_dependency( 29 link_with: channellayer_lib, 30 dependencies: channellayer_pre, 31) 32 33import('pkgconfig').generate( 34 channellayer_lib, 35 name: 'libchannellayer', 36 version: meson.project_version(), 37 description: 'libchannellayer', 38) 39 40if get_option('libuserlayer').allowed() 41 userlayer_pre = declare_dependency( 42 include_directories: [root_inc, user_channel_inc], 43 dependencies: [ 44 channellayer_dep, 45 crypto, 46 ipmid_dep, 47 libsystemd_dep, 48 nlohmann_json_dep, 49 pam, 50 phosphor_dbus_interfaces_dep, 51 phosphor_logging_dep, 52 ], 53 ) 54 55 userlayer_src = ['user_layer.cpp', 'user_mgmt.cpp', 'passwd_mgr.cpp'] 56 57 userlayer_lib = library( 58 'userlayer', 59 userlayer_src, 60 implicit_include_directories: false, 61 dependencies: userlayer_pre, 62 version: meson.project_version(), 63 install: true, 64 install_dir: get_option('libdir'), 65 override_options: ['b_lundef=false'], 66 ) 67 68 userlayer_dep = declare_dependency( 69 link_with: userlayer_lib, 70 dependencies: userlayer_pre, 71 ) 72 73 usercmds_pre = declare_dependency( 74 include_directories: [root_inc, user_channel_inc], 75 dependencies: [ 76 phosphor_logging_dep, 77 ipmid_dep, 78 userlayer_dep, 79 channellayer_dep, 80 ], 81 ) 82 83 usercmds_lib = library( 84 'usercmds', 85 'usercommands.cpp', 86 implicit_include_directories: false, 87 dependencies: usercmds_pre, 88 install: true, 89 install_dir: get_option('libdir') / 'ipmid-providers', 90 version: meson.project_version(), 91 override_options: ['b_lundef=false'], 92 ) 93 94 import('pkgconfig').generate( 95 userlayer_lib, 96 name: 'libuserlayer', 97 version: meson.project_version(), 98 description: 'libuserlayer', 99 ) 100 101endif 102