open5gs/lib/sbi/openapi/meson.build

811 lines
24 KiB
Meson

# Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com>
# This file is part of Open5GS.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
libsbi_openapi_sources = files('''
src/list.c
src/apiKey.c
src/binary.c
external/cJSON.c
model/access_and_mobility_data.c
model/access_and_mobility_subscription_data.c
model/access_network_id.c
model/access_right_status.c
model/access_tech.c
model/access_type.c
model/acc_net_charging_address.c
model/acc_net_ch_id.c
model/accu_usage_report.c
model/acknowledge_info.c
model/acs_info.c
model/acs_info_rm.c
model/additional_access_info.c
model/additional_qos_flow_info.c
model/additional_snssai_data.c
model/af_event.c
model/af_event_exposure_data.c
model/af_external.c
model/af_sig_protocol.c
model/allowed_nssai.c
model/allowed_snssai.c
model/alternative_qos_profile.c
model/ambr.c
model/ambr_rm.c
model/amf3_gpp_access_registration.c
model/amf3_gpp_access_registration_modification.c
model/amf_cond.c
model/amf_dereg_info.c
model/amf_event_area.c
model/amf_event.c
model/amf_event_mode.c
model/amf_event_subscription.c
model/amf_event_trigger.c
model/amf_event_type.c
model/amf_info.c
model/amf_non3_gpp_access_registration.c
model/amf_non3_gpp_access_registration_modification.c
model/amf_status_change_notification.c
model/amf_status_change_subscription_data.c
model/amf_status_info.c
model/amf_subscription_info.c
model/am_policy_data.c
model/an_gw_address.c
model/an_node_type.c
model/apn_rate_status.c
model/app_descriptor.c
model/app_detection_info.c
model/application_data_change_notif.c
model/application_data_subs.c
model/app_port_id.c
model/area.c
model/area_of_validity.c
model/area_scope.c
model/arp.c
model/assign_ebi_data.c
model/assign_ebi_error.c
model/assign_ebi_failed.c
model/assigned_ebi_data.c
model/association_type.c
model/atom.c
model/atsss_capability.c
model/ausf_info.c
model/authentication_info.c
model/authentication_info_request.c
model/authentication_info_result.c
model/authentication_subscription.c
model/authentication_vector.c
model/auth_event.c
model/auth_method.c
model/authorization_data.c
model/authorized_default_qos.c
model/authorized_network_slice_info.c
model/auth_result.c
model/auth_type.c
model/av5g_aka.c
model/av5_g_he_aka.c
model/av_eap_aka_prime.c
model/av_eps_aka.c
model/av_ims_gba_eap_aka.c
model/av_type.c
model/backup_amf_info.c
model/battery_indication.c
model/battery_indication_rm.c
model/bdt_data.c
model/bdt_policy_data.c
model/bdt_policy_data_patch.c
model/bsf_info.c
model/cag_ack_data.c
model/cag_data.c
model/cag_info.c
model/candidate_for_replacement.c
model/cause.c
model/change_item.c
model/change_type.c
model/charging_data.c
model/charging_information.c
model/chf_info.c
model/chf_service_info.c
model/ciphering_algorithm.c
model/civic_address.c
model/cm_info.c
model/cm_state.c
model/cn_assisted_ran_para.c
model/cnf.c
model/cnf_unit.c
model/code_word_ind.c
model/collection_period_rmm_lte_mdt.c
model/collection_period_rmm_nr_mdt.c
model/communication_characteristics.c
model/complex_query.c
model/condition_data.c
model/condition_event_type.c
model/configuration_parameters_eutra.c
model/configuration_parameters_nr.c
model/configured_snssai.c
model/confirmation_data.c
model/confirmation_data_response.c
model/context_data_set_name.c
model/context_data_sets.c
model/context_info.c
model/core_network_type.c
model/credit_management_status.c
model/data_change_notify.c
model/data_filter.c
model/data_ind.c
model/datalink_reporting_configuration.c
model/data_set_id.c
model/data_set_name.c
model/ddd_traffic_descriptor.c
model/ddn_failure_sub_info.c
model/ddn_failure_subs.c
model/default_notification_subscription.c
model/default_unrelated_class.c
model/deregistration_data.c
model/deregistration_reason.c
model/dl_data_delivery_status.c
model/dnai_change_type.c
model/dnai_information.c
model/dnf.c
model/dnf_unit.c
model/dnn_configuration.c
model/dnn_info.c
model/dnn_route_selection_descriptor.c
model/dnn_selection_mode.c
model/dnn_smf_info_item.c
model/dnn_upf_info_item.c
model/domain_name_protocol.c
model/dynamic5_qi.c
model/eap_session.c
model/ebi_arp_mapping.c
model/ecgi.c
model/ec_restriction.c
model/ec_restriction_data_wb.c
model/edrx_parameters.c
model/ee_profile_data.c
model/ee_subscription.c
model/ellipsoid_arc_all_of.c
model/ellipsoid_arc.c
model/emergency_info.c
model/enhanced_coverage_restriction_data.c
model/eps_bearer_info.c
model/eps_interworking_indication.c
model/eps_interworking_info.c
model/eps_iwk_pgw.c
model/eps_pdn_cnx_info.c
model/error_report.c
model/eth_flow_description.c
model/eutra_location.c
model/event_for_mdt.c
model/event_id.c
model/event_report_mode.c
model/event_type.c
model/exemption_ind.c
model/expected_ue_behavior.c
model/expected_ue_behaviour.c
model/expected_ue_behaviour_data.c
model/exposure_data_change_notification.c
model/exposure_data_subscription.c
model/external_client_type.c
model/external_unrelated_class.c
model/ext_problem_details.c
model/ext_snssai.c
model/failure_cause.c
model/failure_code.c
model/final_unit_action.c
model/flow_direction.c
model/flow_info.c
model/flow_information.c
model/flow_status.c
model/frame_route_info.c
model/gad_shape.c
model/gbr_qos_flow_information.c
model/geographical_coordinates.c
model/geographic_area.c
model/global_ran_node_id.c
model/gmlc_info.c
model/g_nb_id.c
model/group_identifiers.c
model/guami.c
model/guami_list_cond.c
model/hfc_node_id.c
model/ho_state.c
model/hsmf_update_data.c
model/hsmf_updated_data.c
model/hsmf_update_error.c
model/hss_authentication_info_request.c
model/hss_authentication_info_result.c
model/hss_authentication_vectors.c
model/hss_auth_type.c
model/hss_auth_type_in_uri.c
model/hss_av_type.c
model/hss_info.c
model/identity_data.c
model/identity_range.c
model/id_translation_result.c
model/imsi_range.c
model/ims_vo_ps.c
model/indirect_data_forwarding_tunnel_info.c
model/inline_object_1.c
model/inline_object_2.c
model/inline_object_3.c
model/inline_object_4.c
model/inline_object.c
model/inline_response_200.c
model/integrity_algorithm.c
model/interface_upf_info_item.c
model/inter_freq_target_info.c
model/internal_group_id_range.c
model/invalid_param.c
model/ip_address.c
model/ip_end_point.c
model/ip_multicast_address_info.c
model/ip_sm_gw_registration.c
model/iptv_config_data.c
model/iptv_config_data_patch.c
model/ipv4_address_range.c
model/ipv6_prefix_range.c
model/job_type.c
model/key_amf.c
model/key_amf_type.c
model/ladn_info.c
model/lcs_broadcast_assistance_types_data.c
model/lcs_client_class.c
model/lcs_client_external.c
model/lcs_client_group_external.c
model/lcs_mo_data.c
model/lcs_mo_service_class.c
model/lcs_privacy.c
model/lcs_privacy_data.c
model/limit_id_to_monitoring_key.c
model/line_type.c
model/link.c
model/links_value_schema.c
model/lmf_info.c
model/location_accuracy.c
model/location_area.c
model/location_filter.c
model/location_info.c
model/location_privacy_ind.c
model/location_reporting_configuration.c
model/logging_duration_mdt.c
model/logging_duration_nr_mdt.c
model/logging_interval_mdt.c
model/logging_interval_nr_mdt.c
model/loss_connectivity_cfg.c
model/lpi.c
model/lte_v2x_auth.c
model/ma_pdu_indication.c
model/mapping_of_snssai.c
model/ma_release_indication.c
model/max_integrity_protected_data_rate.c
model/mbsfn_area.c
model/mdt_configuration.c
model/mdt_user_consent.c
model/measurement_lte_for_mdt.c
model/measurement_nr_for_mdt.c
model/measurement_period_lte_mdt.c
model/message_waiting_data.c
model/metering_method.c
model/mm_context.c
model/mme_capabilities.c
model/model_5_g_vn_group_configuration.c
model/model_5_g_vn_group_data.c
model/modification_notification.c
model/mo_exp_data_counter.c
model/monitoring_configuration.c
model/multicast_access_control.c
model/n1_message_class.c
model/n1_message_container.c
model/n1_message_notification.c
model/n1_n2_message_transfer_cause.c
model/n1_n2_message_transfer_error.c
model/n1_n2_message_transfer_req_data.c
model/n1_n2_message_transfer_rsp_data.c
model/n1_n2_msg_txfr_err_detail.c
model/n1_n2_msg_txfr_failure_notification.c
model/n2_info_container.c
model/n2_info_content.c
model/n2_info_notification_rsp_data.c
model/n2_info_notify_reason.c
model/n2_information_class.c
model/n2_information_notification.c
model/n2_information_transfer_error.c
model/n2_information_transfer_req_data.c
model/n2_information_transfer_result.c
model/n2_information_transfer_rsp_data.c
model/n2_interface_amf_info.c
model/n2_ran_information.c
model/n2_sm_information.c
model/n2_sm_info_type.c
model/n3ga_location.c
model/n4_information.c
model/n4_message_type.c
model/nas_security_mode.c
model/ncgi.c
model/nef_cond.c
model/nef_info.c
model/network_area_info_2.c
model/network_area_info.c
model/network_node_diameter_address.c
model/network_slice_cond.c
model/nf_group_cond.c
model/nf_info.c
model/nf_instance_id_cond.c
model/nf_instance_id_list_cond.c
model/nf_profile.c
model/nf_service.c
model/nf_service_set_cond.c
model/nf_service_status.c
model/nf_service_version.c
model/nf_set_cond.c
model/nf_status.c
model/nf_type.c
model/nf_type_cond.c
model/ng_ap_cause.c
model/ngap_ie_type.c
model/ng_ksi.c
model/ng_ran_target_id.c
model/nidd_information.c
model/node_type.c
model/non_dynamic5_qi.c
model/non_ue_n2_info_subscription_create_data.c
model/non_ue_n2_info_subscription_created_data.c
model/notif_condition.c
model/notification_cause.c
model/notification_control.c
model/notification_data.c
model/notification_event_type.c
model/notification_item.c
model/notification_type.c
model/notify_item.c
model/nrf_info.c
model/nr_location.c
model/nrppa_information.c
model/nr_v2x_auth.c
model/nsi_information.c
model/nssai_ack_data.c
model/nssai.c
model/nssai_mapping.c
model/null_value.c
model/nwdaf_cond.c
model/nwdaf_event.c
model/nwdaf_info.c
model/object.c
model/odb_data.c
model/odb_packet_services.c
model/operation_mode.c
model/operator_managed.c
model/operator_specific_data_container.c
model/options_response.c
model/packet_filter_info.c
model/parameter_over_pc5.c
model/parameter_over_uu.c
model/partial_record_method.c
model/partial_success_report.c
model/patch_item.c
model/patch_operation.c
model/patch_result.c
model/pc5_flow_bit_rates.c
model/pc5_qos_flow_item.c
model/pc5_qos_mapping.c
model/pc5_qo_s_para.c
model/pcc_rule.c
model/pcf_info.c
model/pcscf_info.c
model/pcscf_restoration_notification.c
model/pdu_session.c
model/pdu_session_context.c
model/pdu_session_continuity_ind.c
model/pdu_session_create_data.c
model/pdu_session_created_data.c
model/pdu_session_create_error.c
model/pdu_session_management_data.c
model/pdu_session_notify_item.c
model/pdu_session_rel_cause.c
model/pdu_session_status.c
model/pdu_session_status_cfg.c
model/pdu_session_type.c
model/pdu_session_types.c
model/pei_update_info.c
model/periodicity.c
model/pfd_change_notification.c
model/pfd_content.c
model/pfd_data.c
model/pfd_data_for_app.c
model/pfd_data_for_app_ext_all_of.c
model/pfd_data_for_app_ext.c
model/pgw_info.c
model/plmn_ec_info.c
model/plmn_id.c
model/plmn_id_nid.c
model/plmn_operator_class.c
model/plmn_range.c
model/plmn_rat_served.c
model/plmn_route_selection_descriptor.c
model/plmn_snssai.c
model/point_all_of.c
model/point_altitude_all_of.c
model/point_altitude.c
model/point_altitude_uncertainty_all_of.c
model/point_altitude_uncertainty.c
model/point.c
model/point_uncertainty_circle_all_of.c
model/point_uncertainty_circle.c
model/point_uncertainty_ellipse_all_of.c
model/point_uncertainty_ellipse.c
model/policy_association.c
model/policy_association_release_cause.c
model/policy_association_request.c
model/policy_association_update_request.c
model/policy_control_request_trigger.c
model/policy_data_change_notification.c
model/policy_data_subscription.c
model/policy_req_trigger.c
model/policy_update.c
model/polygon_all_of.c
model/polygon.c
model/port_management_container.c
model/positioning_method_mdt.c
model/pp_active_time.c
model/pp_data.c
model/pp_dl_packet_count_ext.c
model/pp_maximum_latency.c
model/pp_maximum_response_time.c
model/pppp_to_pdb.c
model/pp_subs_reg_timer.c
model/preemption_capability.c
model/preemption_vulnerability.c
model/preferred_search.c
model/presence_info.c
model/presence_info_rm.c
model/presence_state.c
model/privacy_check_related_action.c
model/privacy_parameter.c
model/problem_details_2.c
model/problem_details_add_info.c
model/problem_details.c
model/protection_result.c
model/provisioned_data_sets.c
model/psa_indication.c
model/psa_information.c
model/ptw_parameters.c
model/pws_error_data.c
model/pws_information.c
model/pws_response_data.c
model/qos_characteristics.c
model/qos_data.c
model/qos_flow_access_type.c
model/qos_flow_add_modify_request_item.c
model/qos_flow_item.c
model/qos_flow_notify_item.c
model/qos_flow_profile.c
model/qos_flow_release_request_item.c
model/qos_flow_setup_item.c
model/qos_flow_usage.c
model/qos_flow_usage_report.c
model/qos_monitoring_data.c
model/qos_monitoring_info.c
model/qos_monitoring_report.c
model/qos_monitoring_req.c
model/qos_notification_control_info.c
model/qos_notif_type.c
model/qos_resource_type.c
model/radio_parameter_not_served.c
model/ran_nas_rel_cause.c
model/rat_selector.c
model/rat_type.c
model/reachability_for_sms_configuration.c
model/redirect_address_type.c
model/redirect_information.c
model/reflective_qo_s_attribute.c
model/ref_to_binary_data.c
model/registration_context_container.c
model/registration_data_set_name.c
model/registration_data_sets.c
model/registration_location_info.c
model/registration_reason.c
model/release_data.c
model/released_data.c
model/report_amount_mdt.c
model/reporting_frequency.c
model/reporting_level.c
model/reporting_options.c
model/reporting_trigger.c
model/report_interval_mdt.c
model/report_interval_nr_mdt.c
model/report_item.c
model/report_type_mdt.c
model/requested_qos.c
model/requested_qos_monitoring_parameter.c
model/requested_rule_data.c
model/requested_rule_data_type.c
model/requested_usage_data.c
model/request_indication.c
model/request_trigger.c
model/request_type.c
model/resource_item.c
model/resource_status.c
model/restriction_type.c
model/resynchronization_info.c
model/retrieve_data.c
model/retrieved_data.c
model/rg_auth_ctx.c
model/rg_authentication_info.c
model/rm_info.c
model/rm_state.c
model/roaming_charging_profile.c
model/roaming_indication.c
model/roaming_odb.c
model/route_information.c
model/route_to_location.c
model/rule_operation.c
model/rule_report.c
model/rule_status.c
model/sbi_binding_level.c
model/scheduled_communication_time.c
model/scheduled_communication_time_rm.c
model/scheduled_communication_type.c
model/scheduled_communication_type_rm.c
model/scp_domain_cond.c
model/scp_domain_info.c
model/scp_info.c
model/sc_type.c
model/sdm_subscription.c
model/sdm_subs_modification.c
model/sd_range.c
model/seaf_data.c
model/search_result.c
model/secondary_rat_usage_info.c
model/secondary_rat_usage_report.c
model/security_result.c
model/send_mo_data_req_data.c
model/sensor_measurement.c
model/sequence_number.c
model/service_application_server_address.c
model/service_area_restriction.c
model/service_id_to_frequency.c
model/service_id_to_layer2_id.c
model/service_id_to_pppr.c
model/service_name_cond.c
model/service_parameter_data.c
model/service_to_pdu_session.c
model/service_to_tx.c
model/service_type_unrelated_class.c
model/serving_nf_identity.c
model/session_management_subscription_data.c
model/session_rule.c
model/session_rule_failure_code.c
model/session_rule_report.c
model/shared_data.c
model/sign.c
model/slice_info_for_pdu_session.c
model/slice_info_for_registration.c
model/slice_info_for_ue_configuration_update.c
model/slrb_configurations.c
model/small_data_rate_status.c
model/small_data_rate_status_info.c
model/sm_context.c
model/sm_context_create_data.c
model/sm_context_created_data.c
model/sm_context_create_error.c
model/sm_context_release_data.c
model/sm_context_released_data.c
model/sm_context_retrieve_data.c
model/sm_context_retrieved_data.c
model/sm_context_status_notification.c
model/sm_context_type.c
model/sm_context_update_data.c
model/sm_context_updated_data.c
model/sm_context_update_error.c
model/smf_change_indication.c
model/smf_change_info.c
model/smf_info.c
model/smf_registration.c
model/smf_registration_info.c
model/smf_selection_data.c
model/smf_selection_subscription_data.c
model/sm_policy_association_release_cause.c
model/sm_policy_context_data.c
model/sm_policy_control.c
model/sm_policy_data.c
model/sm_policy_data_patch.c
model/sm_policy_decision.c
model/sm_policy_delete_data.c
model/sm_policy_dnn_data.c
model/sm_policy_dnn_data_patch.c
model/sm_policy_notification.c
model/sm_policy_snssai_data.c
model/sm_policy_snssai_data_patch.c
model/sm_policy_update_context_data.c
model/smsc_data.c
model/smsf_info.c
model/smsf_registration.c
model/sms_management_subscription_data.c
model/sms_subscription_data.c
model/sms_support.c
model/snssai.c
model/snssai_extension.c
model/snssai_info.c
model/snssai_route_selection_descriptor.c
model/snssai_smf_info_item.c
model/snssai_upf_info_item.c
model/sor_data.c
model/sor_info.c
model/sor_update_indicator.c
model/sor_update_info.c
model/sponsor_connectivity_data.c
model/sqn_scheme.c
model/ssc_mode.c
model/ssc_modes.c
model/stationary_indication.c
model/stationary_indication_rm.c
model/status_change.c
model/status_info.c
model/status_notification.c
model/steering_container.c
model/steering_functionality.c
model/steering_info.c
model/steering_mode.c
model/steer_mode_value.c
model/stored_search_result.c
model/subscribed_default_qos.c
model/subscribed_event.c
model/subscribed_snssai.c
model/subscription_data.c
model/subscription_data_sets.c
model/subscription_data_subscr_cond.c
model/subscription_data_subscriptions.c
model/suggested_packet_num_dl.c
model/supi_range.c
model/supported_gad_shapes.c
model/tac_info.c
model/tac_range.c
model/tai.c
model/tai_range.c
model/temporal_validity.c
model/termination_notification.c
model/time_period.c
model/time_window.c
model/tnap_id.c
model/tngf_info.c
model/trace_data.c
model/trace_data_response.c
model/trace_depth.c
model/traffic_control_data.c
model/traffic_descriptor.c
model/traffic_influ_data.c
model/traffic_influ_data_notif.c
model/traffic_influ_data_patch.c
model/traffic_influ_sub.c
model/traffic_profile.c
model/traffic_profile_rm.c
model/transfer_mo_data_req_data.c
model/transfer_mt_data_add_info.c
model/transfer_mt_data_error.c
model/transfer_mt_data_req_data.c
model/transfer_policy.c
model/transfer_reason.c
model/transport_protocol.c
model/trigger.c
model/trigger_category.c
model/trigger_request.c
model/trigger_type.c
model/tscai_input_container.c
model/tsn_bridge_info.c
model/tsn_port_identifier.c
model/tunnel_info.c
model/twap_id.c
model/twif_info.c
model/udm_info.c
model/udr_info.c
model/udsf_info.c
model/ue_auth.c
model/ue_authentication_ctx.c
model/ue_camping_rep.c
model/ue_context.c
model/ue_context_create_data.c
model/ue_context_created_data.c
model/ue_context_create_error.c
model/ue_context_in_amf_data.c
model/ue_context_in_smf_data.c
model/ue_context_in_smsf_data.c
model/ue_context_release.c
model/ue_context_transfer_req_data.c
model/ue_context_transfer_rsp_data.c
model/ue_context_transfer_status.c
model/ue_id.c
model/ue_initiated_resource_request.c
model/ue_n1_n2_info_subscription_create_data.c
model/ue_n1_n2_info_subscription_created_data.c
model/ue_policy_section.c
model/ue_policy_set.c
model/ue_policy_set_patch.c
model/ue_reachability.c
model/ue_reg_status_update_req_data.c
model/ue_reg_status_update_rsp_data.c
model/ue_update_status.c
model/ulcl_bp_information.c
model/unavailable_access_indication.c
model/uncertainty_ellipse.c
model/unrelated_class.c
model/up_cnx_state.c
model/up_confidentiality.c
model/updated_item.c
model/upf_cond.c
model/upf_info.c
model/up_integrity.c
model/up_interface_type.c
model/up_path_chg_event.c
model/up_security.c
model/up_security_info.c
model/upu_data_2.c
model/upu_data.c
model/upu_info.c
model/uri_scheme.c
model/usage_mon_data.c
model/usage_mon_data_limit.c
model/usage_mon_data_scope.c
model/usage_monitoring_data.c
model/usage_mon_level.c
model/usage_threshold.c
model/user_identifier.c
model/user_location.c
model/v2x_context.c
model/v2x_rat_type.c
model/v2x_subscription_data.c
model/valid_time_period.c
model/vendor_specific_feature.c
model/vgmlc_address.c
model/vn_group_data.c
model/volume_timed_report.c
model/vplmn_qos.c
model/vsmf_update_data.c
model/vsmf_updated_data.c
model/vsmf_update_error.c
model/w_agf_info.c
model/wireline_area.c
model/wireline_service_area_restriction.c
'''.split())
libsbi_openapi_inc = include_directories('.')
sbi_openapi_cc_flags = ['-DOGS_SBI_COMPILATION']
if cc.get_id() == 'gcc' or cc.get_id() == 'clang'
sbi_openapi_cc_flags += cc.get_supported_arguments([
'-Wno-strict-prototypes',
'-Wno-missing-prototypes',
'-Wno-missing-declarations',
'-Wno-unused-variable',
'-Wno-unused-label',
'-Wno-float-equal',
])
endif
libsbi_openapi = library('ogssbi-openapi',
sources : libsbi_openapi_sources,
version : libogslib_version,
c_args : sbi_openapi_cc_flags,
include_directories : [libsbi_openapi_inc, libinc],
dependencies : libcore_dep,
install : true)
libsbi_openapi_dep = declare_dependency(
link_with : libsbi_openapi,
include_directories : [libsbi_openapi_inc, libinc],
dependencies : libcore_dep)