blob: 21da40e077b3d6858499c5a0a3fb89a5d5da984d [file] [log] [blame]
Nan Zhou307386e2022-10-12 20:29:34 +00001# Gather the Configuration data
2
3conf_data = configuration_data()
4conf_data.set('BMCWEB_HTTP_REQ_BODY_LIMIT_MB', get_option('http-body-limit'))
5xss_enabled = get_option('insecure-disable-xss')
Patrick Williams549bed22023-11-29 06:45:06 -06006conf_data.set10('BMCWEB_INSECURE_DISABLE_XSS_PREVENTION', xss_enabled.allowed())
Nan Zhou307386e2022-10-12 20:29:34 +00007enable_redfish_query = get_option('insecure-enable-redfish-query')
Patrick Williams549bed22023-11-29 06:45:06 -06008conf_data.set10('BMCWEB_INSECURE_ENABLE_QUERY_PARAMS', enable_redfish_query.allowed())
Nan Zhou307386e2022-10-12 20:29:34 +00009# enable_redfish_aggregation = get_option('redfish-aggregation')
Patrick Williams549bed22023-11-29 06:45:06 -060010# conf_data.set10('BMCWEB_ENABLE_REDFISH_AGGREGATION', enable_redfish_aggregation.allowed())
Nan Zhou307386e2022-10-12 20:29:34 +000011insecure_push_style_notification = get_option('insecure-push-style-notification')
Ed Tanousf2caadc2024-01-02 18:34:36 -080012conf_data.set10(
13 'BMCWEB_INSECURE_ENABLE_HTTP_PUSH_STYLE_EVENTING',
14 insecure_push_style_notification.allowed(),
15)
Nan Zhou307386e2022-10-12 20:29:34 +000016conf_data.set('MESON_INSTALL_PREFIX', get_option('prefix'))
17conf_data.set('HTTPS_PORT', get_option('https_port'))
Ed Tanous7f3e84a2022-12-28 16:22:54 -080018enable_multi_host = get_option('experimental-redfish-multi-computer-system')
Patrick Williams549bed22023-11-29 06:45:06 -060019conf_data.set10('BMCWEB_ENABLE_MULTI_HOST', enable_multi_host.allowed())
Ed Tanousfca2cbe2021-01-28 14:49:59 -080020enable_http2 = get_option('experimental-http2')
Patrick Williams549bed22023-11-29 06:45:06 -060021conf_data.set10('BMCWEB_ENABLE_HTTP2', enable_http2.allowed())
Ed Tanousf2caadc2024-01-02 18:34:36 -080022conf_data.set10(
23 'BMCWEB_ENABLE_MTLS_COMMON_NAME_PARSING_META',
24 get_option('mutual-tls-common-name-parsing') == 'meta',
25)
Nan Zhou307386e2022-10-12 20:29:34 +000026
Myung Bae662aa6e2023-01-10 14:20:28 -060027# Logging level
28loglvlopt = get_option('bmcweb-logging')
29if get_option('buildtype').startswith('debug') and loglvlopt == 'disabled'
Ed Tanousf2caadc2024-01-02 18:34:36 -080030 # Override logging level as 'debug' if 'bmcweb-logging' is set as 'dsiabled'
31 loglvlopt = 'debug'
Myung Bae662aa6e2023-01-10 14:20:28 -060032endif
Ed Tanouse7245fe2023-07-24 17:01:38 -070033loglvlopt = loglvlopt.to_upper()
Myung Bae662aa6e2023-01-10 14:20:28 -060034conf_data.set('BMCWEB_LOGGING_LEVEL', loglvlopt)
35
Nan Zhou307386e2022-10-12 20:29:34 +000036conf_h_dep = declare_dependency(
37 include_directories: include_directories('.'),
38 sources: configure_file(
39 input: 'bmcweb_config.h.in',
40 output: 'bmcweb_config.h',
Ed Tanousf2caadc2024-01-02 18:34:36 -080041 configuration: conf_data,
42 ),
Nan Zhou307386e2022-10-12 20:29:34 +000043)
44
45# Configure and install systemd unit files
46
Ed Tanousf2caadc2024-01-02 18:34:36 -080047configure_file(
48 input: 'bmcweb.socket.in',
49 output: 'bmcweb.socket',
50 install_dir: systemd_system_unit_dir,
51 configuration: conf_data,
52 install: true,
53)
Nan Zhou307386e2022-10-12 20:29:34 +000054
Ed Tanousf2caadc2024-01-02 18:34:36 -080055configure_file(
56 input: 'bmcweb.service.in',
57 output: 'bmcweb.service',
58 install_dir: systemd_system_unit_dir,
59 configuration: conf_data,
60 install: true,
61)
Nan Zhou307386e2022-10-12 20:29:34 +000062
63# Copy pam-webserver to etc/pam.d
Ed Tanous0a9c11e2023-05-25 14:32:49 -070064install_data(
Ed Tanousf2caadc2024-01-02 18:34:36 -080065 'pam-webserver',
66 install_dir: '/etc/pam.d/',
67 rename: 'webserver',
Ed Tanous0a9c11e2023-05-25 14:32:49 -070068)