xref: /openbmc/bmcweb/config/meson.build (revision 36c0f2a3)
1# Gather the Configuration data
2
3conf_data = configuration_data()
4conf_data.set('BMCWEB_HTTP_REQ_BODY_LIMIT_MB', get_option('http-body-limit'))
5enable_redfish_query = get_option('insecure-enable-redfish-query')
6conf_data.set10('BMCWEB_INSECURE_ENABLE_QUERY_PARAMS', enable_redfish_query.allowed())
7# enable_redfish_aggregation = get_option('redfish-aggregation')
8# conf_data.set10('BMCWEB_ENABLE_REDFISH_AGGREGATION', enable_redfish_aggregation.allowed())
9insecure_push_style_notification = get_option('insecure-push-style-notification')
10conf_data.set10(
11    'BMCWEB_INSECURE_ENABLE_HTTP_PUSH_STYLE_EVENTING',
12    insecure_push_style_notification.allowed(),
13)
14conf_data.set('MESON_INSTALL_PREFIX', get_option('prefix'))
15conf_data.set('HTTPS_PORT', get_option('https_port'))
16enable_multi_host = get_option('experimental-redfish-multi-computer-system')
17conf_data.set10('BMCWEB_ENABLE_MULTI_HOST', enable_multi_host.allowed())
18enable_http2 = get_option('experimental-http2')
19conf_data.set10('BMCWEB_ENABLE_HTTP2', enable_http2.allowed())
20
21enable_tls = get_option('insecure-disable-ssl')
22conf_data.set10('BMCWEB_ENABLE_TLS', enable_tls.disabled())
23
24conf_data.set10(
25    'BMCWEB_ENABLE_MTLS_COMMON_NAME_PARSING_META',
26    get_option('mutual-tls-common-name-parsing') == 'meta',
27)
28
29conf_data.set10('BMCWEB_VIRTUAL_MEDIA_VM', get_option('vm-websocket').allowed())
30conf_data.set10('BMCWEB_VIRTUAL_MEDIA_NBD', false)
31
32# Logging level
33loglvlopt = get_option('bmcweb-logging')
34if get_option('buildtype').startswith('debug') and loglvlopt == 'disabled'
35    # Override logging level as 'debug' if 'bmcweb-logging' is set as 'dsiabled'
36    loglvlopt = 'debug'
37endif
38loglvlopt = loglvlopt.to_upper()
39conf_data.set('BMCWEB_LOGGING_LEVEL', loglvlopt)
40
41conf_h_dep = declare_dependency(
42    include_directories: include_directories('.'),
43    sources: configure_file(
44        input: 'bmcweb_config.h.in',
45        output: 'bmcweb_config.h',
46        configuration: conf_data,
47    ),
48)
49
50# Configure and install systemd unit files
51
52configure_file(
53    input: 'bmcweb.socket.in',
54    output: 'bmcweb.socket',
55    install_dir: systemd_system_unit_dir,
56    configuration: conf_data,
57    install: true,
58)
59
60configure_file(
61    input: 'bmcweb.service.in',
62    output: 'bmcweb.service',
63    install_dir: systemd_system_unit_dir,
64    configuration: conf_data,
65    install: true,
66)
67
68# Copy pam-webserver to etc/pam.d
69install_data(
70    'pam-webserver',
71    install_dir: '/etc/pam.d/',
72    rename: 'webserver',
73)
74