From 6cc793e0cb739557289372fa23255b08092a6208 Mon Sep 17 00:00:00 2001 From: Lionel Gauthier <lionel.gauthier@eurecom.fr> Date: Thu, 15 Jan 2015 09:29:18 +0000 Subject: [PATCH] git-svn-id: http://svn.eurecom.fr/openair4G/trunk@6389 818b1a75-f10b-46b9-bf7c-635c3b92a50f --- openair3/OPENAIRMME/AUTHORS | 1 - openair3/OPENAIRMME/COPYING | 674 - openair3/OPENAIRMME/ChangeLog | 6 - openair3/OPENAIRMME/DOCS/DOXYGEN/Doxyfile.in | 1719 -- openair3/OPENAIRMME/DOCS/DOXYGEN/Makefile.am | 21 - openair3/OPENAIRMME/DOCS/DOXYGEN/Makefile.in | 482 - openair3/OPENAIRMME/DOCS/Makefile.am | 1 - openair3/OPENAIRMME/DOCS/Makefile.in | 622 - openair3/OPENAIRMME/GTPV1-U/Makefile.am | 28 - openair3/OPENAIRMME/GTPV1-U/Makefile.in | 607 - openair3/OPENAIRMME/GTPV1-U/gtpv1_u.h | 36 - openair3/OPENAIRMME/GTPV1-U/gtpv1_u_task.c | 321 - openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/AUTHORS | 1 - openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/COPYING | 26 - .../OPENAIRMME/GTPV1-U/nw-gtpv1u/ChangeLog | 0 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/NEWS | 0 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/README | 0 .../GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h | 83 - .../nw-gtpv1u/include/NwGtpv1uPrivate.h | 230 - .../GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h | 88 - .../include/NwGtpv1uTunnelEndPoint.h | 85 - .../GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h | 630 - .../GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h | 62 - .../GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h | 66 - .../GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h | 320 - .../GTPV1-U/nw-gtpv1u/shared/NwLog.h | 88 - .../GTPV1-U/nw-gtpv1u/shared/NwTypes.h | 83 - .../GTPV1-U/nw-gtpv1u/shared/NwUtils.h | 68 - .../GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c | 883 - .../GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c | 487 - .../GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c | 411 - .../nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c | 136 - .../GTPV1-U/nw-gtpv1u/test-app/Makefile.am | 5 - .../GTPV1-U/nw-gtpv1u/test-app/Makefile.in | 461 - .../test-app/nw-helloworld/Makefile.am | 17 - .../test-app/nw-helloworld/Makefile.in | 433 - .../nw-gtpv1u/test-app/nw-helloworld/NwEvt.h | 81 - .../nw-helloworld/NwMiniLogMgrEntity.c | 58 - .../nw-helloworld/NwMiniLogMgrEntity.h | 58 - .../nw-helloworld/NwMiniTmrMgrEntity.c | 98 - .../nw-helloworld/NwMiniTmrMgrEntity.h | 54 - .../test-app/nw-helloworld/NwMiniUdpEntity.c | 155 - .../test-app/nw-helloworld/NwMiniUdpEntity.h | 52 - .../test-app/nw-helloworld/NwMiniUlpEntity.c | 304 - .../test-app/nw-helloworld/NwMiniUlpEntity.h | 65 - .../test-app/nw-helloworld/helloworld.c | 211 - openair3/OPENAIRMME/INSTALL | 365 - .../INTERTASK_INTERFACE/Makefile.am | 16 - .../INTERTASK_INTERFACE/Makefile.in | 565 - .../gtpv1_u_messages_def.h | 2 - .../gtpv1_u_messages_types.h | 15 - .../INTERTASK_INTERFACE/intertask_interface.c | 241 - .../INTERTASK_INTERFACE/intertask_interface.h | 187 - .../intertask_interface_dump.c | 86 - .../intertask_interface_dump.h | 8 - .../INTERTASK_INTERFACE/s1ap_messages_def.h | 5 - .../INTERTASK_INTERFACE/s1ap_messages_types.h | 23 - .../INTERTASK_INTERFACE/s6a_messages_def.h | 1 - .../INTERTASK_INTERFACE/s6a_messages_types.h | 4 - .../INTERTASK_INTERFACE/sctp_messages_def.h | 5 - .../INTERTASK_INTERFACE/sctp_messages_types.h | 21 - .../INTERTASK_INTERFACE/sgw_lite_def.h | 5 - .../sgw_lite_messages_types.h | 76 - .../INTERTASK_INTERFACE/timer_messages_def.h | 3 - .../timer_messages_types.h | 18 - .../INTERTASK_INTERFACE/udp_messages_def.h | 2 - .../INTERTASK_INTERFACE/udp_messages_types.h | 16 - openair3/OPENAIRMME/Makefile.am | 12 - openair3/OPENAIRMME/Makefile.in | 823 - openair3/OPENAIRMME/NEWS | 1 - openair3/OPENAIRMME/OAISIM_MME/Makefile.am | 24 - openair3/OPENAIRMME/OAISIM_MME/Makefile.in | 607 - openair3/OPENAIRMME/OAISIM_MME/oaisim_mme.c | 82 - openair3/OPENAIRMME/README | 101 - .../OPENAIRMME/S1AP/MESSAGES/ASN1/Makefile.am | 8 - .../OPENAIRMME/S1AP/MESSAGES/ASN1/Makefile.in | 418 - .../ASN1/R8.10/S1AP-CommonDataTypes.asn | 201 - .../MESSAGES/ASN1/R8.10/S1AP-Constants.asn | 249 - .../S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn | 1401 -- .../MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn | 2069 -- .../S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn | 663 - .../ASN1/R9.8/S1AP-CommonDataTypes.asn | 217 - .../MESSAGES/ASN1/R9.8/S1AP-Constants.asn | 265 - .../MESSAGES/ASN1/R9.8/S1AP-Containers.asn | 197 - .../S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn | 1213 - .../MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn | 2419 -- .../ASN1/R9.8/S1AP-PDU-Descriptions.asn | 591 - .../S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn | 413 - openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/README | 15 - .../S1AP/MESSAGES/ASN1/asn1cpatch.p0 | 4068 --- .../S1AP/MESSAGES/ASN1/asn1tostruct.py | 513 - openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.am | 753 - openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.in | 2073 -- .../OPENAIRMME/S1AP/MESSAGES/Makefile.inc | 738 - openair3/OPENAIRMME/S1AP/Makefile.am | 31 - openair3/OPENAIRMME/S1AP/Makefile.in | 758 - openair3/OPENAIRMME/S1AP/Makefile.inc | 9 - openair3/OPENAIRMME/S1AP/s1ap_common.c | 163 - openair3/OPENAIRMME/S1AP/s1ap_common.h | 473 - openair3/OPENAIRMME/S1AP/s1ap_decoder.c | 6480 ----- openair3/OPENAIRMME/S1AP/s1ap_eNB.c | 249 - openair3/OPENAIRMME/S1AP/s1ap_eNB.h | 140 - openair3/OPENAIRMME/S1AP/s1ap_eNB_decoder.c | 112 - openair3/OPENAIRMME/S1AP/s1ap_eNB_decoder.h | 39 - openair3/OPENAIRMME/S1AP/s1ap_eNB_encoder.c | 184 - openair3/OPENAIRMME/S1AP/s1ap_eNB_encoder.h | 56 - openair3/OPENAIRMME/S1AP/s1ap_eNB_handlers.c | 233 - openair3/OPENAIRMME/S1AP/s1ap_eNB_handlers.h | 44 - openair3/OPENAIRMME/S1AP/s1ap_encoder.c | 3720 --- openair3/OPENAIRMME/S1AP/s1ap_ies_defs.h | 2321 -- openair3/OPENAIRMME/S1AP/s1ap_mme.c | 421 - openair3/OPENAIRMME/S1AP/s1ap_mme.h | 190 - openair3/OPENAIRMME/S1AP/s1ap_mme_decoder.c | 136 - openair3/OPENAIRMME/S1AP/s1ap_mme_decoder.h | 39 - openair3/OPENAIRMME/S1AP/s1ap_mme_encoder.c | 213 - openair3/OPENAIRMME/S1AP/s1ap_mme_encoder.h | 56 - openair3/OPENAIRMME/S1AP/s1ap_mme_handlers.c | 742 - openair3/OPENAIRMME/S1AP/s1ap_mme_handlers.h | 78 - openair3/OPENAIRMME/S6A/Makefile.am | 14 - openair3/OPENAIRMME/S6A/Makefile.in | 559 - openair3/OPENAIRMME/S6A/s6a.h | 6 - openair3/OPENAIRMME/S6A/s6a_defs.h | 36 - openair3/OPENAIRMME/S6A/s6a_task.c | 137 - openair3/OPENAIRMME/SCTP/Makefile.am | 15 - openair3/OPENAIRMME/SCTP/Makefile.in | 572 - .../OPENAIRMME/SCTP/sctp_primitives_client.c | 341 - .../OPENAIRMME/SCTP/sctp_primitives_client.h | 102 - .../OPENAIRMME/SCTP/sctp_primitives_server.c | 466 - .../OPENAIRMME/SCTP/sctp_primitives_server.h | 90 - openair3/OPENAIRMME/SGW-LITE/Makefile.am | 11 - openair3/OPENAIRMME/SGW-LITE/Makefile.in | 562 - .../SGW-LITE/sgw_lite_context_manager.c | 105 - .../SGW-LITE/sgw_lite_context_manager.h | 45 - openair3/OPENAIRMME/SGW-LITE/sgw_lite_defs.h | 49 - .../OPENAIRMME/SGW-LITE/sgw_lite_handlers.c | 146 - .../OPENAIRMME/SGW-LITE/sgw_lite_handlers.h | 43 - .../OPENAIRMME/SGW-LITE/sgw_lite_ie_defs.h | 286 - openair3/OPENAIRMME/SGW-LITE/sgw_lite_task.c | 90 - openair3/OPENAIRMME/TEST/Makefile.am | 15 - openair3/OPENAIRMME/TEST/Makefile.in | 603 - .../OPENAIRMME/TEST/oaisim_mme_client_test.c | 116 - .../TEST/oaisim_mme_list_benchmark.c | 273 - .../OPENAIRMME/TEST/oaisim_mme_s1ap_test.c | 29 - .../OPENAIRMME/TEST/oaisim_mme_sctp_test.c | 86 - openair3/OPENAIRMME/UDP/Makefile.am | 11 - openair3/OPENAIRMME/UDP/Makefile.in | 558 - .../OPENAIRMME/UDP/udp_primitives_server.c | 201 - .../OPENAIRMME/UDP/udp_primitives_server.h | 41 - openair3/OPENAIRMME/UTILS/Makefile.am | 11 - openair3/OPENAIRMME/UTILS/Makefile.in | 712 - openair3/OPENAIRMME/UTILS/TIMER/Makefile.am | 8 - openair3/OPENAIRMME/UTILS/TIMER/Makefile.in | 556 - openair3/OPENAIRMME/UTILS/TIMER/timer.c | 252 - openair3/OPENAIRMME/UTILS/TIMER/timer.h | 70 - openair3/OPENAIRMME/UTILS/log.c | 54 - openair3/OPENAIRMME/UTILS/log.h | 38 - openair3/OPENAIRMME/UTILS/mme_config.c | 83 - openair3/OPENAIRMME/UTILS/mme_config.h | 63 - .../OPENAIRMME/UTILS/mme_default_values.h | 69 - openair3/OPENAIRMME/UTILS/queue.h | 592 - openair3/OPENAIRMME/UTILS/tree.h | 678 - openair3/OPENAIRMME/aclocal.m4 | 9555 ------- openair3/OPENAIRMME/autogen.sh | 6 - openair3/OPENAIRMME/compile | 342 - openair3/OPENAIRMME/config.guess | 1517 -- openair3/OPENAIRMME/config.h.in | 272 - openair3/OPENAIRMME/config.sub | 1760 -- openair3/OPENAIRMME/configure | 20662 ---------------- openair3/OPENAIRMME/configure.ac | 187 - openair3/OPENAIRMME/depcomp | 707 - openair3/OPENAIRMME/install-sh | 527 - openair3/OPENAIRMME/ltmain.sh | 9642 ------- openair3/OPENAIRMME/missing | 330 - 173 files changed, 103303 deletions(-) delete mode 100644 openair3/OPENAIRMME/AUTHORS delete mode 100644 openair3/OPENAIRMME/COPYING delete mode 100644 openair3/OPENAIRMME/ChangeLog delete mode 100644 openair3/OPENAIRMME/DOCS/DOXYGEN/Doxyfile.in delete mode 100644 openair3/OPENAIRMME/DOCS/DOXYGEN/Makefile.am delete mode 100644 openair3/OPENAIRMME/DOCS/DOXYGEN/Makefile.in delete mode 100644 openair3/OPENAIRMME/DOCS/Makefile.am delete mode 100644 openair3/OPENAIRMME/DOCS/Makefile.in delete mode 100644 openair3/OPENAIRMME/GTPV1-U/Makefile.am delete mode 100644 openair3/OPENAIRMME/GTPV1-U/Makefile.in delete mode 100644 openair3/OPENAIRMME/GTPV1-U/gtpv1_u.h delete mode 100644 openair3/OPENAIRMME/GTPV1-U/gtpv1_u_task.c delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/AUTHORS delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/COPYING delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/ChangeLog delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/NEWS delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/README delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwLog.h delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwTypes.h delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwUtils.h delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/Makefile.am delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/Makefile.in delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.am delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.in delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h delete mode 100644 openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c delete mode 100644 openair3/OPENAIRMME/INSTALL delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/Makefile.am delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/Makefile.in delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/gtpv1_u_messages_def.h delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/gtpv1_u_messages_types.h delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface.c delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface.h delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface_dump.c delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface_dump.h delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/s1ap_messages_def.h delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/s1ap_messages_types.h delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/s6a_messages_def.h delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/s6a_messages_types.h delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/sctp_messages_def.h delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/sctp_messages_types.h delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/sgw_lite_def.h delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/sgw_lite_messages_types.h delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/timer_messages_def.h delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/timer_messages_types.h delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/udp_messages_def.h delete mode 100644 openair3/OPENAIRMME/INTERTASK_INTERFACE/udp_messages_types.h delete mode 100644 openair3/OPENAIRMME/Makefile.am delete mode 100644 openair3/OPENAIRMME/Makefile.in delete mode 100644 openair3/OPENAIRMME/NEWS delete mode 100644 openair3/OPENAIRMME/OAISIM_MME/Makefile.am delete mode 100644 openair3/OPENAIRMME/OAISIM_MME/Makefile.in delete mode 100644 openair3/OPENAIRMME/OAISIM_MME/oaisim_mme.c delete mode 100644 openair3/OPENAIRMME/README delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/Makefile.am delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/Makefile.in delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-CommonDataTypes.asn delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-Constants.asn delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-CommonDataTypes.asn delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-Constants.asn delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-Containers.asn delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Descriptions.asn delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/README delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/asn1cpatch.p0 delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/asn1tostruct.py delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.am delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.in delete mode 100644 openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.inc delete mode 100644 openair3/OPENAIRMME/S1AP/Makefile.am delete mode 100644 openair3/OPENAIRMME/S1AP/Makefile.in delete mode 100644 openair3/OPENAIRMME/S1AP/Makefile.inc delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_common.c delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_common.h delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_decoder.c delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_eNB.c delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_eNB.h delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_eNB_decoder.c delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_eNB_decoder.h delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_eNB_encoder.c delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_eNB_encoder.h delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_eNB_handlers.c delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_eNB_handlers.h delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_encoder.c delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_ies_defs.h delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_mme.c delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_mme.h delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_mme_decoder.c delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_mme_decoder.h delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_mme_encoder.c delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_mme_encoder.h delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_mme_handlers.c delete mode 100644 openair3/OPENAIRMME/S1AP/s1ap_mme_handlers.h delete mode 100644 openair3/OPENAIRMME/S6A/Makefile.am delete mode 100644 openair3/OPENAIRMME/S6A/Makefile.in delete mode 100644 openair3/OPENAIRMME/S6A/s6a.h delete mode 100644 openair3/OPENAIRMME/S6A/s6a_defs.h delete mode 100644 openair3/OPENAIRMME/S6A/s6a_task.c delete mode 100644 openair3/OPENAIRMME/SCTP/Makefile.am delete mode 100644 openair3/OPENAIRMME/SCTP/Makefile.in delete mode 100644 openair3/OPENAIRMME/SCTP/sctp_primitives_client.c delete mode 100644 openair3/OPENAIRMME/SCTP/sctp_primitives_client.h delete mode 100644 openair3/OPENAIRMME/SCTP/sctp_primitives_server.c delete mode 100644 openair3/OPENAIRMME/SCTP/sctp_primitives_server.h delete mode 100644 openair3/OPENAIRMME/SGW-LITE/Makefile.am delete mode 100644 openair3/OPENAIRMME/SGW-LITE/Makefile.in delete mode 100644 openair3/OPENAIRMME/SGW-LITE/sgw_lite_context_manager.c delete mode 100644 openair3/OPENAIRMME/SGW-LITE/sgw_lite_context_manager.h delete mode 100644 openair3/OPENAIRMME/SGW-LITE/sgw_lite_defs.h delete mode 100644 openair3/OPENAIRMME/SGW-LITE/sgw_lite_handlers.c delete mode 100644 openair3/OPENAIRMME/SGW-LITE/sgw_lite_handlers.h delete mode 100644 openair3/OPENAIRMME/SGW-LITE/sgw_lite_ie_defs.h delete mode 100644 openair3/OPENAIRMME/SGW-LITE/sgw_lite_task.c delete mode 100644 openair3/OPENAIRMME/TEST/Makefile.am delete mode 100644 openair3/OPENAIRMME/TEST/Makefile.in delete mode 100644 openair3/OPENAIRMME/TEST/oaisim_mme_client_test.c delete mode 100644 openair3/OPENAIRMME/TEST/oaisim_mme_list_benchmark.c delete mode 100644 openair3/OPENAIRMME/TEST/oaisim_mme_s1ap_test.c delete mode 100644 openair3/OPENAIRMME/TEST/oaisim_mme_sctp_test.c delete mode 100644 openair3/OPENAIRMME/UDP/Makefile.am delete mode 100644 openair3/OPENAIRMME/UDP/Makefile.in delete mode 100644 openair3/OPENAIRMME/UDP/udp_primitives_server.c delete mode 100644 openair3/OPENAIRMME/UDP/udp_primitives_server.h delete mode 100644 openair3/OPENAIRMME/UTILS/Makefile.am delete mode 100644 openair3/OPENAIRMME/UTILS/Makefile.in delete mode 100644 openair3/OPENAIRMME/UTILS/TIMER/Makefile.am delete mode 100644 openair3/OPENAIRMME/UTILS/TIMER/Makefile.in delete mode 100644 openair3/OPENAIRMME/UTILS/TIMER/timer.c delete mode 100644 openair3/OPENAIRMME/UTILS/TIMER/timer.h delete mode 100644 openair3/OPENAIRMME/UTILS/log.c delete mode 100644 openair3/OPENAIRMME/UTILS/log.h delete mode 100644 openair3/OPENAIRMME/UTILS/mme_config.c delete mode 100644 openair3/OPENAIRMME/UTILS/mme_config.h delete mode 100644 openair3/OPENAIRMME/UTILS/mme_default_values.h delete mode 100644 openair3/OPENAIRMME/UTILS/queue.h delete mode 100644 openair3/OPENAIRMME/UTILS/tree.h delete mode 100644 openair3/OPENAIRMME/aclocal.m4 delete mode 100755 openair3/OPENAIRMME/autogen.sh delete mode 100644 openair3/OPENAIRMME/compile delete mode 100644 openair3/OPENAIRMME/config.guess delete mode 100644 openair3/OPENAIRMME/config.h.in delete mode 100644 openair3/OPENAIRMME/config.sub delete mode 100755 openair3/OPENAIRMME/configure delete mode 100644 openair3/OPENAIRMME/configure.ac delete mode 100644 openair3/OPENAIRMME/depcomp delete mode 100644 openair3/OPENAIRMME/install-sh delete mode 100644 openair3/OPENAIRMME/ltmain.sh delete mode 100644 openair3/OPENAIRMME/missing diff --git a/openair3/OPENAIRMME/AUTHORS b/openair3/OPENAIRMME/AUTHORS deleted file mode 100644 index 8b13789179..0000000000 --- a/openair3/OPENAIRMME/AUTHORS +++ /dev/null @@ -1 +0,0 @@ - diff --git a/openair3/OPENAIRMME/COPYING b/openair3/OPENAIRMME/COPYING deleted file mode 100644 index 94a9ed024d..0000000000 --- a/openair3/OPENAIRMME/COPYING +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 <http://www.gnu.org/licenses/>. - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - <program> Copyright (C) <year> <name of author> - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -<http://www.gnu.org/licenses/>. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/openair3/OPENAIRMME/ChangeLog b/openair3/OPENAIRMME/ChangeLog deleted file mode 100644 index fff4174e6e..0000000000 --- a/openair3/OPENAIRMME/ChangeLog +++ /dev/null @@ -1,6 +0,0 @@ -v0.1: -- Build system -- SCTP layer v0.1 -- S1AP layer v0.1 -v0.2: -- Updated S1AP messages to RELEASE9 v9.8 diff --git a/openair3/OPENAIRMME/DOCS/DOXYGEN/Doxyfile.in b/openair3/OPENAIRMME/DOCS/DOXYGEN/Doxyfile.in deleted file mode 100644 index 8e6178f52f..0000000000 --- a/openair3/OPENAIRMME/DOCS/DOXYGEN/Doxyfile.in +++ /dev/null @@ -1,1719 +0,0 @@ -# Doxyfile 1.7.4 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" "). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = @PACKAGE_NAME@ - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = @PACKAGE_VERSION@ - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = ../Documentation - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). - -INLINE_GROUPED_CLASSES = NO - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command <command> <input-file>, where <command> is the value of -# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. The create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - -LAYOUT_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = @top_srcdir@ - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = @top_builddir@/S1AP/MESSAGES - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - -FILTER_SOURCE_PATTERNS = - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is adviced to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when changing the value of configuration settings such as GENERATE_TREEVIEW! - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the stylesheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = YES - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> -# Qt Help Project / Custom Filters</a>. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> -# Qt Help Project / Filter Attributes</a>. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. - -USE_INLINE_TREES = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - -USE_MATHJAX = NO - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the -# mathjax.org site, so you can quickly see the result without installing -# MathJax, but it is strongly recommended to install a local copy of MathJax -# before deployment. - -MATHJAX_RELPATH = http://www.mathjax.org/mathjax - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = YES - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvantages are that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = YES - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4 - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for -# the generated latex document. The footer should contain everything after -# the last chapter. If it is left blank doxygen will generate a -# standard footer. Notice: only use this tag if you know what you are doing! - -LATEX_FOOTER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = @top_srcdir@/S1AP \ - @top_srcdir@/SCTP \ - @top_srcdir@/UTILS \ - @top_srcdir@/INTERTASK_INTERFACE - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that -# overrules the definition found in the source code. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# By default doxygen will write a font called Helvetica to the output -# directory and reference it in all dot files that doxygen generates. -# When you want a differently looking font you can specify the font name -# using DOT_FONTNAME. You need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = Helvetica - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - -MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = YES - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/openair3/OPENAIRMME/DOCS/DOXYGEN/Makefile.am b/openair3/OPENAIRMME/DOCS/DOXYGEN/Makefile.am deleted file mode 100644 index fd0eb2bf98..0000000000 --- a/openair3/OPENAIRMME/DOCS/DOXYGEN/Makefile.am +++ /dev/null @@ -1,21 +0,0 @@ -if HAVE_DOXYGEN -directory = $(top_srcdir)/DOCS/Documentation - -doc_DATA = $(directory) -if HAVE_PDFLATEX - doc_DATA += oaisim_mme.pdf -endif -$(directory): doxyfile.stamp - -doxyfile.stamp: - $(DOXYGEN) Doxyfile - echo Timestamp > doxyfile.stamp - -CLEANFILES = doxyfile.stamp - -all-local: doxyfile.stamp -clean-local: - rm -f doxyfile.stamp - rm -rf $(top_srcdir)/DOCS/Documentation/html - rm -rf $(top_srcdir)/DOCS/Documentation/latex -endif diff --git a/openair3/OPENAIRMME/DOCS/DOXYGEN/Makefile.in b/openair3/OPENAIRMME/DOCS/DOXYGEN/Makefile.in deleted file mode 100644 index 78c1bf69b0..0000000000 --- a/openair3/OPENAIRMME/DOCS/DOXYGEN/Makefile.in +++ /dev/null @@ -1,482 +0,0 @@ -# Makefile.in generated by automake 1.12 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = DOCS/DOXYGEN -DIST_COMMON = $(srcdir)/Doxyfile.in $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = Doxyfile -CONFIG_CLEAN_VPATH_FILES = -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(docdir)" -DATA = $(doc_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASN1C_CHECK = @ASN1C_CHECK@ -ASN1DIR = @ASN1DIR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOXYGEN = @DOXYGEN@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -POW_LIB = @POW_LIB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -@HAVE_DOXYGEN_TRUE@directory = $(top_srcdir)/DOCS/Documentation -@HAVE_DOXYGEN_TRUE@doc_DATA = $(directory) -@HAVE_DOXYGEN_TRUE@CLEANFILES = doxyfile.stamp -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu DOCS/DOXYGEN/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu DOCS/DOXYGEN/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -@HAVE_DOXYGEN_TRUE@Doxyfile: $(top_builddir)/config.status $(srcdir)/Doxyfile.in -@HAVE_DOXYGEN_TRUE@ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-docDATA: $(doc_DATA) - @$(NORMAL_INSTALL) - @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ - done - -uninstall-docDATA: - @$(NORMAL_UNINSTALL) - @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -@HAVE_DOXYGEN_FALSE@all-local: -all-am: Makefile $(DATA) all-local -installdirs: - for dir in "$(DESTDIR)$(docdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -@HAVE_DOXYGEN_FALSE@clean-local: -clean: clean-am - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-docDATA - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-docDATA - -.MAKE: install-am install-strip - -.PHONY: all all-am all-local check check-am clean clean-generic \ - clean-libtool clean-local distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-docDATA install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-docDATA - -@HAVE_DOXYGEN_TRUE@@HAVE_PDFLATEX_TRUE@ doc_DATA += oaisim_mme.pdf -@HAVE_DOXYGEN_TRUE@$(directory): doxyfile.stamp - -@HAVE_DOXYGEN_TRUE@doxyfile.stamp: -@HAVE_DOXYGEN_TRUE@ $(DOXYGEN) Doxyfile -@HAVE_DOXYGEN_TRUE@ echo Timestamp > doxyfile.stamp - -@HAVE_DOXYGEN_TRUE@all-local: doxyfile.stamp -@HAVE_DOXYGEN_TRUE@clean-local: -@HAVE_DOXYGEN_TRUE@ rm -f doxyfile.stamp -@HAVE_DOXYGEN_TRUE@ rm -rf $(top_srcdir)/DOCS/Documentation/html -@HAVE_DOXYGEN_TRUE@ rm -rf $(top_srcdir)/DOCS/Documentation/latex - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/DOCS/Makefile.am b/openair3/OPENAIRMME/DOCS/Makefile.am deleted file mode 100644 index fdd2ce296f..0000000000 --- a/openair3/OPENAIRMME/DOCS/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -SUBDIRS = DOXYGEN \ No newline at end of file diff --git a/openair3/OPENAIRMME/DOCS/Makefile.in b/openair3/OPENAIRMME/DOCS/Makefile.in deleted file mode 100644 index 14f53a3d05..0000000000 --- a/openair3/OPENAIRMME/DOCS/Makefile.in +++ /dev/null @@ -1,622 +0,0 @@ -# Makefile.in generated by automake 1.12 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = DOCS -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASN1C_CHECK = @ASN1C_CHECK@ -ASN1DIR = @ASN1DIR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOXYGEN = @DOXYGEN@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -POW_LIB = @POW_LIB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -SUBDIRS = DOXYGEN -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu DOCS/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu DOCS/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(RECURSIVE_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done -cscopelist-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \ - cscopelist-recursive ctags-recursive install-am install-strip \ - tags-recursive - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am check check-am clean clean-generic clean-libtool \ - cscopelist cscopelist-recursive ctags ctags-recursive \ - distclean distclean-generic distclean-libtool distclean-tags \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am tags tags-recursive uninstall uninstall-am - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/GTPV1-U/Makefile.am b/openair3/OPENAIRMME/GTPV1-U/Makefile.am deleted file mode 100644 index 6043a6ac10..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/Makefile.am +++ /dev/null @@ -1,28 +0,0 @@ -AM_CFLAGS = @ADD_CFLAGS@ \ - -I$(top_srcdir)/INTERTASK_INTERFACE \ - -I$(top_srcdir)/GTPV1-U/nw-gtpv1u/include \ - -I$(top_srcdir)/GTPV1-U/nw-gtpv1u/shared \ - -I$(top_srcdir)/UTILS \ - -I$(top_srcdir)/UTILS/TIMER - -noinst_LTLIBRARIES = libgtpv1u.la - -libgtpv1u_la_LDFLAGS = -all-static - -libgtpv1u_la_SOURCES = \ - gtpv1_u_task.c gtpv1_u.h \ - nw-gtpv1u/shared/NwTypes.h \ - nw-gtpv1u/shared/NwUtils.h \ - nw-gtpv1u/shared/NwGtpv1uError.h \ - nw-gtpv1u/shared/NwLog.h \ - nw-gtpv1u/shared/NwGtpv1uIe.h \ - nw-gtpv1u/shared/NwGtpv1uMsg.h \ - nw-gtpv1u/shared/NwGtpv1u.h \ - nw-gtpv1u/include/NwGtpv1uPrivate.h \ - nw-gtpv1u/include/NwGtpv1uLog.h \ - nw-gtpv1u/include/NwGtpv1uTrxn.h \ - nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h \ - nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c \ - nw-gtpv1u/src/NwGtpv1uTrxn.c \ - nw-gtpv1u/src/NwGtpv1uMsg.c \ - nw-gtpv1u/src/NwGtpv1u.c \ No newline at end of file diff --git a/openair3/OPENAIRMME/GTPV1-U/Makefile.in b/openair3/OPENAIRMME/GTPV1-U/Makefile.in deleted file mode 100644 index 2799787317..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/Makefile.in +++ /dev/null @@ -1,607 +0,0 @@ -# Makefile.in generated by automake 1.12 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = GTPV1-U -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libgtpv1u_la_LIBADD = -am_libgtpv1u_la_OBJECTS = gtpv1_u_task.lo NwGtpv1uTunnelEndPoint.lo \ - NwGtpv1uTrxn.lo NwGtpv1uMsg.lo NwGtpv1u.lo -libgtpv1u_la_OBJECTS = $(am_libgtpv1u_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -libgtpv1u_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libgtpv1u_la_LDFLAGS) $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -SOURCES = $(libgtpv1u_la_SOURCES) -DIST_SOURCES = $(libgtpv1u_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @ADD_CFLAGS@ \ - -I$(top_srcdir)/INTERTASK_INTERFACE \ - -I$(top_srcdir)/GTPV1-U/nw-gtpv1u/include \ - -I$(top_srcdir)/GTPV1-U/nw-gtpv1u/shared \ - -I$(top_srcdir)/UTILS \ - -I$(top_srcdir)/UTILS/TIMER - -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASN1C_CHECK = @ASN1C_CHECK@ -ASN1DIR = @ASN1DIR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOXYGEN = @DOXYGEN@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -POW_LIB = @POW_LIB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -noinst_LTLIBRARIES = libgtpv1u.la -libgtpv1u_la_LDFLAGS = -all-static -libgtpv1u_la_SOURCES = \ - gtpv1_u_task.c gtpv1_u.h \ - nw-gtpv1u/shared/NwTypes.h \ - nw-gtpv1u/shared/NwUtils.h \ - nw-gtpv1u/shared/NwGtpv1uError.h \ - nw-gtpv1u/shared/NwLog.h \ - nw-gtpv1u/shared/NwGtpv1uIe.h \ - nw-gtpv1u/shared/NwGtpv1uMsg.h \ - nw-gtpv1u/shared/NwGtpv1u.h \ - nw-gtpv1u/include/NwGtpv1uPrivate.h \ - nw-gtpv1u/include/NwGtpv1uLog.h \ - nw-gtpv1u/include/NwGtpv1uTrxn.h \ - nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h \ - nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c \ - nw-gtpv1u/src/NwGtpv1uTrxn.c \ - nw-gtpv1u/src/NwGtpv1uMsg.c \ - nw-gtpv1u/src/NwGtpv1u.c - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu GTPV1-U/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu GTPV1-U/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -libgtpv1u.la: $(libgtpv1u_la_OBJECTS) $(libgtpv1u_la_DEPENDENCIES) $(EXTRA_libgtpv1u_la_DEPENDENCIES) - $(AM_V_CCLD)$(libgtpv1u_la_LINK) $(libgtpv1u_la_OBJECTS) $(libgtpv1u_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NwGtpv1u.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NwGtpv1uMsg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NwGtpv1uTrxn.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NwGtpv1uTunnelEndPoint.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtpv1_u_task.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -NwGtpv1uTunnelEndPoint.lo: nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT NwGtpv1uTunnelEndPoint.lo -MD -MP -MF $(DEPDIR)/NwGtpv1uTunnelEndPoint.Tpo -c -o NwGtpv1uTunnelEndPoint.lo `test -f 'nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c' || echo '$(srcdir)/'`nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/NwGtpv1uTunnelEndPoint.Tpo $(DEPDIR)/NwGtpv1uTunnelEndPoint.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c' object='NwGtpv1uTunnelEndPoint.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o NwGtpv1uTunnelEndPoint.lo `test -f 'nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c' || echo '$(srcdir)/'`nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c - -NwGtpv1uTrxn.lo: nw-gtpv1u/src/NwGtpv1uTrxn.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT NwGtpv1uTrxn.lo -MD -MP -MF $(DEPDIR)/NwGtpv1uTrxn.Tpo -c -o NwGtpv1uTrxn.lo `test -f 'nw-gtpv1u/src/NwGtpv1uTrxn.c' || echo '$(srcdir)/'`nw-gtpv1u/src/NwGtpv1uTrxn.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/NwGtpv1uTrxn.Tpo $(DEPDIR)/NwGtpv1uTrxn.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nw-gtpv1u/src/NwGtpv1uTrxn.c' object='NwGtpv1uTrxn.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o NwGtpv1uTrxn.lo `test -f 'nw-gtpv1u/src/NwGtpv1uTrxn.c' || echo '$(srcdir)/'`nw-gtpv1u/src/NwGtpv1uTrxn.c - -NwGtpv1uMsg.lo: nw-gtpv1u/src/NwGtpv1uMsg.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT NwGtpv1uMsg.lo -MD -MP -MF $(DEPDIR)/NwGtpv1uMsg.Tpo -c -o NwGtpv1uMsg.lo `test -f 'nw-gtpv1u/src/NwGtpv1uMsg.c' || echo '$(srcdir)/'`nw-gtpv1u/src/NwGtpv1uMsg.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/NwGtpv1uMsg.Tpo $(DEPDIR)/NwGtpv1uMsg.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nw-gtpv1u/src/NwGtpv1uMsg.c' object='NwGtpv1uMsg.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o NwGtpv1uMsg.lo `test -f 'nw-gtpv1u/src/NwGtpv1uMsg.c' || echo '$(srcdir)/'`nw-gtpv1u/src/NwGtpv1uMsg.c - -NwGtpv1u.lo: nw-gtpv1u/src/NwGtpv1u.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT NwGtpv1u.lo -MD -MP -MF $(DEPDIR)/NwGtpv1u.Tpo -c -o NwGtpv1u.lo `test -f 'nw-gtpv1u/src/NwGtpv1u.c' || echo '$(srcdir)/'`nw-gtpv1u/src/NwGtpv1u.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/NwGtpv1u.Tpo $(DEPDIR)/NwGtpv1u.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nw-gtpv1u/src/NwGtpv1u.c' object='NwGtpv1u.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o NwGtpv1u.lo `test -f 'nw-gtpv1u/src/NwGtpv1u.c' || echo '$(srcdir)/'`nw-gtpv1u/src/NwGtpv1u.c - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -cscopelist: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ - distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/GTPV1-U/gtpv1_u.h b/openair3/OPENAIRMME/GTPV1-U/gtpv1_u.h deleted file mode 100644 index df9f5ef112..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/gtpv1_u.h +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#ifndef GTPV1_U_H_ -#define GTPV1_U_H_ - -int gtpv1_u_init(const mme_config_t *mme_config); - -#endif /* GTPV1_U_H_ */ diff --git a/openair3/OPENAIRMME/GTPV1-U/gtpv1_u_task.c b/openair3/OPENAIRMME/GTPV1-U/gtpv1_u_task.c deleted file mode 100644 index ade924f81a..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/gtpv1_u_task.c +++ /dev/null @@ -1,321 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ -#include <pthread.h> -#include <stdio.h> -#include <string.h> -#include <unistd.h> -#include <errno.h> -#include <assert.h> - -#include "mme_config.h" -#include "gtpv1_u.h" -#include "NwGtpv1u.h" -#include "NwGtpv1uMsg.h" -#include "NwLog.h" -#include "timer.h" -#include "intertask_interface.h" - -#ifndef GTPU_DEBUG -# define GTPU_DEBUG(x, args...) do { fprintf(stdout, "[GTPU][D]"x, ##args); } \ - while(0) -#endif -#ifndef GTPU_ERROR -# define GTPU_ERROR(x, args...) do { fprintf(stdout, "[GTPU][E]"x, ##args); } \ - while(0) -#endif - -static NwGtpv1uStackHandleT gtpv1u_stack = 0; -static pthread_t gtpv1u_task_thread; - -static int gtpv1_u_send_init_udp(uint16_t port_number); -static int gtpv1u_create_s1u_tunnel(void); -static void* gtpv1u_thread(void *args); - -NwGtpv1uRcT gtpv1_u_send_udp_msg( - NwGtpv1uUdpHandleT udpHandle, - NwU8T* dataBuf, - NwU32T dataSize, - NwU32T peerIpAddr, - NwU32T peerPort); - -NwGtpv1uRcT gtpv1_u_log_request( - NwGtpv1uLogMgrHandleT hLogMgr, - NwU32T logLevel, - NwCharT* file, - NwU32T line, - NwCharT* logStr); - -NwGtpv1uRcT gtpv1u_process_stack_req( - NwGtpv1uUlpHandleT hUlp, - NwGtpv1uUlpApiT *pUlpApi); - -static int gtpv1_u_send_init_udp(uint16_t port_number) { - // Create and alloc new message - MessageDef *message_p; - - message_p = alloc_new_message(TASK_GTPV1_U, TASK_UDP, UDP_INIT); - if (message_p == NULL) return -1; - - message_p->msg.udpInit.port = port_number; - message_p->msg.udpInit.address = "0.0.0.0"; //ANY address - - return send_msg_to_task(TASK_UDP, message_p); -} - -NwGtpv1uRcT gtpv1_u_log_request(NwGtpv1uLogMgrHandleT hLogMgr, - NwU32T logLevel, - NwCharT* file, - NwU32T line, - NwCharT* logStr) { - - GTPU_DEBUG("%s\n", logStr); - return NW_GTPV1U_OK; -} - -NwGtpv1uRcT gtpv1_u_send_udp_msg( - NwGtpv1uUdpHandleT udpHandle, - NwU8T* dataBuf, - NwU32T dataSize, - NwU32T peerIpAddr, - NwU32T peerPort) { - - // Create and alloc new message - MessageDef *message_p; - UdpDataReq *udpDataReq_p; - - message_p = (MessageDef *)malloc(sizeof(MessageDef)); - - message_p->messageId = UDP_DATA_REQ; - message_p->originTaskId = TASK_GTPV1_U; - message_p->destinationTaskId = TASK_UDP; - - udpDataReq_p = &message_p->msg.udpDataReq; - - udpDataReq_p->peer_address = peerIpAddr; - udpDataReq_p->peer_port = peerPort; - udpDataReq_p->buffer = dataBuf; - udpDataReq_p->buffer_length = dataSize; - - return send_msg_to_task(TASK_UDP, message_p); -} - -/* Callback called when a gtpv1_u message arrived on UDP interface */ -NwGtpv1uRcT gtpv1u_process_stack_req( - NwGtpv1uUlpHandleT hUlp, - NwGtpv1uUlpApiT *pUlpApi) { - - switch(pUlpApi->apiType) - { - /* Here there are two type of messages handled: - * - T-PDU - * - END-MARKER - */ - case NW_GTPV1U_ULP_API_RECV_TPDU: - { - NwU8T dataBuf[4096]; - NwU32T dataSize; - if (NW_GTPV1U_OK != nwGtpv1uMsgGetTpdu(pUlpApi->apiInfo.recvMsgInfo.hMsg, dataBuf, &dataSize)) { - GTPU_ERROR("Error while retrieving T-PDU"); - } - GTPU_DEBUG("Received TPDU from gtpv1u stack %u!", pUlpApi->apiInfo.recvMsgInfo.teid); - } break; - default: - GTPU_ERROR("Received undefined UlpApi (%02x) from gtpv1u stack!\n", pUlpApi->apiType); - } - return NW_GTPV1U_OK; -} - -static int gtpv1u_create_s1u_tunnel(void) { - /* Create a new nw-gtpv1-u stack req using API */ - NwGtpv1uUlpApiT stack_req; - /* Local tunnel end-point identifier */ - static uint32_t s1u_teid = 1; - int ret = 0; - - MessageDef *message_p; - - memset(&stack_req, 0, sizeof(NwGtpv1uUlpApiT)); - - stack_req.apiType = NW_GTPV1U_ULP_API_CREATE_TUNNEL_ENDPOINT; - stack_req.apiInfo.createTunnelEndPointInfo.teid = s1u_teid; - stack_req.apiInfo.createTunnelEndPointInfo.hUlpSession = 0; - stack_req.apiInfo.createTunnelEndPointInfo.hStackSession = 0; - - if (nwGtpv1uProcessUlpReq(gtpv1u_stack, &stack_req) != NW_GTPV1U_OK) { - ret = -1; - } - - message_p = alloc_new_message(TASK_GTPV1_U, TASK_SGW_LITE, SGW_S1U_ENDPOINT_CREATED); - - message_p->msg.sgwS1UEndpointCreated.teid = s1u_teid; - message_p->msg.sgwS1UEndpointCreated.status = ret; - - ret = send_msg_to_task(TASK_SGW_LITE, message_p); - - s1u_teid++; - return ret; -} - -static NwGtpv1uRcT gtpv1u_start_timer_wrapper( - NwGtpv1uTimerMgrHandleT tmrMgrHandle, - NwU32T timeoutSec, - NwU32T timeoutUsec, - NwU32T tmrType, - void* timeoutArg, - NwGtpv1uTimerHandleT* hTmr) { - - NwGtpv1uRcT rc = NW_GTPV1U_OK; - long timer_id; - - timer_setup(timeoutSec, timeoutUsec, TASK_GTPV1_U, TIMER_ONE_SHOT, &timer_id); - - return rc; -} - -static NwGtpv1uRcT gtpv1u_stop_timer_wrapper( - NwGtpv1uTimerMgrHandleT tmrMgrHandle, - NwGtpv1uTimerHandleT hTmr) { - - NwGtpv1uRcT rc = NW_GTPV1U_OK; - - return rc; -} - -static void* gtpv1u_thread(void *args) { - while(1) { - /* Trying to fetch a message from the message queue. - * If the queue is empty, this function will block till a - * message is sent to the task. - */ - MessageDef *received_message_p; - receive_msg(TASK_GTPV1_U, &received_message_p); - assert(received_message_p != NULL); - switch(received_message_p->messageId) { - case S1U_CREATE_TUNNEL: - { - long timer_id; - - gtpv1u_create_s1u_tunnel(); - } break; - case GTPV1U_DATA_REQ: - { - Gtpv1uDataReq *gtpv1u_data_req_p; - gtpv1u_data_req_p = &received_message_p->msg.gtpv1uDataReq; - nwGtpv1uProcessUdpReq(gtpv1u_stack, gtpv1u_data_req_p->buffer, - gtpv1u_data_req_p->buffer_length, - gtpv1u_data_req_p->port, - gtpv1u_data_req_p->peer_addr); - free(gtpv1u_data_req_p->buffer); - } break; - default: - { - GTPU_ERROR("Unkwnon message ID %d\n", received_message_p->messageId); - } break; - } - free(received_message_p); - received_message_p = NULL; - } - return NULL; -} - -int gtpv1_u_init(const mme_config_t *mme_config) { - int ret; - NwGtpv1uRcT rc; - NwGtpv1uUlpEntityT ulp; - NwGtpv1uUdpEntityT udp; - NwGtpv1uLogMgrEntityT log; - NwGtpv1uTimerMgrEntityT tmr; - - GTPU_DEBUG("Initializing GTPV1U interface\n"); - - ret = gtpv1_u_send_init_udp(mme_config->gtpv1_u_config.port_number); - if (ret < 0) { - return ret; - } - - /* Initializing GTPv1-U stack */ - if ((rc = nwGtpv1uInitialize(>pv1u_stack)) != NW_GTPV1U_OK) { - GTPU_ERROR("Failed to setup nwGtpv1u stack %x\n", rc); - return -1; - } - - if ((rc = nwGtpv1uSetLogLevel(gtpv1u_stack, NW_LOG_LEVEL_DEBG)) != NW_GTPV1U_OK) { - GTPU_ERROR("Failed to setup loglevel for stack %x\n", rc); - return -1; - } - - /* Set the ULP API callback. Called once message have been processed by the - * nw-gtpv1u stack. - */ - ulp.ulpReqCallback = gtpv1u_process_stack_req; - - if ((rc = nwGtpv1uSetUlpEntity(gtpv1u_stack, &ulp)) != NW_GTPV1U_OK) { - GTPU_ERROR("nwGtpv1uSetUlpEntity: %x", rc); - return -1; - } - - /* nw-gtpv1u stack requires an udp callback to send data over UDP. - * We provide a wrapper to UDP task. - */ - udp.udpDataReqCallback = gtpv1_u_send_udp_msg; - - if ((rc = nwGtpv1uSetUdpEntity(gtpv1u_stack, &udp)) != NW_GTPV1U_OK) { - GTPU_ERROR("nwGtpv1uSetUdpEntity: %x", rc); - return -1; - } - - log.logReqCallback = gtpv1_u_log_request; - - if ((rc = nwGtpv1uSetLogMgrEntity(gtpv1u_stack, &log)) != NW_GTPV1U_OK) { - GTPU_ERROR("nwGtpv1uSetLogMgrEntity: %x", rc); - return -1; - } - - /* Timer interface is more complicated as both wrappers doesn't send a message - * to the timer task but call the timer API functions start/stop timer. - */ - tmr.tmrMgrHandle = 0; - tmr.tmrStartCallback = gtpv1u_start_timer_wrapper; - tmr.tmrStopCallback = gtpv1u_stop_timer_wrapper; - - if ((rc = nwGtpv1uSetTimerMgrEntity(gtpv1u_stack, &tmr)) != NW_GTPV1U_OK) { - GTPU_ERROR("nwGtpv1uSetTimerMgrEntity: %x", rc); - return -1; - } - - if (pthread_create(>pv1u_task_thread, NULL, >pv1u_thread, NULL) < 0) { - GTPU_ERROR("s1ap phtread_create: %s", strerror(errno)); - return -1; - } - - GTPU_DEBUG("Initializing GTPV1U interface: DONE\n"); - - return ret; -} diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/AUTHORS b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/AUTHORS deleted file mode 100644 index b068a40fdd..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/AUTHORS +++ /dev/null @@ -1 +0,0 @@ -Amit Chawre diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/COPYING b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/COPYING deleted file mode 100644 index d27832d6c1..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/COPYING +++ /dev/null @@ -1,26 +0,0 @@ -Copyright (c) 2010-2011 Amit Chawre <http://www.amitchawre.net/contact.html> -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. -3. The name of the author may not be used to endorse or promote products -derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/ChangeLog b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/ChangeLog deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/NEWS b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/NEWS deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/README b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/README deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h deleted file mode 100644 index 03a701ae8d..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h +++ /dev/null @@ -1,83 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * n w - g t p v 2 u * - * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k * - * * - * * - * Copyright (c) 2010-2011 Amit Chawre * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with or without * - * modification, are permitted provided that the following conditions * - * are met: * - * * - * 1. Redistributions of source code must retain the above copyright * - * notice, this list of conditions and the following disclaimer. * - * 2. Redistributions in binary form must reproduce the above copyright * - * notice, this list of conditions and the following disclaimer in the * - * documentation and/or other materials provided with the distribution. * - * 3. The name of the author may not be used to endorse or promote products * - * derived from this software without specific prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - *----------------------------------------------------------------------------*/ - -#ifndef __NW_GTPV1U_LOG_H__ -#define __NW_GTPV1U_LOG_H__ - -#include <stdio.h> -#include "NwLog.h" - -/** - * @file NwGtpv1uLog.h - * @brief This header contains logging related definitions. -*/ - -#ifdef __cplusplus -extern "C" { -#endif - -/*--------------------------------------------------------------------------- - * Log Macro Definition - *--------------------------------------------------------------------------*/ - -#define NW_LOG(_gtpv1uHandle, _logLevel, ...) \ - do { \ - if(((NwGtpv1uStackT*)(_gtpv1uHandle))->logLevel >= _logLevel) \ - { \ - char _logBuf[1024]; \ - snprintf(_logBuf, 1024, __VA_ARGS__); \ - ((NwGtpv1uStackT*)(_gtpv1uHandle))->logMgr.logReqCallback(((NwGtpv1uStackT*)_gtpv1uHandle)->logMgr.logMgrHandle, _logLevel, __FILE__, __LINE__, _logBuf);\ - } \ - } while(0) - -#define NW_ENTER(_gtpv1uHandle) \ - do { \ - NW_LOG(_gtpv1uHandle, NW_LOG_LEVEL_DEBG, "Entering '%s'", __func__);\ - } while(0) - -#define NW_LEAVE(_gtpv1uHandle) \ - do { \ - NW_LOG(_gtpv1uHandle, NW_LOG_LEVEL_DEBG, "Leaving '%s'", __func__);\ - } while(0) - -#ifdef __cplusplus -} -#endif - -#endif /* __NW_TYPES_H__ */ - - -/*--------------------------------------------------------------------------* - * E N D O F F I L E * - *--------------------------------------------------------------------------*/ - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h deleted file mode 100644 index 5b9d4bdaee..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h +++ /dev/null @@ -1,230 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * n w - g t p v 2 u * - * n w - g t p v 2 u * - * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k * - * * - * * - * Copyright (c) 2010-2011 Amit Chawre * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with or without * - * modification, are permitted provided that the following conditions * - * are met: * - * * - * 1. Redistributions of source code must retain the above copyright * - * notice, this list of conditions and the following disclaimer. * - * 2. Redistributions in binary form must reproduce the above copyright * - * notice, this list of conditions and the following disclaimer in the * - * documentation and/or other materials provided with the distribution. * - * 3. The name of the author may not be used to endorse or promote products * - * derived from this software without specific prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - *----------------------------------------------------------------------------*/ - -#ifndef __NW_GTPV1U_PRIVATE_H__ -#define __NW_GTPV1U_PRIVATE_H__ - -#include "tree.h" -#include "queue.h" - -#include "NwTypes.h" -#include "NwGtpv1uError.h" -#include "NwGtpv1u.h" -#include "NwGtpv1uMsg.h" - - -/** - * @file NwGtpv1uPrivate.h - * @brief This header file contains nw-gtpv1u private definitions not to be - * exposed to user application. -*/ - -#ifdef __cplusplus -extern "C" { -#endif - -#define NW_GTPV1U_MALLOC(_stack, _size, _mem, _type) \ - do { \ - if(((NwGtpv1uStackT*)(_stack))->memMgr.memAlloc && ((NwGtpv1uStackT*)(_stack))->memMgr.memFree )\ - { \ - _mem = (_type) ((NwGtpv1uStackT*) (_stack))->memMgr.memAlloc(((NwGtpv1uStackT*) (_stack))->memMgr.hMemMgr, _size, __FILE__, __LINE__);\ - } \ - else \ - { \ - _mem = (_type) malloc (_size); \ - } \ - } while (0) - -/*--------------------------------------------------------------------------* - * G T P U S T A C K O B J E C T T Y P E D E F I N I T I O N * - *--------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------* - * GRPS Tunneling Protocol Stack Class Definition - *--------------------------------------------------------------------------*/ - -/** - * gtpv1u stack class definition - */ - -typedef struct NwGtpv1uStack -{ - NwU32T id; - NwU32T seq; - NwGtpv1uUlpEntityT ulp; - NwGtpv1uUdpEntityT udp; - NwGtpv1uMemMgrEntityT memMgr; - NwGtpv1uTimerMgrEntityT tmrMgr; - NwGtpv1uLogMgrEntityT logMgr; - NwU32T logLevel; - RB_HEAD( NwGtpv1uOutstandingTxSeqNumTrxnMap, NwGtpv1uTrxn) outstandingTxSeqNumMap; - RB_HEAD( NwGtpv1uOutstandingRxSeqNumTrxnMap, NwGtpv1uTrxn) outstandingRxSeqNumMap; - RB_HEAD(NwGtpv1uTunnelEndPointTMap, NwGtpv1uTunnelEndPoint) sessionMap; - RB_HEAD(NwGtpv1uTunnelEndPointIdentifierMap, NwGtpv1uTunnelEndPoint) teidMap; -} NwGtpv1uStackT; - -/** - * GTP Tunnel End Point class definition - */ - -typedef struct NwGtpv1uTunnelEndPoint -{ - NwU32T teid; /**< Gtpu Tunnel End Point Identifier */ - NwU32T peerAddr; /**< Peer IP address for the session */ - NwGtpv1uStackT* pStack; /**< Pointer to the parent stack */ - NwGtpv1uUlpSessionHandleT hUlpSession; /**< ULP session handle for the session */ - RB_ENTRY (NwGtpv1uTunnelEndPoint) sessionMapRbtNode; /**< RB Tree Data Structure Node */ - struct NwGtpv1uTunnelEndPoint *next; -} NwGtpv1uTunnelEndPointT; - - -/*--------------------------------------------------------------------------* - * Timeout Info Type Definition - *--------------------------------------------------------------------------*/ - -/** - * gtpv1u timeout info - */ - -typedef struct NwGtpv1uTimeoutInfo -{ - NwGtpv1uStackHandleT hStack; - void* timeoutArg; - NwGtpv1uRcT (*timeoutCallbackFunc)(void*); -} NwGtpv1uTimeoutInfoT; - -/** - * Start a transaction response timer - * - * @param[in] thiz Pointer to stack instance - * @param[in] timeoutArg Arg to timeout function. - * @param[out] phTmr Pointer to timer handle. - * @return NW_GTPV1U_OK on success. - */ - -NwGtpv1uRcT -nwGtpStartTrxnPeerRspTimer(NwGtpv1uStackT* thiz, NwGtpv1uTimeoutInfoT* timeoutInfo, NwGtpv1uTimerHandleT* phTmr); - -/** - * Stop a transaction response timer - * - * @param[in] thiz Pointer to stack instance - * @param[out] phTmr Pointer to timer handle. - * @return NW_GTPV1U_OK on success. - */ - -NwGtpv1uRcT -nwGtpStopTrxnPeerRspTimer(NwGtpv1uStackT* thiz, NwGtpv1uTimerHandleT* phTmr); - - -#define NW_GTPV1U_MAX_MSG_LEN (4096) /**< Maximum supported gtpv1u packet length including header */ - -/** - * NwGtpv1uMsgT holds gtpv1u messages to/from the peer. - */ -typedef struct NwGtpv1uMsg -{ - NwU8T version; - NwU8T protocolType; - NwU8T extHdrFlag; - NwU8T seqNumFlag; - NwU16T npduNumFlag; - NwU32T msgType; - NwU16T msgLen; - NwU32T teid; - NwU16T seqNum; - NwU8T npduNum; - NwU8T nextExtHdrType; - NwU8T msgBuf[NW_GTPV1U_MAX_MSG_LEN]; - struct NwGtpv1uMsg* next; -} NwGtpv1uMsgT; - - -/*--------------------------------------------------------------------------* - * R6/R4 Transaction Context Type Definition - *--------------------------------------------------------------------------*/ - -/** - * Transaction structure - */ - -typedef struct NwGtpv1uTrxn -{ - NwU32T seqNum; - NwU32T peerIp; - NwU32T peerPort; - NwU8T maxRetries; - NwU8T t3Timer; - NwGtpv1uTimerHandleT hRspTmr; - NwGtpv1uTimeoutInfoT peerRspTimeoutInfo; - NwGtpv1uStackT* pStack; - NwGtpv1uTunnelEndPointT* pSession; - NwU32T hUlpTrxn; - NwGtpv1uMsgT* pMsg; - RB_ENTRY (NwGtpv1uTrxn) outstandingTxSeqNumMapRbtNode; /**< RB Tree Data Structure Node */ - RB_ENTRY (NwGtpv1uTrxn) outstandingRxSeqNumMapRbtNode; /**< RB Tree Data Structure Node */ - struct NwGtpv1uTrxn* next; -} NwGtpv1uTrxnT; - - -/** - * GTPv2 message header structure - */ - -#pragma pack(1) - -typedef struct NwGtpv1uMsgHeader -{ - NwU8T PN:1; - NwU8T S:1; - NwU8T E:1; - NwU8T spare:1; - NwU8T PT:1; - NwU8T version:3; - NwU8T msgType; - NwU16T msgLength; - NwU32T teid; -} NwGtpv1uMsgHeaderT; - -#pragma pack() - -#ifdef __cplusplus -} -#endif - -#endif /* __NW_GTPV1U_PRIVATE_H__ */ -/*--------------------------------------------------------------------------* - * E N D O F F I L E * - *--------------------------------------------------------------------------*/ - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h deleted file mode 100644 index 9d4979229c..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h +++ /dev/null @@ -1,88 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * n w - g t p v 2 u * - * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k * - * * - * * - * Copyright (c) 2010-2011 Amit Chawre * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with or without * - * modification, are permitted provided that the following conditions * - * are met: * - * * - * 1. Redistributions of source code must retain the above copyright * - * notice, this list of conditions and the following disclaimer. * - * 2. Redistributions in binary form must reproduce the above copyright * - * notice, this list of conditions and the following disclaimer in the * - * documentation and/or other materials provided with the distribution. * - * 3. The name of the author may not be used to endorse or promote products * - * derived from this software without specific prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - *----------------------------------------------------------------------------*/ - -/** - * @file NwGtpv1uTrxn.h - * @author Amit Chawre - * @brief - * - * This header file contains required definitions and functions - * prototypes used by gtpv1u transactions. - * - **/ - - -#ifndef __NW_GTPV1U_TRXN_H__ -#define __NW_GTPV1U_TRXN_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -NwGtpv1uRcT -nwGtpv1uTrxnNew( NW_IN NwGtpv1uStackT* thiz, - NW_OUT NwGtpv1uTrxnT **ppTrxn); - - -NwGtpv1uRcT -nwGtpv1uTrxnWithSeqNew( NW_IN NwGtpv1uStackT* thiz, - NW_IN NwU32T seqNum, - NW_OUT NwGtpv1uTrxnT **ppTrxn); - -NwGtpv1uRcT -nwGtpv1uTrxnDelete( NW_INOUT NwGtpv1uTrxnT **ppTrxn); - -NwGtpv1uRcT -nwGtpv1uTrxnNew( NW_IN NwGtpv1uStackT* thiz, - NW_OUT NwGtpv1uTrxnT **ppTrxn); - -NwGtpv1uRcT -nwGtpv1uTrxnDelete( NW_INOUT NwGtpv1uTrxnT **pthiz); - -NwGtpv1uRcT -nwGtpv1uTrxnCreateAndSendMsg( NW_IN NwGtpv1uStackT* thiz, - NW_IN NwGtpv1uTrxnT *pTrxn, - NW_IN NwU32T peerIp, - NW_IN NwU32T peerPort, - NW_IN NwGtpv1uMsgT *pMsg); - -#ifdef __cplusplus -} -#endif - -#endif /* __NW_GTPV1U_TRXN_H__ */ - -/*--------------------------------------------------------------------------* - * E N D O F F I L E * - *--------------------------------------------------------------------------*/ - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h deleted file mode 100644 index c876a2fc3e..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h +++ /dev/null @@ -1,85 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * n w - g t p v 2 u * - * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k * - * * - * * - * Copyright (c) 2010-2011 Amit Chawre * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with or without * - * modification, are permitted provided that the following conditions * - * are met: * - * * - * 1. Redistributions of source code must retain the above copyright * - * notice, this list of conditions and the following disclaimer. * - * 2. Redistributions in binary form must reproduce the above copyright * - * notice, this list of conditions and the following disclaimer in the * - * documentation and/or other materials provided with the distribution. * - * 3. The name of the author may not be used to endorse or promote products * - * derived from this software without specific prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - *----------------------------------------------------------------------------*/ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include "NwTypes.h" -#include "NwUtils.h" -#include "NwGtpv1uError.h" -#include "NwGtpv1uPrivate.h" -#include "NwGtpv1uMsg.h" -#include "NwGtpv1u.h" -#include "NwGtpv1uLog.h" - -#ifdef __cplusplus -extern "C" { -#endif - - -#ifndef __NW_GTPV1U_CONNECTION_H__ -#define __NW_GTPV1U_CONNECTION_H__ - -/** - Constructor - - @return Pointer to session on success, NULL n failure. - */ - -NwGtpv1uTunnelEndPointT* -nwGtpTunnelEndPointNew(struct NwGtpv1uStack* pStack); - -/** - Destructor - - @param[in] thiz: Pointer to session - @return NW_GTPV1U_OK on success. - */ - -NwGtpv1uRcT -nwGtpTunnelEndPointDestroy(struct NwGtpv1uStack* pStack, NwGtpv1uTunnelEndPointT* thiz); - -NwGtpv1uRcT -nwGtpSessionSendMsgApiToUlpEntity(NwGtpv1uTunnelEndPointT* thiz, - NwGtpv1uMsgT *pMsg); - -#ifdef __cplusplus -} -#endif - -#endif -/*--------------------------------------------------------------------------* - * E N D O F F I L E * - *--------------------------------------------------------------------------*/ - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h deleted file mode 100644 index 0b2dfb3497..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h +++ /dev/null @@ -1,630 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * n w - g t p v 2 u * - * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k * - * * - * * - * Copyright (c) 2010-2011 Amit Chawre * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with or without * - * modification, are permitted provided that the following conditions * - * are met: * - * * - * 1. Redistributions of source code must retain the above copyright * - * notice, this list of conditions and the following disclaimer. * - * 2. Redistributions in binary form must reproduce the above copyright * - * notice, this list of conditions and the following disclaimer in the * - * documentation and/or other materials provided with the distribution. * - * 3. The name of the author may not be used to endorse or promote products * - * derived from this software without specific prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - *----------------------------------------------------------------------------*/ - -#ifndef __NW_GTPV1U_H__ -#define __NW_GTPV1U_H__ - -#include <sys/types.h> -#include <sys/socket.h> -#include <arpa/inet.h> -#include "NwTypes.h" -#include "NwGtpv1uError.h" - -/** @mainpage - - @section intro Introduction - - nw-gtpv1u library is a free and open source implementation of GPRS Tunneling - protocol v2 user plane also known as eGTP-U based on 3GPP TS 29.281 V9.3.0. - The library is published under BSD three clause license. - - @section scope Scope - - The stack library also does basic tasks like packet/header validation, - retransmission, duplicate detection and message parsing. - - @section design Design Philosophy - - The stack is fully-asynchronous in design for compatibility with event loop - mechanisms such as select, poll, etc. and can also be used for multi-threaded - applications. It should compile on Linux, *BSD, Mac OS X, Solaris and Windows - (cygwin). - - The stack is designed for high portability not only for the hardware and OS it will - run on but also for the application software that uses it. The stack doesn't mandate - conditions on the user application architecture or design. The stack relies on - the user application for infrastructure utilities such as I/O, timers, - logs and multithreading. This realized by using callback mechanisms and enables the - stack library to seamlessly integrate without or very little changes to the existing - application framework. - - The stack architecture builds upon following mentioned entities that are external to it. - - User Layer Protocol (ULP) Entity: - This layer implements the intelligent logic for the application and sits on top of the - stack. - - UDP Entity: - This is the layer below the stack and is responsible for UDP I/O with the stack and network. - It may or may not be housed in ULP. - - Timer Manager Entity: - Timer Manager Entity provides the stack with infrastructure for timer CRUD operations. - - Log Manager Entity: - Log Manager Entity provides the stack with callbacks for logging operations. It may - or may not be housed in ULP. - - The application may implement all above entities as a single or multiple object. - - @section applications Applications and Usage - - Please refer sample applications under 'test-app' directory for usage examples. - - */ - -/** - * @file NwGtpv1u.h - * @author Amit Chawre - * @brief - * - * This header file contains all required definitions and functions - * prototypes for using nw-gtpv1u library. - * - **/ - -#define NW_GTPU_VERSION (0x01) -#define NW_GTP_PROTOCOL_TYPE_GTP (0x01) -#define NW_GTP_PROTOCOL_TYPE_GTP_PRIME (0x00) - -/*--------------------------------------------------------------------------* - * S H A R E D A P I M A C R O S * - *--------------------------------------------------------------------------*/ - -#define NW_GTP_ECHO_REQ (1) -#define NW_GTP_ECHO_RSP (2) -#define NW_GTP_ERROR_INDICATION (26) -#define NW_GTP_SUPPORTED_EXTENSION_HEADER_INDICATION (31) -#define NW_GTP_END_MARKER (254) -#define NW_GTP_GPDU (255) - -/*--------------------------------------------------------------------------- - * Opaque Gtpv2 Stack Handles - *--------------------------------------------------------------------------*/ - -typedef NwPtrT NwGtpv1uStackHandleT; /**< Gtpv2 Stack Handle */ -typedef NwPtrT NwGtpv1uUlpHandleT; /**< Gtpv2 Stack Ulp Entity Handle */ -typedef NwPtrT NwGtpv1uUdpHandleT; /**< Gtpv2 Stack Udp Entity Handle */ -typedef NwPtrT NwGtpv1uMemMgrHandleT; /**< Gtpv2 Stack Mem Manager Handle */ -typedef NwPtrT NwGtpv1uTimerMgrHandleT; /**< Gtpv2 Stack Timer Manager Handle */ -typedef NwPtrT NwGtpv1uLogMgrHandleT; /**< Gtpv2 Stack Log Mnagaer Handle */ -typedef NwPtrT NwGtpv1uTimerHandleT; /**< Gtpv2 Stack Timer Handle */ -typedef NwPtrT NwGtpv1uMsgHandleT; /**< Gtpv2 Msg Handle */ - -typedef struct NwGtpv1uStackConfig -{ - NwU16T udpSrcPort; -} NwGtpv1uStackConfigT; - -/*--------------------------------------------------------------------------* - * S T A C K A P I D E F I N I T I O N S * - *--------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- - * Gtpv2 Stack ULP API type definitions - *--------------------------------------------------------------------------*/ - -/** - * APIs types between ULP and Stack - */ - -typedef enum -{ - /* APIs from ULP to stack */ - - NW_GTPV1U_ULP_API_CREATE_TUNNEL_ENDPOINT = 0x00000000, /**< Create a local teid context on stack */ - NW_GTPV1U_ULP_API_DESTROY_TUNNEL_ENDPOINT, /**< Delete a local teid context on stack */ - NW_GTPV1U_ULP_API_INITIAL_REQ, /**< Send a Initial Request over a session */ - NW_GTPV1U_ULP_API_TRIGGERED_REQ, /**< Send a Initial Request over a session */ - NW_GTPV1U_ULP_API_TRIGGERED_RSP, /**< Send a Trigger Response over a session */ - NW_GTPV1U_ULP_API_SEND_TPDU, /**< Send a T-PDU message over teid context */ - - /* APIs from stack to ULP */ - - NW_GTPV1U_ULP_API_RECV_TPDU, /**< Receive a gtpv1u T-PDU from stack */ - NW_GTPV1U_ULP_API_RECV_MSG, /**< Receive a gtpv1u message from stack */ - NW_GTPV1U_ULP_API_RSP_FAILURE, /**< Rsp failure for gtpv2 message from stack */ - - /* Do not add below this */ - - NW_GTPV1U_ULP_API_END = 0xFFFFFFFF, -} NwGtpv1uUlpApiTypeT; - -/*--------------------------------------------------------------------------- - * Gtpv2 Stack API information elements definitions - *--------------------------------------------------------------------------*/ - -typedef NwU32T NwGtpv1uStackSessionHandleT;/**< Gtpv2 Stack session Handle */ -typedef NwU8T NwGtpv1uMsgTypeT; /**< Gtpv2 Msg Type */ -typedef NwU32T NwGtpv1uTrxnHandleT; /**< Gtpv2 Transaction Handle */ -typedef NwU32T NwGtpv1uUlpTrxnHandleT; /**< Gtpv2 Ulp Transaction Handle */ -typedef NwU32T NwGtpv1uUlpSessionHandleT; /**< Gtpv2 Ulp session Handle */ - -/** - * API information elements between ULP and Stack for - * creating a session. - */ - -typedef struct -{ - NW_IN NwU32T teid; - NW_IN NwGtpv1uUlpSessionHandleT hUlpSession; - NW_OUT NwGtpv1uStackSessionHandleT hStackSession; -} NwGtpv1uCreateTunnelEndPointT; - -/** - * API information elements between ULP and Stack for - * destroying a session. - */ - -typedef struct -{ - NW_IN NwGtpv1uStackSessionHandleT hStackSessionHandle; -} NwGtpv1uDestroyTunnelEndPointT; - -/** - * API information elements between ULP and Stack for - * sending a Gtpv1u initial message. - */ - -typedef struct -{ - NW_IN NwGtpv1uUlpTrxnHandleT hUlpTrxn; - NW_IN NwU32T peerIp; - NW_IN NwU32T peerPort; - NW_IN NwU8T flags; - NW_IN NwU32T teid; -} NwGtpv1uInitialReqInfoT; - -/** - * API information elements between ULP and Stack for - * sending a Gtpv1u triggered response message. - */ - -typedef struct -{ - NW_IN NwGtpv1uUlpTrxnHandleT hUlpTrxn; - NW_IN NwU32T peerIp; - NW_IN NwU32T peerPort; - NW_IN NwU8T flags; - NW_IN NwU32T teid; - NW_IN NwU32T seqNum; - NW_IN NwGtpv1uMsgHandleT hMsg; -} NwGtpv1uTriggeredRspInfoT; - -/** - * API information elements between ULP and Stack for - * sending a Gtpv1u triggered request message. - */ - -typedef struct -{ - NW_IN NwGtpv1uUlpTrxnHandleT hUlpTrxn; - NW_IN NwU32T peerIp; - NW_IN NwU32T peerPort; - NW_IN NwU8T flags; - NW_IN NwU32T teid; - NW_IN NwU32T seqNum; - NW_IN NwGtpv1uMsgHandleT hMsg; -} NwGtpv1uTriggeredReqInfoT; - - -/** - * API information elements between ULP and Stack for - * sending a Gtpv2 message over a session. - */ - -typedef struct -{ - NW_IN NwU32T teid; - NW_IN NwU32T ipAddr; - NW_IN NwU8T flags; - NW_IN NwGtpv1uMsgHandleT hMsg; -} NwGtpv1uSendtoInfoT; - - -/** - * API information elements between ULP and Stack for - * sending a Gtpv2 message over a session. - */ - -typedef struct -{ - NW_OUT NwGtpv1uStackSessionHandleT hStackSessionHandle; - NW_INOUT NwGtpv1uTrxnHandleT hTrxn; - NW_IN NwGtpv1uUlpTrxnHandleT hUlpTrxn; - NW_IN NwGtpv1uMsgTypeT msgType; - NW_IN NwU8T flags; - NW_IN NwGtpv1uMsgHandleT hMsg; -} NwGtpv1uSendMsgInfoT; - -/** - * API information elements between ULP and Stack for - * receiving a Gtpv2 message over a session from stack. - */ - -typedef struct -{ - NW_IN NwGtpv1uUlpSessionHandleT hUlpSession; - NW_IN NwGtpv1uUlpTrxnHandleT hUlpTrxn; - NW_IN NwU32T teid; - NW_IN NwU32T peerIp; - NW_IN NwU32T peerPort; - NW_IN NwU32T msgType; /**< Message type */ - NW_IN NwGtpv1uMsgHandleT hMsg; /**< Gtp Message handle */ -} NwGtpv1uRecvMsgInfoT; - -/** - * API information elements between ULP and Stack for - * receiving a Gtpv2 message over a session from stack. - */ - -typedef struct -{ - NW_IN NwGtpv1uUlpSessionHandleT hUlpSession; - NW_IN NwGtpv1uTrxnHandleT hTrxn; -} NwGtpv1uNackInfoT; - -/*--------------------------------------------------------------------------- - * Gtpv2 Stack API structure definition - *--------------------------------------------------------------------------*/ - -/** - * API structure between ULP and Stack - */ - -typedef struct -{ - NwGtpv1uUlpApiTypeT apiType; - NwGtpv1uMsgHandleT hMsg; - union - { - NwGtpv1uCreateTunnelEndPointT createTunnelEndPointInfo; - NwGtpv1uDestroyTunnelEndPointT destroyTunnelEndPointInfo; - NwGtpv1uInitialReqInfoT initialReqInfo; - NwGtpv1uTriggeredRspInfoT triggeredRspInfo; - NwGtpv1uTriggeredReqInfoT triggeredReqInfo; - NwGtpv1uSendtoInfoT sendtoInfo; - NwGtpv1uSendMsgInfoT sendMsgInfo; - NwGtpv1uRecvMsgInfoT recvMsgInfo; - NwGtpv1uNackInfoT nackMsgInfo; - } apiInfo; -} NwGtpv1uUlpApiT; - - -/*--------------------------------------------------------------------------* - * S T A C K E N T I T I E S D E F I N I T I O N S * - *--------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- - * ULP Entity Definitions - *--------------------------------------------------------------------------*/ - -/** - * Gtpv2 ULP entity definition - */ - -typedef struct -{ - NwGtpv1uUlpHandleT hUlp; - NwGtpv1uRcT (*ulpReqCallback) ( NW_IN NwGtpv1uUlpHandleT hUlp, - NW_IN NwGtpv1uUlpApiT *pUlpApi); -} NwGtpv1uUlpEntityT; - - -/*--------------------------------------------------------------------------- - * UDP Entity Definitions - *--------------------------------------------------------------------------*/ - -/** - * Gtpv2 UDP entity definition - */ - -typedef struct -{ - NwGtpv1uUdpHandleT hUdp; - NwGtpv1uRcT (*udpDataReqCallback) ( NW_IN NwGtpv1uUdpHandleT udpHandle, - NW_IN NwU8T* dataBuf, - NW_IN NwU32T dataSize, - NW_IN NwU32T peerIP, - NW_IN NwU32T peerPort); -} NwGtpv1uUdpEntityT; - -/** - * Gtpv1u Memory Manager entity definition - */ - -typedef struct -{ - NwGtpv1uMemMgrHandleT hMemMgr; - void* (*memAlloc)( NW_IN NwGtpv1uMemMgrHandleT hMemMgr, - NW_IN NwU32T memSize, - NW_IN NwCharT* fileName, - NW_IN NwU32T lineNumber); - - void (*memFree) ( NW_IN NwGtpv1uMemMgrHandleT hMemMgr, - NW_IN void* hMem, - NW_IN NwCharT* fileName, - NW_IN NwU32T lineNumber); -} NwGtpv1uMemMgrEntityT; - - -/*--------------------------------------------------------------------------- - * Timer Entity Definitions - *--------------------------------------------------------------------------*/ - -#define NW_GTPV1U_TMR_TYPE_ONE_SHOT (0) -#define NW_GTPV1U_TMR_TYPE_REPETITIVE (1) - -/** - * Gtpv2 Timer Manager entity definition - */ - -typedef struct -{ - NwGtpv1uTimerMgrHandleT tmrMgrHandle; - NwGtpv1uRcT (*tmrStartCallback)( NW_IN NwGtpv1uTimerMgrHandleT tmrMgrHandle, - NW_IN NwU32T timeoutSecs, - NW_IN NwU32T timeoutUsec, - NW_IN NwU32T tmrType, - NW_IN void* tmrArg, - NW_OUT NwGtpv1uTimerHandleT* tmrHandle); - - NwGtpv1uRcT (*tmrStopCallback) ( NW_IN NwGtpv1uTimerMgrHandleT tmrMgrHandle, - NW_IN NwGtpv1uTimerHandleT tmrHandle); -} NwGtpv1uTimerMgrEntityT; - - -/*--------------------------------------------------------------------------- - * Log Entity Definitions - *--------------------------------------------------------------------------*/ - -/** - * Gtpv2 Log manager entity definition - */ - -typedef struct -{ - NwGtpv1uLogMgrHandleT logMgrHandle; - NwGtpv1uRcT (*logReqCallback) (NW_IN NwGtpv1uLogMgrHandleT logMgrHandle, - NW_IN NwU32T logLevel, - NW_IN NwCharT* file, - NW_IN NwU32T line, - NW_IN NwCharT* logStr); -} NwGtpv1uLogMgrEntityT; - - -/*--------------------------------------------------------------------------* - * P U B L I C F U N C T I O N S * - *--------------------------------------------------------------------------*/ - -#ifdef __cplusplus -extern "C" { -#endif - -/*--------------------------------------------------------------------------- - * Constructor - *--------------------------------------------------------------------------*/ - -/** - Initialize the nw-gtpv1u stack. - - @param[in,out] phGtpv1uStackHandle : Pointer to stack handle - */ - -NwGtpv1uRcT -nwGtpv1uInitialize( NW_INOUT NwGtpv1uStackHandleT* phGtpv1uStackHandle); - -/*--------------------------------------------------------------------------- - * Destructor - *--------------------------------------------------------------------------*/ - -/** - Destroy the nw-gtpv1u stack. - - @param[in] hGtpv1uStackHandle : Stack handle - */ - -NwGtpv1uRcT -nwGtpv1uFinalize( NW_IN NwGtpv1uStackHandleT hGtpv1uStackHandle); - -/*--------------------------------------------------------------------------- - * Configuration Get/Set Operations - *--------------------------------------------------------------------------*/ - -/** - Set Configuration for the nw-gtpv1u stack. - - @param[in,out] phGtpv1uStackHandle : Pointer to stack handle - */ - -NwGtpv1uRcT -NwGtpv1uConfigSet( NW_IN NwGtpv1uStackHandleT* phGtpv1uStackHandle, NW_IN NwGtpv1uStackConfigT* pConfig); - -/** - Get Configuration for the nw-gtpv1u stack. - - @param[in,out] phGtpv1uStackHandle : Pointer to stack handle - */ - -NwGtpv1uRcT -NwGtpv1uConfigGet( NW_IN NwGtpv1uStackHandleT* phGtpv1uStackHandle, NW_OUT NwGtpv1uStackConfigT* pConfig); - -/** - Set ULP entity for the stack. - - @param[in] hGtpv1uStackHandle : Stack handle - @param[in] pUlpEntity : Pointer to ULP entity. - @return NW_GTPV1U_OK on success. - */ - -NwGtpv1uRcT -nwGtpv1uSetUlpEntity( NW_IN NwGtpv1uStackHandleT hGtpv1uStackHandle, - NW_IN NwGtpv1uUlpEntityT* pUlpEntity); - -/** - Set UDP entity for the stack. - - @param[in] hGtpv1uStackHandle : Stack handle - @param[in] pUdpEntity : Pointer to UDP entity. - @return NW_GTPV1U_OK on success. - */ - -NwGtpv1uRcT -nwGtpv1uSetUdpEntity( NW_IN NwGtpv1uStackHandleT hGtpv1uStackHandle, - NW_IN NwGtpv1uUdpEntityT* pUdpEntity); - -/** - Set MemMgr entity for the stack. - - @param[in] hGtpv1uStackHandle : Stack handle - @param[in] pMemMgr : Pointer to Memory Manager. - @return NW_GTPV1U_OK on success. - */ - -NwGtpv1uRcT -nwGtpv1uSetMemMgrEntity( NW_IN NwGtpv1uStackHandleT hGtpv1uStackHandle, - NW_IN NwGtpv1uMemMgrEntityT* pMemMgr); - - -/** - Set TmrMgr entity for the stack. - - @param[in] hGtpv1uStackHandle : Stack handle - @param[in] pTmrMgr : Pointer to Timer Manager. - @return NW_GTPV1U_OK on success. - */ - -NwGtpv1uRcT -nwGtpv1uSetTimerMgrEntity( NW_IN NwGtpv1uStackHandleT hGtpv1uStackHandle, - NW_IN NwGtpv1uTimerMgrEntityT* pTmrMgr); - -/** - Set LogMgr entity for the stack. - - @param[in] hGtpv1uStackHandle : Stack handle - @param[in] pLogMgr : Pointer to Log Manager. - @return NW_GTPV1U_OK on success. - */ - -NwGtpv1uRcT -nwGtpv1uSetLogMgrEntity( NW_IN NwGtpv1uStackHandleT hGtpv1uStackHandle, - NW_IN NwGtpv1uLogMgrEntityT* pLogMgr); - -/** - Set log level for the stack. - - @param[in] hGtpv1uStackHandle : Stack handle - @param[in] logLevel : Log level. - @return NW_GTPV1U_OK on success. - */ - -NwGtpv1uRcT -nwGtpv1uSetLogLevel( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwU32T logLevel); -/*--------------------------------------------------------------------------- - * Process Request from Udp Layer - *--------------------------------------------------------------------------*/ - -/** - Process Data Request from UDP entity. - - @param[in] hGtpv1uStackHandle : Stack handle - @param[in] udpData : Pointer to received UDP data. - @param[in] udpDataLen : Received data length. - @param[in] dstPort : Received on port. - @param[in] from : Received from peer information. - @return NW_GTPV1U_OK on success. - */ - -NwGtpv1uRcT -nwGtpv1uProcessUdpReq( NW_IN NwGtpv1uStackHandleT hGtpv1uStackHandle, - NW_IN NwU8T* udpData, - NW_IN NwU32T udpDataLen, - NW_IN NwU16T peerPort, - NW_IN NwU32T peerIP); - -/*--------------------------------------------------------------------------- - * Process Request from Upper Layer - *--------------------------------------------------------------------------*/ - -/** - Process Request from ULP entity. - - @param[in] hGtpv1uStackHandle : Stack handle - @param[in] pLogMgr : Pointer to Ulp Req. - @return NW_GTPV1U_OK on success. - */ - -NwGtpv1uRcT -nwGtpv1uProcessUlpReq( NW_IN NwGtpv1uStackHandleT hGtpv1uStackHandle, - NW_IN NwGtpv1uUlpApiT *ulpReq); - - -/*--------------------------------------------------------------------------- - * Process Timer timeout Request from Timer Manager - *--------------------------------------------------------------------------*/ - -/** - Process Timer timeout Request from Timer Manager - - @param[in] pLogMgr : Pointer timeout arguments. - @return NW_GTPV1U_OK on success. - */ - -NwGtpv1uRcT -nwGtpv1uProcessTimeout( NW_IN void* timeoutArg); - -NwGtpv1uRcT -nwGtpv1uPeerRspTimeout(void* arg); - -#ifdef __cplusplus -} -#endif - -#endif /* __NW_GTPV1U_H__ */ - -/*--------------------------------------------------------------------------* - * E N D O F F I L E * - *--------------------------------------------------------------------------*/ - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h deleted file mode 100644 index d1b803e139..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h +++ /dev/null @@ -1,62 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * n w - g t p v 2 c * - * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k * - * * - * * - * Copyright (c) 2010-2011 Amit Chawre * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with or without * - * modification, are permitted provided that the following conditions * - * are met: * - * * - * 1. Redistributions of source code must retain the above copyright * - * notice, this list of conditions and the following disclaimer. * - * 2. Redistributions in binary form must reproduce the above copyright * - * notice, this list of conditions and the following disclaimer in the * - * documentation and/or other materials provided with the distribution. * - * 3. The name of the author may not be used to endorse or promote products * - * derived from this software without specific prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - *----------------------------------------------------------------------------*/ - - -#ifndef __NW_GTPV1U_ERROR_H__ -#define __NW_GTPV1U_ERROR_H__ - -/** - * @file NwGtpv1uError.h - * @brief This header file contains return error code type definitions. -*/ - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - - NW_GTPV1U_OK = 0x00000000, - NW_GTPV1U_MANDATORY_IE_DUPLICATE, - NW_GTPV1U_MANDATORY_IE_MISSING, - NW_GTPV1U_MSG_MALFORMED, - NW_GTPV1U_FAILURE = 0xFFFFFFFE -} NwGtpv1uRcT; - -#ifdef __cplusplus -} -#endif - -#endif /* __NW_GTPV1U_ERROR_H__*/ - - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h deleted file mode 100644 index ae4f7e64d2..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h +++ /dev/null @@ -1,66 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * n w - g t p v 2 u * - * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k * - * * - * * - * Copyright (c) 2010-2011 Amit Chawre * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with or without * - * modification, are permitted provided that the following conditions * - * are met: * - * * - * 1. Redistributions of source code must retain the above copyright * - * notice, this list of conditions and the following disclaimer. * - * 2. Redistributions in binary form must reproduce the above copyright * - * notice, this list of conditions and the following disclaimer in the * - * documentation and/or other materials provided with the distribution. * - * 3. The name of the author may not be used to endorse or promote products * - * derived from this software without specific prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - *----------------------------------------------------------------------------*/ - -/** - * @file NwGtpv1uIe.h - * @brief This header file contains Information Element definitions for GTPv1u - * as per 3GPP TS 29281-930. -*/ - -#ifndef __NW_GTPV1U_IE_H__ -#define __NW_GTPV1U_IE_H__ - -/*--------------------------------------------------------------------------* - * G T P V 2 U I E T Y P E M A C R O D E F I N I T I O N S * - *--------------------------------------------------------------------------*/ - -#define NW_GTPV1U_IE_RECOVERY (14) -#define NW_GTPV1U_IE_TEID_DATA_I (15) -#define NW_GTPV1U_IE_GSN_ADDRESS (133) -#define NW_GTPV1U_IE_EXT_HDR_TYPE_LIST (141) -#define NW_GTPV1U_IE_PRIVATE_EXTENSION (255) - - -/*--------------------------------------------------------------------------* - * G T P V 2 U C A U S E V A L U E D E F I N I T I O N S * - *--------------------------------------------------------------------------*/ - -#define NW_GTPV1U_CAUSE_REQUEST_ACCEPTED (16) -#define NW_GTPV1U_CAUSE_MANDATORY_IE_MISSING (70) - -#endif /* __NW_GTPV1U_IE_H__ */ - -/*--------------------------------------------------------------------------* - * E N D O F F I L E * - *--------------------------------------------------------------------------*/ - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h deleted file mode 100644 index 2e636ccf3c..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h +++ /dev/null @@ -1,320 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * n w - g t p v 2 u * - * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k * - * * - * * - * Copyright (c) 2010-2011 Amit Chawre * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with or without * - * modification, are permitted provided that the following conditions * - * are met: * - * * - * 1. Redistributions of source code must retain the above copyright * - * notice, this list of conditions and the following disclaimer. * - * 2. Redistributions in binary form must reproduce the above copyright * - * notice, this list of conditions and the following disclaimer in the * - * documentation and/or other materials provided with the distribution. * - * 3. The name of the author may not be used to endorse or promote products * - * derived from this software without specific prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - *----------------------------------------------------------------------------*/ - -#ifndef __NW_GTPV1U_MSG_H__ -#define __NW_GTPV1U_MSG_H__ - -#include "NwTypes.h" -#include "NwGtpv1u.h" - -/** - * @file NwGtpv1uMsg.h - * @brief This file defines APIs for to build new outgoing gtpv1u messages and to parse incoming messages. -*/ - -#ifdef __cplusplus -extern "C" { -#endif - -/*--------------------------------------------------------------------------* - * G T P V 2 C I E D A T A - T Y P E D E F I N I T I O N S * - *--------------------------------------------------------------------------*/ - -#pragma pack(1) - -typedef struct NwGtpv1uIeTv1 -{ - NwU8T t; - NwU8T v; -} NwGtpv1uIeTv1T; - -typedef struct NwGtpv1uIeTv2 -{ - NwU8T t; - NwU8T v; -} NwGtpv1uIeTv2T; - -typedef struct NwGtpv1uIeTv4 -{ - NwU8T t; - NwU32T v; -} NwGtpv1uIeTv4T; - -typedef struct NwGtpv1uIeTlv -{ - NwU8T t; - NwU16T l; -} NwGtpv1uIeTlvT; - -#pragma pack() - - - /** - * Allocate a GPDU gtpv1u message. - * - * @param[in] hGtpuStackHandle : gtpv1u stack handle. - * @param[in] teidPresent : TEID is present flag. - * @param[in] teid : TEID for this message. - * @param[in] seqNum : Sequence number for this message. - * @param[out] phMsg : Pointer to message handle. - */ - -NwGtpv1uRcT -nwGtpv1uMsgNew( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwU8T seqNumFlag, - NW_IN NwU8T npduNumFlag, - NW_IN NwU8T extHdrFlag, - NW_IN NwU8T msgType, - NW_IN NwU8T teid, - NW_IN NwU16T seqNum, - NW_IN NwU8T npduNum, - NW_IN NwU8T nextExtHeader, - NW_OUT NwGtpv1uMsgHandleT *phMsg); - - - /** - * Allocate a gtpv1u message. - * - * @param[in] hGtpuStackHandle : gtpv1u stack handle. - * @param[in] teid : TEID for this message. - * @param[in] seqNumFlag : Sequence number flag for this message. - * @param[in] seqNum : Sequence number for this message. - * @param[in] pTpdu: T-PDU for this message. - * @param[in] tpduLength: T-PDU length for this message. - * @param[out] phMsg : Pointer to message handle. - */ - -NwGtpv1uRcT -nwGtpv1uGpduMsgNew( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwU32T teid, - NW_IN NwU8T seqNumFlag, - NW_IN NwU16T seqNum, - NW_IN NwU8T* tpdu, - NW_IN NwU16T tpduLength, - NW_OUT NwGtpv1uMsgHandleT *phMsg); - - /** - * Allocate a gtpv1u message from another gtpv1u message. - * - * @param[in] hGtpuStackHandle : gtpv1u stack handle. - * @param[out] hMsg : Handle to input message. - * @param[out] phMsg : Pointer to message handle. - */ - -NwGtpv1uRcT -nwGtpv1uMsgFromMsgNew( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwGtpv1uMsgHandleT hMsg, - NW_OUT NwGtpv1uMsgHandleT *phMsg); - /** - * Allocate a gtpv1u message from data buffer. - * - * @param[in] hGtpuStackHandle : gtpv1u stack handle. - * @param[in] pBuf: Buffer to be copied in this message. - * @param[in] bufLen: Buffer length to be copied in this message. - * @param[out] phMsg : Pointer to message handle. - */ - -NwGtpv1uRcT -nwGtpv1uMsgFromBufferNew( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwU8T* pBuf, - NW_IN NwU32T bufLen, - NW_OUT NwGtpv1uMsgHandleT *phMsg); - - /** - * Free a gtpv1u message. - * - * @param[in] hGtpuStackHandle : gtpv1u stack handle. - * @param[in] hMsg : Message handle. - */ - -NwGtpv1uRcT -nwGtpv1uMsgDelete( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwGtpv1uMsgHandleT hMsg); - - /** - * Set TEID for gtpv1u message. - * - * @param[in] hMsg : Message handle. - * @param[in] teid: TEID value. - */ - -NwGtpv1uRcT -nwGtpv1uMsgSetTeid(NW_IN NwGtpv1uMsgHandleT hMsg, NwU32T teid); - - /** - * Set TEID present flag for gtpv1u message. - * - * @param[in] hMsg : Message handle. - * @param[in] teidPesent: Flag boolean value. - */ - -NwGtpv1uRcT -nwGtpv1uMsgSetTeidPresent(NW_IN NwGtpv1uMsgHandleT hMsg, NwBoolT teidPresent); - - /** - * Set sequence for gtpv1u message. - * - * @param[in] hMsg : Message handle. - * @param[in] seqNum: Flag boolean value. - */ - -NwGtpv1uRcT -nwGtpv1uMsgSetSeqNumber(NW_IN NwGtpv1uMsgHandleT hMsg, NwU32T seqNum); - - /** - * Get TEID present for gtpv1u message. - * - * @param[in] hMsg : Message handle. - */ - -NwU32T -nwGtpv1uMsgGetTeid(NW_IN NwGtpv1uMsgHandleT hMsg); - - /** - * Get TEID present for gtpv1u message. - * - * @param[in] hMsg : Message handle. - */ - -NwBoolT -nwGtpv1uMsgGetTeidPresent(NW_IN NwGtpv1uMsgHandleT hMsg); - - /** - * Get sequence number for gtpv1u message. - * - * @param[in] hMsg : Message handle. - */ - -NwU32T -nwGtpv1uMsgGetSeqNumber(NW_IN NwGtpv1uMsgHandleT hMsg); - - /** - * Get tpdu for gtpv1u message. - * - * @param[in] hMsg : Message handle. - * @param[inout] pTpduBuf : Buffer to copy the T-PDU. - * @param[out] hMsg : T-PDU length. - */ - -NwU32T -nwGtpv1uMsgGetTpdu(NW_IN NwGtpv1uMsgHandleT hMsg, NwU8T* pTpduBuf, NwU32T* pTpduLength); - -NwU8T* -nwGtpv1uMsgGetTpduHandle(NW_IN NwGtpv1uMsgHandleT hMsg); - -NwU32T -nwGtpv1uMsgGetTpduLength(NW_IN NwGtpv1uMsgHandleT hMsg); - - /** - * Add a gtpv1u information element of length 1 to gtpv1u mesasge. - * - * @param[in] hMsg : Handle to gtpv1u message. - * @param[in] type : IE type. - * @param[in] value : IE value. - */ - -NwGtpv1uRcT -nwGtpv1uMsgAddIeTV1(NW_IN NwGtpv1uMsgHandleT hMsg, - NW_IN NwU8T type, - NW_IN NwU8T value); - - - /** - * Add a gtpv1u information element of length 2 to gtpv1u mesasge. - * - * @param[in] hMsg : Handle to gtpv1u message. - * @param[in] type : IE type. - * @param[in] value : IE value. - */ - -NwGtpv1uRcT -nwGtpv1uMsgAddIeTV2(NW_IN NwGtpv1uMsgHandleT hMsg, - NW_IN NwU8T type, - NW_IN NwU16T length, - NW_IN NwU16T value); - - - /** - * Add a gtpv1u information element of length 4 to gtpv1u mesasge. - * - * @param[in] hMsg : Handle to gtpv1u message. - * @param[in] type : IE type. - * @param[in] value : IE value. - */ - -NwGtpv1uRcT -nwGtpv1uMsgAddIeTV4(NW_IN NwGtpv1uMsgHandleT hMsg, - NW_IN NwU8T type, - NW_IN NwU16T length, - NW_IN NwU32T value); - - - /** - * Add a gtpv1u information element of variable length to gtpv1u mesasge. - * - * @param[in] hMsg : Handle to gtpv1u message. - * @param[in] type : IE type. - * @param[in] length : IE length. - * @param[in] value : IE value. - */ - -NwGtpv1uRcT -nwGtpv1uMsgAddIe(NW_IN NwGtpv1uMsgHandleT hMsg, - NW_IN NwU8T type, - NW_IN NwU16T length, - NW_IN NwU8T* pVal); - -/** - * Dump the contents of gtpv1u mesasge. - * - * @param[in] hMsg : Handle to gtpv1u message. - * @param[in] fp: Pointer to output file. - */ - -NwGtpv1uRcT -nwGtpv1uMsgHexDump(NwGtpv1uMsgHandleT hMsg, FILE* fp); - -NwU32T -nwGtpv1uMsgGetMsgType(NW_IN NwGtpv1uMsgHandleT hMsg); - -#ifdef __cplusplus -} -#endif - -#endif /* __NW_TYPES_H__ */ - - -/*--------------------------------------------------------------------------* - * E N D O F F I L E * - *--------------------------------------------------------------------------*/ - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwLog.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwLog.h deleted file mode 100644 index aaf83615a5..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwLog.h +++ /dev/null @@ -1,88 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * n w - g t p v 2 c * - * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k * - * * - * * - * Copyright (c) 2010-2011 Amit Chawre * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with or without * - * modification, are permitted provided that the following conditions * - * are met: * - * * - * 1. Redistributions of source code must retain the above copyright * - * notice, this list of conditions and the following disclaimer. * - * 2. Redistributions in binary form must reproduce the above copyright * - * notice, this list of conditions and the following disclaimer in the * - * documentation and/or other materials provided with the distribution. * - * 3. The name of the author may not be used to endorse or promote products * - * derived from this software without specific prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - *----------------------------------------------------------------------------*/ - - -#ifndef __NW_LOG_H__ -#define __NW_LOG_H__ - -#include <libgen.h> - -#include "NwTypes.h" - -/** - * @file NwLog.h - * @brief This header file contains global shared logging definitions. -*/ - -#ifdef __cplusplus -extern "C" { -#endif - -/*--------------------------------------------------------------------------- - * Log Level Definitions - *--------------------------------------------------------------------------*/ - -#define NW_LOG_LEVEL_EMER (0) /**< system is unusable */ -#define NW_LOG_LEVEL_ALER (1) /**< action must be taken immediately*/ -#define NW_LOG_LEVEL_CRIT (2) /**< critical conditions */ -#define NW_LOG_LEVEL_ERRO (3) /**< error conditions */ -#define NW_LOG_LEVEL_WARN (4) /**< warning conditions */ -#define NW_LOG_LEVEL_NOTI (5) /**< normal but signification condition */ -#define NW_LOG_LEVEL_INFO (6) /**< informational */ -#define NW_LOG_LEVEL_DEBG (7) /**< debug-level messages */ - -// static -// NwCharT* gLogLevelStr[] = {"EMER", "ALER", "CRIT", "ERRO", "WARN", "NOTI", "INFO", "DEBG"}; - -/*--------------------------------------------------------------------------- - * IPv4 logging macros - *--------------------------------------------------------------------------*/ -#define NW_IPV4_ADDR "%u.%u.%u.%u" -#define NW_IPV4_ADDR_FORMAT(__addr) (NwU8T)((__addr) & 0x000000ff), \ - (NwU8T)(((__addr) & 0x0000ff00) >> 8 ), \ - (NwU8T)(((__addr) & 0x00ff0000) >> 16), \ - (NwU8T)(((__addr) & 0xff000000) >> 24) - -#define NW_IPV4_ADDR_FORMATP(__paddr) (NwU8T)(*((NwU8T*)(__paddr)) & 0x000000ff), \ - (NwU8T)(*((NwU8T*)(__paddr + 1)) & 0x000000ff), \ - (NwU8T)(*((NwU8T*)(__paddr + 2)) & 0x000000ff), \ - (NwU8T)(*((NwU8T*)(__paddr + 3)) & 0x000000ff) - - -#ifdef __cplusplus -} -#endif - -#endif /* __NW_LOG_H__ */ - - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwTypes.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwTypes.h deleted file mode 100644 index bf45c2f614..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwTypes.h +++ /dev/null @@ -1,83 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * n w - g t p v 2 c * - * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k * - * * - * * - * Copyright (c) 2010-2011 Amit Chawre * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with or without * - * modification, are permitted provided that the following conditions * - * are met: * - * * - * 1. Redistributions of source code must retain the above copyright * - * notice, this list of conditions and the following disclaimer. * - * 2. Redistributions in binary form must reproduce the above copyright * - * notice, this list of conditions and the following disclaimer in the * - * documentation and/or other materials provided with the distribution. * - * 3. The name of the author may not be used to endorse or promote products * - * derived from this software without specific prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - *----------------------------------------------------------------------------*/ - - -#include <stdlib.h> -#include <stdint.h> - -#ifndef __NW_TYPES_H__ -#define __NW_TYPES_H__ - -/** - * @file NwTypes.h - * @brief This header file contains basic type definitions. -*/ - -#ifdef __cplusplus -extern "C" { -#endif - -#define NW_IN /**< An input argument */ -#define NW_OUT /**< An output argumnet */ -#define NW_INOUT /**< An input and output argument */ - -#define NW_TRUE (1) /**< Truth value */ -#define NW_FALSE (0) /**< False value */ - -typedef unsigned char NwU8T; /**< Unsigned 1 byte */ -typedef unsigned short NwU16T; /**< Unsigned 2 byte */ -typedef unsigned int NwU32T; /**< Unsigned 4 byte */ -typedef unsigned long long NwU64T; /**< Unsigned 8 byte */ - -typedef signed char NwS8T; /**< Signed 1 byte */ -typedef signed short NwS16T; /**< Signed 2 byte */ -typedef signed int NwS32T; /**< Signed 4 byte */ -typedef signed long long NwS64T; /**< Signed 8 byte */ - -typedef uintptr_t NwPtrT; /**< Use this for generic pointers */ -typedef unsigned int NwHandleT; /**< Use this for generic handles */ - -typedef char NwBoolT; /**< Use this for booleans */ - -typedef char NwCharT; /**< Use this for strings */ - -typedef signed int NwFdT; /**< Use this for file descriptor */ - - -#ifdef __cplusplus -} -#endif - -#endif /* __NW_TYPES_H__ */ - - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwUtils.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwUtils.h deleted file mode 100644 index 9e2adc86a2..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwUtils.h +++ /dev/null @@ -1,68 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * n w - g t p v 2 c * - * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k * - * * - * * - * Copyright (c) 2010-2011 Amit Chawre * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with or without * - * modification, are permitted provided that the following conditions * - * are met: * - * * - * 1. Redistributions of source code must retain the above copyright * - * notice, this list of conditions and the following disclaimer. * - * 2. Redistributions in binary form must reproduce the above copyright * - * notice, this list of conditions and the following disclaimer in the * - * documentation and/or other materials provided with the distribution. * - * 3. The name of the author may not be used to endorse or promote products * - * derived from this software without specific prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - *----------------------------------------------------------------------------*/ - -#include <assert.h> - -#ifndef __NW_UTILS_H__ -#define __NW_UTILS_H__ - - -/** - * @file NwUtils.h - * @brief This header file contains utility macro and function definitions. -*/ - -#define NW_ASSERT assert /**< Assertion */ - -#define NW_CHK_NULL_PTR(_ptr) NW_ASSERT(_ptr != NULL) /**< Null pointer check */ - -#define NW_HTONS(x) ( ( ((x) & 0xff00) >> 8 ) | ( ((x) & 0x00ff) << 8 ) ) - -#define NW_HTONL(x) ( ( ((x) & 0xff000000) >> 24 ) | ( ( (x) & 0x00ff0000 ) >> 8 ) | \ - ( ( (x) & 0x0000ff00 ) << 8 ) | ( ( (x) & 0x000000ff) << 24 ) ) - -#define NW_HTONLL(x) ( \ - ( ( ((NwU64T)x) & 0xff00000000000000ULL ) >> 56 ) | ( ( ((NwU64T)x) & 0x00ff000000000000ULL ) >> 40 ) | \ - ( ( ((NwU64T)x) & 0x0000ff0000000000ULL ) >> 24 ) | ( ( ((NwU64T)x) & 0x000000ff00000000ULL ) >> 8 ) | \ - ( ( ((NwU64T)x) & 0x000000000000ff00ULL ) << 40 ) | ( ( ((NwU64T)x) & 0x00000000000000ffULL ) << 56 ) | \ - ( ( ((NwU64T)x) & 0x0000000000ff0000ULL ) << 24 ) | ( ( ((NwU64T)x) & 0x00000000ff000000ULL ) << 8 ) \ - ) - -#define NW_NTOHS NW_HTONS -#define NW_NTOHL NW_HTONL -#define NW_NTOHLL NW_HTONLL - - -#endif /* __NW_UTILS_H__ */ - - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c deleted file mode 100644 index 9845ad1d11..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c +++ /dev/null @@ -1,883 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * n w - g t p v 2 u * - * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k * - * * - * * - * Copyright (c) 2010-2011 Amit Chawre * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with or without * - * modification, are permitted provided that the following conditions * - * are met: * - * * - * 1. Redistributions of source code must retain the above copyright * - * notice, this list of conditions and the following disclaimer. * - * 2. Redistributions in binary form must reproduce the above copyright * - * notice, this list of conditions and the following disclaimer in the * - * documentation and/or other materials provided with the distribution. * - * 3. The name of the author may not be used to endorse or promote products * - * derived from this software without specific prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - *----------------------------------------------------------------------------*/ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include "NwTypes.h" -#include "NwUtils.h" -#include "NwGtpv1uError.h" -#include "NwGtpv1uPrivate.h" -#include "NwGtpv1uTunnelEndPoint.h" -#include "NwGtpv1uTrxn.h" -#include "NwGtpv1u.h" -#include "NwGtpv1uIe.h" -#include "NwGtpv1uLog.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/*--------------------------------------------------------------------------* - * P R I V A T E F U N C T I O N S * - *--------------------------------------------------------------------------*/ - -static void -nwGtpv1uDisplayBanner( NwGtpv1uStackT* thiz) -{ - printf(" *----------------------------------------------------------------------------*\n"); - printf(" * *\n"); - printf(" * n w - g t p v 2 u *\n"); - printf(" * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k *\n"); - printf(" * *\n"); - printf(" * *\n"); - printf(" * Copyright (c) 2010-2011 Amit Chawre *\n"); - printf(" * All rights reserved. *\n"); - printf(" * *\n"); - printf(" * Redistribution and use in source and binary forms, with or without *\n"); - printf(" * modification, are permitted provided that the following conditions *\n"); - printf(" * are met: *\n"); - printf(" * *\n"); - printf(" * 1. Redistributions of source code must retain the above copyright *\n"); - printf(" * notice, this list of conditions and the following disclaimer. *\n"); - printf(" * 2. Redistributions in binary form must reproduce the above copyright *\n"); - printf(" * notice, this list of conditions and the following disclaimer in the *\n"); - printf(" * documentation and/or other materials provided with the distribution. *\n"); - printf(" * 3. The name of the author may not be used to endorse or promote products *\n"); - printf(" * derived from this software without specific prior written permission. *\n"); - printf(" * *\n"); - printf(" * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *\n"); - printf(" * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *\n"); - printf(" * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *\n"); - printf(" * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *\n"); - printf(" * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *\n"); - printf(" * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *\n"); - printf(" * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *\n"); - printf(" * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *\n"); - printf(" * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *\n"); - printf(" * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *\n"); - printf(" *----------------------------------------------------------------------------*\n\n"); - -} -/*--------------------------------------------------------------------------- - * RBTree Search Functions - *--------------------------------------------------------------------------*/ - -static inline NwS32T -nwGtpv1uCompareTeid(struct NwGtpv1uTunnelEndPoint* a, struct NwGtpv1uTunnelEndPoint* b); - -static inline NwS32T -nwGtpv1uCompareSeqNum(struct NwGtpv1uTrxn* a, struct NwGtpv1uTrxn* b); - -RB_PROTOTYPE(NwGtpv1uOutstandingTxSeqNumTrxnMap, NwGtpv1uTrxn, outstandingTxSeqNumMapRbtNode, nwGtpv1uCompareSeqNum) -RB_PROTOTYPE(NwGtpv1uOutstandingRxSeqNumTrxnMap, NwGtpv1uTrxn, outstandingRxSeqNumMapRbtNode, nwGtpv1uCompareSeqNum) -RB_PROTOTYPE(NwGtpv1uTunnelEndPointTMap, NwGtpv1uTunnelEndPoint, sessionMapRbtNode, nwGtpv1uCompareTeid) -RB_PROTOTYPE(NwGtpv1uTunnelEndPointIdentifierMap, NwGtpv1uTunnelEndPoint, sessionMapRbtNode, nwGtpv1uCompareTeid) - -RB_GENERATE(NwGtpv1uOutstandingTxSeqNumTrxnMap, NwGtpv1uTrxn, outstandingTxSeqNumMapRbtNode, nwGtpv1uCompareSeqNum) -RB_GENERATE(NwGtpv1uOutstandingRxSeqNumTrxnMap, NwGtpv1uTrxn, outstandingRxSeqNumMapRbtNode, nwGtpv1uCompareSeqNum) -RB_GENERATE(NwGtpv1uTunnelEndPointTMap, NwGtpv1uTunnelEndPoint, sessionMapRbtNode, nwGtpv1uCompareTeid) -RB_GENERATE(NwGtpv1uTunnelEndPointIdentifierMap, NwGtpv1uTunnelEndPoint, sessionMapRbtNode, nwGtpv1uCompareTeid) - -/** - Comparator funtion for comparing two sessions. - - @param[in] a: Pointer to session a. - @param[in] b: Pointer to session b. - @return An integer greater than, equal to or less than zero according to whether the - object pointed to by a is greater than, equal to or less than the object pointed to by b. - */ - -static inline NwS32T -nwGtpv1uCompareTeid(struct NwGtpv1uTunnelEndPoint* a, struct NwGtpv1uTunnelEndPoint* b) -{ - if(a->teid > b->teid) - return 1; - if(a->teid < b->teid) - return -1; - return 0; -} - -/** - Comparator funtion for comparing two sequence number transactions. - - @param[in] a: Pointer to session a. - @param[in] b: Pointer to session b. - @return An integer greater than, equal to or less than zero according to whether the - object pointed to by a is greater than, equal to or less than the object pointed to by b. - */ - -static inline NwS32T -nwGtpv1uCompareSeqNum(struct NwGtpv1uTrxn* a, struct NwGtpv1uTrxn* b) -{ - if(a->seqNum > b->seqNum) - return 1; - if(a->seqNum < b->seqNum) - return -1; - if(a->peerIp > b->peerIp) - return 1; - if(a->peerIp < b->peerIp) - return -1; - return 0; -} - -/** - Create and Send GTPU message. - - @param[in] thiz: Stack handle - @return NW_GTPV1U_OK on success. - */ - -static NwGtpv1uRcT -nwGtpv1uCreateAndSendMsg( NwGtpv1uStackT* thiz, NwU32T peerIp, NwU16T peerPort, NwGtpv1uMsgT* pMsg) -{ - NwGtpv1uRcT rc; - NwU8T* msgHdr; - - NW_ASSERT(thiz); - NW_ASSERT(pMsg); - - NW_ENTER(thiz); - - msgHdr = pMsg->msgBuf; - NW_ASSERT(msgHdr != NULL); - - *(msgHdr++) = (pMsg->version << 5) | - (pMsg->protocolType << 4) | - (pMsg->extHdrFlag << 2) | - (pMsg->seqNumFlag << 1) | - (pMsg->npduNumFlag); - - *(msgHdr++) = (pMsg->msgType); - *((NwU16T*) msgHdr) = htons(pMsg->msgLen); - msgHdr += 2; - - *((NwU32T*) msgHdr) = htonl(pMsg->teid); - msgHdr += 4; - - if(pMsg->seqNumFlag || pMsg->extHdrFlag || pMsg->npduNumFlag) - { - *((NwU16T*) msgHdr) = (pMsg->seqNumFlag ? htons(pMsg->seqNum) : 0x0000); - msgHdr += 2; - - *((NwU8T*) msgHdr) = (pMsg->npduNumFlag ? htons(pMsg->npduNum) : 0x00); - msgHdr++; - - *((NwU8T*) msgHdr) = (pMsg->extHdrFlag ? htons(pMsg->nextExtHdrType) : 0x00); - msgHdr++; - } - - rc = thiz->udp.udpDataReqCallback(thiz->udp.hUdp, - pMsg->msgBuf, - pMsg->msgLen, - peerIp, - peerPort); - - NW_LEAVE(thiz); - return rc; -} - -/** - * Send GTPv1u Message Indication to ULP entity. - * - * @param[in] hGtpuStackHandle : Stack handle - * @return NW_GTPV1U_OK on success. - */ - -static NwGtpv1uRcT -nwGtpv1uSendUlpMessageIndication( NW_IN NwGtpv1uStackT* thiz, - NW_IN NwU32T hUlpTrxn, - NW_IN NwU32T apiType, - NW_IN NwU32T msgType, - NW_IN NwU32T peerIp, - NW_IN NwU16T peerPort, - NW_IN NwU8T *pMsgBuf, - NW_IN NwU16T msgLength) -{ - NwGtpv1uRcT rc; - NwGtpv1uUlpApiT ulpApi; - - NW_ENTER(thiz); - - ulpApi.apiType = apiType; - ulpApi.apiInfo.recvMsgInfo.msgType = msgType; - ulpApi.apiInfo.recvMsgInfo.hUlpTrxn = hUlpTrxn; - ulpApi.apiInfo.recvMsgInfo.peerIp = peerIp; - ulpApi.apiInfo.recvMsgInfo.peerPort = peerPort; - - if(pMsgBuf && msgLength) - { - rc = nwGtpv1uMsgFromBufferNew((NwGtpv1uStackHandleT)thiz, pMsgBuf, msgLength, &(ulpApi.apiInfo.recvMsgInfo.hMsg)); - NW_ASSERT(rc == NW_GTPV1U_OK); - } - - rc = thiz->ulp.ulpReqCallback(thiz->ulp.hUlp, &ulpApi); - NW_ASSERT(rc == NW_GTPV1U_OK); - - NW_LEAVE(thiz); - - return rc; -} - -NwGtpv1uRcT -nwGtpv1uPeerRspTimeout(void* arg) -{ - NwGtpv1uRcT rc = NW_GTPV1U_OK; - NwGtpv1uTrxnT* thiz; - NwGtpv1uTimeoutInfoT *timeoutInfo = arg; - - printf("Retransmission timer expired\n"); - - thiz = ((NwGtpv1uTrxnT*)timeoutInfo->timeoutArg); - rc = thiz->pStack->udp.udpDataReqCallback(thiz->pStack->udp.hUdp, - thiz->pMsg->msgBuf, - thiz->pMsg->msgLen, - thiz->peerIp, - thiz->peerPort); - - if(thiz->maxRetries) - { - rc = thiz->pStack->tmrMgr.tmrStartCallback(thiz->pStack->tmrMgr.tmrMgrHandle, 5, 0, NW_GTPV1U_TMR_TYPE_ONE_SHOT, (void*)timeoutInfo, &thiz->hRspTmr); - thiz->maxRetries--; - } - else - { - /* Inform session layer about path fialure */ - printf("Max retries over!\n"); - } - return rc; -} - -/*--------------------------------------------------------------------------- - * ULP API Processing Functions - *--------------------------------------------------------------------------*/ - -/** - Process NW_GTPV1U_ULP_API_CREATE_TUNNEL_ENDPOINT Request from ULP entity. - - @param[in] hGtpuStackHandle : Stack handle - @param[in] pUlpReq : Pointer to Ulp Req. - @return NW_GTPV1U_OK on success. - */ - -static NwGtpv1uRcT -NwGtpv1uCreateTunnelEndPoint( NW_IN NwGtpv1uStackT* thiz, - NW_IN NwU32T teid, - NW_IN NwGtpv1uUlpSessionHandleT hUlpSession, - NW_OUT NwGtpv1uStackSessionHandleT *phStackSession ) -{ - NwGtpv1uRcT rc = NW_GTPV1U_OK; - NwGtpv1uTunnelEndPointT* pTunnelEndPoint; - NwGtpv1uTunnelEndPointT* pCollision; - - NW_ENTER(thiz); - - pTunnelEndPoint = nwGtpTunnelEndPointNew(thiz); - - if(pTunnelEndPoint) - { - - pTunnelEndPoint->teid = teid; - pTunnelEndPoint->pStack = thiz; - pTunnelEndPoint->hUlpSession = hUlpSession; - - pCollision = RB_INSERT(NwGtpv1uTunnelEndPointIdentifierMap, &(thiz->teidMap), pTunnelEndPoint); - - if(pCollision) - { - NW_LOG(thiz, NW_LOG_LEVEL_ERRO, "Tunnel end-point cannot be created for teid 0x%x. Tunnel already exists", teid); - rc = nwGtpTunnelEndPointDestroy(thiz, pTunnelEndPoint); - NW_ASSERT(rc == NW_GTPV1U_OK); - *phStackSession = (NwGtpv1uStackSessionHandleT) 0; - NW_ASSERT(0); - rc = NW_GTPV1U_FAILURE; - } - else - { - *phStackSession = (NwGtpv1uStackSessionHandleT) pTunnelEndPoint; - pTunnelEndPoint = RB_FIND(NwGtpv1uTunnelEndPointIdentifierMap, &(thiz->teidMap), pTunnelEndPoint); - NW_ASSERT(pTunnelEndPoint); - NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Tunnel end-point 0x%x creation successful for teid 0x%x", - (unsigned int)pTunnelEndPoint, teid); - } - - } - else - { - *phStackSession = (NwGtpv1uStackSessionHandleT) 0; - rc = NW_GTPV1U_FAILURE; - } - - NW_LEAVE(thiz); - return rc; -} - -/** - Process NW_GTPV1U_ULP_API_DESTROY_TUNNEL_ENDPOINT Request from ULP entity. - - @param[in] hGtpuStackHandle : Stack handle - @param[in] pUlpReq : Pointer to Ulp Req. - @return NW_GTPV1U_OK on success. - */ - -static NwGtpv1uRcT -nwGtpv1uDestroyTunnelEndPoint( NwGtpv1uStackT* thiz, NW_IN NwGtpv1uUlpApiT *pUlpReq) -{ - NwGtpv1uRcT rc = NW_GTPV1U_OK; - NwGtpv1uTunnelEndPointT *pRemovedTeid; - - if(pUlpReq->apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle) - { - NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Destroying Tunnel end-point '%x'", pUlpReq->apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle); - pRemovedTeid = RB_REMOVE(NwGtpv1uTunnelEndPointIdentifierMap, &(thiz->teidMap), (NwGtpv1uTunnelEndPointT*)(pUlpReq->apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle)); - - NW_ASSERT(pRemovedTeid == (NwGtpv1uTunnelEndPointT*)(pUlpReq->apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle)); - - rc = nwGtpTunnelEndPointDestroy(thiz, (NwGtpv1uTunnelEndPointT*) pUlpReq->apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle); - } - else - { - NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Non-existent Tunnel end-point handle '%x'", pUlpReq->apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle); - } - - return rc; -} - -/** - Process NW_GTPV1U_ULP_API_INITIAL_REQ Request from ULP entity. - - @param[in] hGtpuStackHandle : Stack handle - @param[in] pUlpReq : Pointer to Ulp Req. - @return NW_GTPV1U_OK on success. - */ - -static NwGtpv1uRcT -nwGtpv1uInitialReq( NW_IN NwGtpv1uStackT* thiz, NW_IN NwGtpv1uUlpApiT *pUlpReq) -{ - NwGtpv1uRcT rc; - NwGtpv1uTrxnT *pTrxn; - - NW_ENTER(thiz); - - /* Create New Transaction */ - rc = nwGtpv1uTrxnNew(thiz, &pTrxn); - - if(pTrxn) - { - rc = nwGtpv1uTrxnCreateAndSendMsg(thiz, - pTrxn, - pUlpReq->apiInfo.initialReqInfo.peerIp, - pUlpReq->apiInfo.initialReqInfo.peerPort, - (NwGtpv1uMsgT*) pUlpReq->hMsg); - - if(rc == NW_GTPV1U_OK) - { - /* Insert into search tree */ - RB_INSERT(NwGtpv1uOutstandingTxSeqNumTrxnMap, &(thiz->outstandingTxSeqNumMap), pTrxn); - } - else - { - rc = nwGtpv1uTrxnDelete(&pTrxn); - NW_ASSERT(rc == NW_GTPV1U_OK); - } - } - - NW_LEAVE(thiz); - - return rc; -} - -/** - Process NW_GTPV1U_ULP_API_SEND_TPDU Request from ULP entity. - - @param[in] thiz: Stack handle - @param[in] pUlpReq : Pointer to Ulp Req. - @return NW_GTPV1U_OK on success. - */ - -static NwGtpv1uRcT -nwGtpv1uSendto( NwGtpv1uStackT* thiz, NW_IN NwGtpv1uUlpApiT *pUlpReq) -{ - NwGtpv1uRcT rc; - - NW_ASSERT(thiz); - NW_ENTER(thiz); - - (void) nwGtpv1uMsgSetTeid(pUlpReq->apiInfo.sendtoInfo.hMsg, pUlpReq->apiInfo.sendtoInfo.teid); - - rc = nwGtpv1uCreateAndSendMsg(thiz, - pUlpReq->apiInfo.sendtoInfo.ipAddr, - 2152, - (NwGtpv1uMsgT*) (NwGtpv1uMsgT*) pUlpReq->apiInfo.sendtoInfo.hMsg); - - NW_LEAVE(thiz); - return rc; -} - -/** - Process GPDU from UDP entity. - - @param[in] thiz: Stack handle - @param[in] pUlpReq : Pointer to Ulp Req. - @return NW_GTPV1U_OK on success. - */ - -static NwGtpv1uRcT -nwGtpv1uProcessGpdu( NwGtpv1uStackT* thiz, - NW_IN NwU8T* gpdu, - NW_IN NwU32T gdpuLen, - NW_IN NwU32T peerIp) - -{ - NwGtpv1uRcT rc; - NwGtpv1uMsgHeaderT* msgHdr; - NwGtpv1uTunnelEndPointT* pTunnelEndPoint; - NwGtpv1uTunnelEndPointT tunnelEndPointKey; - - NW_ENTER(thiz); - - msgHdr = (NwGtpv1uMsgHeaderT*) gpdu; - - tunnelEndPointKey.teid = ntohl(msgHdr->teid); - pTunnelEndPoint = RB_FIND(NwGtpv1uTunnelEndPointIdentifierMap, &(thiz->teidMap), &tunnelEndPointKey); - - if(pTunnelEndPoint) - { - NwGtpv1uMsgHandleT hMsg; - - rc = nwGtpv1uMsgFromBufferNew( (NwGtpv1uStackHandleT)thiz, - (NwU8T*)gpdu, - gdpuLen, - &hMsg); - - if(NW_GTPV1U_OK == rc) - { - NwGtpv1uMsgT* pMsg = (NwGtpv1uMsgT*) hMsg; - NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received T-PDU over tunnel end-point '%x' of size %u from "NW_IPV4_ADDR, ntohl(msgHdr->teid), pMsg->msgLen, NW_IPV4_ADDR_FORMAT((peerIp))); - rc = nwGtpSessionSendMsgApiToUlpEntity(pTunnelEndPoint, pMsg); - } - } - else - { - NW_LOG(thiz, NW_LOG_LEVEL_ERRO, "Received T-PDU over non-existent tunnel end-point '%x' from "NW_IPV4_ADDR, ntohl(msgHdr->teid), NW_IPV4_ADDR_FORMAT((peerIp))); - } - NW_LEAVE(thiz); - - return rc; -} - -/** - Handle Echo Request from Peer Entity. - - @param[in] thiz : Stack context - @return NW_GTPV1U_OK on success. - */ - -static NwGtpv1uRcT -nwGtpv1uHandleEchoReq(NW_IN NwGtpv1uStackT *thiz, - NW_IN NwU8T* msgBuf, - NW_IN NwU32T msgBufLen, - NW_IN NwU16T peerPort, - NW_IN NwU32T peerIp) -{ - NwGtpv1uRcT rc; - NwU16T seqNum = 0; - NwGtpv1uMsgHandleT hMsg = 0; - - seqNum = ntohs(*(NwU16T*) (msgBuf + (((*msgBuf) & 0x02) ? 8 : 4))); - - /* Send Echo Response */ - - rc = nwGtpv1uMsgNew( (NwGtpv1uStackHandleT)thiz, - NW_TRUE, /* SeqNum flag */ - NW_FALSE, - NW_FALSE, - NW_GTP_ECHO_RSP, /* Msg Type */ - 0x00000000U, /* TEID */ - seqNum, /* Seq Number */ - 0, - 0, - (&hMsg)); - - NW_ASSERT(NW_GTPV1U_OK == rc); - - /* - * The Restart Counter value in the Recovery information element shall - * not be used, i.e. it shall be set to zero by the sender and shall be - * ignored by the receiver. - */ - rc = nwGtpv1uMsgAddIeTV1(hMsg, NW_GTPV1U_IE_RECOVERY, 0x00); - - NW_LOG(thiz, NW_LOG_LEVEL_INFO, "Sending NW_GTP_ECHO_RSP message to %x:%x with seq %u", peerIp, peerPort, seqNum); - - rc = nwGtpv1uCreateAndSendMsg(thiz, - peerIp, - peerPort, - (NwGtpv1uMsgT*) hMsg); - - rc = nwGtpv1uMsgDelete((NwGtpv1uStackHandleT)thiz, hMsg); - NW_ASSERT(NW_GTPV1U_OK == rc); - - return rc; -} - -/*--------------------------------------------------------------------------* - * P U B L I C F U N C T I O N S * - *--------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- - * Constructor - *--------------------------------------------------------------------------*/ - -NwGtpv1uRcT -nwGtpv1uInitialize( NW_INOUT NwGtpv1uStackHandleT* hGtpuStackHandle) -{ - NwGtpv1uRcT rc; - NwGtpv1uStackT* thiz; - - thiz = (NwGtpv1uStackT*) malloc( sizeof(NwGtpv1uStackT)); - - if(thiz) - { - thiz->id = (NwU32T) thiz; - thiz->seq = (NwU16T) ((NwU32T)thiz) ; - RB_INIT(&(thiz->outstandingTxSeqNumMap)); - RB_INIT(&(thiz->outstandingRxSeqNumMap)); - if (0 == 1) - nwGtpv1uDisplayBanner(thiz); - - rc = NW_GTPV1U_OK; - } - else - { - rc = NW_GTPV1U_FAILURE; - } - - - *hGtpuStackHandle = (NwGtpv1uStackHandleT) thiz; - return rc; -} - - -/*--------------------------------------------------------------------------- - * Destructor - *--------------------------------------------------------------------------*/ - -NwGtpv1uRcT -nwGtpv1uFinalize( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle) -{ - NwGtpv1uRcT rc; - if(hGtpuStackHandle) - { - free((void*)hGtpuStackHandle); - rc = NW_GTPV1U_OK; - } - else - { - rc = NW_GTPV1U_FAILURE; - } - return rc; -} - - -/*--------------------------------------------------------------------------- - * Configuration Get/Set - *--------------------------------------------------------------------------*/ - -NwGtpv1uRcT -nwGtpv1uSetUlpEntity( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwGtpv1uUlpEntityT* pUlpEntity) -{ - NwGtpv1uRcT rc; - NwGtpv1uStackT* thiz = (NwGtpv1uStackT*) hGtpuStackHandle; - - if(pUlpEntity) - { - thiz->ulp = *(pUlpEntity); - rc = NW_GTPV1U_OK; - } - else - { - rc = NW_GTPV1U_FAILURE; - } - - return rc; -} - - -NwGtpv1uRcT -nwGtpv1uSetUdpEntity( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwGtpv1uUdpEntityT* pUdpEntity) -{ - NwGtpv1uRcT rc; - NwGtpv1uStackT* thiz = (NwGtpv1uStackT*) hGtpuStackHandle; - - if(pUdpEntity) - { - thiz->udp = *(pUdpEntity); - rc = NW_GTPV1U_OK; - } - else - { - rc = NW_GTPV1U_FAILURE; - } - - return rc; -} - -NwGtpv1uRcT -nwGtpv1uSetMemMgrEntity( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwGtpv1uMemMgrEntityT* pMemMgrEntity) -{ - NwGtpv1uRcT rc; - NwGtpv1uStackT* thiz = (NwGtpv1uStackT*) hGtpuStackHandle; - - if(pMemMgrEntity) - { - thiz->memMgr = *(pMemMgrEntity); - rc = NW_GTPV1U_OK; - } - else - { - rc = NW_GTPV1U_FAILURE; - } - - return rc; -} - - -NwGtpv1uRcT -nwGtpv1uSetTimerMgrEntity( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwGtpv1uTimerMgrEntityT* pTmrMgrEntity) -{ - NwGtpv1uRcT rc; - NwGtpv1uStackT* thiz = (NwGtpv1uStackT*) hGtpuStackHandle; - - if(pTmrMgrEntity) - { - thiz->tmrMgr = *(pTmrMgrEntity); - rc = NW_GTPV1U_OK; - } - else - { - rc = NW_GTPV1U_FAILURE; - } - - return rc; -} - - -NwGtpv1uRcT -nwGtpv1uSetLogMgrEntity( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwGtpv1uLogMgrEntityT* pLogMgrEntity) -{ - NwGtpv1uRcT rc; - NwGtpv1uStackT* thiz = (NwGtpv1uStackT*) hGtpuStackHandle; - - if(pLogMgrEntity) - { - thiz->logMgr = *(pLogMgrEntity); - rc = NW_GTPV1U_OK; - } - else - { - rc = NW_GTPV1U_FAILURE; - } - return rc; -} - -NwGtpv1uRcT -nwGtpv1uSetLogLevel( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwU32T logLevel) -{ - NwGtpv1uStackT* thiz = (NwGtpv1uStackT*) hGtpuStackHandle; - thiz->logLevel = logLevel; - return NW_GTPV1U_OK; -} - -/*--------------------------------------------------------------------------- - * Process Request from Udp Layer - *--------------------------------------------------------------------------*/ - -NwGtpv1uRcT -nwGtpv1uProcessUdpReq( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwU8T* udpData, - NW_IN NwU32T udpDataLen, - NW_IN NwU16T peerPort, - NW_IN NwU32T peerIp) -{ - NwGtpv1uRcT rc; - NwGtpv1uStackT* thiz; - NwU16T msgType; - - rc = NW_GTPV1U_FAILURE; - thiz = (NwGtpv1uStackT*) hGtpuStackHandle; - - NW_ASSERT(thiz); - - msgType = *((NwU8T*)(udpData + 1)); - - switch(msgType) - { - case NW_GTP_ECHO_REQ: - rc = nwGtpv1uHandleEchoReq( thiz, udpData, udpDataLen, peerPort, peerIp); - break; - - case NW_GTP_ERROR_INDICATION: - - rc = nwGtpv1uSendUlpMessageIndication( thiz, - 0, - NW_GTPV1U_ULP_API_RECV_MSG, - msgType, - peerIp, - peerPort, - udpData, - udpDataLen); - - NW_ASSERT(rc == NW_GTPV1U_OK); - - break; - - case NW_GTP_ECHO_RSP: - rc = NW_GTPV1U_OK; - break; - - case NW_GTP_GPDU: - rc = nwGtpv1uProcessGpdu(thiz, udpData, udpDataLen, peerIp); - break; - - default: - NW_ASSERT(0); - break; - } - - NW_LEAVE(thiz); - return rc; -} - - -/*--------------------------------------------------------------------------- - * Process Request from Upper Layer - *--------------------------------------------------------------------------*/ - -NwGtpv1uRcT -nwGtpv1uProcessUlpReq( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwGtpv1uUlpApiT *pUlpReq) -{ - NwGtpv1uRcT rc = NW_GTPV1U_FAILURE; - NwGtpv1uStackT* thiz = (NwGtpv1uStackT*) hGtpuStackHandle; - - NW_ASSERT(thiz); - NW_ASSERT(pUlpReq != NULL); - - NW_ENTER(thiz); - - switch(pUlpReq->apiType) - { - case NW_GTPV1U_ULP_API_CREATE_TUNNEL_ENDPOINT: - { - NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received create session req from ulp"); - rc = NwGtpv1uCreateTunnelEndPoint(thiz, - pUlpReq->apiInfo.createTunnelEndPointInfo.teid, - pUlpReq->apiInfo.createTunnelEndPointInfo.hUlpSession, - &(pUlpReq->apiInfo.createTunnelEndPointInfo.hStackSession)); - } - break; - - case NW_GTPV1U_ULP_API_DESTROY_TUNNEL_ENDPOINT: - { - NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received destroy session req from ulp"); - rc = nwGtpv1uDestroyTunnelEndPoint(thiz, pUlpReq); - } - break; - - case NW_GTPV1U_ULP_API_INITIAL_REQ: - { - NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received initial req from ulp"); - rc = nwGtpv1uInitialReq(thiz, pUlpReq); - } - break; - - case NW_GTPV1U_ULP_API_SEND_TPDU: - { - NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received send tpdu req from ulp"); - rc = nwGtpv1uSendto(thiz, pUlpReq); - } - break; - - default: - NW_LOG(thiz, NW_LOG_LEVEL_ERRO, "Unsupported API received from ulp"); - rc = NW_GTPV1U_FAILURE; - break; - } - - NW_LEAVE(thiz); - - return rc; -} - -/*--------------------------------------------------------------------------- - * Process Timer timeout Request from Timer Manager - *--------------------------------------------------------------------------*/ - -NwGtpv1uRcT -nwGtpv1uProcessTimeout(void* timeoutInfo) -{ - NwGtpv1uRcT rc; - NwGtpv1uStackT* thiz; - - NW_ASSERT(timeoutInfo != NULL); - - thiz = (NwGtpv1uStackT*) (((NwGtpv1uTimeoutInfoT*) timeoutInfo)->hStack); - - NW_ASSERT(thiz != NULL); - - NW_ENTER(thiz); - NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received timeout event from ULP with timeoutInfo %x!", (unsigned int)timeoutInfo); - - rc = (((NwGtpv1uTimeoutInfoT*) timeoutInfo)->timeoutCallbackFunc) (timeoutInfo); - - NW_LEAVE(thiz); - - return rc; -} - -#ifdef __cplusplus -} -#endif - -/*--------------------------------------------------------------------------* - * E N D O F F I L E * - *--------------------------------------------------------------------------*/ - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c deleted file mode 100644 index 89e9273ad3..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c +++ /dev/null @@ -1,487 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * n w - g t p v 2 u * - * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k * - * * - * * - * Copyright (c) 2010-2011 Amit Chawre * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with or without * - * modification, are permitted provided that the following conditions * - * are met: * - * * - * 1. Redistributions of source code must retain the above copyright * - * notice, this list of conditions and the following disclaimer. * - * 2. Redistributions in binary form must reproduce the above copyright * - * notice, this list of conditions and the following disclaimer in the * - * documentation and/or other materials provided with the distribution. * - * 3. The name of the author may not be used to endorse or promote products * - * derived from this software without specific prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - *----------------------------------------------------------------------------*/ - -#include <stdio.h> -#include <string.h> -#include <ctype.h> - -#include "NwTypes.h" -#include "NwLog.h" -#include "NwUtils.h" -#include "NwGtpv1uLog.h" -#include "NwGtpv1u.h" -#include "NwGtpv1uPrivate.h" -#include "NwGtpv1uMsg.h" - -#define NW_GTPV1U_EPC_SPECIFIC_HEADER_SIZE (12) /**< Size of GTPv1u EPC specific header */ - -#ifdef __cplusplus -extern "C" { -#endif - -static NwGtpv1uMsgT* gpGtpv1uMsgPool = NULL; - -NwGtpv1uRcT -nwGtpv1uMsgNew( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwU8T seqNumFlag, - NW_IN NwU8T npduNumFlag, - NW_IN NwU8T extHdrFlag, - NW_IN NwU8T msgType, - NW_IN NwU8T teid, - NW_IN NwU16T seqNum, - NW_IN NwU8T npduNum, - NW_IN NwU8T nextExtHeader, - NW_OUT NwGtpv1uMsgHandleT *phMsg) -{ - NwGtpv1uStackT* pStack = (NwGtpv1uStackT*) hGtpuStackHandle; - NwGtpv1uMsgT *pMsg; - - if(gpGtpv1uMsgPool) - { - pMsg = gpGtpv1uMsgPool; - gpGtpv1uMsgPool = gpGtpv1uMsgPool->next; - } - else - { - NW_GTPV1U_MALLOC(pStack, sizeof(NwGtpv1uMsgT), pMsg, NwGtpv1uMsgT*); - } - - - if(pMsg) - { - pMsg->version = NW_GTPU_VERSION; - pMsg->protocolType = NW_GTP_PROTOCOL_TYPE_GTP; - pMsg->seqNumFlag = seqNumFlag; - pMsg->npduNumFlag = npduNumFlag; - pMsg->extHdrFlag = extHdrFlag; - pMsg->msgType = msgType; - - if(seqNumFlag) - pMsg->seqNum = seqNum; - if(npduNumFlag) - pMsg->npduNum = npduNum; - if(extHdrFlag) - pMsg->nextExtHdrType = nextExtHeader; - - pMsg->msgLen = ((pMsg->seqNumFlag || pMsg->npduNumFlag || pMsg->extHdrFlag) ? - NW_GTPV1U_EPC_SPECIFIC_HEADER_SIZE : (NW_GTPV1U_EPC_SPECIFIC_HEADER_SIZE - 4)); - - *phMsg = (NwGtpv1uMsgHandleT) pMsg; - return NW_GTPV1U_OK; - } - - return NW_GTPV1U_FAILURE; -} - -NwGtpv1uRcT -nwGtpv1uGpduMsgNew( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwU32T teid, - NW_IN NwU8T seqNumFlag, - NW_IN NwU16T seqNum, - NW_IN NwU8T* tpdu, - NW_IN NwU16T tpduLength, - NW_OUT NwGtpv1uMsgHandleT *phMsg) -{ - NwGtpv1uStackT* pStack = (NwGtpv1uStackT*) hGtpuStackHandle; - NwGtpv1uMsgT *pMsg; - - if(gpGtpv1uMsgPool) - { - pMsg = gpGtpv1uMsgPool; - gpGtpv1uMsgPool = gpGtpv1uMsgPool->next; - } - else - { - NW_GTPV1U_MALLOC(pStack, sizeof(NwGtpv1uMsgT), pMsg, NwGtpv1uMsgT*); - } - - if(pMsg) - { - pMsg->version = NW_GTPU_VERSION; - pMsg->protocolType = NW_GTP_PROTOCOL_TYPE_GTP; - pMsg->extHdrFlag = NW_FALSE; - pMsg->seqNumFlag = (seqNumFlag? NW_TRUE : NW_FALSE); - pMsg->npduNumFlag = NW_FALSE; - pMsg->msgType = NW_GTP_GPDU; - pMsg->teid = teid; - pMsg->seqNum = seqNum; - pMsg->npduNum = 0x00; - pMsg->nextExtHdrType= 0x00; - pMsg->msgLen = ((pMsg->seqNumFlag || pMsg->npduNumFlag || pMsg->extHdrFlag ) ? - NW_GTPV1U_EPC_SPECIFIC_HEADER_SIZE : (NW_GTPV1U_EPC_SPECIFIC_HEADER_SIZE - 4)); - - memcpy(pMsg->msgBuf + pMsg->msgLen, tpdu, tpduLength); - pMsg->msgLen += tpduLength; - - *phMsg = (NwGtpv1uMsgHandleT) pMsg; - return NW_GTPV1U_OK; - } - - return NW_GTPV1U_FAILURE; -} - -NwGtpv1uRcT -nwGtpv1uMsgFromMsgNew( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwGtpv1uMsgHandleT hMsg, - NW_OUT NwGtpv1uMsgHandleT *phMsg) -{ - NwGtpv1uStackT* pStack = (NwGtpv1uStackT*) hGtpuStackHandle; - NwGtpv1uMsgT *pMsg; - - if(gpGtpv1uMsgPool) - { - pMsg = gpGtpv1uMsgPool; - gpGtpv1uMsgPool = gpGtpv1uMsgPool->next; - } - else - { - NW_GTPV1U_MALLOC(pStack, sizeof(NwGtpv1uMsgT), pMsg, NwGtpv1uMsgT*); - } - - - if(pMsg) - { - memcpy(pMsg, (NwGtpv1uMsgT*)hMsg, sizeof(NwGtpv1uMsgT)); - *phMsg = (NwGtpv1uMsgHandleT) pMsg; - return NW_GTPV1U_OK; - } - return NW_GTPV1U_FAILURE; -} - -NwGtpv1uRcT -nwGtpv1uMsgFromBufferNew( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwU8T* pBuf, - NW_IN NwU32T bufLen, - NW_OUT NwGtpv1uMsgHandleT *phMsg) -{ - NwGtpv1uStackT* pStack = (NwGtpv1uStackT*) hGtpuStackHandle; - NwGtpv1uMsgT *pMsg; - - if(gpGtpv1uMsgPool) - { - pMsg = gpGtpv1uMsgPool; - gpGtpv1uMsgPool = gpGtpv1uMsgPool->next; - } - else - { - NW_GTPV1U_MALLOC(pStack, sizeof(NwGtpv1uMsgT), pMsg, NwGtpv1uMsgT*); - } - - - if(pMsg) - { - memcpy(pMsg->msgBuf, pBuf, bufLen); - pMsg->msgLen = bufLen; - - pMsg->version = ((*pBuf) & 0xE0) >> 5; - pMsg->protocolType = ((*pBuf) & 0x10) >> 4; - pMsg->extHdrFlag = ((*pBuf) & 0x04) >> 2; - pMsg->seqNumFlag = ((*pBuf) & 0x02) >> 1; - pMsg->npduNumFlag = ((*pBuf) & 0x01); - pBuf++; - - pMsg->msgType = *(pBuf); - pBuf++; - - pBuf += 2; - - pMsg->teid = ntohl(*((NwU32T*)pBuf)); - pBuf += 4; - - if(pMsg->extHdrFlag || pMsg->seqNumFlag || pMsg->npduNumFlag) - { - pMsg->seqNum = ntohs(*(((NwU16T*)pBuf))); - pBuf += 2; - pMsg->npduNum = *(pBuf++); - pMsg->nextExtHdrType = *(pBuf++); - } - *phMsg = (NwGtpv1uMsgHandleT) pMsg; - return NW_GTPV1U_OK; - } - return NW_GTPV1U_FAILURE; -} - -NwGtpv1uRcT -nwGtpv1uMsgDelete( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle, - NW_IN NwGtpv1uMsgHandleT hMsg) -{ - ((NwGtpv1uMsgT*)hMsg)->next = gpGtpv1uMsgPool; - gpGtpv1uMsgPool = (NwGtpv1uMsgT*) hMsg; - return NW_GTPV1U_OK; -} - - /** - * Set TEID for gtpv1u message. - * - * @param[in] hMsg : Message handle. - * @param[in] teid: TEID value. - */ - -NwGtpv1uRcT -nwGtpv1uMsgSetTeid(NW_IN NwGtpv1uMsgHandleT hMsg, NwU32T teid) -{ - NwGtpv1uMsgT *thiz = (NwGtpv1uMsgT*) hMsg; - thiz->teid = teid; - return NW_GTPV1U_OK; -} - - /** - * Set sequence for gtpv1u message. - * - * @param[in] hMsg : Message handle. - * @param[in] seqNum: Flag boolean value. - */ - -NwGtpv1uRcT -nwGtpv1uMsgSetSeqNumber(NW_IN NwGtpv1uMsgHandleT hMsg, NwU32T seqNum) -{ - NwGtpv1uMsgT *thiz = (NwGtpv1uMsgT*) hMsg; - thiz->seqNum = seqNum; - return NW_GTPV1U_OK; -} - - /** - * Get TEID present for gtpv1u message. - * - * @param[in] hMsg : Message handle. - */ - -NwU32T -nwGtpv1uMsgGetTeid(NW_IN NwGtpv1uMsgHandleT hMsg) -{ - NwGtpv1uMsgT *thiz = (NwGtpv1uMsgT*) hMsg; - return (thiz->teid); -} - - - /** - * Get sequence number for gtpv1u message. - * - * @param[in] hMsg : Message handle. - */ - -NwU32T -nwGtpv1uMsgGetSeqNumber(NW_IN NwGtpv1uMsgHandleT hMsg) -{ - NwGtpv1uMsgT *thiz = (NwGtpv1uMsgT*) hMsg; - return (thiz->seqNum); -} - - /** - * Get msg type for gtpv1u message. - * - * @param[in] hMsg : Message handle. - */ - -NwU32T -nwGtpv1uMsgGetMsgType(NW_IN NwGtpv1uMsgHandleT hMsg) -{ - NwGtpv1uMsgT *thiz = (NwGtpv1uMsgT*) hMsg; - return (thiz->msgType); -} - - /** - * Get tpdu for gtpv1u message. - * - * @param[in] hMsg : Message handle. - */ - -NwGtpv1uRcT -nwGtpv1uMsgGetTpdu(NW_IN NwGtpv1uMsgHandleT hMsg, NwU8T* pTpduBuf, NwU32T* pTpduLength) -{ - NwGtpv1uMsgT *thiz = (NwGtpv1uMsgT*) hMsg; - NwU8T headerLength = ((thiz->seqNumFlag || thiz->extHdrFlag || thiz->npduNumFlag) ? 12 : 8); - - *pTpduLength = thiz->msgLen - headerLength; - memcpy(pTpduBuf, thiz->msgBuf + headerLength, *pTpduLength); - return NW_GTPV1U_OK; -} - -NwU8T* -nwGtpv1uMsgGetTpduHandle(NW_IN NwGtpv1uMsgHandleT hMsg) -{ - NwGtpv1uMsgT *thiz = (NwGtpv1uMsgT*) hMsg; - return (thiz->msgBuf + ((thiz->seqNumFlag || thiz->extHdrFlag || thiz->npduNumFlag) ? 12 : 8)); -} - -NwU32T -nwGtpv1uMsgGetTpduLength(NW_IN NwGtpv1uMsgHandleT hMsg) -{ - NwGtpv1uMsgT *thiz = (NwGtpv1uMsgT*) hMsg; - return (thiz->msgLen - ((thiz->seqNumFlag || thiz->extHdrFlag || thiz->npduNumFlag) ? 12 : 8)); -} - -NwGtpv1uRcT -nwGtpv1uMsgAddIeTV1(NW_IN NwGtpv1uMsgHandleT hMsg, - NW_IN NwU8T type, - NW_IN NwU8T value) -{ - NwGtpv1uMsgT *pMsg = (NwGtpv1uMsgT*) hMsg; - NwGtpv1uIeTv1T *pIe; - - pIe = (NwGtpv1uIeTv1T*) (pMsg->msgBuf + pMsg->msgLen); - - pIe->t = type; - pIe->v = value; - - pMsg->msgLen += sizeof(NwGtpv1uIeTv1T); - - return NW_GTPV1U_OK; -} - -NwGtpv1uRcT -nwGtpv1uMsgAddIeTV2(NW_IN NwGtpv1uMsgHandleT hMsg, - NW_IN NwU8T type, - NW_IN NwU16T length, - NW_IN NwU16T value) -{ - NwGtpv1uMsgT *pMsg = (NwGtpv1uMsgT*) hMsg; - NwGtpv1uIeTv2T *pIe; - - pIe = (NwGtpv1uIeTv2T*) (pMsg->msgBuf + pMsg->msgLen); - - pIe->t = type; - pIe->v = htons(value); - - pMsg->msgLen += sizeof(NwGtpv1uIeTv2T); - - return NW_GTPV1U_OK; -} - -NwGtpv1uRcT -nwGtpv1uMsgAddIeTV4(NW_IN NwGtpv1uMsgHandleT hMsg, - NW_IN NwU8T type, - NW_IN NwU16T length, - NW_IN NwU32T value) -{ - NwGtpv1uMsgT *pMsg = (NwGtpv1uMsgT*) hMsg; - NwGtpv1uIeTv4T *pIe; - - pIe = (NwGtpv1uIeTv4T*) (pMsg->msgBuf + pMsg->msgLen); - - pIe->t = type; - pIe->v = htonl(value); - - pMsg->msgLen += sizeof(NwGtpv1uIeTv4T); - - return NW_GTPV1U_OK; -} - -NwGtpv1uRcT -nwGtpv1uMsgAddIe(NW_IN NwGtpv1uMsgHandleT hMsg, - NW_IN NwU8T type, - NW_IN NwU16T length, - NW_IN NwU8T* pVal) -{ - NwGtpv1uMsgT *pMsg = (NwGtpv1uMsgT*) hMsg; - NwGtpv1uIeTlvT *pIe; - - pIe = (NwGtpv1uIeTlvT*) (pMsg->msgBuf + pMsg->msgLen); - - pIe->t = type; - pIe->l = htons(length); - - memcpy(pIe + 4, pVal, length); - pMsg->msgLen += (4 + length); - - return NW_GTPV1U_OK; -} - -NwGtpv1uRcT -nwGtpv1uMsgHexDump(NwGtpv1uMsgHandleT hMsg, FILE* fp) -{ - - NwGtpv1uMsgT* pMsg = (NwGtpv1uMsgT*) hMsg; - NwU8T* data = pMsg->msgBuf; - NwU32T size = pMsg->msgLen; - - unsigned char *p = (unsigned char*)data; - unsigned char c; - int n; - char bytestr[4] = {0}; - char addrstr[10] = {0}; - char hexstr[ 16*3 + 5] = {0}; - char charstr[16*1 + 5] = {0}; - fprintf((FILE*)fp, "\n"); - for(n=1;n<=size;n++) { - if (n%16 == 1) { - /* store address for this line */ - snprintf(addrstr, sizeof(addrstr), "%.4x", - ((unsigned int)p-(unsigned int)data) ); - } - - c = *p; - if (isalnum(c) == 0) { - c = '.'; - } - - /* store hex str (for left side) */ - snprintf(bytestr, sizeof(bytestr), "%02X ", *p); - strncat(hexstr, bytestr, sizeof(hexstr)-strlen(hexstr)-1); - - /* store char str (for right side) */ - snprintf(bytestr, sizeof(bytestr), "%c", c); - strncat(charstr, bytestr, sizeof(charstr)-strlen(charstr)-1); - if(n%16 == 0) { - /* line completed */ - fprintf((FILE*)fp, "[%4.4s] %-50.50s %s\n", addrstr, hexstr, charstr); - hexstr[0] = 0; - charstr[0] = 0; - } else if(n%8 == 0) { - /* half line: add whitespaces */ - strncat(hexstr, " ", sizeof(hexstr)-strlen(hexstr)-1); - strncat(charstr, " ", sizeof(charstr)-strlen(charstr)-1); - } - p++; /* next byte */ - } - - if (strlen(hexstr) > 0) { - /* print rest of buffer if not empty */ - fprintf((FILE*)fp, "[%4.4s] %-50.50s %s\n", addrstr, hexstr, charstr); - - } - fprintf((FILE*)fp, "\n"); - - return NW_GTPV1U_OK; -} - -#ifdef __cplusplus -} -#endif - - - -/*--------------------------------------------------------------------------* - * E N D O F F I L E * - *--------------------------------------------------------------------------*/ - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c deleted file mode 100644 index 7aa86c658d..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c +++ /dev/null @@ -1,411 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * n w - g t p v 2 u * - * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k * - * * - * * - * Copyright (c) 2010-2011 Amit Chawre * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with or without * - * modification, are permitted provided that the following conditions * - * are met: * - * * - * 1. Redistributions of source code must retain the above copyright * - * notice, this list of conditions and the following disclaimer. * - * 2. Redistributions in binary form must reproduce the above copyright * - * notice, this list of conditions and the following disclaimer in the * - * documentation and/or other materials provided with the distribution. * - * 3. The name of the author may not be used to endorse or promote products * - * derived from this software without specific prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - *----------------------------------------------------------------------------*/ - -#include <stdio.h> -#include <string.h> -#include <ctype.h> - -#include "NwTypes.h" -#include "NwLog.h" -#include "NwUtils.h" -#include "NwGtpv1uLog.h" -#include "NwGtpv1u.h" -#include "NwGtpv1uPrivate.h" -#include "NwGtpv1uTrxn.h" - -/*--------------------------------------------------------------------------* - * P R I V A T E D E C L A R A T I O N S * - *--------------------------------------------------------------------------*/ - -#ifdef __cplusplus -extern "C" { -#endif - -static NwGtpv1uTrxnT* gpGtpv1uTrxnPool = NULL; - -/*--------------------------------------------------------------------------* - * P R I V A T E F U N C T I O N S * - *--------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- - * Send msg retransmission to peer via data request to UDP Entity - *--------------------------------------------------------------------------*/ - -static NwGtpv1uRcT -nwGtpv1uTrxnSendMsgRetransmission(NwGtpv1uTrxnT* thiz) -{ - NwGtpv1uRcT rc; - - NW_ASSERT(thiz); - NW_ASSERT(thiz->pMsg); - - rc = thiz->pStack->udp.udpDataReqCallback(thiz->pStack->udp.hUdp, - thiz->pMsg->msgBuf, - thiz->pMsg->msgLen, - thiz->peerIp, - thiz->peerPort); - - return rc; -} - -static NwGtpv1uRcT -nwGtpv1uTrxnPeerRspTimeout(void* arg) -{ - NwGtpv1uRcT rc = NW_GTPV1U_OK; - NwGtpv1uTrxnT* thiz; - NwGtpv1uStackT* pStack; - NwGtpv1uTimeoutInfoT *timeoutInfo = arg; - - thiz = ((NwGtpv1uTrxnT*)timeoutInfo->timeoutArg); - pStack = thiz->pStack; - - NW_ASSERT(pStack); - - NW_LOG(pStack, NW_LOG_LEVEL_WARN, "T3 timer expired for transaction 0x%x", (unsigned int)thiz); - - rc = nwGtpv1uTrxnSendMsgRetransmission(thiz); - - if(thiz->maxRetries) - { - rc = pStack->tmrMgr.tmrStartCallback(pStack->tmrMgr.tmrMgrHandle, thiz->t3Timer, 0, NW_GTPV1U_TMR_TYPE_ONE_SHOT, (void*)timeoutInfo, &thiz->hRspTmr); - thiz->maxRetries--; - } - else - { - NwGtpv1uUlpApiT ulpApi; - ulpApi.apiType = NW_GTPV1U_ULP_API_RSP_FAILURE; - ulpApi.apiInfo.recvMsgInfo.msgType = nwGtpv1uMsgGetMsgType((NwGtpv1uMsgHandleT)thiz->pMsg); - ulpApi.apiInfo.recvMsgInfo.hUlpTrxn = thiz->hUlpTrxn; - ulpApi.apiInfo.recvMsgInfo.peerIp = thiz->peerIp; - ulpApi.apiInfo.recvMsgInfo.peerPort = thiz->peerPort; - thiz->hRspTmr = 0; - - rc = nwGtpv1uTrxnDelete(&thiz); - NW_ASSERT(rc == NW_GTPV1U_OK); - - rc = pStack->ulp.ulpReqCallback(pStack->ulp.hUlp, &ulpApi); - NW_ASSERT(rc == NW_GTPV1U_OK); - } - return rc; -} - -/** - Send timer start request to TmrMgr Entity. - - @param[in] thiz : Pointer to transaction - @param[in] timeoutCallbackFunc : Timeout handler callback function. - @return NW_GTPV1U_OK on success. - */ - -static NwGtpv1uRcT -nwGtpv1uTrxnStartPeerRspTimer(NwGtpv1uTrxnT* thiz, NwGtpv1uRcT (*timeoutCallbackFunc)(void*)) -{ - NwGtpv1uRcT rc; - NwGtpv1uTimeoutInfoT *timeoutInfo; - - NW_ASSERT(thiz->pStack->tmrMgr.tmrStartCallback != NULL); - - timeoutInfo = &thiz->peerRspTimeoutInfo; - timeoutInfo->timeoutArg = thiz; - timeoutInfo->timeoutCallbackFunc = timeoutCallbackFunc; - timeoutInfo->hStack = (NwGtpv1uStackHandleT)thiz->pStack; - - rc = thiz->pStack->tmrMgr.tmrStartCallback(thiz->pStack->tmrMgr.tmrMgrHandle, thiz->t3Timer, 0, NW_GTPV1U_TMR_TYPE_ONE_SHOT, (void*)timeoutInfo, &thiz->hRspTmr); - - return rc; -} - -/** - Send timer stop request to TmrMgr Entity. - - @param[in] thiz : Pointer to transaction - @return NW_GTPV1U_OK on success. - */ - -static NwGtpv1uRcT -nwGtpv1uTrxnStopPeerRspTimer(NwGtpv1uTrxnT* thiz) -{ - NwGtpv1uRcT rc; - - NW_ASSERT(thiz->pStack->tmrMgr.tmrStopCallback != NULL); - - rc = thiz->pStack->tmrMgr.tmrStopCallback(thiz->pStack->tmrMgr.tmrMgrHandle, thiz->hRspTmr); - - thiz->hRspTmr = 0; - - return rc; -} - -/*--------------------------------------------------------------------------* - * P U B L I C F U N C T I O N S * - *--------------------------------------------------------------------------*/ - -/** - * Constructor - * - * @param[in] thiz : Pointer to stack - * @param[out] ppTrxn : Pointer to pointer to Trxn object. - * @return NW_GTPV1U_OK on success. - */ -NwGtpv1uRcT -nwGtpv1uTrxnNew( NW_IN NwGtpv1uStackT* thiz, - NW_OUT NwGtpv1uTrxnT **ppTrxn) -{ - NwGtpv1uRcT rc = NW_GTPV1U_OK; - NwGtpv1uTrxnT *pTrxn; - - if(gpGtpv1uTrxnPool) - { - pTrxn = gpGtpv1uTrxnPool; - gpGtpv1uTrxnPool = gpGtpv1uTrxnPool->next; - } - else - { - NW_GTPV1U_MALLOC(thiz, sizeof(NwGtpv1uTrxnT), pTrxn, NwGtpv1uTrxnT*); - } - - if (pTrxn) - { - pTrxn->maxRetries = 2; - pTrxn->pStack = thiz; - pTrxn->t3Timer = 2; - pTrxn->seqNum = thiz->seq; - - /* Increment sequence number */ - thiz->seq++; - if(thiz->seq == 0x800000) - thiz->seq = 0; - - } - else - { - rc = NW_GTPV1U_FAILURE; - } - - NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Created transaction 0x%X", (unsigned int)pTrxn); - - *ppTrxn = pTrxn; - - return rc; -} - -/** - * Overloaded Constructor - * - * @param[in] thiz : Pointer to stack. - * @param[in] seqNum : Sequence number for this transaction. - * @param[out] ppTrxn : Pointer to pointer to Trxn object. - * @return NW_GTPV1U_OK on success. - */ -NwGtpv1uRcT -nwGtpv1uTrxnWithSeqNew( NW_IN NwGtpv1uStackT* thiz, - NW_IN NwU32T seqNum, - NW_OUT NwGtpv1uTrxnT **ppTrxn) -{ - NwGtpv1uRcT rc = NW_GTPV1U_OK; - NwGtpv1uTrxnT *pTrxn; - - if(gpGtpv1uTrxnPool) - { - pTrxn = gpGtpv1uTrxnPool; - gpGtpv1uTrxnPool = gpGtpv1uTrxnPool->next; - } - else - { - NW_GTPV1U_MALLOC(thiz, sizeof(NwGtpv1uTrxnT), pTrxn, NwGtpv1uTrxnT*); - } - - - if (pTrxn) - { - pTrxn->maxRetries = 2; - pTrxn->pStack = thiz; - pTrxn->t3Timer = 2; - pTrxn->seqNum = seqNum; - pTrxn->pMsg = NULL; - } - else - { - rc = NW_GTPV1U_FAILURE; - } - - NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Created transaction 0x%X", (unsigned int)pTrxn); - - *ppTrxn = pTrxn; - - return rc; -} - -/** - * Destructor - * - * @param[out] pthiz : Pointer to pointer to Trxn object. - * @return NW_GTPV1U_OK on success. - */ -NwGtpv1uRcT -nwGtpv1uTrxnDelete( NW_INOUT NwGtpv1uTrxnT **pthiz) -{ - NwGtpv1uRcT rc = NW_GTPV1U_OK; - NwGtpv1uStackT* pStack; - NwGtpv1uTrxnT *thiz = *pthiz; - - pStack = thiz->pStack; - - if(thiz->hRspTmr) - { - rc = nwGtpv1uTrxnStopPeerRspTimer(thiz); - NW_ASSERT(rc == NW_GTPV1U_OK); - } - - if(thiz->pMsg) - { - rc = nwGtpv1uMsgDelete((NwGtpv1uStackHandleT)pStack, (NwGtpv1uMsgHandleT)thiz->pMsg); - NW_ASSERT(rc == NW_GTPV1U_OK); - } - - thiz->next = gpGtpv1uTrxnPool; - gpGtpv1uTrxnPool = thiz; - - NW_LOG(pStack, NW_LOG_LEVEL_DEBG, "Purged transaction 0x%X", (unsigned int)thiz); - - *pthiz = NULL; - return rc; -} - - -#if 1 -/** - * Send msg to peer via data request to UDP Entity - * - * @param[in] thiz : Pointer to stack. - * @param[in] pTrxn : Pointer to Trxn object. - * @param[in] peerIp : Peer Ip address. - * @param[in] peerPort : Peer Ip port. - * @param[in] pMsg : Message to be sent. - * @return NW_GTPV1U_OK on success. - */ -NwGtpv1uRcT -nwGtpv1uTrxnCreateAndSendMsg( NW_IN NwGtpv1uStackT* thiz, - NW_IN NwGtpv1uTrxnT *pTrxn, - NW_IN NwU32T peerIp, - NW_IN NwU32T peerPort, - NW_IN NwGtpv1uMsgT *pMsg) -{ - NwGtpv1uRcT rc; - NwU8T* msgHdr; - - NW_ASSERT(thiz); - NW_ASSERT(pMsg); - - msgHdr = pMsg->msgBuf; - NW_ASSERT(msgHdr != NULL); - - *(msgHdr++) = (pMsg->version << 5) | - (pMsg->protocolType << 4) | - (pMsg->extHdrFlag << 2) | - (pMsg->seqNumFlag << 1) | - (pMsg->npduNumFlag); - - *(msgHdr++) = (pMsg->msgType); - *((NwU16T*) msgHdr) = htons(pMsg->msgLen); - msgHdr += 2; - - *((NwU32T*) msgHdr) = htonl(pMsg->teid); - msgHdr += 4; - - if(pMsg->seqNumFlag | pMsg->extHdrFlag | pMsg->npduNumFlag) - { - if(pMsg->seqNumFlag) - { - *((NwU16T*) msgHdr) = htons((pTrxn ? pTrxn->seqNum : pMsg->seqNum)); - } - else - { - *((NwU16T*) msgHdr) = 0x0000; - } - msgHdr += 2; - - if(pMsg->npduNumFlag) - { - *((NwU8T*) msgHdr) = pMsg->npduNumFlag; - } - else - { - *((NwU8T*) msgHdr) = 0x00; - } - msgHdr++; - - if(pMsg->extHdrFlag) - { - *((NwU8T*) msgHdr) = pMsg->extHdrFlag; - } - else - { - *((NwU8T*) msgHdr) = 0x00; - } - msgHdr++; - } - - NW_ASSERT(thiz->udp.udpDataReqCallback != NULL); - - rc = thiz->udp.udpDataReqCallback(thiz->udp.hUdp, - pMsg->msgBuf, - pMsg->msgLen, - peerIp, - peerPort); - - /* Save the message for retransmission */ - if(rc == NW_GTPV1U_OK && pTrxn) - { - pTrxn->pMsg = pMsg; - pTrxn->peerIp = peerIp; - pTrxn->peerPort = peerPort; - - rc = nwGtpv1uTrxnStartPeerRspTimer(pTrxn, nwGtpv1uTrxnPeerRspTimeout); - NW_ASSERT(rc == NW_GTPV1U_OK); - } - - return rc; -} -#endif - - - -#ifdef __cplusplus -} -#endif - -/*--------------------------------------------------------------------------* - * E N D O F F I L E * - *--------------------------------------------------------------------------*/ - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c deleted file mode 100644 index e23e493437..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c +++ /dev/null @@ -1,136 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * n w - g t p v 2 u * - * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k * - * * - * * - * Copyright (c) 2010-2011 Amit Chawre * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with or without * - * modification, are permitted provided that the following conditions * - * are met: * - * * - * 1. Redistributions of source code must retain the above copyright * - * notice, this list of conditions and the following disclaimer. * - * 2. Redistributions in binary form must reproduce the above copyright * - * notice, this list of conditions and the following disclaimer in the * - * documentation and/or other materials provided with the distribution. * - * 3. The name of the author may not be used to endorse or promote products * - * derived from this software without specific prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - *----------------------------------------------------------------------------*/ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include "NwTypes.h" -#include "NwUtils.h" -#include "NwGtpv1uError.h" -#include "NwGtpv1uPrivate.h" -#include "NwGtpv1uMsg.h" -#include "NwGtpv1uTunnelEndPoint.h" -#include "NwGtpv1u.h" -#include "NwGtpv1uLog.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/*--------------------------------------------------------------------------* - * P R I V A T E D E C L A R A T I O N S * - *--------------------------------------------------------------------------*/ - -static NwGtpv1uTunnelEndPointT *gpTunnelEndPointPool = NULL; - -/*--------------------------------------------------------------------------* - * P U B L I C F U N C T I O N S * - *--------------------------------------------------------------------------*/ - -/** - Constructor - - @param[in] msid: MSID - @param[in] peerAddr: Address of the peer. - @return Pointer to Session on success, NULL on failure. - */ - - -NwGtpv1uTunnelEndPointT* -nwGtpTunnelEndPointNew(struct NwGtpv1uStack *pStack) -{ - NwGtpv1uTunnelEndPointT* thiz; - if(gpTunnelEndPointPool) - { - thiz = gpTunnelEndPointPool; - gpTunnelEndPointPool = gpTunnelEndPointPool->next; - } - else - { - NW_GTPV1U_MALLOC(pStack, sizeof(NwGtpv1uTunnelEndPointT), thiz, NwGtpv1uTunnelEndPointT*); - } - - return thiz; -} - -/** - Destructor - - @param[in] thiz: Pointer to session - @return NW_GTPV1U_OK on success. - */ - -NwGtpv1uRcT -nwGtpTunnelEndPointDestroy(struct NwGtpv1uStack *pStack, NwGtpv1uTunnelEndPointT* thiz) -{ - thiz->next = gpTunnelEndPointPool; - gpTunnelEndPointPool = thiz; - return NW_GTPV1U_OK; -} - -/** - Purge a Transaction for a Session. - - @param[in] thiz: Pointer to session - @param[in,out] pTrxn: Pointer to the trxn. - @return NW_GTPV1U_OK on success. - */ - -NwGtpv1uRcT -nwGtpSessionSendMsgApiToUlpEntity(NwGtpv1uTunnelEndPointT* thiz, - NwGtpv1uMsgT *pMsg) -{ - NwGtpv1uRcT rc = NW_GTPV1U_OK; - NwGtpv1uUlpApiT api; - - api.apiType = NW_GTPV1U_ULP_API_RECV_TPDU; - api.apiInfo.recvMsgInfo.hUlpSession = thiz->hUlpSession; - api.apiInfo.recvMsgInfo.teid = thiz->teid; - api.apiInfo.recvMsgInfo.hMsg = (NwGtpv1uMsgHandleT)pMsg; - - NW_ASSERT(thiz->pStack->ulp.ulpReqCallback != NULL); - - thiz->pStack->ulp.ulpReqCallback(thiz->pStack->ulp.hUlp, &api); - - return rc; -} - -#ifdef __cplusplus -} -#endif - -/*--------------------------------------------------------------------------* - * E N D O F F I L E * - *--------------------------------------------------------------------------*/ - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/Makefile.am b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/Makefile.am deleted file mode 100644 index 69b8e698e9..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -# this is example-file: Makefile.am - -# the subdirectories of the project to go into -SUBDIRS = \ - nw-helloworld diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/Makefile.in b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/Makefile.in deleted file mode 100644 index 46928b9e3c..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/Makefile.in +++ /dev/null @@ -1,461 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# this is example-file: Makefile.am -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -subdir = nw-gtpv1u/test-app -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_LDFLAGS = @AM_LDFLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build_alias = @build_alias@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ - -# the subdirectories of the project to go into -SUBDIRS = \ - nw-helloworld - -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu nw-gtpv1u/test-app/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu nw-gtpv1u/test-app/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-exec-am: - -install-html: install-html-recursive - -install-info: install-info-recursive - -install-man: - -install-pdf: install-pdf-recursive - -install-ps: install-ps-recursive - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ - install-strip - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am check check-am clean clean-generic ctags \ - ctags-recursive distclean distclean-generic distclean-tags \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ - tags-recursive uninstall uninstall-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.am b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.am deleted file mode 100644 index f60cd93f55..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.am +++ /dev/null @@ -1,17 +0,0 @@ -bin_PROGRAMS = helloworld - -AM_CFLAGS = -D__WITH_LIBEVENT__ -I../../shared -I../../include -I../../test-app/nw-udp -I../../test-app/nw-log @AM_CFLAGS@ - -helloworld_SOURCES = \ - NwEvt.h\ - NwMiniLogMgrEntity.h\ - NwMiniTmrMgrEntity.h\ - NwMiniUlpEntity.h\ - NwMiniUdpEntity.h\ - NwMiniLogMgrEntity.c\ - NwMiniTmrMgrEntity.c\ - NwMiniUlpEntity.c\ - NwMiniUdpEntity.c\ - helloworld.c - -helloworld_LDADD = ../../src/libNwGtpv1u.a -levent $(AM_LDFLAGS) diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.in b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.in deleted file mode 100644 index 769d75c16b..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.in +++ /dev/null @@ -1,433 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -bin_PROGRAMS = helloworld$(EXEEXT) -subdir = nw-gtpv1u/test-app/nw-helloworld -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_helloworld_OBJECTS = NwMiniLogMgrEntity.$(OBJEXT) \ - NwMiniTmrMgrEntity.$(OBJEXT) NwMiniUlpEntity.$(OBJEXT) \ - NwMiniUdpEntity.$(OBJEXT) helloworld.$(OBJEXT) -helloworld_OBJECTS = $(am_helloworld_OBJECTS) -am__DEPENDENCIES_1 = -helloworld_DEPENDENCIES = ../../src/libNwGtpv1u.a \ - $(am__DEPENDENCIES_1) -DEFAULT_INCLUDES = -I.@am__isrc@ -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(helloworld_SOURCES) -DIST_SOURCES = $(helloworld_SOURCES) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_CFLAGS = -D__WITH_LIBEVENT__ -I../../shared -I../../include -I../../test-app/nw-udp -I../../test-app/nw-log @AM_CFLAGS@ -AM_LDFLAGS = @AM_LDFLAGS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build_alias = @build_alias@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -helloworld_SOURCES = \ - NwEvt.h\ - NwMiniLogMgrEntity.h\ - NwMiniTmrMgrEntity.h\ - NwMiniUlpEntity.h\ - NwMiniUdpEntity.h\ - NwMiniLogMgrEntity.c\ - NwMiniTmrMgrEntity.c\ - NwMiniUlpEntity.c\ - NwMiniUdpEntity.c\ - helloworld.c - -helloworld_LDADD = ../../src/libNwGtpv1u.a -levent $(AM_LDFLAGS) -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu nw-gtpv1u/test-app/nw-helloworld/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu nw-gtpv1u/test-app/nw-helloworld/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ - rm -f "$(DESTDIR)$(bindir)/$$f"; \ - done - -clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -helloworld$(EXEEXT): $(helloworld_OBJECTS) $(helloworld_DEPENDENCIES) - @rm -f helloworld$(EXEEXT) - $(LINK) $(helloworld_OBJECTS) $(helloworld_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NwMiniLogMgrEntity.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NwMiniTmrMgrEntity.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NwMiniUdpEntity.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NwMiniUlpEntity.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/helloworld.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -install-html: install-html-am - -install-info: install-info-am - -install-man: - -install-pdf: install-pdf-am - -install-ps: install-ps-am - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ - clean-generic ctags distclean distclean-compile \ - distclean-generic distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-binPROGRAMS \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ - uninstall-am uninstall-binPROGRAMS - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h deleted file mode 100644 index da02372e2a..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h +++ /dev/null @@ -1,81 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * Copyright (c) 2010-2011 Amit Chawre * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with or without * - * modification, are permitted provided that the following conditions * - * are met: * - * * - * 1. Redistributions of source code must retain the above copyright * - * notice, this list of conditions and the following disclaimer. * - * 2. Redistributions in binary form must reproduce the above copyright * - * notice, this list of conditions and the following disclaimer in the * - * documentation and/or other materials provided with the distribution. * - * 3. The name of the author may not be used to endorse or promote products * - * derived from this software without specific prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - *----------------------------------------------------------------------------*/ - -#ifndef __NW_EVT_H__ -#define __NW_EVT_H__ -/** - * @file NwEvt.h - * @brief -*/ - -#ifdef __WITH_LIBEVENT__ - -#include <event.h> - -typedef struct event NwEventT; - -#define NW_EVT_READ (EV_READ) -#define NW_EVT_PERSIST (EV_PERSIST) -#define NW_EVT_CALLBACK(__cbFunc) __cbFunc(int fd, short event, void *arg) -#define NW_TMR_CALLBACK(__cbFunc) __cbFunc(int fd, short event, void *arg) - -#define NW_EVT_INIT event_init -#define NW_EVT_LOOP event_dispatch - -#define NW_EVENT_ADD(__ev, __evSelObj, __evCallback, __evCallbackArg, __evFlags) \ - do { \ - event_set(&(__ev), __evSelObj, __evFlags, __evCallback, __evCallbackArg); \ - event_add(&(__ev), NULL); \ - } while(0) - -#else - -#warning "Event library not defined!" - -/* HACK : Defining dummy values for compilation!*/ - -typedef struct -{ - int __tbd; -} NwEventT; - -#define NW_EVT_READ (0) -#define NW_EVT_PERSIST (1) -#define NW_EVT_CALLBACK(__cbFunc) __cbFunc(void *arg) -#define NW_TMR_CALLBACK(__cbFunc) __cbFunc(void *arg) - - -#define NW_EVT_INIT() do { printf("error: Event library not defined!\n"); exit (0); } while(0) -#define NW_EVT_LOOP() do { printf("error: Event library not defined!\n"); exit (0); } while(0) -#define NW_EVENT_ADD(...) do { printf("error: Event library not defined!\n"); exit (0); } while(0) - - -#endif - -#endif /* __NW_EVT_H__ */ diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c deleted file mode 100644 index 367a29a06b..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c +++ /dev/null @@ -1,58 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * M I N I M A L I S T I C L O G M G R E N T I T Y * - * * - * Copyright (C) 2010 Amit Chawre. * - * * - *----------------------------------------------------------------------------*/ - -/** - * @file hello-world.c - * @brief This file contains example of a minimalistic log manager entity. -*/ - -#include <stdio.h> -#include <assert.h> -#include "NwLog.h" -#include "NwEvt.h" -#include "NwGtpv1u.h" - -#include "NwMiniLogMgrEntity.h" - -#ifdef __cplusplus -extern "C" { -#endif - -NwU32T g_log_level = NW_LOG_LEVEL_INFO; - -/*--------------------------------------------------------------------------- - * Public functions - *--------------------------------------------------------------------------*/ - -NwGtpv1uRcT nwMiniLogMgrInit(NwMiniLogMgrT* thiz, NwU32T logLevel ) -{ - thiz->logLevel = logLevel; - return NW_GTPV1U_OK; -} - -NwGtpv1uRcT nwMiniLogMgrSetLogLevel(NwMiniLogMgrT* thiz, NwU32T logLevel) -{ - thiz->logLevel = logLevel; -} - -NwGtpv1uRcT nwMiniLogMgrLogRequest (NwGtpv1uLogMgrHandleT hLogMgr, - NwU32T logLevel, - NwCharT* file, - NwU32T line, - NwCharT* logStr) -{ - NwMiniLogMgrT* thiz = (NwMiniLogMgrT*) hLogMgr; - if(thiz->logLevel >= logLevel) - printf("NWGTPv2U-STK %s - %s <%s,%u>\n", gLogLevelStr[logLevel], logStr, basename(file), line); - return NW_GTPV1U_OK; -} - -#ifdef __cplusplus -} -#endif - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h deleted file mode 100644 index a6015f7278..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h +++ /dev/null @@ -1,58 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * M I N I M A L I S T I C L O G M G R E N T I T Y * - * * - * Copyright (C) 2010 Amit Chawre. * - * * - *----------------------------------------------------------------------------*/ - -/** - * @file hello-world.c - * @brief This file contains example of a minimalistic log manager entity. -*/ - -#include <stdio.h> -#include <assert.h> -#include "NwEvt.h" -#include "NwLog.h" - -#ifndef NW_ASSERT -#define NW_ASSERT assert -#endif - -#ifndef __NW_MINI_LOG_MGR_H__ -#define __NW_MINI_LOG_MGR_H__ - -extern NwU32T g_log_level; - - -#define NW_LOG( _logLevel, ...) \ - do { \ - if(g_log_level >= _logLevel) \ - { \ - char _logStr[1024]; \ - snprintf(_logStr, 1024, __VA_ARGS__); \ - printf("NWGTPv2U-APP %s - %s <%s,%u>\n", gLogLevelStr[_logLevel], _logStr, basename(__FILE__), __LINE__);\ - } \ - } while(0) - -typedef struct -{ - NwU8T logLevel; -} NwMiniLogMgrT; - -#ifdef __cplusplus -extern "C" { -#endif - -NwGtpv1uRcT nwMiniLogMgrLogRequest (NwGtpv1uLogMgrHandleT logMgrHandle, - NwU32T logLevel, - NwCharT* file, - NwU32T line, - NwCharT* logStr); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c deleted file mode 100644 index 3d508b3d78..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c +++ /dev/null @@ -1,98 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * M I N I M A L I S T I C T M R M G R E N T I T Y * - * * - * Copyright (C) 2010 Amit Chawre. * - * * - *----------------------------------------------------------------------------*/ - -/** - * @file NwMiniTmrMgrEntity.c - * @brief This file ontains example of a minimalistic timer manager entity. -*/ - -#include <stdio.h> -#include <assert.h> -#include "NwEvt.h" -#include "NwGtpv1u.h" -#include "NwMiniLogMgrEntity.h" -#include "NwMiniTmrMgrEntity.h" - -#ifndef NW_ASSERT -#define NW_ASSERT assert -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/*--------------------------------------------------------------------------- - * Private functions - *--------------------------------------------------------------------------*/ - -static void -NW_TMR_CALLBACK(nwMiniTmrMgrHandleTimeout) -{ - NwGtpv1uRcT rc; - NwMiniTmrMgrEntityT *pTmr = (NwMiniTmrMgrEntityT*) arg; - - /*--------------------------------------------------------------------------- - * Send Timeout Request to GTPv1u Stack Instance - *--------------------------------------------------------------------------*/ - - rc = nwGtpv1uProcessTimeout(pTmr->timeoutArg); - NW_ASSERT( rc == NW_GTPV1U_OK ); - - free(pTmr); - - return; -} - -/*--------------------------------------------------------------------------- - * Public functions - *--------------------------------------------------------------------------*/ - -NwGtpv1uRcT nwTimerStart( NwGtpv1uTimerMgrHandleT tmrMgrHandle, - NwU32T timeoutSec, - NwU32T timeoutUsec, - NwU32T tmrType, - void* timeoutArg, - NwGtpv1uTimerHandleT* hTmr) -{ - NwGtpv1uRcT rc = NW_GTPV1U_OK; - NwMiniTmrMgrEntityT *pTmr; - struct timeval tv; - - NW_LOG(NW_LOG_LEVEL_INFO, "Received start timer request from stack with timer type %u, arg %x, for %u sec and %u usec", tmrType, timeoutArg, timeoutSec, timeoutUsec); - - pTmr = (NwMiniTmrMgrEntityT*) malloc (sizeof(NwMiniTmrMgrEntityT)); - - /* set the timevalues*/ - timerclear(&tv); - tv.tv_sec = timeoutSec; - tv.tv_usec = timeoutUsec; - - pTmr->timeoutArg = timeoutArg; - evtimer_set(&pTmr->ev, nwMiniTmrMgrHandleTimeout, pTmr); - - /*add event*/ - - event_add(&(pTmr->ev), &tv); - - *hTmr = (NwGtpv1uTimerHandleT)pTmr; - - return rc; -} - -NwGtpv1uRcT nwTimerStop( NwGtpv1uTimerMgrHandleT tmrMgrHandle, - NwGtpv1uTimerHandleT hTmr) -{ - NW_LOG(NW_LOG_LEVEL_INFO, "Received stop timer request from stack for timer handle %u", hTmr); - evtimer_del(&(((NwMiniTmrMgrEntityT*)hTmr)->ev)); - free((void*)hTmr); - return NW_GTPV1U_OK; -} - -#ifdef __cplusplus -} -#endif diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h deleted file mode 100644 index 6e2c5a0dcd..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h +++ /dev/null @@ -1,54 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * M I N I M A L I S T I C T M R M G R E N T I T Y * - * * - * Copyright (C) 2010 Amit Chawre. * - * * - *----------------------------------------------------------------------------*/ - - -/** - * @file NwMiniTmrMgrEntity.c - * @brief This file ontains example of a minimalistic timer manager entity. -*/ - -#include <stdio.h> -#include <assert.h> -#include "NwEvt.h" -#include "NwLog.h" - -#ifndef NW_ASSERT -#define NW_ASSERT assert -#endif - -#ifndef __NW_MINI_TMR_MGR_H__ -#define __NW_MINI_TMR_MGR_H__ - -typedef struct -{ - NwEventT ev; - void* timeoutArg; -} NwMiniTmrMgrEntityT; - - -#ifdef __cplusplus -extern "C" { -#endif - -NwGtpv1uRcT nwTimerStart( NwGtpv1uTimerMgrHandleT tmrMgrHandle, - NwU32T timeoutSec, - NwU32T timeoutUsec, - NwU32T tmrType, - void* timeoutArg, - NwGtpv1uTimerHandleT* hTmr); - - -NwGtpv1uRcT nwTimerStop( NwGtpv1uTimerMgrHandleT tmrMgrHandle, - NwGtpv1uTimerHandleT hTmr); - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c deleted file mode 100644 index a0f235c862..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c +++ /dev/null @@ -1,155 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * M I N I M A L I S T I C U D P E N T I T Y * - * * - * Copyright (C) 2010 Amit Chawre. * - * * - *----------------------------------------------------------------------------*/ - - -/** - * @file NwMiniUdpEntity.c - * @brief This file contains example of a minimalistic ULP entity. -*/ - -#include <stdio.h> -#include <string.h> -#include <assert.h> -#include <sys/socket.h> -#include <arpa/inet.h> -#include <unistd.h> -#include <errno.h> -#include <fcntl.h> - -#include "NwEvt.h" -#include "NwGtpv1u.h" -#include "NwMiniLogMgrEntity.h" -#include "NwMiniUdpEntity.h" - -#ifndef NW_ASSERT -#define NW_ASSERT assert -#endif - -#define MAX_UDP_PAYLOAD_LEN (4096) - -#ifdef __cplusplus -extern "C" { -#endif - -/*--------------------------------------------------------------------------- - * Private functions - *--------------------------------------------------------------------------*/ - -static -void NW_TMR_CALLBACK(nwUdpDataIndicationCallbackData) -{ - NwGtpv1uRcT rc; - NwU8T udpBuf[MAX_UDP_PAYLOAD_LEN]; - NwS32T bytesRead; - NwU32T peerLen; - struct sockaddr_in peer; - NwMiniUdpEntityT* thiz = (NwMiniUdpEntityT*) arg; - - peerLen = sizeof(peer); - - bytesRead = recvfrom(thiz->hSocket, udpBuf, MAX_UDP_PAYLOAD_LEN , 0, (struct sockaddr *) &peer,(socklen_t*) &peerLen); - if(bytesRead) - { - NW_LOG(NW_LOG_LEVEL_DEBG, "Received UDP message of length %u from %X:%u", bytesRead, ntohl(peer.sin_addr.s_addr), ntohs(peer.sin_port)); - rc = nwGtpv1uProcessUdpReq(thiz->hGtpv1uStack, udpBuf, bytesRead, peer.sin_port, peer.sin_addr.s_addr); - } - else - { - NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno)); - } -} - - -/*--------------------------------------------------------------------------- - * Public functions - *--------------------------------------------------------------------------*/ - -NwGtpv1uRcT nwMiniUdpInit(NwMiniUdpEntityT* thiz, NwGtpv1uStackHandleT hGtpv1uStack, NwU8T* ipAddr) -{ - int sd; - struct sockaddr_in addr; - - sd = socket(AF_INET, SOCK_DGRAM, 0); - - if (sd < 0) - { - NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno)); - NW_ASSERT(0); - } - - addr.sin_family = AF_INET; - addr.sin_port = htons(2152); - addr.sin_addr.s_addr = inet_addr(ipAddr); - memset(addr.sin_zero, '\0', sizeof (addr.sin_zero)); - - if(bind(sd, (struct sockaddr *)&addr, sizeof(addr)) < 0) - { - NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno)); - NW_ASSERT(0); - } - - event_set(&(thiz->ev), sd, EV_READ|EV_PERSIST, nwUdpDataIndicationCallbackData, thiz); - event_add(&(thiz->ev), NULL); - - thiz->hSocket = sd; - thiz->hGtpv1uStack = hGtpv1uStack; - - return NW_GTPV1U_OK; -} - -NwGtpv1uRcT nwMiniUdpDestroy(NwMiniUdpEntityT* thiz) -{ - close(thiz->hSocket); -} - -NwGtpv1uRcT nwMiniUdpDataReq(NwGtpv1uUdpHandleT udpHandle, - NwU8T* dataBuf, - NwU32T dataSize, - NwU32T peerIpAddr, - NwU32T peerPort) -{ - struct sockaddr_in peerAddr; - NwS32T bytesSent; - NwMiniUdpEntityT* thiz = (NwMiniUdpEntityT*) udpHandle; - - peerAddr.sin_family = AF_INET; - peerAddr.sin_port = htons(peerPort); - peerAddr.sin_addr.s_addr = (peerIpAddr); - memset(peerAddr.sin_zero, '\0', sizeof (peerAddr.sin_zero)); - - NW_LOG(NW_LOG_LEVEL_DEBG, "Sending %u bytes on handle 0x%x to peer %u.%u.%u.%u:%u", dataSize, udpHandle, - (peerIpAddr & 0x000000ff), - (peerIpAddr & 0x0000ff00) >> 8, - (peerIpAddr & 0x00ff0000) >> 16, - (peerIpAddr & 0xff000000) >> 24, - peerPort); - - bytesSent = sendto (thiz->hSocket, dataBuf, dataSize, 0, (struct sockaddr *) &peerAddr, sizeof(peerAddr)); - - if(bytesSent < 0) - { - NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno)); - } - else - { - NW_LOG(NW_LOG_LEVEL_DEBG, "Sent %u bytes on handle 0x%x to peer %u.%u.%u.%u", dataSize, udpHandle, - (peerIpAddr & 0x000000ff), - (peerIpAddr & 0x0000ff00) >> 8, - (peerIpAddr & 0x00ff0000) >> 16, - (peerIpAddr & 0xff000000) >> 24); - - } - return NW_GTPV1U_OK; -} - - - -#ifdef __cplusplus -} -#endif - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h deleted file mode 100644 index a0488d541c..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h +++ /dev/null @@ -1,52 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * M I N I M A L I S T I C U D P E N T I T Y * - * * - * Copyright (C) 2010 Amit Chawre. * - * * - *----------------------------------------------------------------------------*/ - - -/** - * @file NwMiniUdpEntity.h - * @brief This file contains example of a minimalistic ULP entity. -*/ - -#include <stdio.h> -#include <assert.h> -#include "NwEvt.h" -#include "NwLog.h" - -#ifndef NW_ASSERT -#define NW_ASSERT assert -#endif - -#ifndef __NW_MINI_UDP_ENTITY_H__ -#define __NW_MINI_UDP_ENTITY_H__ - -typedef struct -{ - NwU32T hSocket; - NwEventT ev; - NwGtpv1uStackHandleT hGtpv1uStack; -} NwMiniUdpEntityT; - -#ifdef __cplusplus -extern "C" { -#endif - -NwGtpv1uRcT nwMiniUdpInit(NwMiniUdpEntityT* thiz, NwGtpv1uStackHandleT hGtpv1uStack, NwU8T* ipAddr); - -NwGtpv1uRcT nwMiniUdpDestroy(NwMiniUdpEntityT* thiz); - -NwGtpv1uRcT nwMiniUdpDataReq(NwGtpv1uUdpHandleT udpHandle, - NwU8T* dataBuf, - NwU32T dataSize, - NwU32T peerAddr, - NwU32T peerPort); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c deleted file mode 100644 index a406203f43..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c +++ /dev/null @@ -1,304 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * M I N I M A L I S T I C U L P E N T I T Y * - * * - * Copyright (C) 2010 Amit Chawre. * - * * - *----------------------------------------------------------------------------*/ - -/** - * @file NwMiniUlpEntity.c - * @brief This file contains example of a minimalistic ULP entity. -*/ - -#include <stdio.h> -#include <string.h> -#include <errno.h> -#include <assert.h> -#include "NwEvt.h" -#include "NwGtpv1u.h" -#include "NwGtpv1uIe.h" -#include "NwMiniLogMgrEntity.h" -#include "NwMiniUlpEntity.h" - -#ifndef NW_ASSERT -#define NW_ASSERT assert -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/*--------------------------------------------------------------------------- - * Private Functions - *--------------------------------------------------------------------------*/ - -#define MAX_UDP_PAYLOAD_LEN (4096) - -NwGtpv1uRcT -nwMiniUlpSendEchoRequestToPeer(NwMiniUlpEntityT* thiz, NwU32T peerIp) -{ - NwGtpv1uRcT rc; - NwGtpv1uUlpApiT ulpReq; - - /* - * Send Message Request to Gtpv1u Stack Instance - */ - - ulpReq.apiType = NW_GTPV1U_ULP_API_INITIAL_REQ; - - ulpReq.apiInfo.initialReqInfo.hUlpTrxn = (NwGtpv1uUlpTrxnHandleT)thiz; - ulpReq.apiInfo.initialReqInfo.teid = 0x00; - ulpReq.apiInfo.initialReqInfo.peerIp = (peerIp); - ulpReq.apiInfo.initialReqInfo.peerPort = 2152; - - /* Send Echo Request*/ - - rc = nwGtpv1uMsgNew( thiz->hGtpv1uStack, - NW_TRUE, /* SeqNum flag */ - NW_FALSE, - NW_FALSE, - NW_GTP_ECHO_REQ, /* Msg Type */ - 0x00000000UL, /* TEID */ - 0x5678, /* Seq Number */ - 0, - 0, - (&ulpReq.hMsg)); - - NW_ASSERT( rc == NW_GTPV1U_OK ); - - rc = nwGtpv1uMsgAddIeTV1((ulpReq.hMsg), NW_GTPV1U_IE_RECOVERY, thiz->restartCounter); - NW_ASSERT( rc == NW_GTPV1U_OK ); - - rc = nwGtpv1uProcessUlpReq(thiz->hGtpv1uStack, &ulpReq); - NW_ASSERT( rc == NW_GTPV1U_OK ); - - return NW_GTPV1U_OK; -} - -static -void NW_EVT_CALLBACK(nwMiniUlpDataIndicationCallbackData) -{ - NwMiniUlpEntityT* thiz = (NwMiniUlpEntityT*) arg; - NwGtpv1uRcT rc; - NwU8T udpBuf[MAX_UDP_PAYLOAD_LEN]; - NwS32T bytesRead; - NwU32T peerLen; - struct sockaddr_in peer; - - peerLen = sizeof(peer); - - bytesRead = recvfrom(thiz->hSocket, udpBuf, MAX_UDP_PAYLOAD_LEN , 0, (struct sockaddr *) &peer,(socklen_t*) &peerLen); - if(bytesRead) - { - NW_LOG(NW_LOG_LEVEL_DEBG, "Received UDP message of length %u from %X:%u", bytesRead, ntohl(peer.sin_addr.s_addr), ntohs(peer.sin_port)); - rc = nwMiniUlpTpduSend(thiz, udpBuf, bytesRead, thiz->localPort[fd]); - } - else - { - NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno)); - } -} - -/*--------------------------------------------------------------------------- - * Public Functions - *--------------------------------------------------------------------------*/ - -NwGtpv1uRcT -nwMiniUlpInit(NwMiniUlpEntityT* thiz, NwGtpv1uStackHandleT hGtpv1uStack) -{ - NwGtpv1uRcT rc; - thiz->hGtpv1uStack = hGtpv1uStack; - - return NW_GTPV1U_OK; -} - -NwGtpv1uRcT -nwMiniUlpDestroy(NwMiniUlpEntityT* thiz) -{ - NW_ASSERT(thiz); - memset(thiz, 0, sizeof(NwMiniUlpEntityT)); - return NW_GTPV1U_OK; -} - -NwGtpv1uRcT -nwMiniUlpCreateConn(NwMiniUlpEntityT* thiz, char* localIpStr, NwU16T localport, char* peerIpStr) -{ - NwGtpv1uRcT rc; - int sd; - struct sockaddr_in addr; - NwGtpv1uUlpApiT ulpReq; - - strcpy(thiz->peerIpStr, peerIpStr); - - /* - * Create local tunnel endpoint - */ - - NW_LOG(NW_LOG_LEVEL_NOTI, "Creating tunnel endpoint with teid %d", localport); - ulpReq.apiType = NW_GTPV1U_ULP_API_CREATE_TUNNEL_ENDPOINT; - ulpReq.apiInfo.createTunnelEndPointInfo.teid = localport; - ulpReq.apiInfo.createTunnelEndPointInfo.hUlpSession = (NwGtpv1uUlpSessionHandleT)thiz; - - rc = nwGtpv1uProcessUlpReq(thiz->hGtpv1uStack, &ulpReq); - NW_ASSERT( rc == NW_GTPV1U_OK ); - - thiz->hGtpv1uConn = ulpReq.apiInfo.createTunnelEndPointInfo.hStackSession; - - /* - * Create local udp listening endpoint - */ - - sd = socket(AF_INET, SOCK_DGRAM, 0); - - if (sd < 0) - { - NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno)); - NW_ASSERT(0); - } - - addr.sin_family = AF_INET; - addr.sin_port = htons(localport); - addr.sin_addr.s_addr = inet_addr(localIpStr); - memset(addr.sin_zero, '\0', sizeof (addr.sin_zero)); - - if(bind(sd, (struct sockaddr *)&addr, sizeof(addr)) < 0) - { - NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno)); - NW_ASSERT(0); - } - - event_set(&(thiz->ev[sd]), sd, EV_READ|EV_PERSIST, nwMiniUlpDataIndicationCallbackData, thiz); - event_add(&(thiz->ev[sd]), NULL); - - thiz->localPort[sd] = localport; - - /* - * Create local udp for sendign data - */ - - sd = socket(AF_INET, SOCK_DGRAM, 0); - - if (sd < 0) - { - NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno)); - NW_ASSERT(0); - } - - - thiz->hSocket = sd; - return NW_GTPV1U_OK; -} - -NwGtpv1uRcT -nwMiniUlpDestroyConn(NwMiniUlpEntityT* thiz) -{ - NwGtpv1uRcT rc; - NwGtpv1uUlpApiT ulpReq; - /*--------------------------------------------------------------------------- - * Send Destroy Session Request to GTPv1u Stack Instance - *--------------------------------------------------------------------------*/ - - ulpReq.apiType = NW_GTPV1U_ULP_API_DESTROY_TUNNEL_ENDPOINT; - ulpReq.apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle = thiz->hGtpv1uConn; - - rc = nwGtpv1uProcessUlpReq(thiz->hGtpv1uStack, &ulpReq); - NW_ASSERT( rc == NW_GTPV1U_OK ); - - thiz->hGtpv1uConn = 0; - - return NW_GTPV1U_OK; -} - - -NwGtpv1uRcT -nwMiniUlpTpduSend(NwMiniUlpEntityT* thiz, NwU8T* tpduBuf, NwU32T tpduLen , NwU16T fromPort) -{ - NwGtpv1uRcT rc; - NwGtpv1uUlpApiT ulpReq; - - /* - * Send Message Request to GTPv1u Stack Instance - */ - - ulpReq.apiType = NW_GTPV1U_ULP_API_SEND_TPDU; - ulpReq.apiInfo.sendtoInfo.teid = fromPort; - ulpReq.apiInfo.sendtoInfo.ipAddr = inet_addr(thiz->peerIpStr); - - rc = nwGtpv1uGpduMsgNew( thiz->hGtpv1uStack, - fromPort, - NW_FALSE, - thiz->seqNum++, - tpduBuf, - tpduLen, - &(ulpReq.apiInfo.sendtoInfo.hMsg)); - - NW_ASSERT( rc == NW_GTPV1U_OK ); - - rc = nwGtpv1uProcessUlpReq(thiz->hGtpv1uStack, &ulpReq); - NW_ASSERT( rc == NW_GTPV1U_OK ); - - rc = nwGtpv1uMsgDelete(thiz->hGtpv1uStack, (ulpReq.apiInfo.sendtoInfo.hMsg)); - NW_ASSERT( rc == NW_GTPV1U_OK ); - - return NW_GTPV1U_OK; -} - -NwGtpv1uRcT -nwMiniUlpProcessStackReqCallback (NwGtpv1uUlpHandleT hUlp, - NwGtpv1uUlpApiT *pUlpApi) -{ - NwMiniUlpEntityT* thiz; - NW_ASSERT(pUlpApi != NULL); - - thiz = (NwMiniUlpEntityT*) hUlp; - - switch(pUlpApi->apiType) - { - case NW_GTPV1U_ULP_API_RECV_TPDU: - { - struct sockaddr_in peerAddr; - NwS32T bytesSent; - NwU8T dataBuf[4096]; - NwU32T dataSize; - NwU32T peerIpAddr = (inet_addr(thiz->peerIpStr)); - - NW_ASSERT( NW_GTPV1U_OK == nwGtpv1uMsgGetTpdu(pUlpApi->apiInfo.recvMsgInfo.hMsg, dataBuf, &dataSize) ); - - NW_LOG(NW_LOG_LEVEL_DEBG, "Received TPDU from gtpv1u stack %u!", pUlpApi->apiInfo.recvMsgInfo.teid); - - peerAddr.sin_family = AF_INET; - peerAddr.sin_port = htons(pUlpApi->apiInfo.recvMsgInfo.teid); - peerAddr.sin_addr.s_addr = (peerIpAddr); - memset(peerAddr.sin_zero, '\0', sizeof (peerAddr.sin_zero)); - - bytesSent = sendto (thiz->hSocket, dataBuf, dataSize, 0, (struct sockaddr *) &peerAddr, sizeof(peerAddr)); - - if(bytesSent < 0) - { - NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno)); - NW_ASSERT(0); - } - else - { - NW_LOG(NW_LOG_LEVEL_DEBG, "Sent %u bytes to peer %u.%u.%u.%u", dataSize, - (peerIpAddr & 0x000000ff), - (peerIpAddr & 0x0000ff00) >> 8, - (peerIpAddr & 0x00ff0000) >> 16, - (peerIpAddr & 0xff000000) >> 24); - } - - NW_ASSERT(nwGtpv1uMsgDelete(thiz->hGtpv1uStack, (pUlpApi->apiInfo.recvMsgInfo.hMsg)) == NW_GTPV1U_OK); - - } - break; - default: - NW_LOG(NW_LOG_LEVEL_WARN, "Received undefined UlpApi (%d) from gtpv1u stack!",pUlpApi->apiType); - } - return NW_GTPV1U_OK; -} - -#ifdef __cplusplus -} -#endif - diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h deleted file mode 100644 index b4f12e760e..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h +++ /dev/null @@ -1,65 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * M I N I M A L I S T I C U L P E N T I T Y * - * * - * Copyright (C) 2010 Amit Chawre. * - * * - *----------------------------------------------------------------------------*/ - -/** - * @file NwMiniUlpEntity.h - * @brief This file contains example of a minimalistic ULP entity. -*/ - -#include <stdio.h> -#include <assert.h> -#include "NwEvt.h" -#include "NwLog.h" - -#ifndef __NW_MINI_ULP_H__ -#define __NW_MINI_ULP_H__ - -typedef struct -{ - int hSocket; - NwU16T seqNum; - NwU8T restartCounter; - NwU8T localIpStr[16]; - NwU8T peerIpStr[16]; - NwU32T localPort[1025]; - NwEventT ev[1025]; - NwGtpv1uStackHandleT hGtpv1uStack; - NwGtpv1uStackSessionHandleT hGtpv1uConn; -} NwMiniUlpEntityT; - -#ifdef __cplusplus -extern "C" { -#endif - -NwGtpv1uRcT -nwMiniUlpInit(NwMiniUlpEntityT* thiz, NwGtpv1uStackHandleT hGtpv1uStack); - -NwGtpv1uRcT -nwMiniUlpDestroy(NwMiniUlpEntityT* thiz); - -NwGtpv1uRcT -nwMiniUlpCreateConn(NwMiniUlpEntityT* thiz, char* localIpStr, NwU16T localPort, char* peerIpStr); - -NwGtpv1uRcT -nwMiniUlpDestroyConn(NwMiniUlpEntityT* thiz); - -NwGtpv1uRcT -nwMiniUlpSendMsg(NwMiniUlpEntityT* thiz); - -NwGtpv1uRcT -nwMiniUlpTpduSend(NwMiniUlpEntityT* thiz, NwU8T* tpduBuf, NwU32T tpduLen , NwU16T fromPort); - -NwGtpv1uRcT -nwMiniUlpProcessStackReqCallback (NwGtpv1uUlpHandleT hUlp, - NwGtpv1uUlpApiT *pUlpApi); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c deleted file mode 100644 index e6aca852c9..0000000000 --- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c +++ /dev/null @@ -1,211 +0,0 @@ -/*----------------------------------------------------------------------------* - * * - * n w - g t p v 2 u * - * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k * - * * - * M I N I M A L I S T I C D E M O N S T R A T I O N * - * * - * Copyright (C) 2010 Amit Chawre. * - * * - *----------------------------------------------------------------------------*/ - - -/** - * @file hello-world.c - * @brief This is a test program demostrating usage of nw-gtpv2 library. -*/ - -#include <stdio.h> -#include <assert.h> -#include "NwEvt.h" -#include "NwGtpv1u.h" - -#include "NwMiniLogMgrEntity.h" -#include "NwMiniTmrMgrEntity.h" -#include "NwMiniUdpEntity.h" -#include "NwMiniUlpEntity.h" - -#ifndef NW_ASSERT -#define NW_ASSERT assert -#endif - -/*--------------------------------------------------------------------------- - * T H E M A I N F U N C T I O N - *--------------------------------------------------------------------------*/ - -int main(int argc, char* argv[]) -{ - NwGtpv1uRcT rc; - char* logLevelStr; - NwU32T logLevel; - NwU32T num_of_connections; - - NwGtpv1uStackHandleT hGtpv1uStack = 0; - NwMiniUlpEntityT ulpObj; - NwMiniUdpEntityT udpObj; - NwMiniLogMgrT logObj; - NwGtpv1uUlpEntityT ulp; - NwGtpv1uUdpEntityT udp; - NwGtpv1uTimerMgrEntityT tmrMgr; - NwGtpv1uLogMgrEntityT logMgr; - - if(argc != 4) - { - printf("Usage: %s <num-of-connections> <local-ip> <peer-ip>\n", argv[0]); - exit(0); - } - - - logLevelStr = getenv ("NW_LOG_LEVEL"); - - if(logLevelStr == NULL) - { - logLevel = NW_LOG_LEVEL_INFO; - } - else - { - if(strncmp(logLevelStr, "EMER",4) == 0) - logLevel = NW_LOG_LEVEL_EMER; - else if(strncmp(logLevelStr, "ALER",4) == 0) - logLevel = NW_LOG_LEVEL_ALER; - else if(strncmp(logLevelStr, "CRIT",4) == 0) - logLevel = NW_LOG_LEVEL_CRIT; - else if(strncmp(logLevelStr, "ERRO",4) == 0) - logLevel = NW_LOG_LEVEL_ERRO ; - else if(strncmp(logLevelStr, "WARN",4) == 0) - logLevel = NW_LOG_LEVEL_WARN; - else if(strncmp(logLevelStr, "NOTI",4) == 0) - logLevel = NW_LOG_LEVEL_NOTI; - else if(strncmp(logLevelStr, "INFO",4) == 0) - logLevel = NW_LOG_LEVEL_INFO; - else if(strncmp(logLevelStr, "DEBG",4) == 0) - logLevel = NW_LOG_LEVEL_DEBG; - } - - /*--------------------------------------------------------------------------- - * Initialize event library - *--------------------------------------------------------------------------*/ - - NW_EVT_INIT(); - - /*--------------------------------------------------------------------------- - * Initialize Log Manager - *--------------------------------------------------------------------------*/ - - nwMiniLogMgrInit(&logObj, logLevel); - - /*--------------------------------------------------------------------------- - * Create GTPv1u Stack Instance - *--------------------------------------------------------------------------*/ - - rc = nwGtpv1uInitialize(&hGtpv1uStack); - - if(rc != NW_GTPV1U_OK) - { - NW_LOG(NW_LOG_LEVEL_ERRO, "Failed to create gtpv1u stack instance. Error '%u' occured", rc); - exit(1); - } - - NW_LOG(NW_LOG_LEVEL_INFO, "Gtpv1u Stack Handle '%X' Creation Successful!", hGtpv1uStack); - - /*--------------------------------------------------------------------------- - * Set up Ulp Entity - *--------------------------------------------------------------------------*/ - - rc = nwMiniUlpInit(&ulpObj, hGtpv1uStack); - NW_ASSERT( rc == NW_GTPV1U_OK ); - - ulp.hUlp = (NwGtpv1uUlpHandleT) &ulpObj; - ulp.ulpReqCallback = nwMiniUlpProcessStackReqCallback; - - rc = nwGtpv1uSetUlpEntity(hGtpv1uStack, &ulp); - NW_ASSERT( rc == NW_GTPV1U_OK ); - - - /*--------------------------------------------------------------------------- - * Set up Udp Entity - *--------------------------------------------------------------------------*/ - - rc = nwMiniUdpInit(&udpObj, hGtpv1uStack, (argv[2])); - NW_ASSERT( rc == NW_GTPV1U_OK ); - - udp.hUdp = (NwGtpv1uUdpHandleT) &udpObj; - udp.udpDataReqCallback = nwMiniUdpDataReq; - - rc = nwGtpv1uSetUdpEntity(hGtpv1uStack, &udp); - NW_ASSERT( rc == NW_GTPV1U_OK ); - - /*--------------------------------------------------------------------------- - * Set up Log Entity - *--------------------------------------------------------------------------*/ - - tmrMgr.tmrMgrHandle = 0; - tmrMgr.tmrStartCallback = nwTimerStart; - tmrMgr.tmrStopCallback = nwTimerStop; - - rc = nwGtpv1uSetTimerMgrEntity(hGtpv1uStack, &tmrMgr); - NW_ASSERT( rc == NW_GTPV1U_OK ); - - /*--------------------------------------------------------------------------- - * Set up Log Entity - *--------------------------------------------------------------------------*/ - - logMgr.logMgrHandle = (NwGtpv1uLogMgrHandleT) &logObj; - logMgr.logReqCallback = nwMiniLogMgrLogRequest; - - rc = nwGtpv1uSetLogMgrEntity(hGtpv1uStack, &logMgr); - NW_ASSERT( rc == NW_GTPV1U_OK ); - - /*--------------------------------------------------------------------------- - * Set GTPv1u log level - *--------------------------------------------------------------------------*/ - - rc = nwGtpv1uSetLogLevel(hGtpv1uStack, logLevel); - - /*--------------------------------------------------------------------------- - * Send Create Session Request to GTPv1u Stack Instance - *--------------------------------------------------------------------------*/ - - num_of_connections = atoi(argv[1]); - - while ( num_of_connections-- ) - { - //rc = nwMiniUlpCreateConn(&ulpObj, argv[2], 1234 + num_of_connections, argv[3]); - rc = nwMiniUlpSendEchoRequestToPeer(&ulpObj, inet_addr(argv[3])); - NW_ASSERT( rc == NW_GTPV1U_OK ); - } - - /*--------------------------------------------------------------------------- - * Event loop - *--------------------------------------------------------------------------*/ - - NW_EVT_LOOP(); - - NW_LOG(NW_LOG_LEVEL_ERRO, "Exit from eventloop, no events to process!"); - - /*--------------------------------------------------------------------------- - * Send Destroy Session Request to GTPv1u Stack Instance - *--------------------------------------------------------------------------*/ - - rc = nwMiniUlpDestroyConn(&ulpObj); - NW_ASSERT( rc == NW_GTPV1U_OK ); - - - /*--------------------------------------------------------------------------- - * Destroy GTPv1u Stack Instance - *--------------------------------------------------------------------------*/ - - rc = nwGtpv1uFinalize(hGtpv1uStack); - - if(rc != NW_GTPV1U_OK) - { - NW_LOG(NW_LOG_LEVEL_ERRO, "Failed to finalize gtpv1u stack instance. Error '%u' occured", rc); - } - else - { - NW_LOG(NW_LOG_LEVEL_INFO, "Gtpv1u Stack Handle '%X' Finalize Successful!", hGtpv1uStack); - } - - - return rc; -} diff --git a/openair3/OPENAIRMME/INSTALL b/openair3/OPENAIRMME/INSTALL deleted file mode 100644 index 7d1c323bea..0000000000 --- a/openair3/OPENAIRMME/INSTALL +++ /dev/null @@ -1,365 +0,0 @@ -Installation Instructions -************************* - -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008, 2009 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. This file is offered as-is, -without warranty of any kind. - -Basic Installation -================== - - Briefly, the shell commands `./configure; make; make install' should -configure, build, and install this package. The following -more-detailed instructions are generic; see the `README' file for -instructions specific to this package. Some packages provide this -`INSTALL' file but do not implement all of the features documented -below. The lack of an optional feature in a given package is not -necessarily a bug. More recommendations for GNU packages can be found -in *note Makefile Conventions: (standards)Makefile Conventions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. Caching is -disabled by default to prevent problems with accidental use of stale -cache files. - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You need `configure.ac' if -you want to change it or regenerate `configure' using a newer version -of `autoconf'. - - The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. - - Running `configure' might take a while. While running, it prints - some messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package, generally using the just-built uninstalled binaries. - - 4. Type `make install' to install the programs and any data files and - documentation. When installing into a prefix owned by root, it is - recommended that the package be configured and built as a regular - user, and only the `make install' phase executed with root - privileges. - - 5. Optionally, type `make installcheck' to repeat any self-tests, but - this time using the binaries in their final installed location. - This target does not install anything. Running this target as a - regular user, particularly if the prior `make install' required - root privileges, verifies that the installation completed - correctly. - - 6. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - - 7. Often, you can also type `make uninstall' to remove the installed - files again. In practice, not all packages have tested that - uninstallation works correctly, even though it is required by the - GNU Coding Standards. - - 8. Some packages, particularly those that use Automake, provide `make - distcheck', which can by used by developers to test that all other - targets like `make install' and `make uninstall' work correctly. - This target is generally not run by end users. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c99 CFLAGS=-g LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you can use GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. This -is known as a "VPATH" build. - - With a non-GNU `make', it is safer to compile the package for one -architecture at a time in the source code directory. After you have -installed the package for one architecture, use `make distclean' before -reconfiguring for another architecture. - - On MacOS X 10.5 and later systems, you can create libraries and -executables that work on multiple system types--known as "fat" or -"universal" binaries--by specifying multiple `-arch' options to the -compiler but only a single `-arch' option to the preprocessor. Like -this: - - ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -E" CXXCPP="g++ -E" - - This is not guaranteed to produce working output in all cases, you -may have to build one architecture at a time and combine the results -using the `lipo' tool if you have problems. - -Installation Names -================== - - By default, `make install' installs the package's commands under -`/usr/local/bin', include files under `/usr/local/include', etc. You -can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX', where PREFIX must be an -absolute file name. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -pass the option `--exec-prefix=PREFIX' to `configure', the package uses -PREFIX as the prefix for installing programs and libraries. -Documentation and other data files still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=DIR' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. In general, the -default for these options is expressed in terms of `${prefix}', so that -specifying just `--prefix' will affect all of the other directory -specifications that were not explicitly provided. - - The most portable way to affect installation locations is to pass the -correct locations to `configure'; however, many packages provide one or -both of the following shortcuts of passing variable assignments to the -`make install' command line to change installation locations without -having to reconfigure or recompile. - - The first method involves providing an override variable for each -affected directory. For example, `make install -prefix=/alternate/directory' will choose an alternate location for all -directory configuration variables that were expressed in terms of -`${prefix}'. Any directories that were specified during `configure', -but not in terms of `${prefix}', must each be overridden at install -time for the entire installation to be relocated. The approach of -makefile variable overrides for each directory variable is required by -the GNU Coding Standards, and ideally causes no recompilation. -However, some platforms have known limitations with the semantics of -shared libraries that end up requiring recompilation when using this -method, particularly noticeable in packages that use GNU Libtool. - - The second method involves providing the `DESTDIR' variable. For -example, `make install DESTDIR=/alternate/directory' will prepend -`/alternate/directory' before all installation names. The approach of -`DESTDIR' overrides is not required by the GNU Coding Standards, and -does not work on platforms that have drive letters. On the other hand, -it does better at avoiding recompilation issues, and works well even -when some directory options were not specified in terms of `${prefix}' -at `configure' time. - -Optional Features -================= - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - - Some packages offer the ability to configure how verbose the -execution of `make' will be. For these packages, running `./configure ---enable-silent-rules' sets the default to minimal output, which can be -overridden with `make V=1'; while running `./configure ---disable-silent-rules' sets the default to verbose, which can be -overridden with `make V=0'. - -Particular systems -================== - - On HP-UX, the default C compiler is not ANSI C compatible. If GNU -CC is not installed, it is recommended to use the following options in -order to use an ANSI C compiler: - - ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" - -and if that doesn't work, install pre-built binaries of GCC for HP-UX. - - On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot -parse its `<wchar.h>' header file. The option `-nodtk' can be used as -a workaround. If GNU CC is not installed, it is therefore recommended -to try - - ./configure CC="cc" - -and if that doesn't work, try - - ./configure CC="cc -nodtk" - - On Solaris, don't put `/usr/ucb' early in your `PATH'. This -directory contains several dysfunctional programs; working variants of -these programs are available in `/usr/bin'. So, if you need `/usr/ucb' -in your `PATH', put it _after_ `/usr/bin'. - - On Haiku, software installed for all users goes in `/boot/common', -not `/usr/local'. It is recommended to use the following options: - - ./configure --prefix=/boot/common - -Specifying the System Type -========================== - - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS - KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the option `--target=TYPE' to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -causes the specified `gcc' to be used as the C compiler (unless it is -overridden in the site shell script). - -Unfortunately, this technique does not work for `CONFIG_SHELL' due to -an Autoconf bug. Until the bug is fixed you can use this workaround: - - CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash - -`configure' Invocation -====================== - - `configure' recognizes the following options to control how it -operates. - -`--help' -`-h' - Print a summary of all of the options to `configure', and exit. - -`--help=short' -`--help=recursive' - Print a summary of the options unique to this package's - `configure', and exit. The `short' variant lists options used - only in the top level, while the `recursive' variant lists options - also present in any nested packages. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`--prefix=DIR' - Use DIR as the installation prefix. *note Installation Names:: - for more details, including other options available for fine-tuning - the installation locations. - -`--no-create' -`-n' - Run the configure checks, but stop before creating any output - files. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. - diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/Makefile.am b/openair3/OPENAIRMME/INTERTASK_INTERFACE/Makefile.am deleted file mode 100644 index 587be5ea21..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/Makefile.am +++ /dev/null @@ -1,16 +0,0 @@ -AM_CFLAGS = @ADD_CFLAGS@ \ - -I$(top_srcdir)/UTILS - -noinst_LTLIBRARIES = libitti.la - -libitti_la_LDFLAGS = -all-static -libitti_la_SOURCES = \ - gtpv1_u_messages_def.h gtpv1_u_messages_types.h \ - timer_messages_def.h timer_messages_types.h \ - s1ap_messages_def.h s1ap_messages_types.h \ - s6a_messages_def.h s6a_messages_types.h \ - sgw_lite_def.h sgw_lite_messages_types.h \ - sctp_messages_def.h sctp_messages_types.h \ - udp_message_def.h udp_messages_types.h \ - intertask_interface.c intertask_interface.h \ - intertask_interface_dump.c intertask_interface_dump.h \ No newline at end of file diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/Makefile.in b/openair3/OPENAIRMME/INTERTASK_INTERFACE/Makefile.in deleted file mode 100644 index 412ef40a38..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/Makefile.in +++ /dev/null @@ -1,565 +0,0 @@ -# Makefile.in generated by automake 1.12 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = INTERTASK_INTERFACE -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libitti_la_LIBADD = -am_libitti_la_OBJECTS = intertask_interface.lo \ - intertask_interface_dump.lo -libitti_la_OBJECTS = $(am_libitti_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -libitti_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libitti_la_LDFLAGS) $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -SOURCES = $(libitti_la_SOURCES) -DIST_SOURCES = $(libitti_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @ADD_CFLAGS@ \ - -I$(top_srcdir)/UTILS - -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASN1C_CHECK = @ASN1C_CHECK@ -ASN1DIR = @ASN1DIR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOXYGEN = @DOXYGEN@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -POW_LIB = @POW_LIB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -noinst_LTLIBRARIES = libitti.la -libitti_la_LDFLAGS = -all-static -libitti_la_SOURCES = \ - gtpv1_u_messages_def.h gtpv1_u_messages_types.h \ - timer_messages_def.h timer_messages_types.h \ - s1ap_messages_def.h s1ap_messages_types.h \ - s6a_messages_def.h s6a_messages_types.h \ - sgw_lite_def.h sgw_lite_messages_types.h \ - sctp_messages_def.h sctp_messages_types.h \ - udp_message_def.h udp_messages_types.h \ - intertask_interface.c intertask_interface.h \ - intertask_interface_dump.c intertask_interface_dump.h - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu INTERTASK_INTERFACE/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu INTERTASK_INTERFACE/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -libitti.la: $(libitti_la_OBJECTS) $(libitti_la_DEPENDENCIES) $(EXTRA_libitti_la_DEPENDENCIES) - $(AM_V_CCLD)$(libitti_la_LINK) $(libitti_la_OBJECTS) $(libitti_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/intertask_interface.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/intertask_interface_dump.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -cscopelist: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ - distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/gtpv1_u_messages_def.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/gtpv1_u_messages_def.h deleted file mode 100644 index 420114a4d5..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/gtpv1_u_messages_def.h +++ /dev/null @@ -1,2 +0,0 @@ -MESSAGE_DEF(GTPV1U_DATA_REQ, TASK_PRIORITY_MED, Gtpv1uDataReq gtpv1uDataReq) -MESSAGE_DEF(S1U_CREATE_TUNNEL, TASK_PRIORITY_MED_LEAST, S1UCreateTunnel s1uCreateTunnel) \ No newline at end of file diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/gtpv1_u_messages_types.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/gtpv1_u_messages_types.h deleted file mode 100644 index 0d77550827..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/gtpv1_u_messages_types.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef GTPV1_U_MESSAGES_TYPES_H_ -#define GTPV1_U_MESSAGES_TYPES_H_ - -typedef struct { - uint8_t *buffer; - uint32_t buffer_length; - uint16_t port; - uint32_t peer_addr; -} Gtpv1uDataReq; - -typedef struct { - -} S1UCreateTunnel; - -#endif /* GTPV1_U_MESSAGES_TYPES_H_ */ diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface.c b/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface.c deleted file mode 100644 index 0f29031d79..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface.c +++ /dev/null @@ -1,241 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <pthread.h> -#include <assert.h> - -#include "queue.h" - -// Locally define macro to enable task id to string table -#define INTERTASK_C - -#include "intertask_interface.h" -#include "intertask_interface_dump.h" - -static int itti_debug = 0; - -#define ITTI_DEBUG(x, args...) do { if (itti_debug) fprintf(stdout, "[ITTI][D]"x, ##args); } \ - while(0) -#define ITTI_ERROR(x, args...) do { fprintf(stdout, "[ITTI][E]"x, ##args); } \ - while(0) - -/* This list acts as a FIFO of messages received by tasks (RRC, NAS, ...) */ -struct message_list_s { - STAILQ_ENTRY(message_list_s) next_element; - - MessageDef *msg; ///< Pointer to the message - - uint32_t message_number; ///< Unique message number - uint32_t message_priority; ///< Message priority -}; - -/* Message queues: declare a queue for each task */ -static STAILQ_HEAD(message_queue_head, message_list_s) message_queue[TASK_MAX]; -/* Number of messages in the queue */ -static uint32_t message_in_queue[TASK_MAX]; -/* Mutex for the message queue */ -static pthread_mutex_t message_queue_mutex[TASK_MAX]; -/* Conditinal Var for message queue and task synchro */ -static pthread_cond_t mssage_queue_cond_var[TASK_MAX]; - -/* Current message number. Incremented every call to send_msg_to_task */ -static uint32_t message_number = 0; - -/* Map message priority to message id */ -const struct message_priority_s messages_priorities[MESSAGES_ID_MAX] = { - #define MESSAGE_DEF(iD, pRIO, sTRUCT) { iD, pRIO }, - - #include "gtpv1_u_messages_def.h" - #include "sctp_messages_def.h" - #include "s1ap_messages_def.h" - #include "s6a_messages_def.h" - #include "timer_messages_def.h" - #include "udp_messages_def.h" - - #undef MESSAGE_DEF -}; - -static inline uint32_t get_message_priority(MessagesIds message_id) { - uint32_t i; - - for (i = 0; i < MESSAGES_ID_MAX; i++) { - if ((messages_priorities[i]).id == message_id) - return ((messages_priorities[i]).priority); - } - return 0; -} - -int send_broadcast_message(MessageDef *message_p) { - uint32_t i; - int ret; - - for (i = TASK_FIRST; i < TASK_MAX; i++) { - ret = send_msg_to_task(i, message_p); - if (ret < 0) { - ITTI_ERROR("Failed to send broadcast message to task (%u:%s)\n", - i, tasks_string[i]); - } - } - - return ret; -} - -inline MessageDef *alloc_new_message( - TaskId origin_task_id, - TaskId destination_task_id, - MessagesIds message_id) { - - MessageDef *temp = NULL; - - if ((origin_task_id >= TASK_MAX) || (destination_task_id >= TASK_MAX) || - (message_id >= MESSAGES_ID_MAX)) - return NULL; - - temp = (MessageDef *)malloc(sizeof(MessageDef)); - if (temp == NULL) - return temp; - - temp->messageId = message_id; - temp->originTaskId = origin_task_id; - temp->destinationTaskId = destination_task_id; - - return temp; -} - -int send_msg_to_task(TaskId task_id, MessageDef *message) -{ - struct message_list_s *new; - uint32_t priority; - - assert(message != NULL); - assert(task_id < TASK_MAX); - - priority = get_message_priority(message->messageId); - - // Lock the mutex to get exclusive access to the list - pthread_mutex_lock(&message_queue_mutex[task_id]); - // Allocate new list element - new = (struct message_list_s *)malloc(sizeof(struct message_list_s)); - - //Increment message number - message_number++; - - // Fill in members - new->msg = message; - new->message_number = message_number; - new->message_priority = priority; - - if (STAILQ_EMPTY(&message_queue[task_id])) { - STAILQ_INSERT_HEAD(&message_queue[task_id], new, next_element); - } else { - struct message_list_s *insert_after = NULL; - struct message_list_s *temp; - - STAILQ_FOREACH(temp, &message_queue[task_id], next_element) { - struct message_list_s *next; - next = STAILQ_NEXT(temp, next_element); - /* Increment message priority to create a sort of - * priority based scheduler */ - if (temp->message_priority < TASK_PRIORITY_MAX) - temp->message_priority++; - if (next && next->message_priority < priority) { - insert_after = temp; - } - } - if (insert_after == NULL) { - STAILQ_INSERT_TAIL(&message_queue[task_id], new, next_element); - } else { - STAILQ_INSERT_AFTER(&message_queue[task_id], insert_after, new, next_element); - } - } - - // Update the number of messages in the queue - message_in_queue[task_id]++; - if (message_in_queue[task_id] == 1) { - // Emit a signal to wake up target task thread - pthread_cond_signal(&mssage_queue_cond_var[task_id]); - } - // Release the mutex - pthread_mutex_unlock(&message_queue_mutex[task_id]); - ITTI_DEBUG("Message %d with priority %d succesfully sent to task_id (%u:%s)\n", - message_number, priority, task_id, tasks_string[task_id]); - return 0; -} - -void receive_msg(TaskId task_id, MessageDef **received_msg) -{ - assert(task_id < TASK_MAX); - assert(received_msg != NULL); - - // Lock the mutex to get exclusive access to the list - pthread_mutex_lock(&message_queue_mutex[task_id]); - - if (message_in_queue[task_id] == 0) { - ITTI_DEBUG("Message in queue[(%u:%s)] == 0, waiting\n", - task_id, tasks_string[task_id]); - // Wait while list == 0 - pthread_cond_wait(&mssage_queue_cond_var[task_id], &message_queue_mutex[task_id]); - ITTI_DEBUG("Receiver thread queue[(%u:%s)] got new message notification\n", - task_id, tasks_string[task_id]); - } - - if (!STAILQ_EMPTY(&message_queue[task_id])) { - struct message_list_s *temp = STAILQ_FIRST(&message_queue[task_id]); - - // Update received_msg reference - *received_msg = temp->msg; - - /* Remove message from queue */ - STAILQ_REMOVE_HEAD(&message_queue[task_id], next_element); - free(temp); - message_in_queue[task_id]--; - } - // Release the mutex - pthread_mutex_unlock(&message_queue_mutex[task_id]); -} - -void intertask_interface_init(const mme_config_t *mme_config) -{ - int i; - /* Initializing each queue and related stuff */ - for (i = 0; i < TASK_MAX; i++) { - STAILQ_INIT(&message_queue[i]); - message_in_queue[i] = 0; - // Initialize mutexes - pthread_mutex_init(&message_queue_mutex[i], NULL); - // Initialize Cond vars - pthread_cond_init(&mssage_queue_cond_var[i], NULL); - } -// itti_init(); -} diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface.h deleted file mode 100644 index 6ab0423194..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface.h +++ /dev/null @@ -1,187 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -/** @defgroup _intertask_interface_impl_ Intertask Interface Mechanisms - * Implementation - * @ingroup _ref_implementation_ - * @{ - */ - -#include <stdio.h> -#include <stdlib.h> -#include <stdint.h> - -#include "mme_config.h" - -#include "gtpv1_u_messages_types.h" -#include "sctp_messages_types.h" -#include "s1ap_messages_types.h" -#include "s6a_messages_types.h" -#include "sgw_lite_messages_types.h" -#include "timer_messages_types.h" -#include "udp_messages_types.h" - -#ifndef INTERTASK_INTERFACE_H_ -#define INTERTASK_INTERFACE_H_ - -enum task_priorities { - TASK_PRIORITY_MAX = 100, - TASK_PRIORITY_MAX_LEAST = 85, - TASK_PRIORITY_MED_PLUS = 70, - TASK_PRIORITY_MED = 55, - TASK_PRIORITY_MED_LEAST = 40, - TASK_PRIORITY_MIN_PLUS = 25, - TASK_PRIORITY_MIN = 10, -}; - -// #define MESSAGE_ID(x) x, -// #define MESSAGE_DEF(x) x - -/* This enum defines messages ids. Each one is unique. */ -typedef enum { - - #define MESSAGE_DEF(iD, pRIO, sTRUCT) iD, - - #include "gtpv1_u_messages_def.h" - #include "sctp_messages_def.h" - #include "s1ap_messages_def.h" - #include "s6a_messages_def.h" - #include "sgw_lite_def.h" - #include "timer_messages_def.h" - #include "udp_messages_def.h" - - #undef MESSAGE_DEF - - MESSAGES_ID_MAX, - MESSAGES_ID_END = MESSAGES_ID_MAX, -} MessagesIds; - -struct message_priority_s { - uint32_t id; - uint32_t priority; -}; - -//! Tasks id of each task -typedef enum { - TASK_FIRST = 0, - /// GTPV1-U task - TASK_GTPV1_U = TASK_FIRST, - /// S1AP task - TASK_S1AP, - /// S6a task - TASK_S6A, - /// SCTP task - TASK_SCTP, - /// Serving Gateway Lite task - TASK_SGW_LITE, - /// TIMERS task - TASK_TIMER, - /// UDP task - TASK_UDP, - TASK_MAX, - TASK_END = TASK_MAX, -} TaskId; - -#if defined(INTERTASK_C) -/* Map every task id to printable string. - */ -const char *tasks_string[] = { - "gtpv1-u", - "s1ap", - "s6a", - "sctp", - "sgw-lite", - "timer", - "udp", -}; -#endif - -/** @struct MessageDef - * @brief Message structure for inter thread communication. - */ -typedef struct MessageDef_s { - uint32_t messageId; /**< Unique message id as referenced in enum MessagesIds */ - - uint32_t originTaskId; /**< ID of the sender task */ - uint32_t destinationTaskId; /**< ID of the destination task */ - - union { - #define MESSAGE_DEF(iD, pRIO, sTRUCT) sTRUCT; - - #include "gtpv1_u_messages_def.h" - #include "sctp_messages_def.h" - #include "s1ap_messages_def.h" - #include "s6a_messages_def.h" - #include "sgw_lite_def.h" - #include "timer_messages_def.h" - #include "udp_messages_def.h" - - #undef MESSAGE_DEF - } msg; /**< Union of payloads as defined in x_messages_def.h headers */ -} MessageDef; - -/** \brief Send a broadcast message to every task - \param message Pointer to the message to send - @returns < 0 on failure, 0 otherwise - **/ -int send_broadcast_message(MessageDef *message_p); - -/** \brief Send a message to a task (could be itself) - \param task_id Task ID - \param message Pointer to the message to send - @returns -1 on failure, 0 otherwise - **/ -int send_msg_to_task(TaskId task_id, MessageDef *message); - -/** \brief Retrieves a messsage in queue. - * If the queue is empty, the thread is blocked till a new message arrives. - \param task_id Task ID of the receiving task - \param received_msg Pointer to the allocated message - **/ -void receive_msg(TaskId task_id, MessageDef **received_msg); - -/** \brief Init function for the intertask interface. Init queues, Mutexes and Cond vars. - * If the queue is empty, the thread is blocked till a new message arrives. - **/ -void intertask_interface_init(const mme_config_t *mme_config); - -/** \brief Alloc and memset(0) a new itti message. - \param origin_task_id Task ID of the sending task - \param destination_task_id Task ID of the target task - \param message_id Message ID - @returns NULL in case of failure or newly allocated mesage ref - **/ -inline MessageDef *alloc_new_message( - TaskId origin_task_id, - TaskId destination_task_id, - MessagesIds message_id); - -#endif /* INTERTASK_INTERFACE_H_ */ -/* @} */ diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface_dump.c b/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface_dump.c deleted file mode 100644 index 2291de44e0..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface_dump.c +++ /dev/null @@ -1,86 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> - -#include <assert.h> - -#include <sys/socket.h> /* socket definitions */ -#include <sys/types.h> /* socket types */ -#include <arpa/inet.h> /* inet (3) funtions */ - -#include <pthread.h> - -#include "intertask_interface.h" -#include "intertask_interface_dump.h" - -#include "queue.h" - -struct itti_queue_s { - struct itti_queue_s *next; - char *data; - uint32_t length; -}; - -struct itti_queue_ref { - pthread_mutex_t queue_mutex; - struct itti_queue_s *itti_queue_head; - struct itti_queue_s *itti_queue_tail; - uint32_t queue_size; -}; - -struct itti_queue_ref itti_queue = { PTHREAD_MUTEX_INITIALIZER, NULL, NULL, 0 }; -int itti_accept_socket = -1; -pthread_t itti_thread; - -int itti_queue_message(MessageDef *message_p) { - return 0; -} - -static void * itti_create_socket(void *arg_p) { - int itti_conn_socket; - struct sockaddr_in servaddr; /* socket address structure */ - - if ((itti_conn_socket = socket(AF_INET, SOCK_STREAM, 0)) < 0) { - perror("Socket"); - return NULL; - } - - memset(&servaddr, 0, sizeof(servaddr)); - servaddr.sin_family = AF_INET; - servaddr.sin_addr.s_addr = htonl(INADDR_ANY); - servaddr.sin_port = htons(ITTI_PORT); - - if (bind(itti_conn_socket, (struct sockaddr *) &servaddr, sizeof(servaddr)) < 0 ) { - perror("bind"); - return NULL; - } - if (listen(itti_conn_socket, 5) < 0 ) { - perror("listen"); - return NULL; - } - - /* Wait for a connection */ - if ((itti_accept_socket = accept(itti_conn_socket, NULL, NULL)) < 0) { - perror("accept"); - return NULL; - } - while(1) { - pthread_mutex_lock(&itti_queue.queue_mutex); - if (itti_queue.queue_size > 0) { - /* There is some messages to send */ - assert(itti_queue.itti_queue_tail != NULL); - - } - pthread_mutex_unlock(&itti_queue.queue_mutex); - sleep(1); - } - return NULL; -} - -void itti_init(void) { - - if (pthread_create(&itti_thread, NULL, &itti_create_socket, NULL) < 0) { - perror("pthread_create"); - } -} diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface_dump.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface_dump.h deleted file mode 100644 index 34c3e90486..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface_dump.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef INTERTASK_INTERFACE_DUMP_H_ -#define INTERTASK_INTERFACE_DUMP_H_ - -int itti_queue_message(MessageDef *message); - -void itti_init(void); - -#endif /* INTERTASK_INTERFACE_DUMP_H_ */ diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/s1ap_messages_def.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/s1ap_messages_def.h deleted file mode 100644 index 21578fb5e5..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/s1ap_messages_def.h +++ /dev/null @@ -1,5 +0,0 @@ -//WARNING: Do not include this header directly. Use intertask_interface.h instead. - -MESSAGE_DEF(S1AP_SCTP_NEW_MESSAGE_IND, TASK_PRIORITY_MED, S1apSctpNewMessageInd s1apSctpNewMessageInd) -MESSAGE_DEF(S1AP_SCTP_ASSOCIATION_CLOSED, TASK_PRIORITY_MAX, S1apSctpAsscociationClosed s1apSctpAssociationClosed) -MESSAGE_DEF(S1AP_NAS_NEW_MESSAGE_IND, TASK_PRIORITY_MED, S1apNASNewMessageInd s1apNASNewMessageInd) \ No newline at end of file diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/s1ap_messages_types.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/s1ap_messages_types.h deleted file mode 100644 index 4151d41129..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/s1ap_messages_types.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef S1AP_MESSAGES_TYPES_H_ -#define S1AP_MESSAGES_TYPES_H_ - -typedef struct { - uint8_t *buffer; ///< SCTP buffer - uint32_t bufLen; ///< SCTP buffer length - int32_t assocId; ///< SCTP physical association ID - uint8_t stream; ///< Stream number on which data had been received - uint16_t instreams; ///< Number of input streams for the SCTP connection between peers - uint16_t outstreams; ///< Number of output streams for the SCTP connection between peers -} S1apSctpNewMessageInd; - -typedef struct { - uint32_t assocId; ///< SCTP Association ID of the closed connection -} S1apSctpAsscociationClosed; - -typedef struct { - uint8_t *nas_buffer; ///< NAS buffer - uint32_t nas_length; ///< NAS buffer length - uint32_t mme_ue_s1ap_id; ///< Unique MME UE s1ap id -} S1apNASNewMessageInd; - -#endif /* S1AP_MESSAGES_TYPES_H_ */ diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/s6a_messages_def.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/s6a_messages_def.h deleted file mode 100644 index 9735d9eff0..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/s6a_messages_def.h +++ /dev/null @@ -1 +0,0 @@ -//WARNING: Do not include this header directly. Use intertask_interface.h instead. diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/s6a_messages_types.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/s6a_messages_types.h deleted file mode 100644 index 6e62fb4b25..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/s6a_messages_types.h +++ /dev/null @@ -1,4 +0,0 @@ -#ifndef S6A_MESSAGES_TYPES_H_ -#define S6A_MESSAGES_TYPES_H_ - -#endif /* S6A_MESSAGES_TYPES_H_ */ diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/sctp_messages_def.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/sctp_messages_def.h deleted file mode 100644 index c7065ab055..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/sctp_messages_def.h +++ /dev/null @@ -1,5 +0,0 @@ -//WARNING: Do not include this header directly. Use intertask_interface.h instead. - -MESSAGE_DEF(SCTP_S1AP_INIT, TASK_PRIORITY_MED, SctpS1APInit sctpS1APInit) -MESSAGE_DEF(SCTP_NEW_DATA_REQ, TASK_PRIORITY_MED, SctpNewDataReq sctpNewDataReq) -MESSAGE_DEF(SCTP_CLOSE_ASSOCIATION, TASK_PRIORITY_MAX, SctpCloseAssociation sctpCloseAssociation) \ No newline at end of file diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/sctp_messages_types.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/sctp_messages_types.h deleted file mode 100644 index ca91f817c9..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/sctp_messages_types.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef SCTP_MESSAGES_TYPES_H_ -#define SCTP_MESSAGES_TYPES_H_ - -typedef struct { - uint8_t *buffer; - uint32_t bufLen; - uint32_t assocId; - uint16_t stream; -} SctpNewDataReq; - -typedef struct { - uint16_t port; - char *address; - uint32_t ppid; -} SctpS1APInit; - -typedef struct { - uint32_t assocId; -} SctpCloseAssociation; - -#endif /* SCTP_MESSAGES_TYPES_H_ */ diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/sgw_lite_def.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/sgw_lite_def.h deleted file mode 100644 index 2b411772cd..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/sgw_lite_def.h +++ /dev/null @@ -1,5 +0,0 @@ -MESSAGE_DEF(SGW_CREATE_SESSION_REQUEST, TASK_PRIORITY_MED, SgwCreateSessionRequest sgwCreateSessionRequest) -MESSAGE_DEF(SGW_CREATE_SESSION_RESPONSE, TASK_PRIORITY_MED, SgwCreateSessionResponse sgwCreateSessionResponse) -MESSAGE_DEF(SGW_MODIFY_BEARER_REQUEST, TASK_PRIORITY_MED, SgwModifyBearerRequest sgwModifyBearerRequest) -MESSAGE_DEF(SGW_MODIFY_BEARER_RESPONSE, TASK_PRIORITY_MED, SgwModifyBearerResponse sgwModifyBearerResponse) -MESSAGE_DEF(SGW_S1U_ENDPOINT_CREATED, TASK_PRIORITY_MED, SgwS1UEndpointCreated sgwS1UEndpointCreated) diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/sgw_lite_messages_types.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/sgw_lite_messages_types.h deleted file mode 100644 index e9bf3d5b71..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/sgw_lite_messages_types.h +++ /dev/null @@ -1,76 +0,0 @@ -#include "../SGW-LITE/sgw_lite_ie_defs.h" - -#ifndef SGW_LITE_MESSAGES_TYPES_H_ -#define SGW_LITE_MESSAGES_TYPES_H_ - -typedef struct { - Teid_t teid; ///< Tunnel Endpoint Identifier - Imsi_t imsi; - Msisdn_t msisdn; - Mei_t mei; - Uli_t uli; - ServingNetwork_t serving_network; - RatType_t rat_type; - FTeid_t sender_fteid_for_cp; ///< Sender F-TEID for control plane - FTeid_t pgw_address_for_cp; ///< PGW S5/S8 address for control plane or PMIP - APN_t apn; ///< Access Point Name - SelectionMode_t selection_mode; ///< Selection Mode - PDNType_t pdn_type; ///< PDN Type - PAA_t paa; ///< PDN Address Allocation - /* Shall include APN Restriction but not used in our case */ - AMBR_t ambr; ///< Aggregate Maximum Bit Rate - /* TODO: add Protocol Configuration otions */ - FQ_CSID_t mme_fq_csid; - UETimeZone_t ue_time_zone; - UCI_t uci; ///< User CSG Information - struct { - unsigned eps_bearer_id:4; ///< EPS Bearer ID - BearerQOS_t bearer_level_qos; - } bearer_to_create; ///< Bearer Contexts to be created -} SgwCreateSessionRequest; - -typedef struct { - Teid_t teid; ///< Tunnel Endpoint Identifier - PAA_t paa; ///< PDN Address Allocation - APNRestriction_t apn_restriction; - struct { - unsigned eps_bearer_id:4; ///< EPS Bearer ID - SGWCause_t cause; - FTeid_t s1u_sgw_fteid; ///< Sender F-TEID for control plane - } bearer_context_created; - FQ_CSID_t pgw_fq_csid; - FQ_CSID_t sgw_fq_csid; -} SgwCreateSessionResponse; - -typedef struct { - Teid_t teid; ///< Tunnel Endpoint Identifier - /* Delay Value in integer multiples of 50 millisecs, or zero */ - DelayValue_t delay_dl_packet_notif_req; - struct { - unsigned eps_bearer_id:4; ///< EPS Bearer ID - FTeid_t s1_eNB_fteid; ///< S1 eNodeB F-TEID - } bearer_context_to_modify; - FQ_CSID_t mme_fq_csid; -} SgwModifyBearerRequest; - -typedef struct { - Teid_t teid; ///< Tunnel Endpoint Identifier - -} SgwModifyBearerResponse; - -typedef struct { - uint8_t status; ///< Status of S1U endpoint creation (Failed = 0xFF or Success = 0x0) - uint32_t teid; -} SgwS1UEndpointCreated; - -typedef struct { - Teid_t teid; ///< Tunnel Endpoint Identifier - EBI_t lbi; ///< Linked EPS Bearer ID - FTeid_t sender_fteid_for_cp; ///< Sender F-TEID for control plane -} SgwDeleteSessionRequest; - -typedef struct { - -} SgwDeleteBearerRequest; - -#endif diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/timer_messages_def.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/timer_messages_def.h deleted file mode 100644 index 699f5e6a67..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/timer_messages_def.h +++ /dev/null @@ -1,3 +0,0 @@ -MESSAGE_DEF(TIMER_NEW_REQUEST, TASK_PRIORITY_MIN_PLUS, TimerNewRequest timerNewRequest) -MESSAGE_DEF(TIMER_REMOVE, TASK_PRIORITY_MIN_PLUS, TimerRemove timerRemove) -MESSAGE_DEF(TIMER_HAS_EXPIRED, TASK_PRIORITY_MED_PLUS, TimerHasExpired timerHasExpired) \ No newline at end of file diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/timer_messages_types.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/timer_messages_types.h deleted file mode 100644 index 85086786e5..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/timer_messages_types.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef TIMER_MESSAGES_TYPES_H_ -#define TIMER_MESSAGES_TYPES_H_ - -typedef struct { - uint32_t expiry_sec; - uint32_t expiry_usec; - uint32_t timer_id; -} TimerNewRequest; - -typedef struct { - long timer_id; -}TimerHasExpired; - -typedef struct { - uint32_t timer_id; -} TimerRemove; - -#endif /* TIMER_MESSAGES_TYPES_H_ */ diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/udp_messages_def.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/udp_messages_def.h deleted file mode 100644 index 02450e176c..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/udp_messages_def.h +++ /dev/null @@ -1,2 +0,0 @@ -MESSAGE_DEF(UDP_INIT, TASK_PRIORITY_MED, UdpInit udpInit) -MESSAGE_DEF(UDP_DATA_REQ, TASK_PRIORITY_MED, UdpDataReq udpDataReq) \ No newline at end of file diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/udp_messages_types.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/udp_messages_types.h deleted file mode 100644 index 22df0c16fa..0000000000 --- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/udp_messages_types.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef UDP_MESSAGES_TYPES_H_ -#define UDP_MESSAGES_TYPES_H_ - -typedef struct { - uint32_t port; - char *address; -} UdpInit; - -typedef struct { - uint8_t *buffer; - uint32_t buffer_length; - uint32_t peer_address; - uint32_t peer_port; -} UdpDataReq; - -#endif /* UDP_MESSAGES_TYPES_H_ */ diff --git a/openair3/OPENAIRMME/Makefile.am b/openair3/OPENAIRMME/Makefile.am deleted file mode 100644 index 027d77dae5..0000000000 --- a/openair3/OPENAIRMME/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ -SUBDIRS = \ - GTPV1-U \ - INTERTASK_INTERFACE \ - SCTP \ - S1AP \ - S6A \ - SGW-LITE \ - UTILS \ - UDP \ - TEST \ - OAISIM_MME \ - DOCS \ No newline at end of file diff --git a/openair3/OPENAIRMME/Makefile.in b/openair3/OPENAIRMME/Makefile.in deleted file mode 100644 index d38b869a61..0000000000 --- a/openair3/OPENAIRMME/Makefile.in +++ /dev/null @@ -1,823 +0,0 @@ -# Makefile.in generated by automake 1.12 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = . -DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ - compile config.guess config.sub depcomp install-sh ltmain.sh \ - missing -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - cscope distdir dist dist-all distcheck -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_distdir) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -DIST_TARGETS = dist-gzip -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASN1C_CHECK = @ASN1C_CHECK@ -ASN1DIR = @ASN1DIR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOXYGEN = @DOXYGEN@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -POW_LIB = @POW_LIB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -SUBDIRS = \ - GTPV1-U \ - INTERTASK_INTERFACE \ - SCTP \ - S1AP \ - S6A \ - SGW-LITE \ - UTILS \ - UDP \ - TEST \ - OAISIM_MME \ - DOCS - -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @if test ! -f $@; then rm -f stamp-h1; else :; fi - @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(RECURSIVE_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done -cscopelist-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) - -clean-cscope: - -rm -f cscope.files - -cscope.files: clean-cscope cscopelist-recursive cscopelist - -cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__post_remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile config.h -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-hdr \ - distclean-libtool distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ - cscopelist-recursive ctags-recursive install-am install-strip \ - tags-recursive - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am am--refresh check check-am clean clean-cscope \ - clean-generic clean-libtool cscope cscopelist \ - cscopelist-recursive ctags ctags-recursive dist dist-all \ - dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ dist-xz \ - dist-zip distcheck distclean distclean-generic distclean-hdr \ - distclean-libtool distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am tags tags-recursive uninstall uninstall-am - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/NEWS b/openair3/OPENAIRMME/NEWS deleted file mode 100644 index 8b13789179..0000000000 --- a/openair3/OPENAIRMME/NEWS +++ /dev/null @@ -1 +0,0 @@ - diff --git a/openair3/OPENAIRMME/OAISIM_MME/Makefile.am b/openair3/OPENAIRMME/OAISIM_MME/Makefile.am deleted file mode 100644 index 5648b22f91..0000000000 --- a/openair3/OPENAIRMME/OAISIM_MME/Makefile.am +++ /dev/null @@ -1,24 +0,0 @@ -AM_CFLAGS = @ADD_CFLAGS@ \ - -I$(top_srcdir)/GTPV1-U \ - -I$(top_srcdir)/SCTP \ - -I$(top_srcdir)/INTERTASK_INTERFACE \ - -I$(top_builddir)/S1AP/MESSAGES \ - -I$(top_srcdir)/S1AP \ - -I$(top_srcdir)/S6A \ - -I$(top_srcdir)/SGW-LITE \ - -I$(top_srcdir)/UDP \ - -I$(top_srcdir)/UTILS \ - -I$(top_srcdir)/UTILS/TIMER - -oaisim_mme_LDADD = \ - $(top_builddir)/GTPV1-U/libgtpv1u.la \ - $(top_builddir)/INTERTASK_INTERFACE/libitti.la \ - $(top_builddir)/S1AP/libs1ap.la \ - $(top_builddir)/S6A/libs6a.la \ - $(top_builddir)/SGW-LITE/libsgw_lite.la \ - $(top_builddir)/SCTP/libsctpserver.la \ - $(top_builddir)/UTILS/TIMER/libtimer.la \ - $(top_builddir)/UTILS/libutils.la \ - $(top_builddir)/UDP/libudpserver.la - -bin_PROGRAMS = oaisim_mme \ No newline at end of file diff --git a/openair3/OPENAIRMME/OAISIM_MME/Makefile.in b/openair3/OPENAIRMME/OAISIM_MME/Makefile.in deleted file mode 100644 index 523c22a387..0000000000 --- a/openair3/OPENAIRMME/OAISIM_MME/Makefile.in +++ /dev/null @@ -1,607 +0,0 @@ -# Makefile.in generated by automake 1.12 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -@ENABLE_USE_HSS_TRUE@am__append_1 = -I$(top_srcdir)/S6A -@ENABLE_USE_HSS_TRUE@am__append_2 = $(top_builddir)/S6A/libs6a.la -bin_PROGRAMS = oaisim_mme$(EXEEXT) -subdir = OAISIM_MME -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -oaisim_mme_SOURCES = oaisim_mme.c -oaisim_mme_OBJECTS = oaisim_mme.$(OBJEXT) -oaisim_mme_DEPENDENCIES = $(top_builddir)/GTPV1-U/libgtpv1u.la \ - $(top_builddir)/INTERTASK_INTERFACE/libitti.la \ - $(top_builddir)/S1AP/libs1ap.la \ - $(top_builddir)/SGW-LITE/libsgw_lite.la \ - $(top_builddir)/SCTP/libsctpserver.la \ - $(top_builddir)/UTILS/TIMER/libtimer.la \ - $(top_builddir)/UTILS/libutils.la \ - $(top_builddir)/UDP/libudpserver.la $(am__append_2) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -SOURCES = oaisim_mme.c -DIST_SOURCES = oaisim_mme.c -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @ADD_CFLAGS@ -I$(top_srcdir)/GTPV1-U -I$(top_srcdir)/SCTP \ - -I$(top_srcdir)/INTERTASK_INTERFACE \ - -I$(top_builddir)/S1AP/MESSAGES -I$(top_srcdir)/S1AP \ - -I$(top_srcdir)/SGW-LITE -I$(top_srcdir)/UDP \ - -I$(top_srcdir)/UTILS -I$(top_srcdir)/UTILS/TIMER \ - $(am__append_1) -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASN1C_CHECK = @ASN1C_CHECK@ -ASN1DIR = @ASN1DIR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOXYGEN = @DOXYGEN@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -POW_LIB = @POW_LIB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -oaisim_mme_LDADD = $(top_builddir)/GTPV1-U/libgtpv1u.la \ - $(top_builddir)/INTERTASK_INTERFACE/libitti.la \ - $(top_builddir)/S1AP/libs1ap.la \ - $(top_builddir)/SGW-LITE/libsgw_lite.la \ - $(top_builddir)/SCTP/libsctpserver.la \ - $(top_builddir)/UTILS/TIMER/libtimer.la \ - $(top_builddir)/UTILS/libutils.la \ - $(top_builddir)/UDP/libudpserver.la $(am__append_2) -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu OAISIM_MME/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu OAISIM_MME/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p || test -f $$p1; \ - then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -oaisim_mme$(EXEEXT): $(oaisim_mme_OBJECTS) $(oaisim_mme_DEPENDENCIES) $(EXTRA_oaisim_mme_DEPENDENCIES) - @rm -f oaisim_mme$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(oaisim_mme_OBJECTS) $(oaisim_mme_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oaisim_mme.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -cscopelist: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ - clean-generic clean-libtool cscopelist ctags distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-binPROGRAMS install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-binPROGRAMS - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/OAISIM_MME/oaisim_mme.c b/openair3/OPENAIRMME/OAISIM_MME/oaisim_mme.c deleted file mode 100644 index ead244c97d..0000000000 --- a/openair3/OPENAIRMME/OAISIM_MME/oaisim_mme.c +++ /dev/null @@ -1,82 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ -#include <pthread.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <signal.h> - -#if HAVE_CONFIG_H -# include "config.h" -#endif - -#include "mme_config.h" -#include "gtpv1_u.h" - -#include "intertask_interface.h" -#include "sctp_primitives_server.h" -#include "udp_primitives_server.h" -#include "s1ap_mme.h" -#include "log.h" -#include "timer.h" -#include "sgw_lite_defs.h" - -#if defined(ENABLE_USE_HSS) -# include <freeDiameter/freeDiameter-host.h> -# include <freeDiameter/libfdcore.h> -# include "s6a_defs.h" -#endif - -int main(int argc, char *argv[]) -{ - mme_config_t mme_config; - - config_parse_opt_line(argc, argv, &mme_config); - fprintf(stdout, "Starting %s\n", PACKAGE_STRING); - - /* Calling each layer init function */ - log_init(&mme_config); - intertask_interface_init(&mme_config); - sctp_init(&mme_config); - udp_init(&mme_config); - s1ap_mme_init(&mme_config); - gtpv1_u_init(&mme_config); - timer_init(&mme_config); -#if defined(ENABLE_USE_HSS) - s6a_init(&mme_config); -#endif - sgw_lite_init(&mme_config); - - while(1) { - sleep(1); - } - - return 0; -} diff --git a/openair3/OPENAIRMME/README b/openair3/OPENAIRMME/README deleted file mode 100644 index 3cae7ecd3d..0000000000 --- a/openair3/OPENAIRMME/README +++ /dev/null @@ -1,101 +0,0 @@ -=============================================================================== -***************************** OAISIM_MME v0.1 ********************************* -=============================================================================== - -MME + P-GW + S-GW implementation of 3GPP standard. - -|-----| |------| -| MME | ----- | eNBs | -|-----| |------| - -Controle plane: - - eNB MME - - |----------------------------| - | MME Application layer | - |----------------------------| - |------------| - | NAS | - |------------| -|------------| |------------| |------------| |------------| -| RRC | - | S1AP layer | ------ | S1AP layer | | Diameter | -|------------| |------------| |------------| |------------| - |------------| |----------------------------| - | SCTP layer | ------ | SCTP layer | - |------------| |----------------------------| - -Non-UE associated control plane goes directly from S1AP to MME application layer. - -User plane: - - eNB MME - -|------------| |------------| -| PDCP | | MAL | -|------------| |------------| -|------------| |------------| -| S1-U | ------ | S1-U | -|------------| |------------| -|------------| |------------| -| GTPV1-U | ------ | GTPV1-U | -|------------| |------------| -|------------| |------------| -| UDP layer | ------ | UDP layer | -|------------| |------------| - -Current development: - -- NAS layer: under development -- S1AP layer: compliant with 3GPP TS36.413-8a0 and TS36.413-980 (under development) -- SCTP layer: SEQ_PACKET socket types - -For now the MME is able to register new eNBs on SCTP layer, -and handles S1 Setup request, Initial UE message, UplinkNASTransport on -S1AP layer. - -The MME needs some libraries and tools: -- libsctp-dev (SCTP support) -- libpthread-dev -- asn1c utility (patched with Aligned PER support, see README in -S1AP/MESSAGES/ASN1) link: http://lionet.info/soft/asn1c-0.9.21.tar.gz -- freediameter 1.1.5 patched (apply patch in DIAMETER/) with gnutls 3.1.0 -link: http://www.freediameter.net/hg/freeDiameter/archive/1.1.5.tar.gz - -Compilations steps for use with oaisim 4G emulation environment: -./autogen.sh -mkdir objs && cd objs -../configure [options] -make - -Compilations steps for oaisim_mme use alone: -./autogen.sh -./configure [options] -make - -Current options supported for configure: ---disable-r9: disable R9 S1AP messages (R9 enabled by default) -code build switch: UPDATE_RELEASE_9 - -To rum mme: -./OAISIM_MME/oaisim_mme [options] -Avalaible options: --h: print help --v: enable verbosity level [1-2] --V: print current executable version and return - -Before any commit: -make maintainer-clean - -Bugs: -report any bug to openair_admin@eurecom.fr - -MME SCTP port for S1AP messages is 36412 - --------- Adding new files to build system -------- -1) When adding a new file to compile, edit the Makefile.am of the corresponding - directory. -2) Execute ./autogen.sh -3) make -WARNING: do not edit directly Makefile and Makefile.in, they are re-generated by - autoconf/automake. diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/Makefile.am b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/Makefile.am deleted file mode 100644 index 818775406c..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/Makefile.am +++ /dev/null @@ -1,8 +0,0 @@ -BUILT_SOURCES=ieregen.stamp - -ieregen.stamp: $(top_srcdir)/S1AP/MESSAGES/ASN1/$(ASN1DIR)/S1AP-PDU-Contents.asn $(top_srcdir)/S1AP/MESSAGES/ASN1/asn1tostruct.py $(top_srcdir)/configure - echo Timestamp > $@ - python $(top_srcdir)/S1AP/MESSAGES/ASN1/asn1tostruct.py -f$(top_srcdir)/S1AP/MESSAGES/ASN1/$(ASN1DIR)/S1AP-PDU-Contents.asn -o$(top_builddir)/S1AP - -clean-local: - rm -f ieregen.stamp \ No newline at end of file diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/Makefile.in b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/Makefile.in deleted file mode 100644 index 089d3fdc5f..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/Makefile.in +++ /dev/null @@ -1,418 +0,0 @@ -# Makefile.in generated by automake 1.12 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = S1AP/MESSAGES/ASN1 -DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASN1C_CHECK = @ASN1C_CHECK@ -ASN1DIR = @ASN1DIR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOXYGEN = @DOXYGEN@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -POW_LIB = @POW_LIB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -BUILT_SOURCES = ieregen.stamp -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu S1AP/MESSAGES/ASN1/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu S1AP/MESSAGES/ASN1/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile -installdirs: -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: all check install install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local distclean distclean-generic distclean-libtool \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am - - -ieregen.stamp: $(top_srcdir)/S1AP/MESSAGES/ASN1/$(ASN1DIR)/S1AP-PDU-Contents.asn $(top_srcdir)/S1AP/MESSAGES/ASN1/asn1tostruct.py $(top_srcdir)/configure - echo Timestamp > $@ - python $(top_srcdir)/S1AP/MESSAGES/ASN1/asn1tostruct.py -f$(top_srcdir)/S1AP/MESSAGES/ASN1/$(ASN1DIR)/S1AP-PDU-Contents.asn -o$(top_builddir)/S1AP - -clean-local: - rm -f ieregen.stamp - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-CommonDataTypes.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-CommonDataTypes.asn deleted file mode 100644 index 3b86547186..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-CommonDataTypes.asn +++ /dev/null @@ -1,201 +0,0 @@ --- ************************************************************** --- --- Common definitions --- --- ************************************************************** - -S1AP-CommonDataTypes { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-CommonDataTypes (3) } - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -Criticality ::= ENUMERATED { reject, ignore, notify } - -Presence ::= ENUMERATED { optional, conditional, mandatory } - -PrivateIE-ID ::= CHOICE { - local INTEGER (0..65535), - global OBJECT IDENTIFIER -} - ---ProcedureCode ::= INTEGER (0..255) -ProcedureCode ::= INTEGER { -id-HandoverPreparation(0), -id-HandoverResourceAllocation(1), -id-HandoverNotification(2), -id-PathSwitchRequest(3), -id-HandoverCancel(4), -id-E-RABSetup(5), -id-E-RABModify(6), -id-E-RABRelease(7), -id-E-RABReleaseIndication(8), -id-InitialContextSetup(9), -id-Paging(10), -id-downlinkNASTransport(11), -id-initialUEMessage(12), -id-uplinkNASTransport(13), -id-Reset(14), -id-ErrorIndication(15), -id-NASNonDeliveryIndication(16), -id-S1Setup(17), -id-UEContextReleaseRequest(18), -id-DownlinkS1cdma2000tunneling(19), -id-UplinkS1cdma2000tunneling(20), -id-UEContextModification(21), -id-UECapabilityInfoIndication(22), -id-UEContextRelease(23), -id-eNBStatusTransfer(24), -id-MMEStatusTransfer(25), -id-DeactivateTrace(26), -id-TraceStart(27), -id-TraceFailureIndication(28), -id-ENBConfigurationUpdate(29), -id-MMEConfigurationUpdate(30), -id-LocationReportingControl(31), -id-LocationReportingFailureIndication(32), -id-LocationReport(33), -id-OverloadStart(34), -id-OverloadStop(35), -id-WriteReplaceWarning(36), -id-eNBDirectInformationTransfer(37), -id-MMEDirectInformationTransfer(38), -id-PrivateMessage(39), -id-eNBConfigurationTransfer(40), -id-MMEConfigurationTransfer(41), -id-CellTrafficTrace(42) -} (0..255) - -ProtocolExtensionID ::= INTEGER (0..65535) - -ProtocolIE-ID ::= INTEGER { -id-MME-UE-S1AP-ID(0), -id-HandoverType(1), -id-Cause(2), -id-SourceID(3), -id-TargetID (4), -id-eNB-UE-S1AP-ID(8), -id-E-RABSubjecttoDataForwardingList(12), -id-E-RABtoReleaseListHOCmd(13), -id-E-RABDataForwardingItem(14), -id-E-RABReleaseItemBearerRelComp(15), -id-E-RABToBeSetupListBearerSUReq(16), -id-E-RABToBeSetupItemBearerSUReq(17), -id-E-RABAdmittedList(18), -id-E-RABFailedToSetupListHOReqAck(19), -id-E-RABAdmittedItem(20), -id-E-RABFailedtoSetupItemHOReqAck(21), -id-E-RABToBeSwitchedDLList(22), -id-E-RABToBeSwitchedDLItem(23), -id-E-RABToBeSetupListCtxtSUReq(24), -id-TraceActivation(25), -id-NAS-PDU(26), -id-E-RABToBeSetupItemHOReq(27), -id-E-RABSetupListBearerSURes(28), -id-E-RABFailedToSetupListBearerSURes(29), -id-E-RABToBeModifiedListBearerModReq(30), -id-E-RABModifyListBearerModRes(31), -id-E-RABFailedToModifyList(32), -id-E-RABToBeReleasedList(33), -id-E-RABFailedToReleaseList(34), -id-E-RABItem(35), -id-E-RABToBeModifiedItemBearerModReq(36), -id-E-RABModifyItemBearerModRes(37), -id-E-RABReleaseItem(38), -id-E-RABSetupItemBearerSURes(39), -id-SecurityContext(40), -id-HandoverRestrictionList(41), -id-UEPagingID(43), -id-pagingDRX(44), -id-TAIList(46), -id-TAIItem(47), -id-E-RABFailedToSetupListCtxtSURes(48), -id-E-RABReleaseItemHOCmd(49), -id-E-RABSetupItemCtxtSURes(50), -id-E-RABSetupListCtxtSURes(51), -id-E-RABToBeSetupItemCtxtSUReq(52), -id-E-RABToBeSetupListHOReq(53), -id-GERANtoLTEHOInformationRes(55), -id-UTRANtoLTEHOInformationRes(57), -id-CriticalityDiagnostics(58), -id-Global-ENB-ID(59), -id-eNBname(60), -id-MMEname(61), -id-ServedPLMNs(63), -id-SupportedTAs(64), -id-TimeToWait(65), -id-uEaggregateMaximumBitrate(66), -id-TAI(67), -id-E-RABReleaseListBearerRelComp(69), -id-cdma2000PDU(70), -id-cdma2000RATType(71), -id-cdma2000SectorID(72), -id-SecurityKey(73), -id-UERadioCapability(74), -id-GUMMEI-ID(75), -id-E-RABInformationListItem(78), -id-Direct-Forwarding-Path-Availability(79), -id-UEIdentityIndexValue(80), -id-cdma2000HOStatus(83), -id-cdma2000HORequiredIndication(84), -id-E-UTRAN-Trace-ID(86), -id-RelativeMMECapacity(87), -id-SourceMME-UE-S1AP-ID(88), -id-Bearers-SubjectToStatusTransfer-Item(89), -id-eNB-StatusTransfer-TransparentContainer(90), -id-UE-associatedLogicalS1-ConnectionItem(91), -id-ResetType(92), -id-UE-associatedLogicalS1-ConnectionListResAck(93), -id-E-RABToBeSwitchedULItem(94), -id-E-RABToBeSwitchedULList(95), -id-S-TMSI(96), -id-cdma2000OneXRAND(97), -id-RequestType(98), -id-UE-S1AP-IDs(99), -id-EUTRAN-CGI(100), -id-OverloadResponse(101), -id-cdma2000OneXSRVCCInfo(102), -id-E-RABFailedToBeReleasedList(103), -id-Source-ToTarget-TransparentContainer(104), -id-ServedGUMMEIs(105), -id-SubscriberProfileIDforRFP(106), -id-UESecurityCapabilities(107), -id-CSFallbackIndicator(108), -id-CNDomain(109), -id-E-RABReleasedList(110), -id-MessageIdentifier(111), -id-SerialNumber(112), -id-WarningAreaList(113), -id-RepetitionPeriod(114), -id-NumberofBroadcastRequest(115), -id-WarningType(116), -id-WarningSecurityInfo(117), -id-DataCodingScheme(118), -id-WarningMessageContents(119), -id-BroadcastCompletedAreaList(120), -id-Inter-SystemInformationTransferTypeEDT(121), -id-Inter-SystemInformationTransferTypeMDT(122), -id-Target-ToSource-TransparentContainer(123), -id-SRVCCOperationPossible(124), -id-SRVCCHOIndication(125), -id-NAS-DownlinkCount(126), -id-CSG-Id(127), -id-CSG-IdList(128), -id-SONConfigurationTransferECT(129), -id-SONConfigurationTransferMCT(130), -id-TraceCollectionEntityIPAddress(131), -id-MSClassmark2(132), -id-MSClassmark3(133), -id-RRC-Establishment-Cause(134), -id-NASSecurityParametersfromE-UTRAN(135), -id-NASSecurityParameterstoE-UTRAN(136), -id-DefaultPagingDRX(137), -id-Source-ToTarget-TransparentContainer-Secondary(138), -id-Target-ToSource-TransparentContainer-Secondary(139) -} (0..65535) - -TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome } - -END diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-Constants.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-Constants.asn deleted file mode 100644 index debbafd79d..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-Constants.asn +++ /dev/null @@ -1,249 +0,0 @@ --- ************************************************************** --- --- Constant definitions --- --- ************************************************************** - -S1AP-Constants { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) } - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - --- ************************************************************** --- --- IE parameter types from other modules. --- --- ************************************************************** - - -IMPORTS - ProcedureCode, - ProtocolIE-ID - -FROM S1AP-CommonDataTypes; - - --- ************************************************************** --- --- Elementary Procedures --- --- ************************************************************** - -id-HandoverPreparation ProcedureCode ::= 0 -id-HandoverResourceAllocation ProcedureCode ::= 1 -id-HandoverNotification ProcedureCode ::= 2 -id-PathSwitchRequest ProcedureCode ::= 3 -id-HandoverCancel ProcedureCode ::= 4 -id-E-RABSetup ProcedureCode ::= 5 -id-E-RABModify ProcedureCode ::= 6 -id-E-RABRelease ProcedureCode ::= 7 -id-E-RABReleaseIndication ProcedureCode ::= 8 -id-InitialContextSetup ProcedureCode ::= 9 -id-Paging ProcedureCode ::= 10 -id-downlinkNASTransport ProcedureCode ::= 11 -id-initialUEMessage ProcedureCode ::= 12 -id-uplinkNASTransport ProcedureCode ::= 13 -id-Reset ProcedureCode ::= 14 -id-ErrorIndication ProcedureCode ::= 15 -id-NASNonDeliveryIndication ProcedureCode ::= 16 -id-S1Setup ProcedureCode ::= 17 -id-UEContextReleaseRequest ProcedureCode ::= 18 -id-DownlinkS1cdma2000tunneling ProcedureCode ::= 19 -id-UplinkS1cdma2000tunneling ProcedureCode ::= 20 -id-UEContextModification ProcedureCode ::= 21 -id-UECapabilityInfoIndication ProcedureCode ::= 22 -id-UEContextRelease ProcedureCode ::= 23 -id-eNBStatusTransfer ProcedureCode ::= 24 -id-MMEStatusTransfer ProcedureCode ::= 25 -id-DeactivateTrace ProcedureCode ::= 26 -id-TraceStart ProcedureCode ::= 27 -id-TraceFailureIndication ProcedureCode ::= 28 -id-ENBConfigurationUpdate ProcedureCode ::= 29 -id-MMEConfigurationUpdate ProcedureCode ::= 30 -id-LocationReportingControl ProcedureCode ::= 31 -id-LocationReportingFailureIndication ProcedureCode ::= 32 -id-LocationReport ProcedureCode ::= 33 -id-OverloadStart ProcedureCode ::= 34 -id-OverloadStop ProcedureCode ::= 35 -id-WriteReplaceWarning ProcedureCode ::= 36 -id-eNBDirectInformationTransfer ProcedureCode ::= 37 -id-MMEDirectInformationTransfer ProcedureCode ::= 38 -id-PrivateMessage ProcedureCode ::= 39 -id-eNBConfigurationTransfer ProcedureCode ::= 40 -id-MMEConfigurationTransfer ProcedureCode ::= 41 -id-CellTrafficTrace ProcedureCode ::= 42 - --- ************************************************************** --- --- Extension constants --- --- ************************************************************** - -maxPrivateIEs INTEGER ::= 65535 -maxProtocolExtensions INTEGER ::= 65535 -maxProtocolIEs INTEGER ::= 65535 --- ************************************************************** --- --- Lists --- --- ************************************************************** - -maxNrOfCSGs INTEGER ::= 256 -maxNrOfE-RABs INTEGER ::= 256 -maxnoofTAIs INTEGER ::= 256 -maxnoofTACs INTEGER ::= 256 -maxNrOfErrors INTEGER ::= 256 -maxnoofBPLMNs INTEGER ::= 6 -maxnoofPLMNsPerMME INTEGER ::= 32 -maxnoofEPLMNs INTEGER ::= 15 -maxnoofEPLMNsPlusOne INTEGER ::= 16 -maxnoofForbLACs INTEGER ::= 4096 -maxnoofForbTACs INTEGER ::= 4096 -maxNrOfIndividualS1ConnectionsToReset INTEGER ::= 256 -maxnoofCells INTEGER ::= 16 -maxnoofTAIforWarning INTEGER ::= 65535 -maxnoofCellID INTEGER ::= 65535 -maxnoofEmergencyAreaID INTEGER ::= 65535 -maxnoofCellinTAI INTEGER ::= 65535 -maxnoofCellinEAI INTEGER ::= 65535 -maxnoofeNBX2TLAs INTEGER ::= 2 -maxnoofRATs INTEGER ::= 8 -maxnoofGroupIDs INTEGER ::= 65535 -maxnoofMMECs INTEGER ::= 256 - - - - --- ************************************************************** --- --- IEs --- --- ************************************************************** - -id-MME-UE-S1AP-ID ProtocolIE-ID ::= 0 -id-HandoverType ProtocolIE-ID ::= 1 -id-Cause ProtocolIE-ID ::= 2 -id-SourceID ProtocolIE-ID ::= 3 -id-TargetID ProtocolIE-ID ::= 4 -id-eNB-UE-S1AP-ID ProtocolIE-ID ::= 8 -id-E-RABSubjecttoDataForwardingList ProtocolIE-ID ::= 12 -id-E-RABtoReleaseListHOCmd ProtocolIE-ID ::= 13 -id-E-RABDataForwardingItem ProtocolIE-ID ::= 14 -id-E-RABReleaseItemBearerRelComp ProtocolIE-ID ::= 15 -id-E-RABToBeSetupListBearerSUReq ProtocolIE-ID ::= 16 -id-E-RABToBeSetupItemBearerSUReq ProtocolIE-ID ::= 17 -id-E-RABAdmittedList ProtocolIE-ID ::= 18 -id-E-RABFailedToSetupListHOReqAck ProtocolIE-ID ::= 19 -id-E-RABAdmittedItem ProtocolIE-ID ::= 20 -id-E-RABFailedtoSetupItemHOReqAck ProtocolIE-ID ::= 21 -id-E-RABToBeSwitchedDLList ProtocolIE-ID ::= 22 -id-E-RABToBeSwitchedDLItem ProtocolIE-ID ::= 23 -id-E-RABToBeSetupListCtxtSUReq ProtocolIE-ID ::= 24 -id-TraceActivation ProtocolIE-ID ::= 25 -id-NAS-PDU ProtocolIE-ID ::= 26 -id-E-RABToBeSetupItemHOReq ProtocolIE-ID ::= 27 -id-E-RABSetupListBearerSURes ProtocolIE-ID ::= 28 -id-E-RABFailedToSetupListBearerSURes ProtocolIE-ID ::= 29 -id-E-RABToBeModifiedListBearerModReq ProtocolIE-ID ::= 30 -id-E-RABModifyListBearerModRes ProtocolIE-ID ::= 31 -id-E-RABFailedToModifyList ProtocolIE-ID ::= 32 -id-E-RABToBeReleasedList ProtocolIE-ID ::= 33 -id-E-RABFailedToReleaseList ProtocolIE-ID ::= 34 -id-E-RABItem ProtocolIE-ID ::= 35 -id-E-RABToBeModifiedItemBearerModReq ProtocolIE-ID ::= 36 -id-E-RABModifyItemBearerModRes ProtocolIE-ID ::= 37 -id-E-RABReleaseItem ProtocolIE-ID ::= 38 -id-E-RABSetupItemBearerSURes ProtocolIE-ID ::= 39 -id-SecurityContext ProtocolIE-ID ::= 40 -id-HandoverRestrictionList ProtocolIE-ID ::= 41 -id-UEPagingID ProtocolIE-ID ::= 43 -id-pagingDRX ProtocolIE-ID ::= 44 -id-TAIList ProtocolIE-ID ::= 46 -id-TAIItem ProtocolIE-ID ::= 47 -id-E-RABFailedToSetupListCtxtSURes ProtocolIE-ID ::= 48 -id-E-RABReleaseItemHOCmd ProtocolIE-ID ::= 49 -id-E-RABSetupItemCtxtSURes ProtocolIE-ID ::= 50 -id-E-RABSetupListCtxtSURes ProtocolIE-ID ::= 51 -id-E-RABToBeSetupItemCtxtSUReq ProtocolIE-ID ::= 52 -id-E-RABToBeSetupListHOReq ProtocolIE-ID ::= 53 -id-GERANtoLTEHOInformationRes ProtocolIE-ID ::= 55 -id-UTRANtoLTEHOInformationRes ProtocolIE-ID ::= 57 -id-CriticalityDiagnostics ProtocolIE-ID ::= 58 -id-Global-ENB-ID ProtocolIE-ID ::= 59 -id-eNBname ProtocolIE-ID ::= 60 -id-MMEname ProtocolIE-ID ::= 61 -id-ServedPLMNs ProtocolIE-ID ::= 63 -id-SupportedTAs ProtocolIE-ID ::= 64 -id-TimeToWait ProtocolIE-ID ::= 65 -id-uEaggregateMaximumBitrate ProtocolIE-ID ::= 66 -id-TAI ProtocolIE-ID ::= 67 -id-E-RABReleaseListBearerRelComp ProtocolIE-ID ::= 69 -id-cdma2000PDU ProtocolIE-ID ::= 70 -id-cdma2000RATType ProtocolIE-ID ::= 71 -id-cdma2000SectorID ProtocolIE-ID ::= 72 -id-SecurityKey ProtocolIE-ID ::= 73 -id-UERadioCapability ProtocolIE-ID ::= 74 -id-GUMMEI-ID ProtocolIE-ID ::= 75 -id-E-RABInformationListItem ProtocolIE-ID ::= 78 -id-Direct-Forwarding-Path-Availability ProtocolIE-ID ::= 79 -id-UEIdentityIndexValue ProtocolIE-ID ::= 80 -id-cdma2000HOStatus ProtocolIE-ID ::= 83 -id-cdma2000HORequiredIndication ProtocolIE-ID ::= 84 -id-E-UTRAN-Trace-ID ProtocolIE-ID ::= 86 -id-RelativeMMECapacity ProtocolIE-ID ::= 87 -id-SourceMME-UE-S1AP-ID ProtocolIE-ID ::= 88 -id-Bearers-SubjectToStatusTransfer-Item ProtocolIE-ID ::= 89 -id-eNB-StatusTransfer-TransparentContainer ProtocolIE-ID ::= 90 -id-UE-associatedLogicalS1-ConnectionItem ProtocolIE-ID ::= 91 -id-ResetType ProtocolIE-ID ::= 92 -id-UE-associatedLogicalS1-ConnectionListResAck ProtocolIE-ID ::= 93 -id-E-RABToBeSwitchedULItem ProtocolIE-ID ::= 94 -id-E-RABToBeSwitchedULList ProtocolIE-ID ::= 95 -id-S-TMSI ProtocolIE-ID ::= 96 -id-cdma2000OneXRAND ProtocolIE-ID ::= 97 -id-RequestType ProtocolIE-ID ::= 98 -id-UE-S1AP-IDs ProtocolIE-ID ::= 99 -id-EUTRAN-CGI ProtocolIE-ID ::= 100 -id-OverloadResponse ProtocolIE-ID ::= 101 -id-cdma2000OneXSRVCCInfo ProtocolIE-ID ::= 102 -id-E-RABFailedToBeReleasedList ProtocolIE-ID ::= 103 -id-Source-ToTarget-TransparentContainer ProtocolIE-ID ::= 104 -id-ServedGUMMEIs ProtocolIE-ID ::= 105 -id-SubscriberProfileIDforRFP ProtocolIE-ID ::= 106 -id-UESecurityCapabilities ProtocolIE-ID ::= 107 -id-CSFallbackIndicator ProtocolIE-ID ::= 108 -id-CNDomain ProtocolIE-ID ::= 109 -id-E-RABReleasedList ProtocolIE-ID ::= 110 -id-MessageIdentifier ProtocolIE-ID ::= 111 -id-SerialNumber ProtocolIE-ID ::= 112 -id-WarningAreaList ProtocolIE-ID ::= 113 -id-RepetitionPeriod ProtocolIE-ID ::= 114 -id-NumberofBroadcastRequest ProtocolIE-ID ::= 115 -id-WarningType ProtocolIE-ID ::= 116 -id-WarningSecurityInfo ProtocolIE-ID ::= 117 -id-DataCodingScheme ProtocolIE-ID ::= 118 -id-WarningMessageContents ProtocolIE-ID ::= 119 -id-BroadcastCompletedAreaList ProtocolIE-ID ::= 120 -id-Inter-SystemInformationTransferTypeEDT ProtocolIE-ID ::= 121 -id-Inter-SystemInformationTransferTypeMDT ProtocolIE-ID ::= 122 -id-Target-ToSource-TransparentContainer ProtocolIE-ID ::= 123 -id-SRVCCOperationPossible ProtocolIE-ID ::= 124 -id-SRVCCHOIndication ProtocolIE-ID ::= 125 -id-NAS-DownlinkCount ProtocolIE-ID ::= 126 -id-CSG-Id ProtocolIE-ID ::= 127 -id-CSG-IdList ProtocolIE-ID ::= 128 -id-SONConfigurationTransferECT ProtocolIE-ID ::= 129 -id-SONConfigurationTransferMCT ProtocolIE-ID ::= 130 -id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 131 -id-MSClassmark2 ProtocolIE-ID ::= 132 -id-MSClassmark3 ProtocolIE-ID ::= 133 -id-RRC-Establishment-Cause ProtocolIE-ID ::= 134 -id-NASSecurityParametersfromE-UTRAN ProtocolIE-ID ::= 135 -id-NASSecurityParameterstoE-UTRAN ProtocolIE-ID ::= 136 -id-DefaultPagingDRX ProtocolIE-ID ::= 137 -id-Source-ToTarget-TransparentContainer-Secondary ProtocolIE-ID ::= 138 -id-Target-ToSource-TransparentContainer-Secondary ProtocolIE-ID ::= 139 -END diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn deleted file mode 100644 index 6f76164b08..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn +++ /dev/null @@ -1,1401 +0,0 @@ --- ************************************************************** --- --- Information Element Definitions --- --- ************************************************************** - -S1AP-IEs { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-IEs (2) } - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS - id-E-RABInformationListItem, - id-E-RABItem, - id-Bearers-SubjectToStatusTransfer-Item, - maxNrOfCSGs, - maxNrOfE-RABs, - maxNrOfErrors, - maxnoofBPLMNs, - maxnoofPLMNsPerMME, - maxnoofTACs, - maxnoofEPLMNs, - maxnoofEPLMNsPlusOne, - maxnoofForbLACs, - maxnoofForbTACs, - maxnoofCells, - maxnoofCellID, - maxnoofEmergencyAreaID, - maxnoofTAIforWarning, - maxnoofCellinTAI, - maxnoofCellinEAI, - maxnoofeNBX2TLAs, - maxnoofRATs, - maxnoofGroupIDs, - maxnoofMMECs, - maxProtocolExtensions, - maxNrOfIndividualS1ConnectionsToReset, - maxnoofTAIs, - maxProtocolIEs -FROM S1AP-Constants - - IE -FROM S1AP-PDU - - Criticality, - ProcedureCode, - ProtocolIE-ID, - ProtocolExtensionID, - TriggeringMessage -FROM S1AP-CommonDataTypes; - -IE-Extensions ::= SEQUENCE (SIZE (1..maxProtocolExtensions)) OF IE --- A - - -AllocationAndRetentionPriority ::= SEQUENCE { - priorityLevel PriorityLevel, - pre-emptionCapability Pre-emptionCapability, - pre-emptionVulnerability Pre-emptionVulnerability, --- iE-Extensions ProtocolExtensionContainer { {AllocationAndRetentionPriority-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -AllocationAndRetentionPriority-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - - --- B - -Bearers-SubjectToStatusTransfer-List ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -Bearers-SubjectToStatusTransfer-Item ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - uL-COUNTvalue COUNTvalue, - dL-COUNTvalue COUNTvalue, - receiveStatusofULPDCPSDUs ReceiveStatusofULPDCPSDUs OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -Bearers-SubjectToStatusTransfer-ItemExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -BitRate ::= INTEGER (0..10000000000) - -BPLMNs ::= SEQUENCE (SIZE(1.. maxnoofBPLMNs)) OF PLMNidentity - -BroadcastCompletedAreaList ::= CHOICE { - cellID-Broadcast CellID-Broadcast, - tAI-Broadcast TAI-Broadcast, - emergencyAreaID-Broadcast EmergencyAreaID-Broadcast, - ... -} - - --- C - -Cause ::= CHOICE { - radioNetwork CauseRadioNetwork, - transport CauseTransport, - nas CauseNas, - protocol CauseProtocol, - misc CauseMisc, - ... -} - -CauseMisc ::= ENUMERATED { - control-processing-overload, - not-enough-user-plane-processing-resources, - hardware-failure, - om-intervention, - unspecified, - unknown-PLMN, -... -} - -CauseProtocol ::= ENUMERATED { - transfer-syntax-error, - abstract-syntax-error-reject, - abstract-syntax-error-ignore-and-notify, - message-not-compatible-with-receiver-state, - semantic-error, - abstract-syntax-error-falsely-constructed-message, - unspecified, - ... -} - -CauseRadioNetwork ::= ENUMERATED { - unspecified, - tx2relocoverall-expiry, - successful-handover, - release-due-to-eutran-generated-reason, - handover-cancelled, - partial-handover, - ho-failure-in-target-EPC-eNB-or-target-system, - ho-target-not-allowed, - tS1relocoverall-expiry, - tS1relocprep-expiry, - cell-not-available, - unknown-targetID, - no-radio-resources-available-in-target-cell, - unknown-mme-ue-s1ap-id, - unknown-enb-ue-s1ap-id, - unknown-pair-ue-s1ap-id, - handover-desirable-for-radio-reason, - time-critical-handover, - resource-optimisation-handover, - reduce-load-in-serving-cell, - user-inactivity, - radio-connection-with-ue-lost, - load-balancing-tau-required, - cs-fallback-triggered, - ue-not-available-for-ps-service, - radio-resources-not-available, - failure-in-radio-interface-procedure, - invalid-qos-combination, - interrat-redirection, - interaction-with-other-procedure, - unknown-E-RAB-ID, - multiple-E-RAB-ID-instances, - encryption-and-or-integrity-protection-algorithms-not-supported, - s1-intra-system-handover-triggered, - s1-inter-system-handover-triggered, - x2-handover-triggered, - ..., - redirection-towards-1xRTT, - not-supported-QCI-value - -} - -CauseTransport ::= ENUMERATED { - transport-resource-unavailable, - unspecified, - ... -} - -CauseNas ::= ENUMERATED { - normal-release, - authentication-failure, - detach, - unspecified, - ... -} - -CellIdentity ::= BIT STRING (SIZE (28)) - -CellID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Broadcast-Item - -CellID-Broadcast-Item ::= SEQUENCE { - eCGI EUTRAN-CGI, --- iE-Extensions ProtocolExtensionContainer { {CellID-Broadcast-Item-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -CellID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - - -Cdma2000PDU ::= OCTET STRING - -Cdma2000RATType ::= ENUMERATED { - hRPD, - onexRTT, - ... -} - -Cdma2000SectorID ::= OCTET STRING - -Cdma2000HOStatus ::= ENUMERATED { - hOSuccess, - hOFailure, - ... -} - -Cdma2000HORequiredIndication ::= ENUMERATED { - true, - ... -} - -Cdma2000OneXSRVCCInfo ::= SEQUENCE { - cdma2000OneXMEID Cdma2000OneXMEID, - cdma2000OneXMSI Cdma2000OneXMSI, - cdma2000OneXPilot Cdma2000OneXPilot, --- iE-Extensions ProtocolExtensionContainer { {Cdma2000OneXSRVCCInfo-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -Cdma2000OneXSRVCCInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -Cdma2000OneXMEID ::= OCTET STRING - -Cdma2000OneXMSI ::= OCTET STRING - -Cdma2000OneXPilot ::= OCTET STRING - -Cdma2000OneXRAND ::= OCTET STRING - - -Cell-Size ::= ENUMERATED {verysmall, small, medium, large, ...} - -CellType ::= SEQUENCE { - cell-Size Cell-Size, --- iE-Extensions ProtocolExtensionContainer { { CellType-ExtIEs}} OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -CellType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -CGI ::= SEQUENCE { - pLMNidentity PLMNidentity, - lAC LAC, - cI CI, - rAC RAC OPTIONAL, --- iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -CI ::= OCTET STRING (SIZE (2)) - -CNDomain ::= ENUMERATED { - ps, - cs -} - -CSFallbackIndicator ::= ENUMERATED { - cs-fallback-required, - ..., - cs-fallback-high-priority -} - -CSG-Id ::= BIT STRING (SIZE (27)) - - -CSG-IdList ::= SEQUENCE (SIZE (1..maxNrOfCSGs)) OF CSG-IdList-Item - -CSG-IdList-Item ::= SEQUENCE { - cSG-Id CSG-Id, --- iE-Extensions ProtocolExtensionContainer { {CSG-IdList-Item-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -CSG-IdList-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -COUNTvalue ::= SEQUENCE { - pDCP-SN PDCP-SN, - hFN HFN, --- iE-Extensions ProtocolExtensionContainer { {COUNTvalue-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -COUNTvalue-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -CriticalityDiagnostics ::= SEQUENCE { - procedureCode ProcedureCode OPTIONAL, - triggeringMessage TriggeringMessage OPTIONAL, - procedureCriticality Criticality OPTIONAL, - iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, --- iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-ExtIEs}} OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - ---CriticalityDiagnostics-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { --- ... ---} - -CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF CriticalityDiagnostics-IE-Item - -CriticalityDiagnostics-IE-Item ::= SEQUENCE { - iECriticality Criticality, - iE-ID ProtocolIE-ID, - typeOfError TypeOfError, --- iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-IE-Item-ExtIEs}} OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - ---CriticalityDiagnostics-IE-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { --- ... ---} - - --- D - -DataCodingScheme ::= BIT STRING (SIZE (8)) - -DL-Forwarding ::= ENUMERATED { - dL-Forwarding-proposed, - ... -} - -Direct-Forwarding-Path-Availability ::= ENUMERATED { - directPathAvailable, - ... -} - --- E - -E-RABToBeModifiedListBearerModReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABToBeModifiedItemBearerModReq ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - e-RABLevelQoSParameters E-RABLevelQoSParameters, - nAS-PDU NAS-PDU, --- iE-Extensions ProtocolExtensionContainer { {E-RABToBeModifyItemBearerModReqExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABReleaseListBearerRelComp ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABReleaseItemBearerRelComp ::= SEQUENCE { - e-RAB-ID E-RAB-ID, --- iE-Extensions ProtocolExtensionContainer { {E-RABReleaseItemBearerRelCompExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABDataForwardingList ::= SEQUENCE (SIZE (0..maxNrOfE-RABs)) OF IE - -E-RABDataForwardingItem ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - dL-transportLayerAddress TransportLayerAddress OPTIONAL, - dL-gTP-TEID GTP-TEID OPTIONAL, - uL-TransportLayerAddress TransportLayerAddress OPTIONAL, - uL-GTP-TEID GTP-TEID OPTIONAL, --- iE-Extensions ProtocolExtensionContainer { { E-RABDataForwardingItem-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABToBeSetupListCtxtSUReq ::= SEQUENCE (SIZE(1..maxNrOfE-RABs)) OF IE - -E-RABToBeSetupItemCtxtSUReq ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - e-RABlevelQoSParameters E-RABLevelQoSParameters, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - nAS-PDU NAS-PDU OPTIONAL, --- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemCtxtSUReqExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABSetupListBearerSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABSetupItemBearerSURes ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, --- iE-Extensions ProtocolExtensionContainer { {E-RABSetupItemBearerSUResExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABFailedtoSetupListHOReqAck ::= SEQUENCE (SIZE (0..maxNrOfE-RABs)) OF IE - -E-RABFailedToSetupItemHOReqAck ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - cause Cause, --- iE-Extensions ProtocolExtensionContainer { { E-RABFailedToSetupItemHOReqAckExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABToBeSetupListBearerSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABToBeSetupItemBearerSUReq ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - e-RABlevelQoSParameters E-RABLevelQoSParameters, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - nAS-PDU NAS-PDU, --- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemBearerSUReqExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABAdmittedList ::= SEQUENCE (SIZE (0..maxNrOfE-RABs)) OF IE - -E-RABAdmittedItem ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - dL-transportLayerAddress TransportLayerAddress OPTIONAL, - dL-gTP-TEID GTP-TEID OPTIONAL, - uL-TransportLayerAddress TransportLayerAddress OPTIONAL, - uL-GTP-TEID GTP-TEID OPTIONAL, --- iE-Extensions ProtocolExtensionContainer { {E-RABAdmittedItem-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABToBeSwitchedDLList ::= SEQUENCE (SIZE (0..maxNrOfE-RABs)) OF IE - -E-RABToBeSwitchedDLItem ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, --- iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedDLItem-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABToBeSwitchedULList ::= SEQUENCE (SIZE (0..maxNrOfE-RABs)) OF IE - -E-RABToBeSwitchedULItem ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, --- iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedULItem-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABModifyListBearerModRes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABModifyItemBearerModRes ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABSetupListCtxtSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABSetupItemCtxtSURes ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, --- iE-Extensions ProtocolExtensionContainer { {E-RABSetupItemCtxtSUResExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABToBeSetupListHOReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABToBeSetupItemHOReq ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - e-RABlevelQosParameters E-RABLevelQoSParameters, --- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemHOReq-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -ECGIList ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF EUTRAN-CGI - -EmergencyAreaIDList ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID - -EmergencyAreaID ::= OCTET STRING (SIZE (3)) - -EmergencyAreaID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Broadcast-Item - -EmergencyAreaID-Broadcast-Item ::= SEQUENCE { - emergencyAreaID EmergencyAreaID, - completedCellinEAI CompletedCellinEAI, --- iE-Extensions ProtocolExtensionContainer { {EmergencyAreaID-Broadcast-Item-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - ---EmergencyAreaID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { --- ... ---} - - -CompletedCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CompletedCellinEAI-Item - -CompletedCellinEAI-Item ::= SEQUENCE { - eCGI EUTRAN-CGI, --- iE-Extensions ProtocolExtensionContainer { {CompletedCellinEAI-Item-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -/* -CompletedCellinEAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -ENB-ID ::= CHOICE { - macroENB-ID BIT STRING (SIZE(20)), - homeENB-ID BIT STRING (SIZE(28)), - ... -} - -GERAN-Cell-ID ::= SEQUENCE { - lAI LAI, - rAC RAC, - cI CI, --- iE-Extensions ProtocolExtensionContainer { { GERAN-Cell-ID-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - ---GERAN-Cell-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { --- ... ---} - -Global-ENB-ID ::= SEQUENCE { - pLMNidentity PLMNidentity, - eNB-ID ENB-ID, - --iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - ---GlobalENB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { --- ... ---} - - -ENB-StatusTransfer-TransparentContainer ::= SEQUENCE { - bearers-SubjectToStatusTransfer-List Bearers-SubjectToStatusTransfer-List, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -ENB-UE-S1AP-ID ::= INTEGER (0..16777215) - -ENBname ::= PrintableString (SIZE (1..150,...)) - -ENBX2TLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2TLAs)) OF TransportLayerAddress - -EncryptionAlgorithms ::= BIT STRING (SIZE (16,...)) - -EPLMNs ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMNidentity -EventType ::= ENUMERATED { - direct, - change-of-serve-cell, - stop-change-of-serve-cell, - ... -} - -E-RAB-ID ::= INTEGER (0..15, ...) - ---E-RABInformationList ::= SEQUENCE (SIZE (1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { { E-RABInformationListIEs } } -E-RABInformationList ::= SEQUENCE (SIZE (1.. maxNrOfE-RABs)) OF IE - ---E-RABInformationListIEs S1AP-PROTOCOL-IES ::= { --- { ID id-E-RABInformationListItem CRITICALITY ignore TYPE E-RABInformationListItem PRESENCE mandatory }, --- ... ---} - -E-RABInformationListItem ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - dL-Forwarding DL-Forwarding OPTIONAL, --- iE-Extensions ProtocolExtensionContainer { {E-RABInformationListItem-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -E-RABInformationListItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - ---E-RABList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABItemIEs} } -E-RABList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ANY - ---E-RABItemIEs S1AP-PROTOCOL-IES ::= { --- { ID id-E-RABItem CRITICALITY ignore TYPE E-RABItem PRESENCE mandatory }, --- ... ---} - -E-RABItem ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - cause Cause, --- iE-Extensions ProtocolExtensionContainer { {E-RABItem-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -E-RABItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - - - - -E-RABLevelQoSParameters ::= SEQUENCE { - qCI QCI, - allocationRetentionPriority AllocationAndRetentionPriority, - gbrQosInformation GBR-QosInformation OPTIONAL, --- iE-Extensions ProtocolExtensionContainer { {E-RABQoSParameters-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -E-RABQoSParameters-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - - -EUTRAN-CGI ::= SEQUENCE { - pLMNidentity PLMNidentity, - cell-ID CellIdentity, --- iE-Extensions ProtocolExtensionContainer { {EUTRAN-CGI-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -EUTRAN-CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -ExtendedRNC-ID ::= INTEGER (4096..65535) - --- F - -ForbiddenInterRATs ::= ENUMERATED { - all, - geran, - utran, - cdma2000, - ... -} - -ForbiddenTAs ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF ForbiddenTAs-Item - -ForbiddenTAs-Item ::= SEQUENCE { - pLMN-Identity PLMNidentity, - forbiddenTACs ForbiddenTACs, --- iE-Extensions ProtocolExtensionContainer { {ForbiddenTAs-Item-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -ForbiddenTAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -ForbiddenTACs ::= SEQUENCE (SIZE(1..maxnoofForbTACs)) OF TAC - -ForbiddenLAs ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF ForbiddenLAs-Item - -ForbiddenLAs-Item ::= SEQUENCE { - pLMN-Identity PLMNidentity, - forbiddenLACs ForbiddenLACs, --- iE-Extensions ProtocolExtensionContainer { {ForbiddenLAs-Item-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -ForbiddenLAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -ForbiddenLACs ::= SEQUENCE (SIZE(1..maxnoofForbLACs)) OF LAC - --- G - -GBR-QosInformation ::= SEQUENCE { - e-RAB-MaximumBitrateDL BitRate, - e-RAB-MaximumBitrateUL BitRate, - e-RAB-GuaranteedBitrateDL BitRate, - e-RAB-GuaranteedBitrateUL BitRate, --- iE-Extensions ProtocolExtensionContainer { { GBR-QosInformation-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -GBR-QosInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - - -GTP-TEID ::= OCTET STRING (SIZE (4)) - -GUMMEI ::= SEQUENCE { - pLMN-Identity PLMNidentity, - mME-Group-ID MME-Group-ID, - mME-Code MME-Code, --- iE-Extensions ProtocolExtensionContainer { {GUMMEI-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -GUMMEI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - --- H - -HandoverRestrictionList ::= SEQUENCE { - servingPLMN PLMNidentity, - equivalentPLMNs EPLMNs OPTIONAL, - forbiddenTAs ForbiddenTAs OPTIONAL, - forbiddenLAs ForbiddenLAs OPTIONAL, - forbiddenInterRATs ForbiddenInterRATs OPTIONAL, --- iE-Extensions ProtocolExtensionContainer { {HandoverRestrictionList-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -HandoverRestrictionList-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -HandoverType ::= ENUMERATED { - intralte, - ltetoutran, - ltetogeran, - utrantolte, - gerantolte, - ... -} - -HFN ::= INTEGER (0..1048575) - --- I - -Inter-SystemInformationTransferType ::= CHOICE { - rIMTransfer RIMTransfer, - ... -} - -IMSI ::= OCTET STRING (SIZE (3..8)) - -IntegrityProtectionAlgorithms ::= BIT STRING (SIZE (16,...)) - -InterfacesToTrace ::= BIT STRING (SIZE (8)) - - - --- J --- K --- L - - -LAC ::= OCTET STRING (SIZE (2)) - -LAI ::= SEQUENCE { - pLMNidentity PLMNidentity, - lAC LAC, --- iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -LAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -LastVisitedCell-Item ::= CHOICE { - e-UTRAN-Cell LastVisitedEUTRANCellInformation, - uTRAN-Cell LastVisitedUTRANCellInformation, - gERAN-Cell LastVisitedGERANCellInformation, - ... -} -LastVisitedEUTRANCellInformation ::= SEQUENCE { - global-Cell-ID EUTRAN-CGI, - cellType CellType, - time-UE-StayedInCell Time-UE-StayedInCell, --- iE-Extensions ProtocolExtensionContainer { { LastVisitedEUTRANCellInformation-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -LastVisitedEUTRANCellInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ -LastVisitedUTRANCellInformation ::= OCTET STRING - -LastVisitedGERANCellInformation ::= CHOICE { - undefined NULL, - ... -} - -L3-Information ::= OCTET STRING - - --- M - -MessageIdentifier ::= BIT STRING (SIZE (16)) - -MMEname ::= PrintableString (SIZE (1..150,...)) - -MME-Group-ID ::= OCTET STRING (SIZE (2)) - -MME-Code ::= OCTET STRING (SIZE (1)) - -MME-UE-S1AP-ID ::= INTEGER (0..4294967295) -M-TMSI ::= OCTET STRING (SIZE (4)) - -MSClassmark2 ::= OCTET STRING -MSClassmark3 ::= OCTET STRING - --- N - -NAS-PDU ::= OCTET STRING - -NASSecurityParametersfromE-UTRAN ::= OCTET STRING - -NASSecurityParameterstoE-UTRAN ::= OCTET STRING - -NumberofBroadcastRequest ::= INTEGER (0..65535) - -NumberOfBroadcasts ::= INTEGER (0..65535) - --- O -OldBSS-ToNewBSS-Information ::= OCTET STRING - -OverloadAction ::= ENUMERATED { - reject-non-emergency-mo-dt, - reject-all-rrc-cr-signalling, - permit-emergency-sessions-only, - ... -} - -OverloadResponse ::= CHOICE { - overloadAction OverloadAction, - ... -} - - --- P - -PagingDRX ::= ENUMERATED { - v32, - v64, - v128, - v256, - ... - } - -PDCP-SN ::= INTEGER (0..4095) - -PLMNidentity ::= TBCD-STRING ---PLMNidentity ::= OCTET STRING (SIZE (3)) - -Pre-emptionCapability ::= ENUMERATED { - shall-not-trigger-pre-emption, - may-trigger-pre-emption -} - -Pre-emptionVulnerability ::= ENUMERATED { - not-pre-emptable, - pre-emptable -} - -PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15) - - --- Q - -QCI ::= INTEGER (0..255) - --- R - -ReceiveStatusofULPDCPSDUs ::= BIT STRING (SIZE(4096)) - -RelativeMMECapacity ::= INTEGER (0..255) - -RAC ::= OCTET STRING (SIZE (1)) - - -RequestType ::= SEQUENCE { - eventType EventType, - reportArea ReportArea, --- iE-Extensions ProtocolExtensionContainer { { RequestType-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -/* -RequestType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -ResetType ::= CHOICE { - s1-Interface ResetAll, - partOfS1-Interface UE-associatedLogicalS1-ConnectionListRes, - ... -} - -ResetAll ::= ENUMERATED { - reset-all, - ... -} - -RIMTransfer ::= SEQUENCE { - rIMInformation RIMInformation, - rIMRoutingAddress RIMRoutingAddress OPTIONAL, --- iE-Extensions ProtocolExtensionContainer { { RIMTransfer-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, -... -} -/* -RIMTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -RIMInformation ::= OCTET STRING - -RIMRoutingAddress ::= CHOICE { - gERAN-Cell-ID GERAN-Cell-ID, - ... -} - -ReportArea ::= ENUMERATED { - ecgi, - ... -} - -RepetitionPeriod ::= INTEGER (0..4095) - - -RNC-ID ::= INTEGER (0..4095) - -RRC-Container ::= OCTET STRING - -RRC-Establishment-Cause ::= ENUMERATED { - emergency, - highPriorityAccess, - mt-Access, - mo-Signalling, - mo-Data, - ... -} - --- S - - -SecurityKey ::= BIT STRING (SIZE(256)) - - - -SecurityContext ::= SEQUENCE { - nextHopChainingCount INTEGER (0..7), - nextHopParameter SecurityKey, --- iE-Extensions ProtocolExtensionContainer { { SecurityContext-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -/* -SecurityContext-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -SerialNumber ::= BIT STRING (SIZE (16)) - -SONInformation ::= CHOICE{ - sONInformationRequest SONInformationRequest, - sONInformationReply SONInformationReply, - ... -} - -SONInformationRequest ::= ENUMERATED { - x2TNL-Configuration-Info, - ... -} - -SONInformationReply ::= SEQUENCE { - x2TNLConfigurationInfo X2TNLConfigurationInfo OPTIONAL, --- iE-Extensions ProtocolExtensionContainer {{SONInformationReply-ExtIEs}} OPTIONAL, - iE-Extensions-Container IE-Extensions OPTIONAL, - ... -} -/* -SONInformationReply-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - - -SONConfigurationTransfer ::= SEQUENCE { - targeteNB-ID TargeteNB-ID, - sourceeNB-ID SourceeNB-ID, - sONInformation SONInformation, --- iE-Extensions ProtocolExtensionContainer { { SONConfigurationTransfer-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, -... -} -/* -SONConfigurationTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - - - -Source-ToTarget-TransparentContainer ::= OCTET STRING - -SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING -SourceeNB-ID ::= SEQUENCE { - global-ENB-ID Global-ENB-ID, - selected-TAI TAI, --- iE-Extensions ProtocolExtensionContainer { {SourceeNB-ID-ExtIEs} } OPTIONAL - iE-Extensions IE-Extensions OPTIONAL -} -/* -SourceeNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -SRVCCOperationPossible ::= ENUMERATED { - possible, - ... -} - -SRVCCHOIndication ::= ENUMERATED { - pSandCS, - cSonly, - ... -} - -SourceeNB-ToTargeteNB-TransparentContainer ::= SEQUENCE { - rRC-Container RRC-Container, - e-RABInformationList E-RABInformationList OPTIONAL, - targetCell-ID EUTRAN-CGI, - subscriberProfileIDforRFP SubscriberProfileIDforRFP OPTIONAL, - uE-HistoryInformation UE-HistoryInformation, --- iE-Extensions ProtocolExtensionContainer { {SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - - -SourceRNC-ToTargetRNC-TransparentContainer ::= OCTET STRING - - -ServedGUMMEIs ::= SEQUENCE (SIZE (1.. maxnoofRATs)) OF ServedGUMMEIsItem - -ServedGUMMEIsItem ::= SEQUENCE { - servedPLMNs ServedPLMNs, - servedGroupIDs ServedGroupIDs, - servedMMECs ServedMMECs, --- iE-Extensions ProtocolExtensionContainer { {ServedGUMMEIsItem-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -ServedGUMMEIsItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -ServedGroupIDs ::= SEQUENCE (SIZE(1.. maxnoofGroupIDs)) OF MME-Group-ID -ServedMMECs ::= SEQUENCE (SIZE(1.. maxnoofMMECs)) OF MME-Code - -ServedPLMNs ::= SEQUENCE (SIZE(1.. maxnoofPLMNsPerMME)) OF PLMNidentity - -SubscriberProfileIDforRFP ::= INTEGER (1..256) - -SupportedTAs ::= SEQUENCE (SIZE(1.. maxnoofTACs)) OF SupportedTAs-Item - -SupportedTAs-Item ::= SEQUENCE { - tAC TAC, - broadcastPLMNs BPLMNs, --- iE-Extensions ProtocolExtensionContainer { {SupportedTAs-Item-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -SupportedTAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -S-TMSI ::= SEQUENCE { - mMEC MME-Code, - m-TMSI M-TMSI, --- iE-Extensions ProtocolExtensionContainer { {S-TMSI-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -S-TMSI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - --- T - -TAC ::= OCTET STRING (SIZE (2)) - -TAIListforWarning ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI - -TAIList ::= SEQUENCE (SIZE(1..maxnoofTAIs)) OF IE - -TAIItem ::= SEQUENCE { - tAI TAI, --- iE-Extensions ProtocolExtensionContainer { {TAIItemExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -TAI ::= SEQUENCE { - pLMNidentity PLMNidentity, - tAC TAC, --- iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -TAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -TAI-Broadcast ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Broadcast-Item - -TAI-Broadcast-Item ::= SEQUENCE { - tAI TAI, - completedCellinTAI CompletedCellinTAI, --- iE-Extensions ProtocolExtensionContainer { {TAI-Broadcast-Item-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -TAI-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -CompletedCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CompletedCellinTAI-Item - -CompletedCellinTAI-Item ::= SEQUENCE{ - eCGI EUTRAN-CGI, --- iE-Extensions ProtocolExtensionContainer { {CompletedCellinTAI-Item-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -CompletedCellinTAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -TBCD-STRING ::= OCTET STRING (SIZE (3)) - -TargetID ::= CHOICE { - targeteNB-ID TargeteNB-ID, - targetRNC-ID TargetRNC-ID, - cGI CGI, - ... -} - -TargeteNB-ID ::= SEQUENCE { - global-ENB-ID Global-ENB-ID, - selected-TAI TAI, --- iE-Extensions ProtocolExtensionContainer { {TargeteNB-ID-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -TargeteNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -TargetRNC-ID ::= SEQUENCE { - lAI LAI, - rAC RAC OPTIONAL, - rNC-ID RNC-ID, - extendedRNC-ID ExtendedRNC-ID OPTIONAL, --- iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -/* -TargetRNC-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - - -TargeteNB-ToSourceeNB-TransparentContainer ::= SEQUENCE { - rRC-Container RRC-Container, --- iE-Extensions ProtocolExtensionContainer { {TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -Target-ToSource-TransparentContainer ::= OCTET STRING -TargetRNC-ToSourceRNC-TransparentContainer ::= OCTET STRING -TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING - -TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...} - -Time-UE-StayedInCell ::= INTEGER (0..4095) - -TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...)) - -TraceActivation ::= SEQUENCE { - e-UTRAN-Trace-ID E-UTRAN-Trace-ID, - interfacesToTrace InterfacesToTrace, -traceDepth TraceDepth, -traceCollectionEntityIPAddress TransportLayerAddress, --- iE-Extensions ProtocolExtensionContainer { { TraceActivation-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -TraceActivation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -TraceDepth ::= ENUMERATED { - minimum, - medium, - maximum, - minimumWithoutVendorSpecificExtension, - mediumWithoutVendorSpecificExtension, - maximumWithoutVendorSpecificExtension, - ... -} - -E-UTRAN-Trace-ID ::= OCTET STRING (SIZE (8)) - -TypeOfError ::= ENUMERATED { - not-understood, - missing, - ... -} - --- U - -UEAggregateMaximumBitrate ::= SEQUENCE { - uEaggregateMaximumBitRateDL BitRate, - uEaggregateMaximumBitRateUL BitRate, --- iE-Extensions ProtocolExtensionContainer { {UEAggregate-MaximumBitrates-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -UEAggregate-MaximumBitrates-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - - - -UE-S1AP-IDs ::= CHOICE{ - uE-S1AP-ID-pair UE-S1AP-ID-pair, - mME-UE-S1AP-ID MME-UE-S1AP-ID, - ... -} - -UE-S1AP-ID-pair ::= SEQUENCE{ - mME-UE-S1AP-ID MME-UE-S1AP-ID, - eNB-UE-S1AP-ID ENB-UE-S1AP-ID, --- iE-Extensions ProtocolExtensionContainer { {UE-S1AP-ID-pair-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -UE-S1AP-ID-pair-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - - ---WARNING: not the right IE definition... -UE-associatedLogicalS1-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF IE - -UE-associatedLogicalS1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF IE - -UE-associatedLogicalS1-ConnectionItemRes ::= SET { - ue-associatedLogicalS1-ConnectionItemRes-ies UE-associatedLogicalS1-ConnectionItem, - ... -} - -UE-associatedLogicalS1-ConnectionItem ::= SEQUENCE { - mME-UE-S1AP-ID MME-UE-S1AP-ID OPTIONAL, - eNB-UE-S1AP-ID ENB-UE-S1AP-ID OPTIONAL, --- iE-Extensions ProtocolExtensionContainer { { UE-associatedLogicalS1-ConnectionItemExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -/* -UE-associatedLogicalS1-ConnectionItemExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - -UEIdentityIndexValue ::= BIT STRING (SIZE (10)) - -UE-HistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCells)) OF LastVisitedCell-Item - -UEPagingID ::= CHOICE { - s-TMSI S-TMSI, - iMSI IMSI, - ... - } - -UERadioCapability ::= OCTET STRING - -UESecurityCapabilities ::= SEQUENCE { - encryptionAlgorithms EncryptionAlgorithms, - integrityProtectionAlgorithms IntegrityProtectionAlgorithms, --- iE-Extensions ProtocolExtensionContainer { { UESecurityCapabilities-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, -... -} -/* -UESecurityCapabilities-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - --- V --- W - -WarningAreaList ::= CHOICE { - cellIDList ECGIList, - trackingAreaListforWarning TAIListforWarning, - emergencyAreaIDList EmergencyAreaIDList, - ... -} - - -WarningType ::= OCTET STRING (SIZE (2)) - -WarningSecurityInfo ::= OCTET STRING (SIZE (50)) - - -WarningMessageContents ::= OCTET STRING (SIZE(1..9600)) - - --- X - - -X2TNLConfigurationInfo ::= SEQUENCE { - eNBX2TransportLayerAddresses ENBX2TLAs, --- iE-Extensions ProtocolExtensionContainer { { X2TNLConfigurationInfo-ExtIEs} } OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} -/* -X2TNLConfigurationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -}*/ - --- Y --- Z - -END diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn deleted file mode 100644 index 1fc0f3bc5b..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn +++ /dev/null @@ -1,2069 +0,0 @@ --- ************************************************************** --- --- PDU definitions for S1AP. --- --- ************************************************************** - -S1AP-PDU-Contents { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Contents (1) } - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - --- ************************************************************** --- --- IE parameter types from other modules. --- --- ************************************************************** - -IMPORTS - - UEAggregateMaximumBitrate, - Cause, - Cdma2000HORequiredIndication, - Cdma2000HOStatus, - Cdma2000OneXSRVCCInfo, - Cdma2000OneXRAND, - Cdma2000PDU, - Cdma2000RATType, - Cdma2000SectorID, - CNDomain, - CriticalityDiagnostics, - CSFallbackIndicator, - CSG-Id, - CSG-IdList, - Direct-Forwarding-Path-Availability, - Global-ENB-ID, - EUTRAN-CGI, - ENBname, - ENB-StatusTransfer-TransparentContainer, - ENB-UE-S1AP-ID, - GTP-TEID, - GUMMEI, - HandoverRestrictionList, - HandoverType, - MMEname, - MME-UE-S1AP-ID, - MSClassmark2, - MSClassmark3, - NAS-PDU, - NASSecurityParametersfromE-UTRAN, - NASSecurityParameterstoE-UTRAN, - OverloadResponse, - PagingDRX, - PLMNidentity, - RIMTransfer, - RelativeMMECapacity, - RequestType, - E-RAB-ID, - E-RABLevelQoSParameters, - E-RABList, - SecurityKey, - SecurityContext, - ServedGUMMEIs, - SONConfigurationTransfer, - Source-ToTarget-TransparentContainer, - SourceBSS-ToTargetBSS-TransparentContainer, - SourceeNB-ToTargeteNB-TransparentContainer, - SourceRNC-ToTargetRNC-TransparentContainer, - SubscriberProfileIDforRFP, - SRVCCOperationPossible, - SRVCCHOIndication, - SupportedTAs, - TAI, - Target-ToSource-TransparentContainer, - TargetBSS-ToSourceBSS-TransparentContainer, - TargeteNB-ToSourceeNB-TransparentContainer, - TargetID, - TargetRNC-ToSourceRNC-TransparentContainer, - TimeToWait, - TraceActivation, - E-UTRAN-Trace-ID, - TransportLayerAddress, - UEIdentityIndexValue, - UEPagingID, - UERadioCapability, - UE-S1AP-IDs, - UE-associatedLogicalS1-ConnectionItem, - UESecurityCapabilities, - S-TMSI, - MessageIdentifier, - SerialNumber, - WarningAreaList, - RepetitionPeriod, - NumberofBroadcastRequest, - WarningType, - WarningSecurityInfo, - DataCodingScheme, - WarningMessageContents, - BroadcastCompletedAreaList, - RRC-Establishment-Cause - -FROM S1AP-IEs - - - id-uEaggregateMaximumBitrate, - id-Cause, - id-cdma2000HORequiredIndication, - id-cdma2000HOStatus, - id-cdma2000OneXSRVCCInfo, - id-cdma2000OneXRAND, - id-cdma2000PDU, - id-cdma2000RATType, - id-cdma2000SectorID, - id-CNDomain, - id-CriticalityDiagnostics, - id-CSFallbackIndicator, - id-CSG-Id, - id-CSG-IdList, - id-DefaultPagingDRX, - id-Direct-Forwarding-Path-Availability, - id-Global-ENB-ID, - id-EUTRAN-CGI, - id-eNBname, - id-eNB-StatusTransfer-TransparentContainer, - id-eNB-UE-S1AP-ID, - id-GERANtoLTEHOInformationRes, - id-GUMMEI-ID, - id-HandoverRestrictionList, - id-HandoverType, - id-InitialContextSetup, - id-Inter-SystemInformationTransferTypeEDT, - id-Inter-SystemInformationTransferTypeMDT, - id-NAS-DownlinkCount, - id-MMEname, - id-MME-UE-S1AP-ID, - id-MSClassmark2, - id-MSClassmark3, - id-NAS-PDU, - id-NASSecurityParametersfromE-UTRAN, - id-NASSecurityParameterstoE-UTRAN, - id-OverloadResponse, - id-pagingDRX, - id-RelativeMMECapacity, - id-RequestType, - id-E-RABAdmittedItem, - id-E-RABAdmittedList, - id-E-RABDataForwardingItem, - id-E-RABFailedToModifyList, - id-E-RABFailedToReleaseList, - id-E-RABFailedtoSetupItemHOReqAck, - id-E-RABFailedToSetupListBearerSURes, - id-E-RABFailedToSetupListCtxtSURes, - id-E-RABFailedToSetupListHOReqAck, - id-E-RABFailedToBeReleasedList, - id-E-RABModify, - id-E-RABModifyItemBearerModRes, - id-E-RABModifyListBearerModRes, - id-E-RABRelease, - id-E-RABReleaseItemBearerRelComp, - id-E-RABReleaseItemHOCmd, - id-E-RABReleaseListBearerRelComp, - id-E-RABReleaseIndication, - id-E-RABSetup, - id-E-RABSetupItemBearerSURes, - id-E-RABSetupItemCtxtSURes, - id-E-RABSetupListBearerSURes, - id-E-RABSetupListCtxtSURes, - id-E-RABSubjecttoDataForwardingList, - id-E-RABToBeModifiedItemBearerModReq, - id-E-RABToBeModifiedListBearerModReq, - id-E-RABToBeReleasedList, - id-E-RABReleasedList, - id-E-RABToBeSetupItemBearerSUReq, - id-E-RABToBeSetupItemCtxtSUReq, - id-E-RABToBeSetupItemHOReq, - id-E-RABToBeSetupListBearerSUReq, - id-E-RABToBeSetupListCtxtSUReq, - id-E-RABToBeSetupListHOReq, - id-E-RABToBeSwitchedDLItem, - id-E-RABToBeSwitchedDLList, - id-E-RABToBeSwitchedULList, - id-E-RABToBeSwitchedULItem, - id-E-RABtoReleaseListHOCmd, - id-SecurityKey, - id-SecurityContext, - id-ServedGUMMEIs, - id-SONConfigurationTransferECT, - id-SONConfigurationTransferMCT, - id-Source-ToTarget-TransparentContainer, - id-Source-ToTarget-TransparentContainer-Secondary, - id-SourceMME-UE-S1AP-ID, - id-SRVCCOperationPossible, - id-SRVCCHOIndication, - id-SubscriberProfileIDforRFP, - id-SupportedTAs, - id-S-TMSI, - id-TAI, - id-TAIItem, - id-TAIList, - id-Target-ToSource-TransparentContainer, - id-Target-ToSource-TransparentContainer-Secondary, - id-TargetID, - id-TimeToWait, - id-TraceActivation, - id-E-UTRAN-Trace-ID, - id-UEIdentityIndexValue, - id-UEPagingID, - id-UERadioCapability, - id-UTRANtoLTEHOInformationRes, - id-UE-associatedLogicalS1-ConnectionListResAck, - id-UE-associatedLogicalS1-ConnectionItem, - id-UESecurityCapabilities, - id-UE-S1AP-IDs, - id-ResetType, - id-MessageIdentifier, - id-SerialNumber, - id-WarningAreaList, - id-RepetitionPeriod, - id-NumberofBroadcastRequest, - id-WarningType, - id-WarningSecurityInfo, - id-DataCodingScheme, - id-WarningMessageContents, - id-BroadcastCompletedAreaList, - id-RRC-Establishment-Cause, - id-TraceCollectionEntityIPAddress, - maxnoofTAIs, - maxNrOfErrors, - maxNrOfE-RABs, - maxNrOfIndividualS1ConnectionsToReset, - maxnoofEmergencyAreaID, - maxnoofCellID, - maxnoofTAIforWarning, - maxnoofCellinTAI, - maxnoofCellinEAI - - -FROM S1AP-Constants; - - --- ************************************************************** --- --- Common Container Lists --- --- ************************************************************** - -E-RAB-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfE-RABs, {IEsSetParam} } -E-RAB-IE-ContainerPairList { S1AP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfE-RABs, {IEsSetParam} } -ProtocolError-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfE-RABs, {IEsSetParam} } - --- ************************************************************** --- --- HANDOVER PREPARATION ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Handover Required --- --- ************************************************************** - -HandoverRequired ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { HandoverRequiredIEs} }, - ... -} - -HandoverRequiredIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | - { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory } | - { ID id-Direct-Forwarding-Path-Availability CRITICALITY ignore TYPE Direct-Forwarding-Path-Availability PRESENCE optional } | - { ID id-SRVCCHOIndication CRITICALITY reject TYPE SRVCCHOIndication PRESENCE optional }| - { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE mandatory }| - { ID id-Source-ToTarget-TransparentContainer-Secondary CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE optional }| - { ID id-MSClassmark2 CRITICALITY reject TYPE MSClassmark2 PRESENCE conditional }| - { ID id-MSClassmark3 CRITICALITY ignore TYPE MSClassmark3 PRESENCE conditional }, - ... -} - - --- ************************************************************** --- --- Handover Command --- --- ************************************************************** - -HandoverCommand ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { HandoverCommandIEs} }, - ... -} - -HandoverCommandIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory } | - { ID id-NASSecurityParametersfromE-UTRAN CRITICALITY reject TYPE NASSecurityParametersfromE-UTRAN PRESENCE conditional - -- This IE shall be present if HandoverType IE is set to value "LTEtoUTRAN" or "LTEtoGERAN" -- }| - { ID id-E-RABSubjecttoDataForwardingList CRITICALITY ignore TYPE E-RABDataForwardingList PRESENCE optional } | - { ID id-E-RABtoReleaseListHOCmd CRITICALITY ignore TYPE E-RABList PRESENCE optional } | - { ID id-Target-ToSource-TransparentContainer CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE mandatory }| - { ID id-Target-ToSource-TransparentContainer-Secondary CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -E-RABDataForwardingList ::= E-RAB-IE-ContainerList { {E-RABDataForwardingItemIEs} } - -E-RABDataForwardingItemIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABDataForwardingItem CRITICALITY ignore TYPE E-RABDataForwardingItem PRESENCE mandatory }, - ... -} - -E-RABDataForwardingItem ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - dL-transportLayerAddress TransportLayerAddress OPTIONAL, - dL-gTP-TEID GTP-TEID OPTIONAL, - uL-TransportLayerAddress TransportLayerAddress OPTIONAL, - uL-GTP-TEID GTP-TEID OPTIONAL, - iE-Extensions ProtocolExtensionContainer { { E-RABDataForwardingItem-ExtIEs} } OPTIONAL, - ... -} - -E-RABDataForwardingItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - - --- ************************************************************** --- --- Handover Preparation Failure --- --- ************************************************************** - -HandoverPreparationFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { HandoverPreparationFailureIEs} }, - ... -} - -HandoverPreparationFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- HANDOVER RESOURCE ALLOCATION ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Handover Request --- --- ************************************************************** - -HandoverRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {HandoverRequestIEs} }, - ... -} - -HandoverRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | - { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory }| - { ID id-E-RABToBeSetupListHOReq CRITICALITY reject TYPE E-RABToBeSetupListHOReq PRESENCE mandatory } | - { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE mandatory } | - { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory }| - { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional }| - { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }| - { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE optional }| - { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }| - { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory}| - { ID id-NASSecurityParameterstoE-UTRAN CRITICALITY reject TYPE NASSecurityParameterstoE-UTRAN PRESENCE conditional - -- This IE shall be present if the Handover Type IE is set to the value "UTRANtoLTE" or "GERANtoLTE" -- }, - ... -} - -E-RABToBeSetupListHOReq ::= E-RAB-IE-ContainerList { {E-RABToBeSetupItemHOReqIEs} } - -E-RABToBeSetupItemHOReqIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABToBeSetupItemHOReq CRITICALITY reject TYPE E-RABToBeSetupItemHOReq PRESENCE mandatory }, - ... -} - -E-RABToBeSetupItemHOReq ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - e-RABlevelQosParameters E-RABLevelQoSParameters, - iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemHOReq-ExtIEs} } OPTIONAL, - ... -} - -E-RABToBeSetupItemHOReq-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- Handover Request Acknowledge --- --- ************************************************************** - -HandoverRequestAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {HandoverRequestAcknowledgeIEs} }, - ... -} - -HandoverRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-E-RABAdmittedList CRITICALITY ignore TYPE E-RABAdmittedList PRESENCE mandatory } | - { ID id-E-RABFailedToSetupListHOReqAck CRITICALITY ignore TYPE E-RABFailedtoSetupListHOReqAck PRESENCE optional } | - { ID id-Target-ToSource-TransparentContainer CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -E-RABAdmittedList ::= E-RAB-IE-ContainerList { {E-RABAdmittedItemIEs} } - -E-RABAdmittedItemIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABAdmittedItem CRITICALITY ignore TYPE E-RABAdmittedItem PRESENCE mandatory }, - ... -} - -E-RABAdmittedItem ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - dL-transportLayerAddress TransportLayerAddress OPTIONAL, - dL-gTP-TEID GTP-TEID OPTIONAL, - uL-TransportLayerAddress TransportLayerAddress OPTIONAL, - uL-GTP-TEID GTP-TEID OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {E-RABAdmittedItem-ExtIEs} } OPTIONAL, - ... -} - -E-RABAdmittedItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -E-RABFailedtoSetupListHOReqAck ::= E-RAB-IE-ContainerList { {E-RABFailedtoSetupItemHOReqAckIEs} } - -E-RABFailedtoSetupItemHOReqAckIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABFailedtoSetupItemHOReqAck CRITICALITY ignore TYPE E-RABFailedToSetupItemHOReqAck PRESENCE mandatory }, - ... -} - -E-RABFailedToSetupItemHOReqAck ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - cause Cause, - iE-Extensions ProtocolExtensionContainer { { E-RABFailedToSetupItemHOReqAckExtIEs} } OPTIONAL, - ... -} - -E-RABFailedToSetupItemHOReqAckExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - --- ************************************************************** --- --- Handover Failure --- --- ************************************************************** - -HandoverFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { HandoverFailureIEs} }, - ... -} - -HandoverFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- HANDOVER NOTIFICATION ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Handover Notify --- --- ************************************************************** - -HandoverNotify ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { HandoverNotifyIEs} }, - ... -} - -HandoverNotifyIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}| - { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}, - ... -} - --- ************************************************************** --- --- PATH SWITCH REQUEST ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Path Switch Request --- --- ************************************************************** - -PathSwitchRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { PathSwitchRequestIEs} }, - ... -} - -PathSwitchRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-E-RABToBeSwitchedDLList CRITICALITY reject TYPE E-RABToBeSwitchedDLList PRESENCE mandatory }| - { ID id-SourceMME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}| - { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}| - { ID id-UESecurityCapabilities CRITICALITY ignore TYPE UESecurityCapabilities PRESENCE mandatory }, - ... -} - -E-RABToBeSwitchedDLList ::= SEQUENCE (SIZE (0..maxProtocolIEs)) OF E-RAB-IE-ContainerList { {E-RABToBeSwitchedDLItemIEs} } - -E-RABToBeSwitchedDLItemIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABToBeSwitchedDLItem CRITICALITY reject TYPE E-RABToBeSwitchedDLItem PRESENCE mandatory }, - ... -} - -E-RABToBeSwitchedDLItem ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedDLItem-ExtIEs} } OPTIONAL, - ... -} - -E-RABToBeSwitchedDLItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- Path Switch Request Acknowledge --- --- ************************************************************** - -PathSwitchRequestAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { PathSwitchRequestAcknowledgeIEs} }, - ... -} - -PathSwitchRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional }| - { ID id-E-RABToBeSwitchedULList CRITICALITY ignore TYPE E-RABToBeSwitchedULList PRESENCE optional }| - { ID id-E-RABToBeReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE optional }| - { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory}| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -E-RABToBeSwitchedULList ::= E-RAB-IE-ContainerList { {E-RABToBeSwitchedULItemIEs} } - -E-RABToBeSwitchedULItemIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABToBeSwitchedULItem CRITICALITY ignore TYPE E-RABToBeSwitchedULItem PRESENCE mandatory }, - ... -} - -E-RABToBeSwitchedULItem ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedULItem-ExtIEs} } OPTIONAL, - ... -} - -E-RABToBeSwitchedULItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - --- ************************************************************** --- --- Path Switch Request Failure --- --- ************************************************************** - -PathSwitchRequestFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { PathSwitchRequestFailureIEs} }, - ... -} - -PathSwitchRequestFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- HANDOVER CANCEL ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Handover Cancel --- --- ************************************************************** - -HandoverCancel ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { HandoverCancelIEs} }, - ... -} - -HandoverCancelIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, - ... -} - --- ************************************************************** --- --- Handover Cancel Request Acknowledge --- --- ************************************************************** - -HandoverCancelAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { HandoverCancelAcknowledgeIEs} }, - ... -} - -HandoverCancelAcknowledgeIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- E-RAB SETUP ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- E-RAB Setup Request --- --- ************************************************************** - -E-RABSetupRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {E-RABSetupRequestIEs} }, - ... -} - -E-RABSetupRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }| - { ID id-E-RABToBeSetupListBearerSUReq CRITICALITY reject TYPE E-RABToBeSetupListBearerSUReq PRESENCE mandatory }, - ... -} - -E-RABToBeSetupListBearerSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemBearerSUReqIEs} } - -E-RABToBeSetupItemBearerSUReqIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABToBeSetupItemBearerSUReq CRITICALITY reject TYPE E-RABToBeSetupItemBearerSUReq PRESENCE mandatory }, - ... -} - -E-RABToBeSetupItemBearerSUReq ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - e-RABlevelQoSParameters E-RABLevelQoSParameters, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - nAS-PDU NAS-PDU, - iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemBearerSUReqExtIEs} } OPTIONAL, - ... -} - - -E-RABToBeSetupItemBearerSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - --- ************************************************************** --- --- E-RAB Setup Response --- --- ************************************************************** - -E-RABSetupResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {E-RABSetupResponseIEs} }, - ... -} - -E-RABSetupResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-E-RABSetupListBearerSURes CRITICALITY ignore TYPE E-RABSetupListBearerSURes PRESENCE optional }| - { ID id-E-RABFailedToSetupListBearerSURes CRITICALITY ignore TYPE E-RABList PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - - -E-RABSetupListBearerSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemBearerSUResIEs} } - -E-RABSetupItemBearerSUResIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABSetupItemBearerSURes CRITICALITY ignore TYPE E-RABSetupItemBearerSURes PRESENCE mandatory }, - ... -} - -E-RABSetupItemBearerSURes ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - iE-Extensions ProtocolExtensionContainer { {E-RABSetupItemBearerSUResExtIEs} } OPTIONAL, - ... -} - - -E-RABSetupItemBearerSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - - --- ************************************************************** --- --- E-RAB MODIFY ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- E-RAB Modify Request --- --- ************************************************************** - -E-RABModifyRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {E-RABModifyRequestIEs} }, - ... -} - -E-RABModifyRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }| - { ID id-E-RABToBeModifiedListBearerModReq CRITICALITY reject TYPE E-RABToBeModifiedListBearerModReq PRESENCE mandatory }, - ... -} - -E-RABToBeModifiedListBearerModReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeModifiedItemBearerModReqIEs} } - -E-RABToBeModifiedItemBearerModReqIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABToBeModifiedItemBearerModReq CRITICALITY reject TYPE E-RABToBeModifiedItemBearerModReq PRESENCE mandatory }, - ... -} - -E-RABToBeModifiedItemBearerModReq ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - e-RABLevelQoSParameters E-RABLevelQoSParameters, - nAS-PDU NAS-PDU, - iE-Extensions ProtocolExtensionContainer { {E-RABToBeModifyItemBearerModReqExtIEs} } OPTIONAL, - ... -} - - -E-RABToBeModifyItemBearerModReqExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - - --- ************************************************************** --- --- E-RAB Modify Response --- --- ************************************************************** - -E-RABModifyResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {E-RABModifyResponseIEs} }, - ... -} - -E-RABModifyResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-E-RABModifyListBearerModRes CRITICALITY ignore TYPE E-RABModifyListBearerModRes PRESENCE optional }| - { ID id-E-RABFailedToModifyList CRITICALITY ignore TYPE E-RABList PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - - -E-RABModifyListBearerModRes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABModifyItemBearerModResIEs} } - -E-RABModifyItemBearerModResIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABModifyItemBearerModRes CRITICALITY ignore TYPE E-RABModifyItemBearerModRes PRESENCE mandatory }, - ... -} - -E-RABModifyItemBearerModRes ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - iE-Extensions ProtocolExtensionContainer { {E-RABModifyItemBearerModResExtIEs} } OPTIONAL, - ... -} - - -E-RABModifyItemBearerModResExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - - - --- ************************************************************** --- --- E-RAB RELEASE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- E-RAB Release Command --- --- ************************************************************** - -E-RABReleaseCommand ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {E-RABReleaseCommandIEs} }, - ... -} - -E-RABReleaseCommandIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }| - { ID id-E-RABToBeReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE mandatory }| - { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE optional }, - ... -} - - --- ************************************************************** --- --- E-RAB Release Response --- --- ************************************************************** - -E-RABReleaseResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { E-RABReleaseResponseIEs } }, - ... -} - -E-RABReleaseResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-E-RABReleaseListBearerRelComp CRITICALITY ignore TYPE E-RABReleaseListBearerRelComp PRESENCE optional }| - { ID id-E-RABFailedToReleaseList CRITICALITY ignore TYPE E-RABList PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - - -E-RABReleaseListBearerRelComp ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABReleaseItemBearerRelCompIEs} } - -E-RABReleaseItemBearerRelCompIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABReleaseItemBearerRelComp CRITICALITY ignore TYPE E-RABReleaseItemBearerRelComp PRESENCE mandatory }, - ... -} - -E-RABReleaseItemBearerRelComp ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - iE-Extensions ProtocolExtensionContainer { {E-RABReleaseItemBearerRelCompExtIEs} } OPTIONAL, - ... -} - - -E-RABReleaseItemBearerRelCompExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - - --- ************************************************************** --- --- E-RAB RELEASE INDICATION ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- E-RAB Release Indication --- --- ************************************************************** - -E-RABReleaseIndication ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {E-RABReleaseIndicationIEs} }, - ... -} - -E-RABReleaseIndicationIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-E-RABReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE mandatory }, - ... -} --- ************************************************************** --- --- INITIAL CONTEXT SETUP ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Initial Context Setup Request --- --- ************************************************************** - -InitialContextSetupRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {InitialContextSetupRequestIEs} }, - ... -} - -InitialContextSetupRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory }| - { ID id-E-RABToBeSetupListCtxtSUReq CRITICALITY reject TYPE E-RABToBeSetupListCtxtSUReq PRESENCE mandatory }| - { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory }| - { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE mandatory }| - { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }| - { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional }| - { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }| - { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional }| - { ID id-CSFallbackIndicator CRITICALITY reject TYPE CSFallbackIndicator PRESENCE optional }| - { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }, - ... -} - - - - -E-RABToBeSetupListCtxtSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemCtxtSUReqIEs} } - -E-RABToBeSetupItemCtxtSUReqIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABToBeSetupItemCtxtSUReq CRITICALITY reject TYPE E-RABToBeSetupItemCtxtSUReq PRESENCE mandatory }, - ... -} - -E-RABToBeSetupItemCtxtSUReq ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - e-RABlevelQoSParameters E-RABLevelQoSParameters, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - nAS-PDU NAS-PDU OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemCtxtSUReqExtIEs} } OPTIONAL, - ... -} - - -E-RABToBeSetupItemCtxtSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - --- ************************************************************** --- --- Initial Context Setup Response --- --- ************************************************************** - -InitialContextSetupResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {InitialContextSetupResponseIEs} }, - ... -} - -InitialContextSetupResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-E-RABSetupListCtxtSURes CRITICALITY ignore TYPE E-RABSetupListCtxtSURes PRESENCE mandatory }| - { ID id-E-RABFailedToSetupListCtxtSURes CRITICALITY ignore TYPE E-RABList PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - - -E-RABSetupListCtxtSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemCtxtSUResIEs} } - -E-RABSetupItemCtxtSUResIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABSetupItemCtxtSURes CRITICALITY ignore TYPE E-RABSetupItemCtxtSURes PRESENCE mandatory }, - ... -} - -E-RABSetupItemCtxtSURes ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - iE-Extensions ProtocolExtensionContainer { {E-RABSetupItemCtxtSUResExtIEs} } OPTIONAL, - ... -} - - -E-RABSetupItemCtxtSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - --- ************************************************************** --- --- Initial Context Setup Failure --- --- ************************************************************** - -InitialContextSetupFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {InitialContextSetupFailureIEs} }, - ... -} - -InitialContextSetupFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- PAGING ELEMENTARY PROCEDURE --- --- ************************************************************** - - --- ************************************************************** --- --- Paging --- --- ************************************************************** - -Paging ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{PagingIEs}}, - ... -} - -PagingIEs S1AP-PROTOCOL-IES ::= { - { ID id-UEIdentityIndexValue CRITICALITY ignore TYPE UEIdentityIndexValue PRESENCE mandatory } | - { ID id-UEPagingID CRITICALITY ignore TYPE UEPagingID PRESENCE mandatory } | - { ID id-pagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional } | - { ID id-CNDomain CRITICALITY ignore TYPE CNDomain PRESENCE mandatory } | - { ID id-TAIList CRITICALITY ignore TYPE TAIList PRESENCE mandatory }| - { ID id-CSG-IdList CRITICALITY ignore TYPE CSG-IdList PRESENCE optional }, - ... -} - -TAIList::= SEQUENCE (SIZE(1.. maxnoofTAIs)) OF ProtocolIE-SingleContainer {{TAIItemIEs}} - -TAIItemIEs S1AP-PROTOCOL-IES ::= { - { ID id-TAIItem CRITICALITY ignore TYPE TAIItem PRESENCE mandatory }, - ... -} - -TAIItem ::= SEQUENCE { - tAI TAI, - iE-Extensions ProtocolExtensionContainer { {TAIItemExtIEs} } OPTIONAL, - ... -} - - -TAIItemExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- UE CONTEXT RELEASE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- UE CONTEXT RELEASE REQUEST --- --- ************************************************************** - -UEContextReleaseRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{UEContextReleaseRequest-IEs}}, - ... -} - -UEContextReleaseRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} , - ... -} - --- ************************************************************** --- --- UE Context Release Command --- --- ************************************************************** - -UEContextReleaseCommand ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{UEContextReleaseCommand-IEs}}, - ... -} - -UEContextReleaseCommandIEs S1AP-PROTOCOL-IES ::= { - { ID id-UE-S1AP-IDs CRITICALITY reject TYPE UE-S1AP-IDs PRESENCE mandatory} | - - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} , - ... -} - --- ************************************************************** --- --- UE Context Release Complete --- --- ************************************************************** - -UEContextReleaseComplete ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{UEContextReleaseComplete-IEs}}, - ... -} - -UEContextReleaseCompleteIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - - --- ************************************************************** --- --- UE CONTEXT MODIFICATION ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- UE Context Modification Request --- --- ************************************************************** - -UEContextModificationRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { UEContextModificationRequestIEs} }, - ... -} - -UEContextModificationRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE optional }| - { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional }| - { ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional }| - { ID id-CSFallbackIndicator CRITICALITY reject TYPE CSFallbackIndicator PRESENCE optional }, - ... -} --- ************************************************************** --- --- UE Context Modification Response --- --- ************************************************************** - -UEContextModificationResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { UEContextModificationResponseIEs} }, - ... -} - -UEContextModificationResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -}-- ************************************************************** --- --- UE Context Modification Failure --- --- ************************************************************** - -UEContextModificationFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { UEContextModificationFailureIEs} }, - ... -} - -UEContextModificationFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- NAS TRANSPORT ELEMENTARY PROCEDURES --- --- ************************************************************** - --- ************************************************************** --- --- DOWNLINK NAS TRANSPORT --- --- ************************************************************** - -DownlinkNASTransport ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{DownlinkNASTransport-IEs}}, - ... -} - -DownlinkNASTransportIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} | - { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional }, - ... -} - - --- ************************************************************** --- --- INITIAL UE MESSAGE --- --- ************************************************************** - -InitialUEMessage ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{InitialUEMessage-IEs}}, - ... -} - -InitialUEMessageIEs S1AP-PROTOCOL-IES ::= { - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} | - { ID id-TAI CRITICALITY reject TYPE TAI PRESENCE mandatory} | - { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory} | - { ID id-RRC-Establishment-Cause CRITICALITY ignore TYPE RRC-Establishment-Cause PRESENCE mandatory} | - { ID id-S-TMSI CRITICALITY reject TYPE S-TMSI PRESENCE optional} | - { ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional} | - { ID id-GUMMEI-ID CRITICALITY reject TYPE GUMMEI PRESENCE optional}, - ... -} - - --- ************************************************************** --- --- UPLINK NAS TRANSPORT --- --- ************************************************************** - -UplinkNASTransport ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{UplinkNASTransport-IEs}}, - ... -} - -UplinkNASTransportIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} | - { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}| - { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}, - ... -} --- ************************************************************** --- --- NAS NON DELIVERY INDICATION --- --- ************************************************************** - -NASNonDeliveryIndication ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{NASNonDeliveryIndication-IEs}}, - ... -} - -NASNonDeliveryIndicationIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory} | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} , - ... -} - --- ************************************************************** --- --- RESET ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Reset --- --- ************************************************************** - -Reset ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ResetIEs} }, - ... -} - -ResetIEs S1AP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-ResetType CRITICALITY reject TYPE ResetType PRESENCE mandatory }, - ... -} - -ResetType ::= CHOICE { - s1-Interface ResetAll, - partOfS1-Interface UE-associatedLogicalS1-ConnectionListRes, - ... -} - - - -ResetAll ::= ENUMERATED { - reset-all, - ... -} - -UE-associatedLogicalS1-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemRes } } - -UE-associatedLogicalS1-ConnectionItemRes S1AP-PROTOCOL-IES ::= { - { ID id-UE-associatedLogicalS1-ConnectionItem CRITICALITY reject TYPE UE-associatedLogicalS1-ConnectionItem PRESENCE mandatory }, - ... -} - - --- ************************************************************** --- --- Reset Acknowledge --- --- ************************************************************** - -ResetAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} }, - ... -} - -ResetAcknowledgeIEs S1AP-PROTOCOL-IES ::= { - { ID id-UE-associatedLogicalS1-ConnectionListResAck CRITICALITY ignore TYPE UE-associatedLogicalS1-ConnectionListResAck PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -UE-associatedLogicalS1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemResAck } } - -UE-associatedLogicalS1-ConnectionItemResAck S1AP-PROTOCOL-IES ::= { - { ID id-UE-associatedLogicalS1-ConnectionItem CRITICALITY ignore TYPE UE-associatedLogicalS1-ConnectionItem PRESENCE mandatory }, - ... -} - --- ************************************************************** --- --- ERROR INDICATION ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Error Indication --- --- ************************************************************** - -ErrorIndication ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{ErrorIndicationIEs}}, - ... -} - -ErrorIndicationIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE optional } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE optional } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , - ... -} - --- ************************************************************** --- --- S1 SETUP ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- S1 Setup Request --- --- ************************************************************** - -S1SetupRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {S1SetupRequestIEs} }, - ... -} - -S1SetupRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-Global-ENB-ID CRITICALITY reject TYPE Global-ENB-ID PRESENCE mandatory}| - { ID id-eNBname CRITICALITY ignore TYPE ENBname PRESENCE optional}| - { ID id-SupportedTAs CRITICALITY reject TYPE SupportedTAs PRESENCE mandatory}| - { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE mandatory}| - { ID id-CSG-IdList CRITICALITY reject TYPE CSG-IdList PRESENCE optional}, - ... -} - --- ************************************************************** --- --- S1 Setup Response --- --- ************************************************************** - -S1SetupResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {S1SetupResponseIEs} }, - ... -} - - -S1SetupResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MMEname CRITICALITY ignore TYPE MMEname PRESENCE optional }| - { ID id-ServedGUMMEIs CRITICALITY reject TYPE ServedGUMMEIs PRESENCE mandatory }| - { ID id-RelativeMMECapacity CRITICALITY ignore TYPE RelativeMMECapacity PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- S1 Setup Failure --- --- ************************************************************** - -S1SetupFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {S1SetupFailureIEs} }, - ... -} - -S1SetupFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- ENB CONFIGURATION UPDATE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- eNB Configuration Update --- --- ************************************************************** - -ENBConfigurationUpdate ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateIEs} }, - ... -} - -ENBConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= { - { ID id-eNBname CRITICALITY ignore TYPE ENBname PRESENCE optional }| - { ID id-SupportedTAs CRITICALITY reject TYPE SupportedTAs PRESENCE optional }| - { ID id-CSG-IdList CRITICALITY reject TYPE CSG-IdList PRESENCE optional}| - { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional }, - ... -} - --- ************************************************************** --- --- eNB Configuration Update Acknowledge --- --- ************************************************************** - -ENBConfigurationUpdateAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateAcknowledgeIEs} }, - ... -} - - -ENBConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= { - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- eNB Configuration Update Failure --- --- ************************************************************** - -ENBConfigurationUpdateFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateFailureIEs} }, - ... -} - -ENBConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, -... -} - - --- ************************************************************** --- --- MME Configuration UPDATE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- MME Configuration Update --- --- ************************************************************** - -MMEConfigurationUpdate ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateIEs} }, - ... -} - -MMEConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= { - { ID id-MMEname CRITICALITY ignore TYPE MMEname PRESENCE optional }| - { ID id-ServedGUMMEIs CRITICALITY reject TYPE ServedGUMMEIs PRESENCE optional }| - { ID id-RelativeMMECapacity CRITICALITY reject TYPE RelativeMMECapacity PRESENCE optional}, - ... -} - --- ************************************************************** --- --- MME Configuration Update Acknowledge --- --- ************************************************************** - -MMEConfigurationUpdateAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateAcknowledgeIEs} }, - ... -} - - -MMEConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= { - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- MME Configuration Update Failure --- --- ************************************************************** - -MMEConfigurationUpdateFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateFailureIEs} }, - ... -} - -MMEConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- DOWNLINK S1 CDMA2000 TUNNELING ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Downlink S1 CDMA2000 Tunneling --- --- ************************************************************** - -DownlinkS1cdma2000tunneling ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {DownlinkS1cdma2000tunnelingIEs} }, - ... -} - -DownlinkS1cdma2000tunnelingIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-E-RABSubjecttoDataForwardingList CRITICALITY ignore TYPE E-RABDataForwardingList PRESENCE optional } | - { ID id-cdma2000HOStatus CRITICALITY ignore TYPE Cdma2000HOStatus PRESENCE optional } | - { ID id-cdma2000RATType CRITICALITY reject TYPE Cdma2000RATType PRESENCE mandatory } | - { ID id-cdma2000PDU CRITICALITY reject TYPE Cdma2000PDU PRESENCE mandatory }, - ... -} - --- ************************************************************** --- --- UPLINK S1 CDMA2000 TUNNELING ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Uplink S1 CDMA2000 Tunneling --- --- ************************************************************** - -UplinkS1cdma2000tunneling ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {UplinkS1cdma2000tunnelingIEs} }, - ... -} - -UplinkS1cdma2000tunnelingIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-cdma2000RATType CRITICALITY reject TYPE Cdma2000RATType PRESENCE mandatory } | - { ID id-cdma2000SectorID CRITICALITY reject TYPE Cdma2000SectorID PRESENCE mandatory } | - { ID id-cdma2000HORequiredIndication CRITICALITY ignore TYPE Cdma2000HORequiredIndication PRESENCE optional } | - { ID id-cdma2000OneXSRVCCInfo CRITICALITY reject TYPE Cdma2000OneXSRVCCInfo PRESENCE optional } | - { ID id-cdma2000OneXRAND CRITICALITY reject TYPE Cdma2000OneXRAND PRESENCE optional } | - { ID id-cdma2000PDU CRITICALITY reject TYPE Cdma2000PDU PRESENCE mandatory }, - ... -} - - --- ************************************************************** --- --- UE CAPABILITY INFO INDICATION ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- UE Capability Info Indication --- --- ************************************************************** - -UECapabilityInfoIndication ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { UECapabilityInfoIndicationIEs} }, - ... -} - -UECapabilityInfoIndicationIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE mandatory } , - ... -} - --- ************************************************************** --- --- eNB STATUS TRANSFER ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- eNB Status Transfer --- --- ************************************************************** - -ENBStatusTransfer ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ENBStatusTransferIEs} }, - ... -} - -ENBStatusTransferIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-StatusTransfer-TransparentContainer CRITICALITY reject TYPE ENB-StatusTransfer-TransparentContainer PRESENCE mandatory} , - ... -} - - --- ************************************************************** --- --- MME STATUS TRANSFER ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- MME Status Transfer --- --- ************************************************************** - -MMEStatusTransfer ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {MMEStatusTransferIEs} }, - ... -} - -MMEStatusTransferIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-StatusTransfer-TransparentContainer CRITICALITY reject TYPE ENB-StatusTransfer-TransparentContainer PRESENCE mandatory} , - ... -} - - --- ************************************************************** --- --- TRACE ELEMENTARY PROCEDURES --- --- ************************************************************** --- ************************************************************** --- --- Trace Start --- --- ************************************************************** - -TraceStart ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {TraceStartIEs} }, - ... -} - -TraceStartIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE mandatory }, - ... -} - --- ************************************************************** --- --- Trace Failure Indication --- --- ************************************************************** - -TraceFailureIndication ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {TraceFailureIndicationIEs} }, - ... -} - -TraceFailureIndicationIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory} | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} , - ... -} - --- ************************************************************** --- --- DEACTIVATE TRACE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- DEACTIVATE TRACE --- --- ************************************************************** - -DeactivateTrace ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { DeactivateTraceIEs} }, - ... -} - -DeactivateTraceIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory }, - ... -} - --- ************************************************************** --- --- CELL TRAFFIC TRACE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- CELL TRAFFIC TRACE --- --- ************************************************************** - -CellTrafficTrace ::= SEQUENCE { -protocolIEs ProtocolIE-Container { { CellTrafficTraceIEs } }, -... -} - -CellTrafficTraceIEs S1AP-PROTOCOL-IES ::= { - {ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - {ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - {ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory}| - {ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}| - {ID id-TraceCollectionEntityIPAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE mandatory }, - ... -} - --- ************************************************************** --- --- LOCATION ELEMENTARY PROCEDURES --- --- ************************************************************** - --- ************************************************************** --- --- Location Reporting Control --- --- ************************************************************** - -LocationReportingControl ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { LocationReportingControlIEs} }, - ... -} - -LocationReportingControlIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory } , - ... -} - --- ************************************************************** --- --- Location Report Failure Indication --- --- ************************************************************** - -LocationReportingFailureIndication ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { LocationReportingFailureIndicationIEs} }, - ... -} - -LocationReportingFailureIndicationIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}, - ... -} - --- ************************************************************** --- --- Location Report --- --- ************************************************************** - -LocationReport ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { LocationReportIEs} }, - ... -} - -LocationReportIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory} | - { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory} | - { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory} , - ... -} - --- ************************************************************** --- --- OVERLOAD ELEMENTARY PROCEDURES --- --- ************************************************************** - --- ************************************************************** --- --- Overload Start --- --- ************************************************************** - -OverloadStart ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {OverloadStartIEs} }, - ... -} - -OverloadStartIEs S1AP-PROTOCOL-IES ::= { - { ID id-OverloadResponse CRITICALITY reject TYPE OverloadResponse PRESENCE mandatory }, - ... -} --- ************************************************************** --- --- Overload Stop --- --- ************************************************************** - -OverloadStop ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {OverloadStopIEs} }, - ... -} - -OverloadStopIEs S1AP-PROTOCOL-IES ::= { - ... -} --- ************************************************************** --- --- WRITE-REPLACE WARNING ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Write-Replace Warning Request --- --- ************************************************************** - - -WriteReplaceWarningRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {WriteReplaceWarningRequestIEs} }, - ... -} - -WriteReplaceWarningRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }| - { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }| - { ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional }| - { ID id-RepetitionPeriod CRITICALITY reject TYPE RepetitionPeriod PRESENCE mandatory }| - { ID id-NumberofBroadcastRequest CRITICALITY reject TYPE NumberofBroadcastRequest PRESENCE mandatory }| - { ID id-WarningType CRITICALITY ignore TYPE WarningType PRESENCE optional }| - { ID id-WarningSecurityInfo CRITICALITY ignore TYPE WarningSecurityInfo PRESENCE optional }| - { ID id-DataCodingScheme CRITICALITY ignore TYPE DataCodingScheme PRESENCE optional }| - { ID id-WarningMessageContents CRITICALITY ignore TYPE WarningMessageContents PRESENCE optional }, - ... -} --- ************************************************************** --- --- Write-Replace Warning Response --- --- ************************************************************** - -WriteReplaceWarningResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {WriteReplaceWarningResponseIEs} }, - ... -} - -WriteReplaceWarningResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }| - { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }| - { ID id-BroadcastCompletedAreaList CRITICALITY ignore TYPE BroadcastCompletedAreaList PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}, - ... -} - --- ************************************************************** --- --- eNB DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- eNB Direct Information Transfer --- --- ************************************************************** - -ENBDirectInformationTransfer ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{ ENBDirectInformationTransferIEs}}, - ... -} - -ENBDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= { - { ID id-Inter-SystemInformationTransferTypeEDT CRITICALITY reject TYPE Inter-SystemInformationTransferType PRESENCE mandatory} , - ... -} - -Inter-SystemInformationTransferType ::= CHOICE { - rIMTransfer RIMTransfer, - ... -} - --- ************************************************************** --- --- MME DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- MME Direct Information Transfer --- --- ************************************************************** - -MMEDirectInformationTransfer ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{ MMEDirectInformationTransferIEs}}, - ... -} - -MMEDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= { - { ID id-Inter-SystemInformationTransferTypeMDT CRITICALITY reject TYPE Inter-SystemInformationTransferType PRESENCE mandatory} , - ... -} --- ************************************************************** --- --- eNB CONFIGURATION TRANSFER ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- eNB Configuration Transfer --- --- ************************************************************** - -ENBConfigurationTransfer ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{ ENBConfigurationTransferIEs}}, - ... -} - -ENBConfigurationTransferIEs S1AP-PROTOCOL-IES ::= { - { ID id-SONConfigurationTransferECT CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional} , - ... -} - --- ************************************************************** --- --- MME CONFIGURATION TRANSFER ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- MME Configuration Transfer --- --- ************************************************************** - -MMEConfigurationTransfer ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{ MMEConfigurationTransferIEs}}, - ... -} - -MMEConfigurationTransferIEs S1AP-PROTOCOL-IES ::= { - { ID id-SONConfigurationTransferMCT CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional} , - ... -} - --- ************************************************************** --- --- PRIVATE MESSAGE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Private Message --- --- ************************************************************** - -PrivateMessage ::= SEQUENCE { - privateIEs PrivateIE-Container {{PrivateMessageIEs}}, - ... -} - -PrivateMessageIEs S1AP-PRIVATE-IES ::= { - ... -} - -END diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn deleted file mode 100644 index d2c50b417c..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn +++ /dev/null @@ -1,663 +0,0 @@ -S1AP-PDU { - itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) - eps-Access (21) modules (3) s1ap (1) version1 (1) -} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS - - UEAggregateMaximumBitrate, - Cause, - Cdma2000HORequiredIndication, - Cdma2000HOStatus, - Cdma2000OneXSRVCCInfo, - Cdma2000OneXRAND, - Cdma2000PDU, - Cdma2000RATType, - Cdma2000SectorID, - CNDomain, - CriticalityDiagnostics, - CSFallbackIndicator, - CSG-Id, - CSG-IdList, - Direct-Forwarding-Path-Availability, - Global-ENB-ID, - EUTRAN-CGI, - ENBname, - ENB-StatusTransfer-TransparentContainer, - ENB-UE-S1AP-ID, - GTP-TEID, - GUMMEI, - HandoverRestrictionList, - HandoverType, - MMEname, - MME-UE-S1AP-ID, - MSClassmark2, - MSClassmark3, - NAS-PDU, - NASSecurityParametersfromE-UTRAN, - NASSecurityParameterstoE-UTRAN, - OverloadResponse, - PagingDRX, - PLMNidentity, - RIMTransfer, - RelativeMMECapacity, - RequestType, - E-RAB-ID, - E-RABLevelQoSParameters, - E-RABList, - SecurityKey, - SecurityContext, - ServedGUMMEIs, - SONConfigurationTransfer, - Source-ToTarget-TransparentContainer, - SourceBSS-ToTargetBSS-TransparentContainer, - SourceeNB-ToTargeteNB-TransparentContainer, - SourceRNC-ToTargetRNC-TransparentContainer, - SubscriberProfileIDforRFP, - SRVCCOperationPossible, - SRVCCHOIndication, - SupportedTAs, - TAI, - Target-ToSource-TransparentContainer, - TargetBSS-ToSourceBSS-TransparentContainer, - TargeteNB-ToSourceeNB-TransparentContainer, - TargetID, - TargetRNC-ToSourceRNC-TransparentContainer, - TimeToWait, - TraceActivation, - E-UTRAN-Trace-ID, - TransportLayerAddress, - UEIdentityIndexValue, - UEPagingID, - UERadioCapability, - UE-S1AP-IDs, - UE-associatedLogicalS1-ConnectionItem, - UESecurityCapabilities, - S-TMSI, - MessageIdentifier, - SerialNumber, - WarningAreaList, - RepetitionPeriod, - NumberofBroadcastRequest, - WarningType, - WarningSecurityInfo, - DataCodingScheme, - WarningMessageContents, - BroadcastCompletedAreaList, - RRC-Establishment-Cause - -FROM S1AP-IEs - - ProcedureCode, - Criticality, - ProtocolIE-ID - -FROM S1AP-CommonDataTypes - - - id-uEaggregateMaximumBitrate, - id-Cause, - id-cdma2000HORequiredIndication, - id-cdma2000HOStatus, - id-cdma2000OneXSRVCCInfo, - id-cdma2000OneXRAND, - id-cdma2000PDU, - id-cdma2000RATType, - id-cdma2000SectorID, - id-CNDomain, - id-CriticalityDiagnostics, - id-CSFallbackIndicator, - id-CSG-Id, - id-CSG-IdList, - id-DefaultPagingDRX, - id-Direct-Forwarding-Path-Availability, - id-Global-ENB-ID, - id-EUTRAN-CGI, - id-eNBname, - id-eNB-StatusTransfer-TransparentContainer, - id-eNB-UE-S1AP-ID, - id-GERANtoLTEHOInformationRes, - id-GUMMEI-ID, - id-HandoverRestrictionList, - id-HandoverType, - id-InitialContextSetup, - id-Inter-SystemInformationTransferTypeEDT, - id-Inter-SystemInformationTransferTypeMDT, - id-NAS-DownlinkCount, - id-MMEname, - id-MME-UE-S1AP-ID, - id-MSClassmark2, - id-MSClassmark3, - id-NAS-PDU, - id-NASSecurityParametersfromE-UTRAN, - id-NASSecurityParameterstoE-UTRAN, - id-OverloadResponse, - id-pagingDRX, - id-RelativeMMECapacity, - id-RequestType, - id-E-RABAdmittedItem, - id-E-RABAdmittedList, - id-E-RABDataForwardingItem, - id-E-RABFailedToModifyList, - id-E-RABFailedToReleaseList, - id-E-RABFailedtoSetupItemHOReqAck, - id-E-RABFailedToSetupListBearerSURes, - id-E-RABFailedToSetupListCtxtSURes, - id-E-RABFailedToSetupListHOReqAck, - id-E-RABFailedToBeReleasedList, - id-E-RABModify, - id-E-RABModifyItemBearerModRes, - id-E-RABModifyListBearerModRes, - id-E-RABRelease, - id-E-RABReleaseItemBearerRelComp, - id-E-RABReleaseItemHOCmd, - id-E-RABReleaseListBearerRelComp, - id-E-RABReleaseIndication, - id-E-RABSetup, - id-E-RABSetupItemBearerSURes, - id-E-RABSetupItemCtxtSURes, - id-E-RABSetupListBearerSURes, - id-E-RABSetupListCtxtSURes, - id-E-RABSubjecttoDataForwardingList, - id-E-RABToBeModifiedItemBearerModReq, - id-E-RABToBeModifiedListBearerModReq, - id-E-RABToBeReleasedList, - id-E-RABReleasedList, - id-E-RABToBeSetupItemBearerSUReq, - id-E-RABToBeSetupItemCtxtSUReq, - id-E-RABToBeSetupItemHOReq, - id-E-RABToBeSetupListBearerSUReq, - id-E-RABToBeSetupListCtxtSUReq, - id-E-RABToBeSetupListHOReq, - id-E-RABToBeSwitchedDLItem, - id-E-RABToBeSwitchedDLList, - id-E-RABToBeSwitchedULList, - id-E-RABToBeSwitchedULItem, - id-E-RABtoReleaseListHOCmd, - id-SecurityKey, - id-SecurityContext, - id-ServedGUMMEIs, - id-SONConfigurationTransferECT, - id-SONConfigurationTransferMCT, - id-Source-ToTarget-TransparentContainer, - id-Source-ToTarget-TransparentContainer-Secondary, - id-SourceMME-UE-S1AP-ID, - id-SRVCCOperationPossible, - id-SRVCCHOIndication, - id-SubscriberProfileIDforRFP, - id-SupportedTAs, - id-S-TMSI, - id-TAI, - id-TAIItem, - id-TAIList, - id-Target-ToSource-TransparentContainer, - id-Target-ToSource-TransparentContainer-Secondary, - id-TargetID, - id-TimeToWait, - id-TraceActivation, - id-E-UTRAN-Trace-ID, - id-UEIdentityIndexValue, - id-UEPagingID, - id-UERadioCapability, - id-UTRANtoLTEHOInformationRes, - id-UE-associatedLogicalS1-ConnectionListResAck, - id-UE-associatedLogicalS1-ConnectionItem, - id-UESecurityCapabilities, - id-UE-S1AP-IDs, - id-ResetType, - id-MessageIdentifier, - id-SerialNumber, - id-WarningAreaList, - id-RepetitionPeriod, - id-NumberofBroadcastRequest, - id-WarningType, - id-WarningSecurityInfo, - id-DataCodingScheme, - id-WarningMessageContents, - id-BroadcastCompletedAreaList, - id-RRC-Establishment-Cause, - id-TraceCollectionEntityIPAddress, - maxnoofTAIs, - maxNrOfErrors, - maxNrOfE-RABs, - maxNrOfIndividualS1ConnectionsToReset, - maxnoofEmergencyAreaID, - maxnoofCellID, - maxnoofTAIforWarning, - maxnoofCellinTAI, - maxnoofCellinEAI, - - id-CellTrafficTrace, - id-DeactivateTrace, - id-downlinkNASTransport, - id-DownlinkS1cdma2000tunneling, - id-eNBStatusTransfer, - id-ErrorIndication, - id-HandoverCancel, - id-HandoverNotification, - id-HandoverPreparation, - id-HandoverResourceAllocation, - id-InitialContextSetup, - id-initialUEMessage, - id-ENBConfigurationUpdate, - id-LocationReportingControl, - id-LocationReportingFailureIndication, - id-LocationReport, - id-eNBDirectInformationTransfer, - id-MMEConfigurationUpdate, - id-MMEDirectInformationTransfer, - id-MMEStatusTransfer, - id-NASNonDeliveryIndication, - id-OverloadStart, - id-OverloadStop, - id-Paging, - id-PathSwitchRequest, - id-PrivateMessage, - id-Reset, - id-S1Setup, - id-E-RABModify, - id-E-RABRelease, - id-E-RABReleaseIndication, - id-E-RABSetup, - id-TraceFailureIndication, - id-TraceStart, - id-UECapabilityInfoIndication, - id-UEContextModification, - id-UEContextRelease, - id-UEContextReleaseRequest, - id-uplinkNASTransport, - id-UplinkS1cdma2000tunneling, - id-WriteReplaceWarning, - id-eNBConfigurationTransfer, - id-MMEConfigurationTransfer, - maxProtocolIEs -FROM S1AP-Constants; - --- ************************************************************** --- --- S1 SETUP ELEMENTARY PROCEDURE --- --- ************************************************************** - -S1AP-ELEMENTARY-PROCEDURE ::= CLASS { - &InitiatingMessage , - &SuccessfulOutcome OPTIONAL, - &UnsuccessfulOutcome OPTIONAL, - &procedureCode ProcedureCode UNIQUE, - &criticality Criticality DEFAULT ignore -} -WITH SYNTAX { - INITIATING MESSAGE &InitiatingMessage - [SUCCESSFUL OUTCOME &SuccessfulOutcome] - [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] - PROCEDURE CODE &procedureCode - [CRITICALITY &criticality] -} - -S1AP-PDU ::= CHOICE { - initiatingMessage InitiatingMessage, - successfulOutcome SuccessfulOutcome, - unsuccessfulOutcome UnsuccessfulOutcome, - ... -} - -InitiatingMessage ::= SEQUENCE { - procedureCode ProcedureCode, - criticality Criticality, - value ANY -} - -SuccessfulOutcome ::= SEQUENCE { - procedureCode ProcedureCode, - criticality Criticality, - value ANY -} - -UnsuccessfulOutcome ::= SEQUENCE { - procedureCode ProcedureCode, - criticality Criticality, - value ANY -} - -HandoverRequired ::= SEQUENCE { - handoverRequired-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -HandoverCommand ::= SEQUENCE { - handoverCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -HandoverPreparationFailure ::= SEQUENCE { - handoverPreparationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -HandoverRequest ::= SEQUENCE { - handoverRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -HandoverRequestAcknowledge ::= SEQUENCE { - handoverRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -HandoverFailure ::= SEQUENCE { - handoverFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -HandoverNotify ::= SEQUENCE { - handoverNotify-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -PathSwitchRequest ::= SEQUENCE { - pathSwitchRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -PathSwitchRequestAcknowledge ::= SEQUENCE { - pathSwitchRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -PathSwitchRequestFailure ::= SEQUENCE { - pathSwitchRequestFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -E-RABSetupRequest ::= SEQUENCE { - e-RABSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -E-RABSetupResponse ::= SEQUENCE { - e-RABSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -E-RABModifyRequest ::= SEQUENCE { - e-RABModifyRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -E-RABModifyResponse ::= SEQUENCE { - e-RABModifyResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -E-RABReleaseIndication ::= SEQUENCE { - e-RABReleaseIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -E-RABReleaseCommand ::= SEQUENCE { - e-RABReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -E-RABReleaseResponse ::= SEQUENCE { - e-RABReleaseResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -InitialContextSetupRequest ::= SEQUENCE { - initialContextSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -InitialContextSetupResponse ::= SEQUENCE { - initialContextSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -InitialContextSetupFailure ::= SEQUENCE { - initialContextSetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UEContextReleaseRequest ::= SEQUENCE { - ueContextReleaseRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -Paging ::= SEQUENCE { - paging-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -DownlinkNASTransport ::= SEQUENCE { - downlinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -InitialUEMessage ::= SEQUENCE { - initialUEMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UplinkNASTransport ::= SEQUENCE { - uplinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -NASNonDeliveryIndication ::= SEQUENCE { - nasNonDeliveryIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -HandoverCancel ::= SEQUENCE { - handoverCancel-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -HandoverCancelAcknowledge ::= SEQUENCE { - handoverCancelAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -Reset ::= SEQUENCE { - reset-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -ResetAcknowledge ::= SEQUENCE { - resetAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -S1SetupResponse ::= SEQUENCE { - s1SetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -S1SetupRequest ::= SEQUENCE { - s1SetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -S1SetupFailure ::= SEQUENCE -{ - s1SetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -ErrorIndication ::= SEQUENCE { - errorIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -ENBConfigurationUpdate ::= SEQUENCE { - eNBConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -ENBConfigurationUpdateAcknowledge ::= SEQUENCE { - eNBConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -ENBConfigurationUpdateFailure ::= SEQUENCE { - eNBConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -MMEConfigurationUpdate ::= SEQUENCE { - mmeConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -MMEConfigurationUpdateAcknowledge ::= SEQUENCE { - mmeConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -MMEConfigurationUpdateFailure ::= SEQUENCE { - mmeConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -DownlinkS1cdma2000tunneling ::= SEQUENCE { - downlinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UplinkS1cdma2000tunneling ::= SEQUENCE { - uplinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UEContextModificationRequest ::= SEQUENCE { - ueContextModificationRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UEContextModificationResponse ::= SEQUENCE { - ueContextModificationResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UEContextModificationFailure ::= SEQUENCE { - ueContextModificationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UECapabilityInfoIndication ::= SEQUENCE { - ueCapabilityInfoIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UEContextReleaseCommand ::= SEQUENCE { - ueContextReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UEContextReleaseComplete ::= SEQUENCE { - ueContextReleaseComplete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -ENBStatusTransfer ::= SEQUENCE { - eNBStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -MMEStatusTransfer ::= SEQUENCE { - mmeStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -DeactivateTrace ::= SEQUENCE { - deactivateTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -TraceStart ::= SEQUENCE { - traceStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -TraceFailureIndication ::= SEQUENCE { - traceFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -CellTrafficTrace ::= SEQUENCE { - cellTrafficTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -LocationReportingControl ::= SEQUENCE { - locationReportingControl-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -LocationReportingFailureIndication ::= SEQUENCE { - locationReportingFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -LocationReport ::= SEQUENCE { - locationReport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -OverloadStart ::= SEQUENCE { - overloadStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -OverloadStop ::= SEQUENCE { - overloadStop-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -WriteReplaceWarningRequest ::= SEQUENCE { - writeReplaceWarningRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -WriteReplaceWarningResponse ::= SEQUENCE { - writeReplaceWarningResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -ENBDirectInformationTransfer ::= SEQUENCE { - eNBDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -MMEDirectInformationTransfer ::= SEQUENCE { - mmeDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -ENBConfigurationTransfer ::= SEQUENCE { - eNBConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -MMEConfigurationTransfer ::= SEQUENCE { - mmeConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -PrivateMessage ::= SEQUENCE { - privateMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -IE ::= SEQUENCE { - id ProtocolIE-ID, - criticality Criticality, - value ANY -} - -END diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-CommonDataTypes.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-CommonDataTypes.asn deleted file mode 100644 index b1295c34ff..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-CommonDataTypes.asn +++ /dev/null @@ -1,217 +0,0 @@ --- ************************************************************** --- --- Common definitions --- --- ************************************************************** - -S1AP-CommonDataTypes { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-CommonDataTypes (3) } - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -Criticality ::= ENUMERATED { reject, ignore, notify } - -Presence ::= ENUMERATED { optional, conditional, mandatory } - -PrivateIE-ID ::= CHOICE { - local INTEGER (0..65535), - global OBJECT IDENTIFIER -} - -ProcedureCode ::= INTEGER { - id-HandoverPreparation(0), - id-HandoverResourceAllocation(1), - id-HandoverNotification(2), - id-PathSwitchRequest(3), - id-HandoverCancel(4), - id-E-RABSetup(5), - id-E-RABModify(6), - id-E-RABRelease(7), - id-E-RABReleaseIndication(8), - id-InitialContextSetup(9), - id-Paging(10), - id-downlinkNASTransport(11), - id-initialUEMessage(12), - id-uplinkNASTransport(13), - id-Reset(14), - id-ErrorIndication(15), - id-NASNonDeliveryIndication(16), - id-S1Setup(17), - id-UEContextReleaseRequest(18), - id-DownlinkS1cdma2000tunneling(19), - id-UplinkS1cdma2000tunneling(20), - id-UEContextModification(21), - id-UECapabilityInfoIndication(22), - id-UEContextRelease(23), - id-eNBStatusTransfer(24), - id-MMEStatusTransfer(25), - id-DeactivateTrace(26), - id-TraceStart(27), - id-TraceFailureIndication(28), - id-ENBConfigurationUpdate(29), - id-MMEConfigurationUpdate(30), - id-LocationReportingControl(31), - id-LocationReportingFailureIndication(32), - id-LocationReport(33), - id-OverloadStart(34), - id-OverloadStop(35), - id-WriteReplaceWarning(36), - id-eNBDirectInformationTransfer(37), - id-MMEDirectInformationTransfer(38), - id-PrivateMessage(39), - id-eNBConfigurationTransfer(40), - id-MMEConfigurationTransfer(41), - id-CellTrafficTrace(42), - id-Kill(43), - id-downlinkUEAssociatedLPPaTransport(44), - id-uplinkUEAssociatedLPPaTransport(45), - id-downlinkNonUEAssociatedLPPaTransport(46), - id-uplinkNonUEAssociatedLPPaTransport(47) -} (0..255) - -ProtocolExtensionID ::= INTEGER (0..65535) - -ProtocolIE-ID ::= INTEGER { - id-MME-UE-S1AP-ID(0), - id-HandoverType(1), - id-Cause(2), - id-SourceID(3), - id-TargetID (4), - id-eNB-UE-S1AP-ID(8), - id-E-RABSubjecttoDataForwardingList(12), - id-E-RABtoReleaseListHOCmd(13), - id-E-RABDataForwardingItem(14), - id-E-RABReleaseItemBearerRelComp(15), - id-E-RABToBeSetupListBearerSUReq(16), - id-E-RABToBeSetupItemBearerSUReq(17), - id-E-RABAdmittedList(18), - id-E-RABFailedToSetupListHOReqAck(19), - id-E-RABAdmittedItem(20), - id-E-RABFailedtoSetupItemHOReqAck(21), - id-E-RABToBeSwitchedDLList(22), - id-E-RABToBeSwitchedDLItem(23), - id-E-RABToBeSetupListCtxtSUReq(24), - id-TraceActivation(25), - id-NAS-PDU(26), - id-E-RABToBeSetupItemHOReq(27), - id-E-RABSetupListBearerSURes(28), - id-E-RABFailedToSetupListBearerSURes(29), - id-E-RABToBeModifiedListBearerModReq(30), - id-E-RABModifyListBearerModRes(31), - id-E-RABFailedToModifyList(32), - id-E-RABToBeReleasedList(33), - id-E-RABFailedToReleaseList(34), - id-E-RABItem(35), - id-E-RABToBeModifiedItemBearerModReq(36), - id-E-RABModifyItemBearerModRes(37), - id-E-RABReleaseItem(38), - id-E-RABSetupItemBearerSURes(39), - id-SecurityContext(40), - id-HandoverRestrictionList(41), - id-UEPagingID(43), - id-pagingDRX(44), - id-TAIList(46), - id-TAIItem(47), - id-E-RABFailedToSetupListCtxtSURes(48), - id-E-RABReleaseItemHOCmd(49), - id-E-RABSetupItemCtxtSURes(50), - id-E-RABSetupListCtxtSURes(51), - id-E-RABToBeSetupItemCtxtSUReq(52), - id-E-RABToBeSetupListHOReq(53), - id-GERANtoLTEHOInformationRes(55), - id-UTRANtoLTEHOInformationRes(57), - id-CriticalityDiagnostics(58), - id-Global-ENB-ID(59), - id-eNBname(60), - id-MMEname(61), - id-ServedPLMNs(63), - id-SupportedTAs(64), - id-TimeToWait(65), - id-uEaggregateMaximumBitrate(66), - id-TAI(67), - id-E-RABReleaseListBearerRelComp(69), - id-cdma2000PDU(70), - id-cdma2000RATType(71), - id-cdma2000SectorID(72), - id-SecurityKey(73), - id-UERadioCapability(74), - id-GUMMEI-ID(75), - id-E-RABInformationListItem(78), - id-Direct-Forwarding-Path-Availability(79), - id-UEIdentityIndexValue(80), - id-cdma2000HOStatus(83), - id-cdma2000HORequiredIndication(84), - id-E-UTRAN-Trace-ID(86), - id-RelativeMMECapacity(87), - id-SourceMME-UE-S1AP-ID(88), - id-Bearers-SubjectToStatusTransfer-Item(89), - id-eNB-StatusTransfer-TransparentContainer(90), - id-UE-associatedLogicalS1-ConnectionItem(91), - id-ResetType(92), - id-UE-associatedLogicalS1-ConnectionListResAck(93), - id-E-RABToBeSwitchedULItem(94), - id-E-RABToBeSwitchedULList(95), - id-S-TMSI(96), - id-cdma2000OneXRAND(97), - id-RequestType(98), - id-UE-S1AP-IDs(99), - id-EUTRAN-CGI(100), - id-OverloadResponse(101), - id-cdma2000OneXSRVCCInfo(102), - id-E-RABFailedToBeReleasedList(103), - id-Source-ToTarget-TransparentContainer(104), - id-ServedGUMMEIs(105), - id-SubscriberProfileIDforRFP(106), - id-UESecurityCapabilities(107), - id-CSFallbackIndicator(108), - id-CNDomain(109), - id-E-RABReleasedList(110), - id-MessageIdentifier(111), - id-SerialNumber(112), - id-WarningAreaList(113), - id-RepetitionPeriod(114), - id-NumberofBroadcastRequest(115), - id-WarningType(116), - id-WarningSecurityInfo(117), - id-DataCodingScheme(118), - id-WarningMessageContents(119), - id-BroadcastCompletedAreaList(120), - id-Inter-SystemInformationTransferTypeEDT(121), - id-Inter-SystemInformationTransferTypeMDT(122), - id-Target-ToSource-TransparentContainer(123), - id-SRVCCOperationPossible(124), - id-SRVCCHOIndication(125), - id-NAS-DownlinkCount(126), - id-CSG-Id(127), - id-CSG-IdList(128), - id-SONConfigurationTransferECT(129), - id-SONConfigurationTransferMCT(130), - id-TraceCollectionEntityIPAddress(131), - id-MSClassmark2(132), - id-MSClassmark3(133), - id-RRC-Establishment-Cause(134), - id-NASSecurityParametersfromE-UTRAN(135), - id-NASSecurityParameterstoE-UTRAN(136), - id-DefaultPagingDRX(137), - id-Source-ToTarget-TransparentContainer-Secondary(138), - id-Target-ToSource-TransparentContainer-Secondary(139), - id-EUTRANRoundTripDelayEstimationInfo(140), - id-BroadcastCancelledAreaList(141), - id-ConcurrentWarningMessageIndicator(142), - id-Data-Forwarding-Not-Possible(143), - id-ExtendedRepetitionPeriod(144), - id-CellAccessMode(145), - id-CSGMembershipStatus(146), - id-LPPa-PDU(147), - id-Routing-ID(148), - id-Time-Synchronization-Info(149), - id-PS-ServiceNotAvailable(150), - id-RegisteredLAI(159) -} (0..65535) - -TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome } - -END \ No newline at end of file diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-Constants.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-Constants.asn deleted file mode 100644 index d8b56eebb8..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-Constants.asn +++ /dev/null @@ -1,265 +0,0 @@ --- ************************************************************** --- --- Constant definitions --- --- ************************************************************** - -S1AP-Constants { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) } - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - --- ************************************************************** --- --- IE parameter types from other modules. --- --- ************************************************************** - -IMPORTS - ProcedureCode, - ProtocolIE-ID - -FROM S1AP-CommonDataTypes; - - --- ************************************************************** --- --- Elementary Procedures --- --- ************************************************************** - -id-HandoverPreparation ProcedureCode ::= 0 -id-HandoverResourceAllocation ProcedureCode ::= 1 -id-HandoverNotification ProcedureCode ::= 2 -id-PathSwitchRequest ProcedureCode ::= 3 -id-HandoverCancel ProcedureCode ::= 4 -id-E-RABSetup ProcedureCode ::= 5 -id-E-RABModify ProcedureCode ::= 6 -id-E-RABRelease ProcedureCode ::= 7 -id-E-RABReleaseIndication ProcedureCode ::= 8 -id-InitialContextSetup ProcedureCode ::= 9 -id-Paging ProcedureCode ::= 10 -id-downlinkNASTransport ProcedureCode ::= 11 -id-initialUEMessage ProcedureCode ::= 12 -id-uplinkNASTransport ProcedureCode ::= 13 -id-Reset ProcedureCode::= 14 -id-ErrorIndication ProcedureCode ::= 15 -id-NASNonDeliveryIndication ProcedureCode ::= 16 -id-S1Setup ProcedureCode ::= 17 -id-UEContextReleaseRequest ProcedureCode ::= 18 -id-DownlinkS1cdma2000tunneling ProcedureCode ::= 19 -id-UplinkS1cdma2000tunneling ProcedureCode ::= 20 -id-UEContextModification ProcedureCode ::= 21 -id-UECapabilityInfoIndication ProcedureCode ::= 22 -id-UEContextRelease ProcedureCode ::= 23 -id-eNBStatusTransfer ProcedureCode ::= 24 -id-MMEStatusTransfer ProcedureCode ::= 25 -id-DeactivateTrace ProcedureCode ::= 26 -id-TraceStart ProcedureCode ::= 27 -id-TraceFailureIndication ProcedureCode ::= 28 -id-ENBConfigurationUpdate ProcedureCode ::= 29 -id-MMEConfigurationUpdate ProcedureCode ::= 30 -id-LocationReportingControl ProcedureCode ::= 31 -id-LocationReportingFailureIndication ProcedureCode ::= 32 -id-LocationReport ProcedureCode ::= 33 -id-OverloadStart ProcedureCode ::= 34 -id-OverloadStop ProcedureCode ::= 35 -id-WriteReplaceWarning ProcedureCode ::= 36 -id-eNBDirectInformationTransfer ProcedureCode ::= 37 -id-MMEDirectInformationTransfer ProcedureCode ::= 38 -id-PrivateMessage ProcedureCode ::= 39 -id-eNBConfigurationTransfer ProcedureCode ::= 40 -id-MMEConfigurationTransfer ProcedureCode ::= 41 -id-CellTrafficTrace ProcedureCode ::= 42 -id-Kill ProcedureCode ::= 43 -id-downlinkUEAssociatedLPPaTransport ProcedureCode ::= 44 -id-uplinkUEAssociatedLPPaTransport ProcedureCode ::= 45 -id-downlinkNonUEAssociatedLPPaTransport ProcedureCode ::= 46 -id-uplinkNonUEAssociatedLPPaTransport ProcedureCode ::= 47 - --- ************************************************************** --- --- Extension constants --- --- ************************************************************** - -maxPrivateIEs INTEGER ::= 65535 -maxProtocolExtensions INTEGER ::= 65535 -maxProtocolIEs INTEGER ::= 65535 --- ************************************************************** --- --- Lists --- --- ************************************************************** - -maxNrOfCSGs INTEGER ::= 256 -maxNrOfE-RABs INTEGER ::= 256 -maxnoofTAIs INTEGER ::= 256 -maxnoofTACs INTEGER ::= 256 -maxNrOfErrors INTEGER ::= 256 -maxnoofBPLMNs INTEGER ::= 6 -maxnoofPLMNsPerMME INTEGER ::= 32 -maxnoofEPLMNs INTEGER ::= 15 -maxnoofEPLMNsPlusOne INTEGER ::= 16 -maxnoofForbLACs INTEGER ::= 4096 -maxnoofForbTACs INTEGER ::= 4096 -maxNrOfIndividualS1ConnectionsToReset INTEGER ::= 256 -maxnoofCells INTEGER ::= 16 -maxnoofTAIforWarning INTEGER ::= 65535 -maxnoofCellID INTEGER ::= 65535 -maxnoofEmergencyAreaID INTEGER ::= 65535 -maxnoofCellinTAI INTEGER ::= 65535 -maxnoofCellinEAI INTEGER ::= 65535 -maxnoofeNBX2TLAs INTEGER ::= 2 -maxnoofRATs INTEGER ::= 8 -maxnoofGroupIDs INTEGER ::= 65535 -maxnoofMMECs INTEGER ::= 256 - - - --- ************************************************************** --- --- IEs --- --- ************************************************************** - -id-MME-UE-S1AP-ID ProtocolIE-ID ::= 0 -id-HandoverType ProtocolIE-ID ::= 1 -id-Cause ProtocolIE-ID ::= 2 -id-SourceID ProtocolIE-ID ::= 3 -id-TargetID ProtocolIE-ID ::= 4 -id-eNB-UE-S1AP-ID ProtocolIE-ID ::= 8 -id-E-RABSubjecttoDataForwardingList ProtocolIE-ID ::= 12 -id-E-RABtoReleaseListHOCmd ProtocolIE-ID ::= 13 -id-E-RABDataForwardingItem ProtocolIE-ID ::= 14 -id-E-RABReleaseItemBearerRelComp ProtocolIE-ID ::= 15 -id-E-RABToBeSetupListBearerSUReq ProtocolIE-ID ::= 16 -id-E-RABToBeSetupItemBearerSUReq ProtocolIE-ID ::= 17 -id-E-RABAdmittedList ProtocolIE-ID ::= 18 -id-E-RABFailedToSetupListHOReqAck ProtocolIE-ID ::= 19 -id-E-RABAdmittedItem ProtocolIE-ID ::= 20 -id-E-RABFailedtoSetupItemHOReqAck ProtocolIE-ID ::= 21 -id-E-RABToBeSwitchedDLList ProtocolIE-ID ::= 22 -id-E-RABToBeSwitchedDLItem ProtocolIE-ID ::= 23 -id-E-RABToBeSetupListCtxtSUReq ProtocolIE-ID ::= 24 -id-TraceActivation ProtocolIE-ID ::= 25 -id-NAS-PDU ProtocolIE-ID ::= 26 -id-E-RABToBeSetupItemHOReq ProtocolIE-ID ::= 27 -id-E-RABSetupListBearerSURes ProtocolIE-ID ::= 28 -id-E-RABFailedToSetupListBearerSURes ProtocolIE-ID ::= 29 -id-E-RABToBeModifiedListBearerModReq ProtocolIE-ID ::= 30 -id-E-RABModifyListBearerModRes ProtocolIE-ID ::= 31 -id-E-RABFailedToModifyList ProtocolIE-ID ::= 32 -id-E-RABToBeReleasedList ProtocolIE-ID ::= 33 -id-E-RABFailedToReleaseList ProtocolIE-ID ::= 34 -id-E-RABItem ProtocolIE-ID ::= 35 -id-E-RABToBeModifiedItemBearerModReq ProtocolIE-ID ::= 36 -id-E-RABModifyItemBearerModRes ProtocolIE-ID ::= 37 -id-E-RABReleaseItem ProtocolIE-ID ::= 38 -id-E-RABSetupItemBearerSURes ProtocolIE-ID ::= 39 -id-SecurityContext ProtocolIE-ID ::= 40 -id-HandoverRestrictionList ProtocolIE-ID ::= 41 -id-UEPagingID ProtocolIE-ID ::= 43 -id-pagingDRX ProtocolIE-ID ::= 44 -id-TAIList ProtocolIE-ID ::= 46 -id-TAIItem ProtocolIE-ID ::= 47 -id-E-RABFailedToSetupListCtxtSURes ProtocolIE-ID ::= 48 -id-E-RABReleaseItemHOCmd ProtocolIE-ID ::= 49 -id-E-RABSetupItemCtxtSURes ProtocolIE-ID ::= 50 -id-E-RABSetupListCtxtSURes ProtocolIE-ID ::= 51 -id-E-RABToBeSetupItemCtxtSUReq ProtocolIE-ID ::= 52 -id-E-RABToBeSetupListHOReq ProtocolIE-ID ::= 53 -id-GERANtoLTEHOInformationRes ProtocolIE-ID ::= 55 -id-UTRANtoLTEHOInformationRes ProtocolIE-ID ::= 57 -id-CriticalityDiagnostics ProtocolIE-ID ::= 58 -id-Global-ENB-ID ProtocolIE-ID ::= 59 -id-eNBname ProtocolIE-ID ::= 60 -id-MMEname ProtocolIE-ID ::= 61 -id-ServedPLMNs ProtocolIE-ID ::= 63 -id-SupportedTAs ProtocolIE-ID ::= 64 -id-TimeToWait ProtocolIE-ID ::= 65 -id-uEaggregateMaximumBitrate ProtocolIE-ID ::= 66 -id-TAI ProtocolIE-ID ::= 67 -id-E-RABReleaseListBearerRelComp ProtocolIE-ID ::= 69 -id-cdma2000PDU ProtocolIE-ID ::= 70 -id-cdma2000RATType ProtocolIE-ID ::= 71 -id-cdma2000SectorID ProtocolIE-ID ::= 72 -id-SecurityKey ProtocolIE-ID ::= 73 -id-UERadioCapability ProtocolIE-ID ::= 74 -id-GUMMEI-ID ProtocolIE-ID ::= 75 -id-E-RABInformationListItem ProtocolIE-ID ::= 78 -id-Direct-Forwarding-Path-Availability ProtocolIE-ID ::= 79 -id-UEIdentityIndexValue ProtocolIE-ID ::= 80 -id-cdma2000HOStatus ProtocolIE-ID ::= 83 -id-cdma2000HORequiredIndication ProtocolIE-ID ::= 84 -id-E-UTRAN-Trace-ID ProtocolIE-ID ::= 86 -id-RelativeMMECapacity ProtocolIE-ID ::= 87 -id-SourceMME-UE-S1AP-ID ProtocolIE-ID ::= 88 -id-Bearers-SubjectToStatusTransfer-Item ProtocolIE-ID ::= 89 -id-eNB-StatusTransfer-TransparentContainer ProtocolIE-ID ::= 90 -id-UE-associatedLogicalS1-ConnectionItem ProtocolIE-ID ::= 91 -id-ResetType ProtocolIE-ID ::= 92 -id-UE-associatedLogicalS1-ConnectionListResAck ProtocolIE-ID ::= 93 -id-E-RABToBeSwitchedULItem ProtocolIE-ID ::= 94 -id-E-RABToBeSwitchedULList ProtocolIE-ID ::= 95 -id-S-TMSI ProtocolIE-ID ::= 96 -id-cdma2000OneXRAND ProtocolIE-ID ::= 97 -id-RequestType ProtocolIE-ID ::= 98 -id-UE-S1AP-IDs ProtocolIE-ID ::= 99 -id-EUTRAN-CGI ProtocolIE-ID ::= 100 -id-OverloadResponse ProtocolIE-ID ::= 101 -id-cdma2000OneXSRVCCInfo ProtocolIE-ID ::= 102 -id-E-RABFailedToBeReleasedList ProtocolIE-ID ::= 103 -id-Source-ToTarget-TransparentContainer ProtocolIE-ID ::= 104 -id-ServedGUMMEIs ProtocolIE-ID ::= 105 -id-SubscriberProfileIDforRFP ProtocolIE-ID ::= 106 -id-UESecurityCapabilities ProtocolIE-ID ::= 107 -id-CSFallbackIndicator ProtocolIE-ID ::= 108 -id-CNDomain ProtocolIE-ID ::= 109 -id-E-RABReleasedList ProtocolIE-ID ::= 110 -id-MessageIdentifier ProtocolIE-ID ::= 111 -id-SerialNumber ProtocolIE-ID ::= 112 -id-WarningAreaList ProtocolIE-ID ::= 113 -id-RepetitionPeriod ProtocolIE-ID ::= 114 -id-NumberofBroadcastRequest ProtocolIE-ID ::= 115 -id-WarningType ProtocolIE-ID ::= 116 -id-WarningSecurityInfo ProtocolIE-ID ::= 117 -id-DataCodingScheme ProtocolIE-ID ::= 118 -id-WarningMessageContents ProtocolIE-ID ::= 119 -id-BroadcastCompletedAreaList ProtocolIE-ID ::= 120 -id-Inter-SystemInformationTransferTypeEDT ProtocolIE-ID ::= 121 -id-Inter-SystemInformationTransferTypeMDT ProtocolIE-ID ::= 122 -id-Target-ToSource-TransparentContainer ProtocolIE-ID ::= 123 -id-SRVCCOperationPossible ProtocolIE-ID ::= 124 -id-SRVCCHOIndication ProtocolIE-ID ::= 125 -id-NAS-DownlinkCount ProtocolIE-ID ::= 126 -id-CSG-Id ProtocolIE-ID ::= 127 -id-CSG-IdList ProtocolIE-ID ::= 128 -id-SONConfigurationTransferECT ProtocolIE-ID ::= 129 -id-SONConfigurationTransferMCT ProtocolIE-ID ::= 130 -id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 131 -id-MSClassmark2 ProtocolIE-ID ::= 132 -id-MSClassmark3 ProtocolIE-ID ::= 133 -id-RRC-Establishment-Cause ProtocolIE-ID ::= 134 -id-NASSecurityParametersfromE-UTRAN ProtocolIE-ID ::= 135 -id-NASSecurityParameterstoE-UTRAN ProtocolIE-ID ::= 136 -id-DefaultPagingDRX ProtocolIE-ID ::= 137 -id-Source-ToTarget-TransparentContainer-Secondary ProtocolIE-ID ::= 138 -id-Target-ToSource-TransparentContainer-Secondary ProtocolIE-ID ::= 139 -id-EUTRANRoundTripDelayEstimationInfo ProtocolIE-ID ::= 140 -id-BroadcastCancelledAreaList ProtocolIE-ID ::= 141 -id-ConcurrentWarningMessageIndicator ProtocolIE-ID ::= 142 -id-Data-Forwarding-Not-Possible ProtocolIE-ID ::= 143 -id-ExtendedRepetitionPeriod ProtocolIE-ID ::= 144 -id-CellAccessMode ProtocolIE-ID ::= 145 -id-CSGMembershipStatus ProtocolIE-ID ::= 146 -id-LPPa-PDU ProtocolIE-ID ::= 147 -id-Routing-ID ProtocolIE-ID ::= 148 -id-Time-Synchronization-Info ProtocolIE-ID ::= 149 -id-PS-ServiceNotAvailable ProtocolIE-ID ::= 150 -id-RegisteredLAI ProtocolIE-ID ::= 159 - -END \ No newline at end of file diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-Containers.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-Containers.asn deleted file mode 100644 index 1e356a29a4..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-Containers.asn +++ /dev/null @@ -1,197 +0,0 @@ --- ************************************************************** --- --- Container definitions --- --- ************************************************************** - -S1AP-Containers { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Containers (5) } - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - --- ************************************************************** --- --- IE parameter types from other modules. --- --- ************************************************************** - -IMPORTS - Criticality, - Presence, - PrivateIE-ID, - ProtocolExtensionID, - ProtocolIE-ID -FROM S1AP-CommonDataTypes - - maxPrivateIEs, - maxProtocolExtensions, - maxProtocolIEs -FROM S1AP-Constants; - --- ************************************************************** --- --- Class Definition for Protocol IEs --- --- ************************************************************** - -S1AP-PROTOCOL-IES ::= CLASS { - &id ProtocolIE-ID UNIQUE, - &criticality Criticality, - &Value, - &presence Presence -} -WITH SYNTAX { - ID &id - CRITICALITY &criticality - TYPE &Value - PRESENCE &presence -} - --- ************************************************************** --- --- Class Definition for Protocol IEs --- --- ************************************************************** - -S1AP-PROTOCOL-IES-PAIR ::= CLASS { - &id ProtocolIE-ID UNIQUE, - &firstCriticality Criticality, - &FirstValue, - &secondCriticality Criticality, - &SecondValue, - &presence Presence -} -WITH SYNTAX { - ID &id - FIRST CRITICALITY &firstCriticality - FIRST TYPE &FirstValue - SECOND CRITICALITY &secondCriticality - SECOND TYPE &SecondValue - PRESENCE &presence -} - --- ************************************************************** --- --- Class Definition for Protocol Extensions --- --- ************************************************************** - -S1AP-PROTOCOL-EXTENSION ::= CLASS { - &id ProtocolExtensionID UNIQUE, - &criticality Criticality, - &Extension, - &presence Presence -} -WITH SYNTAX { - ID &id - CRITICALITY &criticality - EXTENSION &Extension - PRESENCE &presence -} - --- ************************************************************** --- --- Class Definition for Private IEs --- --- ************************************************************** - -S1AP-PRIVATE-IES ::= CLASS { - &id PrivateIE-ID, - &criticality Criticality, - &Value, - &presence Presence -} -WITH SYNTAX { - ID &id - CRITICALITY &criticality - TYPE &Value - PRESENCE &presence -} - --- ************************************************************** --- --- Container for Protocol IEs --- --- ************************************************************** - -ProtocolIE-Container {S1AP-PROTOCOL-IES : IEsSetParam} ::= - SEQUENCE (SIZE (0..maxProtocolIEs)) OF - ProtocolIE-Field {{IEsSetParam}} - -ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::= - ProtocolIE-Field {{IEsSetParam}} - -ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { - id S1AP-PROTOCOL-IES.&id ({IEsSetParam}), - criticality S1AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), - value S1AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) -} - --- ************************************************************** --- --- Container for Protocol IE Pairs --- --- ************************************************************** - -ProtocolIE-ContainerPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= - SEQUENCE (SIZE (0..maxProtocolIEs)) OF - ProtocolIE-FieldPair {{IEsSetParam}} - -ProtocolIE-FieldPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE { - id S1AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}), - firstCriticality S1AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}), - firstValue S1AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}), - secondCriticality S1AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}), - secondValue S1AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id}) -} - --- ************************************************************** --- --- Container Lists for Protocol IE Containers --- --- ************************************************************** - -ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES : IEsSetParam} ::= - SEQUENCE (SIZE (lowerBound..upperBound)) OF - ProtocolIE-SingleContainer {{IEsSetParam}} - -ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= - SEQUENCE (SIZE (lowerBound..upperBound)) OF - ProtocolIE-ContainerPair {{IEsSetParam}} - --- ************************************************************** --- --- Container for Protocol Extensions --- --- ************************************************************** - -ProtocolExtensionContainer {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= - SEQUENCE (SIZE (1..maxProtocolExtensions)) OF - ProtocolExtensionField {{ExtensionSetParam}} - -ProtocolExtensionField {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { - id S1AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), - criticality S1AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), - extensionValue S1AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) -} - --- ************************************************************** --- --- Container for Private IEs --- --- ************************************************************** - -PrivateIE-Container {S1AP-PRIVATE-IES : IEsSetParam } ::= - SEQUENCE (SIZE (1.. maxPrivateIEs)) OF - PrivateIE-Field {{IEsSetParam}} - -PrivateIE-Field {S1AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE { - id S1AP-PRIVATE-IES.&id ({IEsSetParam}), - criticality S1AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}), - value S1AP-PRIVATE-IES.&Value ({IEsSetParam}{@id}) -} - -END \ No newline at end of file diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn deleted file mode 100644 index 535aa91ee0..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn +++ /dev/null @@ -1,1213 +0,0 @@ --- ************************************************************** --- --- Information Element Definitions --- --- ************************************************************** - -S1AP-IEs { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-IEs (2) } - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS - id-E-RABInformationListItem, - id-E-RABItem, - id-Bearers-SubjectToStatusTransfer-Item, - id-Time-Synchronization-Info, - maxNrOfCSGs, - maxNrOfE-RABs, - maxNrOfErrors, - maxnoofBPLMNs, - maxnoofPLMNsPerMME, - maxnoofTACs, - maxnoofEPLMNs, - maxnoofEPLMNsPlusOne, - maxnoofForbLACs, - maxnoofForbTACs, - maxnoofCells, - maxnoofCellID, - maxnoofEmergencyAreaID, - maxnoofTAIforWarning, - maxnoofCellinTAI, - maxnoofCellinEAI, - maxnoofeNBX2TLAs, - maxnoofRATs, - maxnoofGroupIDs, - maxnoofMMECs, - maxProtocolExtensions, - maxnoofTAIs, - maxNrOfIndividualS1ConnectionsToReset - - -FROM S1AP-Constants - - IE -FROM S1AP-PDU - - Criticality, - ProcedureCode, - ProtocolIE-ID, - TriggeringMessage -FROM S1AP-CommonDataTypes; - -IE-Extensions ::= SEQUENCE (SIZE (1..maxProtocolExtensions)) OF IE - --- A - - -AllocationAndRetentionPriority ::= SEQUENCE { - priorityLevel PriorityLevel, - pre-emptionCapability Pre-emptionCapability, - pre-emptionVulnerability Pre-emptionVulnerability, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - --- B - -Bearers-SubjectToStatusTransfer-List ::= SEQUENCE (SIZE (1..maxNrOfE-RABs)) OF IE - -Bearers-SubjectToStatusTransfer-Item ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - uL-COUNTvalue COUNTvalue, - dL-COUNTvalue COUNTvalue, - receiveStatusofULPDCPSDUs ReceiveStatusofULPDCPSDUs OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -BitRate ::= INTEGER (0..10000000000) - -BPLMNs ::= SEQUENCE (SIZE(1.. maxnoofBPLMNs)) OF PLMNidentity - -BroadcastCancelledAreaList ::= CHOICE { - cellID-Cancelled CellID-Cancelled, - tAI-Cancelled TAI-Cancelled, - emergencyAreaID-Cancelled EmergencyAreaID-Cancelled, - ... -} - -BroadcastCompletedAreaList ::= CHOICE { - cellID-Broadcast CellID-Broadcast, - tAI-Broadcast TAI-Broadcast, - emergencyAreaID-Broadcast EmergencyAreaID-Broadcast, - ... -} - - --- C - -CancelledCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CancelledCellinEAI-Item - -CancelledCellinEAI-Item ::= SEQUENCE { - eCGI EUTRAN-CGI, - numberOfBroadcasts NumberOfBroadcasts, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -CancelledCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CancelledCellinTAI-Item - -CancelledCellinTAI-Item ::= SEQUENCE{ - eCGI EUTRAN-CGI, - numberOfBroadcasts NumberOfBroadcasts, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -Cause ::= CHOICE { - radioNetwork CauseRadioNetwork, - transport CauseTransport, - nas CauseNas, - protocol CauseProtocol, - misc CauseMisc, - ... -} - -CauseMisc ::= ENUMERATED { - control-processing-overload, - not-enough-user-plane-processing-resources, - hardware-failure, - om-intervention, - unspecified, - unknown-PLMN, -... -} - -CauseProtocol ::= ENUMERATED { - transfer-syntax-error, - abstract-syntax-error-reject, - abstract-syntax-error-ignore-and-notify, - message-not-compatible-with-receiver-state, - semantic-error, - abstract-syntax-error-falsely-constructed-message, - unspecified, - ... -} - -CauseRadioNetwork ::= ENUMERATED { - unspecified, - tx2relocoverall-expiry, - successful-handover, - release-due-to-eutran-generated-reason, - handover-cancelled, - partial-handover, - ho-failure-in-target-EPC-eNB-or-target-system, - ho-target-not-allowed, - tS1relocoverall-expiry, - tS1relocprep-expiry, - cell-not-available, - unknown-targetID, - no-radio-resources-available-in-target-cell, - unknown-mme-ue-s1ap-id, - unknown-enb-ue-s1ap-id, - unknown-pair-ue-s1ap-id, - handover-desirable-for-radio-reason, - time-critical-handover, - resource-optimisation-handover, - reduce-load-in-serving-cell, - user-inactivity, - radio-connection-with-ue-lost, - load-balancing-tau-required, - cs-fallback-triggered, - ue-not-available-for-ps-service, - radio-resources-not-available, - failure-in-radio-interface-procedure, - invalid-qos-combination, - interrat-redirection, - interaction-with-other-procedure, - unknown-E-RAB-ID, - multiple-E-RAB-ID-instances, - encryption-and-or-integrity-protection-algorithms-not-supported, - s1-intra-system-handover-triggered, - s1-inter-system-handover-triggered, - x2-handover-triggered, - ..., - redirection-towards-1xRTT, - not-supported-QCI-value, - invalid-CSG-Id - -} - -CauseTransport ::= ENUMERATED { - transport-resource-unavailable, - unspecified, - ... -} - -CauseNas ::= ENUMERATED { - normal-release, - authentication-failure, - detach, - unspecified, - ..., - csg-subscription-expiry -} - -CellAccessMode ::= ENUMERATED { - hybrid, - ... -} - -CellIdentity ::= BIT STRING (SIZE (28)) - -CellID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Broadcast-Item - -CellID-Broadcast-Item ::= SEQUENCE { - eCGI EUTRAN-CGI, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -CellID-Cancelled::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Cancelled-Item - -CellID-Cancelled-Item ::= SEQUENCE { - eCGI EUTRAN-CGI, - numberOfBroadcasts NumberOfBroadcasts, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -Cdma2000PDU ::= OCTET STRING - -Cdma2000RATType ::= ENUMERATED { - hRPD, - onexRTT, - ... -} - -Cdma2000SectorID ::= OCTET STRING - -Cdma2000HOStatus ::= ENUMERATED { - hOSuccess, - hOFailure, - ... -} - -Cdma2000HORequiredIndication ::= ENUMERATED { - true, - ... -} - -Cdma2000OneXSRVCCInfo ::= SEQUENCE { - cdma2000OneXMEID Cdma2000OneXMEID, - cdma2000OneXMSI Cdma2000OneXMSI, - cdma2000OneXPilot Cdma2000OneXPilot, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -Cdma2000OneXMEID ::= OCTET STRING - -Cdma2000OneXMSI ::= OCTET STRING - -Cdma2000OneXPilot ::= OCTET STRING - -Cdma2000OneXRAND ::= OCTET STRING - - -Cell-Size ::= ENUMERATED {verysmall, small, medium, large, ...} - -CellType ::= SEQUENCE { - cell-Size Cell-Size, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -CGI ::= SEQUENCE { - pLMNidentity PLMNidentity, - lAC LAC, - cI CI, - rAC RAC OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -CI ::= OCTET STRING (SIZE (2)) - -CNDomain ::= ENUMERATED { - ps, - cs -} - -ConcurrentWarningMessageIndicator ::= ENUMERATED { - true -} -CSFallbackIndicator ::= ENUMERATED { - cs-fallback-required, - ..., - cs-fallback-high-priority -} - -CSG-Id ::= BIT STRING (SIZE (27)) - - -CSG-IdList ::= SEQUENCE (SIZE (1..maxNrOfCSGs)) OF CSG-IdList-Item - -CSG-IdList-Item ::= SEQUENCE { - cSG-Id CSG-Id, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -CSGMembershipStatus ::= ENUMERATED { - member, - not-member -} - - -COUNTvalue ::= SEQUENCE { - pDCP-SN PDCP-SN, - hFN HFN, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -CriticalityDiagnostics ::= SEQUENCE { - procedureCode ProcedureCode OPTIONAL, - triggeringMessage TriggeringMessage OPTIONAL, - procedureCriticality Criticality OPTIONAL, - iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF CriticalityDiagnostics-IE-Item - -CriticalityDiagnostics-IE-Item ::= SEQUENCE { - iECriticality Criticality, - iE-ID ProtocolIE-ID, - typeOfError TypeOfError, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - --- D - -DataCodingScheme ::= BIT STRING (SIZE (8)) - -DL-Forwarding ::= ENUMERATED { - dL-Forwarding-proposed, - ... -} - -Direct-Forwarding-Path-Availability ::= ENUMERATED { - directPathAvailable, - ... -} - -Data-Forwarding-Not-Possible ::= ENUMERATED { - data-Forwarding-not-Possible, - ... -} - --- E - -ECGIList ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF EUTRAN-CGI - -EmergencyAreaIDList ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID - -EmergencyAreaID ::= OCTET STRING (SIZE (3)) - -EmergencyAreaID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Broadcast-Item - -EmergencyAreaID-Broadcast-Item ::= SEQUENCE { - emergencyAreaID EmergencyAreaID, - completedCellinEAI CompletedCellinEAI, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -EmergencyAreaID-Cancelled ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Cancelled-Item - -EmergencyAreaID-Cancelled-Item ::= SEQUENCE { - emergencyAreaID EmergencyAreaID, - cancelledCellinEAI CancelledCellinEAI, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABToBeSwitchedULList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABToBeSwitchedDLList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABToBeSetupListBearerSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABDataForwardingList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABToBeSetupListHOReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABAdmittedList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABFailedtoSetupListHOReqAck ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABToBeSetupListCtxtSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABSetupListBearerSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABToBeModifiedListBearerModReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABSetupListCtxtSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABReleaseListBearerRelComp ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABModifyListBearerModRes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE - -E-RABModifyItemBearerModRes ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABToBeSetupItemCtxtSUReq ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - e-RABlevelQoSParameters E-RABLevelQoSParameters, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - nAS-PDU NAS-PDU OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABToBeModifiedItemBearerModReq ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - e-RABLevelQoSParameters E-RABLevelQoSParameters, - nAS-PDU NAS-PDU, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABSetupItemCtxtSURes ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABSetupItemBearerSURes ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABToBeSwitchedDLItem ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABToBeSwitchedULItem ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABToBeSetupItemHOReq ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - e-RABlevelQosParameters E-RABLevelQoSParameters, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABToBeSetupItemBearerSUReq ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - e-RABlevelQoSParameters E-RABLevelQoSParameters, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - nAS-PDU NAS-PDU, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABDataForwardingItem ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - dL-transportLayerAddress TransportLayerAddress OPTIONAL, - dL-gTP-TEID GTP-TEID OPTIONAL, - uL-TransportLayerAddress TransportLayerAddress OPTIONAL, - uL-GTP-TEID GTP-TEID OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABAdmittedItem ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - dL-transportLayerAddress TransportLayerAddress OPTIONAL, - dL-gTP-TEID GTP-TEID OPTIONAL, - uL-TransportLayerAddress TransportLayerAddress OPTIONAL, - uL-GTP-TEID GTP-TEID OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABFailedToSetupItemHOReqAck ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - cause Cause, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABReleaseItemBearerRelComp ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -CompletedCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CompletedCellinEAI-Item - -CompletedCellinEAI-Item ::= SEQUENCE { - eCGI EUTRAN-CGI, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -ENB-ID ::= CHOICE { - macroENB-ID BIT STRING (SIZE(20)), - homeENB-ID BIT STRING (SIZE(28)), - ... -} - -GERAN-Cell-ID ::= SEQUENCE { - lAI LAI, - rAC RAC, - cI CI, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -Global-ENB-ID ::= SEQUENCE { - pLMNidentity PLMNidentity, - eNB-ID ENB-ID, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -ENB-StatusTransfer-TransparentContainer ::= SEQUENCE { - bearers-SubjectToStatusTransfer-List Bearers-SubjectToStatusTransfer-List, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -ENB-UE-S1AP-ID ::= INTEGER (0..16777215) - -ENBname ::= PrintableString (SIZE (1..150,...)) - -ENBX2TLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2TLAs)) OF TransportLayerAddress - -EncryptionAlgorithms ::= BIT STRING (SIZE (16,...)) - -EPLMNs ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMNidentity -EventType ::= ENUMERATED { - direct, - change-of-serve-cell, - stop-change-of-serve-cell, - ... -} - -E-RAB-ID ::= INTEGER (0..15, ...) - -E-RABInformationListItem ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - dL-Forwarding DL-Forwarding OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABItem ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - cause Cause, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABLevelQoSParameters ::= SEQUENCE { - qCI QCI, - allocationRetentionPriority AllocationAndRetentionPriority, - gbrQosInformation GBR-QosInformation OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -EUTRAN-CGI ::= SEQUENCE { - pLMNidentity PLMNidentity, - cell-ID CellIdentity, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -EUTRANRoundTripDelayEstimationInfo ::= INTEGER (0..2047) - -ExtendedRNC-ID ::= INTEGER (4096..65535) - -ExtendedRepetitionPeriod ::= INTEGER (4096..131071) - --- F - -ForbiddenInterRATs ::= ENUMERATED { - all, - geran, - utran, - cdma2000, - ..., - geranandutran, - cdma2000andutran - -} - -ForbiddenTAs ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF ForbiddenTAs-Item - -ForbiddenTAs-Item ::= SEQUENCE { - pLMN-Identity PLMNidentity, - forbiddenTACs ForbiddenTACs, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -ForbiddenTACs ::= SEQUENCE (SIZE(1..maxnoofForbTACs)) OF TAC - -ForbiddenLAs ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF ForbiddenLAs-Item - -ForbiddenLAs-Item ::= SEQUENCE { - pLMN-Identity PLMNidentity, - forbiddenLACs ForbiddenLACs, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -ForbiddenLACs ::= SEQUENCE (SIZE(1..maxnoofForbLACs)) OF LAC - --- G - -GBR-QosInformation ::= SEQUENCE { - e-RAB-MaximumBitrateDL BitRate, - e-RAB-MaximumBitrateUL BitRate, - e-RAB-GuaranteedBitrateDL BitRate, - e-RAB-GuaranteedBitrateUL BitRate, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -GTP-TEID ::= OCTET STRING (SIZE (4)) - -GUMMEI ::= SEQUENCE { - pLMN-Identity PLMNidentity, - mME-Group-ID MME-Group-ID, - mME-Code MME-Code, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - --- H - -HandoverRestrictionList ::= SEQUENCE { - servingPLMN PLMNidentity, - equivalentPLMNs EPLMNs OPTIONAL, - forbiddenTAs ForbiddenTAs OPTIONAL, - forbiddenLAs ForbiddenLAs OPTIONAL, - forbiddenInterRATs ForbiddenInterRATs OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -HandoverType ::= ENUMERATED { - intralte, - ltetoutran, - ltetogeran, - utrantolte, - gerantolte, - ... -} - -HFN ::= INTEGER (0..1048575) - --- I - -IMSI ::= OCTET STRING (SIZE (3..8)) - -IntegrityProtectionAlgorithms ::= BIT STRING (SIZE (16,...)) - -InterfacesToTrace ::= BIT STRING (SIZE (8)) - -Inter-SystemInformationTransferType ::= CHOICE { - rIMTransfer RIMTransfer, - ... -} - --- J --- K --- L - - -LAC ::= OCTET STRING (SIZE (2)) - -LAI ::= SEQUENCE { - pLMNidentity PLMNidentity, - lAC LAC, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -LastVisitedCell-Item ::= CHOICE { - e-UTRAN-Cell LastVisitedEUTRANCellInformation, - uTRAN-Cell LastVisitedUTRANCellInformation, - gERAN-Cell LastVisitedGERANCellInformation, - ... -} -LastVisitedEUTRANCellInformation ::= SEQUENCE { - global-Cell-ID EUTRAN-CGI, - cellType CellType, - time-UE-StayedInCell Time-UE-StayedInCell, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -LastVisitedUTRANCellInformation ::= OCTET STRING - -LastVisitedGERANCellInformation ::= CHOICE { - undefined NULL, - ... -} - -L3-Information ::= OCTET STRING - -LPPa-PDU ::= OCTET STRING - --- M - -MessageIdentifier ::= BIT STRING (SIZE (16)) - -MMEname ::= PrintableString (SIZE (1..150,...)) - -MME-Group-ID ::= OCTET STRING (SIZE (2)) - -MME-Code ::= OCTET STRING (SIZE (1)) - -MME-UE-S1AP-ID ::= INTEGER (0..4294967295) -M-TMSI ::= OCTET STRING (SIZE (4)) - -MSClassmark2 ::= OCTET STRING -MSClassmark3 ::= OCTET STRING - --- N - -NAS-PDU ::= OCTET STRING - -NASSecurityParametersfromE-UTRAN ::= OCTET STRING - -NASSecurityParameterstoE-UTRAN ::= OCTET STRING - -NumberofBroadcastRequest ::= INTEGER (0..65535) - -NumberOfBroadcasts ::= INTEGER (0..65535) - --- O -OldBSS-ToNewBSS-Information ::= OCTET STRING - -OverloadAction ::= ENUMERATED { -reject-non-emergency-mo-dt, -reject-all-rrc-cr-signalling, -permit-emergency-sessions-and-mobile-terminated-services-only, - ... -} - -OverloadResponse ::= CHOICE { - overloadAction OverloadAction, - ... -} - - --- P - -PagingDRX ::= ENUMERATED { - v32, - v64, - v128, - v256, - ... - } - -PDCP-SN ::= INTEGER (0..4095) - -PLMNidentity ::= TBCD-STRING - -Pre-emptionCapability ::= ENUMERATED { - shall-not-trigger-pre-emption, - may-trigger-pre-emption -} - -Pre-emptionVulnerability ::= ENUMERATED { - not-pre-emptable, - pre-emptable -} - -PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15) - -PS-ServiceNotAvailable ::= ENUMERATED { - ps-service-not-available, - ... -} - --- Q - -QCI ::= INTEGER (0..255) - --- R - -ResetType ::= CHOICE { - s1-Interface ResetAll, - partOfS1-Interface UE-associatedLogicalS1-ConnectionListRes, - ... -} - -ResetAll ::= ENUMERATED { - reset-all, - ... -} - -ReceiveStatusofULPDCPSDUs ::= BIT STRING (SIZE(4096)) - -RelativeMMECapacity ::= INTEGER (0..255) - -RAC ::= OCTET STRING (SIZE (1)) - - -RequestType ::= SEQUENCE { - eventType EventType, - reportArea ReportArea, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -RIMTransfer ::= SEQUENCE { - rIMInformation RIMInformation, - rIMRoutingAddress RIMRoutingAddress OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -RIMInformation ::= OCTET STRING - -RIMRoutingAddress ::= CHOICE { - gERAN-Cell-ID GERAN-Cell-ID, - ..., - targetRNC-ID TargetRNC-ID -} - -ReportArea ::= ENUMERATED { - ecgi, - ... -} - -RepetitionPeriod ::= INTEGER (0..4095) - - -RNC-ID ::= INTEGER (0..4095) - -RRC-Container ::= OCTET STRING - -RRC-Establishment-Cause ::= ENUMERATED { - emergency, - highPriorityAccess, - mt-Access, - mo-Signalling, - mo-Data, - ... -} - -Routing-ID ::= INTEGER (0..255) - --- S - - -SecurityKey ::= BIT STRING (SIZE(256)) - - - -SecurityContext ::= SEQUENCE { - nextHopChainingCount INTEGER (0..7), - nextHopParameter SecurityKey, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -SerialNumber ::= BIT STRING (SIZE (16)) - -SONInformation ::= CHOICE{ - sONInformationRequest SONInformationRequest, - sONInformationReply SONInformationReply, - ... -} - -SONInformationRequest ::= ENUMERATED { - x2TNL-Configuration-Info, - ..., - time-Synchronization-Info} - -SONInformationReply ::= SEQUENCE { - x2TNLConfigurationInfo X2TNLConfigurationInfo OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -SONConfigurationTransfer ::= SEQUENCE { - targeteNB-ID TargeteNB-ID, - sourceeNB-ID SourceeNB-ID, - sONInformation SONInformation, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -Source-ToTarget-TransparentContainer ::= OCTET STRING - -SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING - -SourceeNB-ID ::= SEQUENCE { - global-ENB-ID Global-ENB-ID, - selected-TAI TAI, - iE-Extensions IE-Extensions OPTIONAL -} - -SRVCCOperationPossible ::= ENUMERATED { - possible, - ... -} - -SRVCCHOIndication ::= ENUMERATED { - pSandCS, - cSonly, - ... -} - -SourceeNB-ToTargeteNB-TransparentContainer ::= SEQUENCE { - rRC-Container RRC-Container, - e-RABInformationList E-RABInformationList OPTIONAL, - targetCell-ID EUTRAN-CGI, - subscriberProfileIDforRFP SubscriberProfileIDforRFP OPTIONAL, - uE-HistoryInformation UE-HistoryInformation, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABInformationList ::= SEQUENCE (SIZE (1.. maxNrOfE-RABs)) OF IE - -SourceRNC-ToTargetRNC-TransparentContainer ::= OCTET STRING - - -ServedGUMMEIs ::= SEQUENCE (SIZE (1.. maxnoofRATs)) OF ServedGUMMEIsItem - -ServedGUMMEIsItem ::= SEQUENCE { - servedPLMNs ServedPLMNs, - servedGroupIDs ServedGroupIDs, - servedMMECs ServedMMECs, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -ServedGroupIDs ::= SEQUENCE (SIZE(1.. maxnoofGroupIDs)) OF MME-Group-ID -ServedMMECs ::= SEQUENCE (SIZE(1.. maxnoofMMECs)) OF MME-Code - -ServedPLMNs ::= SEQUENCE (SIZE(1.. maxnoofPLMNsPerMME)) OF PLMNidentity - -SubscriberProfileIDforRFP ::= INTEGER (1..256) - -SupportedTAs ::= SEQUENCE (SIZE(1.. maxnoofTACs)) OF SupportedTAs-Item - -SupportedTAs-Item ::= SEQUENCE { - tAC TAC, - broadcastPLMNs BPLMNs, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -StratumLevel ::= INTEGER (0..3, ...) - -SynchronizationStatus ::= ENUMERATED { synchronous, asynchronous, ... } - -TimeSynchronizationInfo ::= SEQUENCE { - stratumLevel StratumLevel, - synchronizationStatus SynchronizationStatus, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -S-TMSI ::= SEQUENCE { - mMEC MME-Code, - m-TMSI M-TMSI, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - --- T - -TAC ::= OCTET STRING (SIZE (2)) - -TAIListforWarning ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI - -TAI ::= SEQUENCE { - pLMNidentity PLMNidentity, - tAC TAC, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -TAI-Broadcast ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Broadcast-Item - -TAI-Broadcast-Item ::= SEQUENCE { - tAI TAI, - completedCellinTAI CompletedCellinTAI, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -TAI-Cancelled ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Cancelled-Item - -TAI-Cancelled-Item ::= SEQUENCE { - tAI TAI, - cancelledCellinTAI CancelledCellinTAI, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -TAIList ::= SEQUENCE (SIZE(1..maxnoofTAIs)) OF IE - -TAIItem ::= SEQUENCE { - tAI TAI, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -CompletedCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CompletedCellinTAI-Item - -CompletedCellinTAI-Item ::= SEQUENCE{ - eCGI EUTRAN-CGI, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -TBCD-STRING ::= OCTET STRING (SIZE (3)) - -TargetID ::= CHOICE { - targeteNB-ID TargeteNB-ID, - targetRNC-ID TargetRNC-ID, - cGI CGI, - ... -} - -TargeteNB-ID ::= SEQUENCE { - global-ENB-ID Global-ENB-ID, - selected-TAI TAI, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -TargetRNC-ID ::= SEQUENCE { - lAI LAI, - rAC RAC OPTIONAL, - rNC-ID RNC-ID, - extendedRNC-ID ExtendedRNC-ID OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -TargeteNB-ToSourceeNB-TransparentContainer ::= SEQUENCE { - rRC-Container RRC-Container, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -Target-ToSource-TransparentContainer ::= OCTET STRING -TargetRNC-ToSourceRNC-TransparentContainer ::= OCTET STRING -TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING - -TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...} - -Time-UE-StayedInCell ::= INTEGER (0..4095) - -TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...)) - -TraceActivation ::= SEQUENCE { - e-UTRAN-Trace-ID E-UTRAN-Trace-ID, - interfacesToTrace InterfacesToTrace, -traceDepth TraceDepth, -traceCollectionEntityIPAddress TransportLayerAddress, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -TraceDepth ::= ENUMERATED { - minimum, - medium, - maximum, - minimumWithoutVendorSpecificExtension, - mediumWithoutVendorSpecificExtension, - maximumWithoutVendorSpecificExtension, - ... -} - -E-UTRAN-Trace-ID ::= OCTET STRING (SIZE (8)) - -TypeOfError ::= ENUMERATED { - not-understood, - missing, - ... -} - --- U - -UE-associatedLogicalS1-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF IE - -UE-associatedLogicalS1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF IE - -UEAggregateMaximumBitrate ::= SEQUENCE { - uEaggregateMaximumBitRateDL BitRate, - uEaggregateMaximumBitRateUL BitRate, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -UE-S1AP-IDs ::= CHOICE{ - uE-S1AP-ID-pair UE-S1AP-ID-pair, - mME-UE-S1AP-ID MME-UE-S1AP-ID, - ... -} - -UE-S1AP-ID-pair ::= SEQUENCE{ - mME-UE-S1AP-ID MME-UE-S1AP-ID, - eNB-UE-S1AP-ID ENB-UE-S1AP-ID, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -UE-associatedLogicalS1-ConnectionItem ::= SEQUENCE { - mME-UE-S1AP-ID MME-UE-S1AP-ID OPTIONAL, - eNB-UE-S1AP-ID ENB-UE-S1AP-ID OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -UEIdentityIndexValue ::= BIT STRING (SIZE (10)) - -UE-HistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCells)) OF LastVisitedCell-Item - -UEPagingID ::= CHOICE { - s-TMSI S-TMSI, - iMSI IMSI, - ... - } - -UERadioCapability ::= OCTET STRING - -UESecurityCapabilities ::= SEQUENCE { - encryptionAlgorithms EncryptionAlgorithms, - integrityProtectionAlgorithms IntegrityProtectionAlgorithms, - iE-Extensions IE-Extensions OPTIONAL, -... -} - --- V --- W - -WarningAreaList ::= CHOICE { - cellIDList ECGIList, - trackingAreaListforWarning TAIListforWarning, - emergencyAreaIDList EmergencyAreaIDList, - ... -} - - -WarningType ::= OCTET STRING (SIZE (2)) - -WarningSecurityInfo ::= OCTET STRING (SIZE (50)) - - -WarningMessageContents ::= OCTET STRING (SIZE(1..9600)) - - --- X - - -X2TNLConfigurationInfo ::= SEQUENCE { - eNBX2TransportLayerAddresses ENBX2TLAs, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - --- Y --- Z - -END \ No newline at end of file diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn deleted file mode 100644 index d3d4189e0f..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn +++ /dev/null @@ -1,2419 +0,0 @@ --- ************************************************************** --- --- PDU definitions for S1AP. --- --- ************************************************************** - -S1AP-PDU-Contents { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Contents (1) } - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - --- ************************************************************** --- --- IE parameter types from other modules. --- --- ************************************************************** - -IMPORTS - - UEAggregateMaximumBitrate, - Cause, - CellAccessMode, - Cdma2000HORequiredIndication, - Cdma2000HOStatus, - Cdma2000OneXSRVCCInfo, - Cdma2000OneXRAND, - Cdma2000PDU, - Cdma2000RATType, - Cdma2000SectorID, - EUTRANRoundTripDelayEstimationInfo, - CNDomain, - ConcurrentWarningMessageIndicator, - CriticalityDiagnostics, - CSFallbackIndicator, - CSG-Id, - CSG-IdList, - CSGMembershipStatus, - Data-Forwarding-Not-Possible, - Direct-Forwarding-Path-Availability, - Global-ENB-ID, - EUTRAN-CGI, - ENBname, - ENB-StatusTransfer-TransparentContainer, - ENB-UE-S1AP-ID, - ExtendedRepetitionPeriod, - GTP-TEID, - GUMMEI, - HandoverRestrictionList, - HandoverType, - LAI, - LPPa-PDU, - MMEname, - MME-UE-S1AP-ID, - MSClassmark2, - MSClassmark3, - NAS-PDU, - NASSecurityParametersfromE-UTRAN, - NASSecurityParameterstoE-UTRAN, - OverloadResponse, - PagingDRX, - PLMNidentity, - RIMTransfer, - RelativeMMECapacity, - RequestType, - E-RAB-ID, - E-RABLevelQoSParameters, - E-RABList, -Routing-ID, - SecurityKey, - SecurityContext, - ServedGUMMEIs, - SONConfigurationTransfer, - Source-ToTarget-TransparentContainer, - SourceBSS-ToTargetBSS-TransparentContainer, - SourceeNB-ToTargeteNB-TransparentContainer, - SourceRNC-ToTargetRNC-TransparentContainer, - SubscriberProfileIDforRFP, - SRVCCOperationPossible, - SRVCCHOIndication, - SupportedTAs, - TAI, - Target-ToSource-TransparentContainer, - TargetBSS-ToSourceBSS-TransparentContainer, - TargeteNB-ToSourceeNB-TransparentContainer, - TargetID, - TargetRNC-ToSourceRNC-TransparentContainer, - TimeToWait, - TraceActivation, - E-UTRAN-Trace-ID, - TransportLayerAddress, - UEIdentityIndexValue, - UEPagingID, - UERadioCapability, - UE-S1AP-IDs, - UE-associatedLogicalS1-ConnectionItem, - UESecurityCapabilities, - S-TMSI, - MessageIdentifier, - SerialNumber, - WarningAreaList, - RepetitionPeriod, - NumberofBroadcastRequest, - WarningType, - WarningSecurityInfo, - DataCodingScheme, - WarningMessageContents, - BroadcastCompletedAreaList, - RRC-Establishment-Cause, - BroadcastCancelledAreaList, - PS-ServiceNotAvailable - -FROM S1AP-IEs - - PrivateIE-Container{}, - ProtocolExtensionContainer{}, - ProtocolIE-Container{}, - ProtocolIE-ContainerList{}, - ProtocolIE-ContainerPair{}, - ProtocolIE-ContainerPairList{}, - ProtocolIE-SingleContainer{}, - S1AP-PRIVATE-IES, - S1AP-PROTOCOL-EXTENSION, - S1AP-PROTOCOL-IES, - S1AP-PROTOCOL-IES-PAIR -FROM S1AP-Containers - - - id-uEaggregateMaximumBitrate, - id-Cause, - id-CellAccessMode, - id-cdma2000HORequiredIndication, - id-cdma2000HOStatus, - id-cdma2000OneXSRVCCInfo, - id-cdma2000OneXRAND, - id-cdma2000PDU, - id-cdma2000RATType, - id-cdma2000SectorID, - id-EUTRANRoundTripDelayEstimationInfo, - id-CNDomain, - id-ConcurrentWarningMessageIndicator, - id-CriticalityDiagnostics, - id-CSFallbackIndicator, - id-CSG-Id, - id-CSG-IdList, - id-CSGMembershipStatus, - id-Data-Forwarding-Not-Possible, - id-DefaultPagingDRX, - id-Direct-Forwarding-Path-Availability, - id-Global-ENB-ID, - id-EUTRAN-CGI, - id-eNBname, - id-eNB-StatusTransfer-TransparentContainer, - id-eNB-UE-S1AP-ID, - id-GERANtoLTEHOInformationRes, - id-GUMMEI-ID, - id-HandoverRestrictionList, - id-HandoverType, - id-InitialContextSetup, - id-Inter-SystemInformationTransferTypeEDT, - id-Inter-SystemInformationTransferTypeMDT, - id-LPPa-PDU, - id-NAS-DownlinkCount, - id-MMEname, - id-MME-UE-S1AP-ID, - id-MSClassmark2, - id-MSClassmark3, - id-NAS-PDU, - id-NASSecurityParametersfromE-UTRAN, - id-NASSecurityParameterstoE-UTRAN, - id-OverloadResponse, - id-pagingDRX, - id-RelativeMMECapacity, - id-RequestType, - id-Routing-ID, - id-E-RABAdmittedItem, - id-E-RABAdmittedList, - id-E-RABDataForwardingItem, - id-E-RABFailedToModifyList, - id-E-RABFailedToReleaseList, - id-E-RABFailedtoSetupItemHOReqAck, - id-E-RABFailedToSetupListBearerSURes, - id-E-RABFailedToSetupListCtxtSURes, - id-E-RABFailedToSetupListHOReqAck, - id-E-RABFailedToBeReleasedList, - id-E-RABModify, - id-E-RABModifyItemBearerModRes, - id-E-RABModifyListBearerModRes, - id-E-RABRelease, - id-E-RABReleaseItemBearerRelComp, - id-E-RABReleaseItemHOCmd, - id-E-RABReleaseListBearerRelComp, - id-E-RABReleaseIndication, - id-E-RABSetup, - id-E-RABSetupItemBearerSURes, - id-E-RABSetupItemCtxtSURes, - id-E-RABSetupListBearerSURes, - id-E-RABSetupListCtxtSURes, - id-E-RABSubjecttoDataForwardingList, - id-E-RABToBeModifiedItemBearerModReq, - id-E-RABToBeModifiedListBearerModReq, - id-E-RABToBeReleasedList, - id-E-RABReleasedList, - id-E-RABToBeSetupItemBearerSUReq, - id-E-RABToBeSetupItemCtxtSUReq, - id-E-RABToBeSetupItemHOReq, - id-E-RABToBeSetupListBearerSUReq, - id-E-RABToBeSetupListCtxtSUReq, - id-E-RABToBeSetupListHOReq, - id-E-RABToBeSwitchedDLItem, - id-E-RABToBeSwitchedDLList, - id-E-RABToBeSwitchedULList, - id-E-RABToBeSwitchedULItem, - id-E-RABtoReleaseListHOCmd, - id-SecurityKey, - id-SecurityContext, - id-ServedGUMMEIs, - id-SONConfigurationTransferECT, - id-SONConfigurationTransferMCT, - id-Source-ToTarget-TransparentContainer, - id-Source-ToTarget-TransparentContainer-Secondary, - id-SourceMME-UE-S1AP-ID, - id-SRVCCOperationPossible, - id-SRVCCHOIndication, - id-SubscriberProfileIDforRFP, - id-SupportedTAs, - id-S-TMSI, - id-TAI, - id-TAIItem, - id-TAIList, - id-Target-ToSource-TransparentContainer, - id-Target-ToSource-TransparentContainer-Secondary, - id-TargetID, - id-TimeToWait, - id-TraceActivation, - id-E-UTRAN-Trace-ID, - id-UEIdentityIndexValue, - id-UEPagingID, - id-UERadioCapability, - id-UTRANtoLTEHOInformationRes, - id-UE-associatedLogicalS1-ConnectionListResAck, - id-UE-associatedLogicalS1-ConnectionItem, - id-UESecurityCapabilities, - id-UE-S1AP-IDs, - id-ResetType, - id-MessageIdentifier, - id-SerialNumber, - id-WarningAreaList, - id-RepetitionPeriod, - id-NumberofBroadcastRequest, - id-WarningType, - id-WarningSecurityInfo, - id-DataCodingScheme, - id-WarningMessageContents, - id-BroadcastCompletedAreaList, - id-BroadcastCancelledAreaList, - id-RRC-Establishment-Cause, - id-TraceCollectionEntityIPAddress, maxnoofTAIs, - maxNrOfErrors, - maxNrOfE-RABs, - maxNrOfIndividualS1ConnectionsToReset, - maxnoofEmergencyAreaID, - maxnoofCellID, - maxnoofTAIforWarning, - maxnoofCellinTAI, - maxnoofCellinEAI, - id-ExtendedRepetitionPeriod, - id-PS-ServiceNotAvailable, - id-RegisteredLAI - - -FROM S1AP-Constants; - --- ************************************************************** --- --- Common Container Lists --- --- ************************************************************** - -E-RAB-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfE-RABs, {IEsSetParam} } -E-RAB-IE-ContainerPairList { S1AP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfE-RABs, {IEsSetParam} } -ProtocolError-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfE-RABs, {IEsSetParam} } - --- ************************************************************** --- --- HANDOVER PREPARATION ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Handover Required --- --- ************************************************************** - -HandoverRequired ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { HandoverRequiredIEs} }, - ... -} - -HandoverRequiredIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory }| - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory }| - { ID id-Direct-Forwarding-Path-Availability CRITICALITY ignore TYPE Direct-Forwarding-Path-Availability PRESENCE optional }| - { ID id-SRVCCHOIndication CRITICALITY reject TYPE SRVCCHOIndication PRESENCE optional }| - { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE mandatory }| - { ID id-Source-ToTarget-TransparentContainer-Secondary CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE optional }| - { ID id-MSClassmark2 CRITICALITY reject TYPE MSClassmark2 PRESENCE conditional }| - { ID id-MSClassmark3 CRITICALITY ignore TYPE MSClassmark3 PRESENCE conditional }| - { ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional }| - { ID id-CellAccessMode CRITICALITY reject TYPE CellAccessMode PRESENCE optional }| - { ID id-PS-ServiceNotAvailable CRITICALITY ignore TYPE PS-ServiceNotAvailable PRESENCE optional }, - ... -} - - --- ************************************************************** --- --- Handover Command --- --- ************************************************************** - -HandoverCommand ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { HandoverCommandIEs} }, - ... -} - -HandoverCommandIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory } | - { ID id-NASSecurityParametersfromE-UTRAN CRITICALITY reject TYPE NASSecurityParametersfromE-UTRAN PRESENCE conditional - -- This IE shall be present if HandoverType IE is set to value "LTEtoUTRAN" or "LTEtoGERAN" -- }| - { ID id-E-RABSubjecttoDataForwardingList CRITICALITY ignore TYPE E-RABDataForwardingList PRESENCE optional } | - { ID id-E-RABtoReleaseListHOCmd CRITICALITY ignore TYPE E-RABList PRESENCE optional } | - { ID id-Target-ToSource-TransparentContainer CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE mandatory }| - { ID id-Target-ToSource-TransparentContainer-Secondary CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -E-RABDataForwardingList ::= E-RAB-IE-ContainerList { {E-RABDataForwardingItemIEs} } - -E-RABDataForwardingItemIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABDataForwardingItem CRITICALITY ignore TYPE E-RABDataForwardingItem PRESENCE mandatory }, - ... -} - -E-RABDataForwardingItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - - --- ************************************************************** --- --- Handover Preparation Failure --- --- ************************************************************** - -HandoverPreparationFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { HandoverPreparationFailureIEs} }, - ... -} - -HandoverPreparationFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- HANDOVER RESOURCE ALLOCATION ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Handover Request --- --- ************************************************************** - -HandoverRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {HandoverRequestIEs} }, - ... -} - -HandoverRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | - { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory }| - { ID id-E-RABToBeSetupListHOReq CRITICALITY reject TYPE E-RABToBeSetupListHOReq PRESENCE mandatory } | - { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE mandatory } | - { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory }| - { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional }| - { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }| - { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE optional }| - { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }| - { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory}| - { ID id-NASSecurityParameterstoE-UTRAN CRITICALITY reject TYPE NASSecurityParameterstoE-UTRAN PRESENCE conditional - -- This IE shall be present if the Handover Type IE is set to the value "UTRANtoLTE" or "GERANtoLTE" -- } | - { ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional} | - { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional} , - ... -} - -E-RABToBeSetupListHOReq ::= E-RAB-IE-ContainerList { {E-RABToBeSetupItemHOReqIEs} } - -E-RABToBeSetupItemHOReqIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABToBeSetupItemHOReq CRITICALITY reject TYPE E-RABToBeSetupItemHOReq PRESENCE mandatory }, - ... -} - -E-RABToBeSetupItemHOReq ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - e-RABlevelQosParameters E-RABLevelQoSParameters, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABToBeSetupItemHOReq-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - {ID id-Data-Forwarding-Not-Possible CRITICALITY ignore EXTENSION Data-Forwarding-Not-Possible PRESENCE optional}, - ... -} - --- ************************************************************** --- --- Handover Request Acknowledge --- --- ************************************************************** - -HandoverRequestAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {HandoverRequestAcknowledgeIEs} }, - ... -} - -HandoverRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-E-RABAdmittedList CRITICALITY ignore TYPE E-RABAdmittedList PRESENCE mandatory } | - { ID id-E-RABFailedToSetupListHOReqAck CRITICALITY ignore TYPE E-RABFailedtoSetupListHOReqAck PRESENCE optional } | - { ID id-Target-ToSource-TransparentContainer CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE mandatory }| - { ID id-CSG-Id CRITICALITY ignore TYPE CSG-Id PRESENCE optional } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -E-RABAdmittedList ::= E-RAB-IE-ContainerList { {E-RABAdmittedItemIEs} } - -E-RABAdmittedItemIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABAdmittedItem CRITICALITY ignore TYPE E-RABAdmittedItem PRESENCE mandatory }, - ... -} - -E-RABAdmittedItem ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - dL-transportLayerAddress TransportLayerAddress OPTIONAL, - dL-gTP-TEID GTP-TEID OPTIONAL, - uL-TransportLayerAddress TransportLayerAddress OPTIONAL, - uL-GTP-TEID GTP-TEID OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABAdmittedItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -E-RABFailedtoSetupListHOReqAck ::= E-RAB-IE-ContainerList { {E-RABFailedtoSetupItemHOReqAckIEs} } - -E-RABFailedtoSetupItemHOReqAckIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABFailedtoSetupItemHOReqAck CRITICALITY ignore TYPE E-RABFailedToSetupItemHOReqAck PRESENCE mandatory }, - ... -} - -E-RABFailedToSetupItemHOReqAck ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - cause Cause, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - -E-RABFailedToSetupItemHOReqAckExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - --- ************************************************************** --- --- Handover Failure --- --- ************************************************************** - -HandoverFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { HandoverFailureIEs} }, - ... -} - -HandoverFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- HANDOVER NOTIFICATION ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Handover Notify --- --- ************************************************************** - -HandoverNotify ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { HandoverNotifyIEs} }, - ... -} - -HandoverNotifyIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}| - { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}, - ... -} - --- ************************************************************** --- --- PATH SWITCH REQUEST ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Path Switch Request --- --- ************************************************************** - -PathSwitchRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { PathSwitchRequestIEs} }, - ... -} - -PathSwitchRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-E-RABToBeSwitchedDLList CRITICALITY reject TYPE E-RABToBeSwitchedDLList PRESENCE mandatory }| - { ID id-SourceMME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}| - { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}| - { ID id-UESecurityCapabilities CRITICALITY ignore TYPE UESecurityCapabilities PRESENCE mandatory }, - ... -} - -E-RABToBeSwitchedDLList ::= E-RAB-IE-ContainerList { {E-RABToBeSwitchedDLItemIEs} } - -E-RABToBeSwitchedDLItemIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABToBeSwitchedDLItem CRITICALITY reject TYPE E-RABToBeSwitchedDLItem PRESENCE mandatory }, - ... -} - -E-RABToBeSwitchedDLItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- Path Switch Request Acknowledge --- --- ************************************************************** - -PathSwitchRequestAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { PathSwitchRequestAcknowledgeIEs} }, - ... -} - -PathSwitchRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional }| - { ID id-E-RABToBeSwitchedULList CRITICALITY ignore TYPE E-RABToBeSwitchedULList PRESENCE optional }| - { ID id-E-RABToBeReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE optional }| - { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory}| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -E-RABToBeSwitchedULList ::= E-RAB-IE-ContainerList { {E-RABToBeSwitchedULItemIEs} } - -E-RABToBeSwitchedULItemIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABToBeSwitchedULItem CRITICALITY ignore TYPE E-RABToBeSwitchedULItem PRESENCE mandatory }, - ... -} - -E-RABToBeSwitchedULItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - --- ************************************************************** --- --- Path Switch Request Failure --- --- ************************************************************** - -PathSwitchRequestFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { PathSwitchRequestFailureIEs} }, - ... -} - -PathSwitchRequestFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- HANDOVER CANCEL ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Handover Cancel --- --- ************************************************************** - -HandoverCancel ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { HandoverCancelIEs} }, - ... -} - -HandoverCancelIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, - ... -} - --- ************************************************************** --- --- Handover Cancel Request Acknowledge --- --- ************************************************************** - -HandoverCancelAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { HandoverCancelAcknowledgeIEs} }, - ... -} - -HandoverCancelAcknowledgeIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- E-RAB SETUP ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- E-RAB Setup Request --- --- ************************************************************** - -E-RABSetupRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {E-RABSetupRequestIEs} }, - ... -} - -E-RABSetupRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }| - { ID id-E-RABToBeSetupListBearerSUReq CRITICALITY reject TYPE E-RABToBeSetupListBearerSUReq PRESENCE mandatory }, - ... -} - -E-RABToBeSetupListBearerSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemBearerSUReqIEs} } - -E-RABToBeSetupItemBearerSUReqIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABToBeSetupItemBearerSUReq CRITICALITY reject TYPE E-RABToBeSetupItemBearerSUReq PRESENCE mandatory }, - ... -} - -E-RABToBeSetupItemBearerSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - --- ************************************************************** --- --- E-RAB Setup Response --- --- ************************************************************** - -E-RABSetupResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {E-RABSetupResponseIEs} }, - ... -} - -E-RABSetupResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-E-RABSetupListBearerSURes CRITICALITY ignore TYPE E-RABSetupListBearerSURes PRESENCE optional }| - { ID id-E-RABFailedToSetupListBearerSURes CRITICALITY ignore TYPE E-RABList PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - - -E-RABSetupListBearerSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemBearerSUResIEs} } - -E-RABSetupItemBearerSUResIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABSetupItemBearerSURes CRITICALITY ignore TYPE E-RABSetupItemBearerSURes PRESENCE mandatory }, - ... -} - -E-RABSetupItemBearerSURes ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - - -E-RABSetupItemBearerSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - - --- ************************************************************** --- --- E-RAB MODIFY ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- E-RAB Modify Request --- --- ************************************************************** - -E-RABModifyRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {E-RABModifyRequestIEs} }, - ... -} - -E-RABModifyRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }| - { ID id-E-RABToBeModifiedListBearerModReq CRITICALITY reject TYPE E-RABToBeModifiedListBearerModReq PRESENCE mandatory }, - ... -} - -E-RABToBeModifiedListBearerModReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeModifiedItemBearerModReqIEs} } - -E-RABToBeModifiedItemBearerModReqIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABToBeModifiedItemBearerModReq CRITICALITY reject TYPE E-RABToBeModifiedItemBearerModReq PRESENCE mandatory }, - ... -} - -E-RABToBeModifiedItemBearerModReq ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - e-RABLevelQoSParameters E-RABLevelQoSParameters, - nAS-PDU NAS-PDU, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - - -E-RABToBeModifyItemBearerModReqExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - - --- ************************************************************** --- --- E-RAB Modify Response --- --- ************************************************************** - -E-RABModifyResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {E-RABModifyResponseIEs} }, - ... -} - -E-RABModifyResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-E-RABModifyListBearerModRes CRITICALITY ignore TYPE E-RABModifyListBearerModRes PRESENCE optional }| - { ID id-E-RABFailedToModifyList CRITICALITY ignore TYPE E-RABList PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - - -E-RABModifyListBearerModRes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABModifyItemBearerModResIEs} } - -E-RABModifyItemBearerModResIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABModifyItemBearerModRes CRITICALITY ignore TYPE E-RABModifyItemBearerModRes PRESENCE mandatory }, - ... -} - -E-RABModifyItemBearerModRes ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - - -E-RABModifyItemBearerModResExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - - - --- ************************************************************** --- --- E-RAB RELEASE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- E-RAB Release Command --- --- ************************************************************** - -E-RABReleaseCommand ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {E-RABReleaseCommandIEs} }, - ... -} - -E-RABReleaseCommandIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }| - { ID id-E-RABToBeReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE mandatory }| - { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE optional }, - ... -} - - --- ************************************************************** --- --- E-RAB Release Response --- --- ************************************************************** - -E-RABReleaseResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { E-RABReleaseResponseIEs } }, - ... -} - -E-RABReleaseResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-E-RABReleaseListBearerRelComp CRITICALITY ignore TYPE E-RABReleaseListBearerRelComp PRESENCE optional }| - { ID id-E-RABFailedToReleaseList CRITICALITY ignore TYPE E-RABList PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - - -E-RABReleaseListBearerRelComp ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABReleaseItemBearerRelCompIEs} } - -E-RABReleaseItemBearerRelCompIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABReleaseItemBearerRelComp CRITICALITY ignore TYPE E-RABReleaseItemBearerRelComp PRESENCE mandatory }, - ... -} - -E-RABReleaseItemBearerRelCompExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - - --- ************************************************************** --- --- E-RAB RELEASE INDICATION ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- E-RAB Release Indication --- --- ************************************************************** - -E-RABReleaseIndication ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {E-RABReleaseIndicationIEs} }, - ... -} - -E-RABReleaseIndicationIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-E-RABReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE mandatory }, - ... -} --- ************************************************************** --- --- INITIAL CONTEXT SETUP ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Initial Context Setup Request --- --- ************************************************************** - -InitialContextSetupRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {InitialContextSetupRequestIEs} }, - ... -} - -InitialContextSetupRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}| - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}| - { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory}| - { ID id-E-RABToBeSetupListCtxtSUReq CRITICALITY reject TYPE E-RABToBeSetupListCtxtSUReq PRESENCE mandatory}| - { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory}| - { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE mandatory}| - { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional}| - { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional}| - { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional}| - { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional}| - { ID id-CSFallbackIndicator CRITICALITY reject TYPE CSFallbackIndicator PRESENCE optional}| - { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional}| - { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional}| - { ID id-RegisteredLAI CRITICALITY ignore TYPE LAI PRESENCE optional}, - ... -} - - - - -E-RABToBeSetupListCtxtSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemCtxtSUReqIEs} } - -E-RABToBeSetupItemCtxtSUReqIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABToBeSetupItemCtxtSUReq CRITICALITY reject TYPE E-RABToBeSetupItemCtxtSUReq PRESENCE mandatory }, - ... -} - -E-RABToBeSetupItemCtxtSUReq ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - e-RABlevelQoSParameters E-RABLevelQoSParameters, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - nAS-PDU NAS-PDU OPTIONAL, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - - -E-RABToBeSetupItemCtxtSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - --- ************************************************************** --- --- Initial Context Setup Response --- --- ************************************************************** - -InitialContextSetupResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {InitialContextSetupResponseIEs} }, - ... -} - -InitialContextSetupResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-E-RABSetupListCtxtSURes CRITICALITY ignore TYPE E-RABSetupListCtxtSURes PRESENCE mandatory }| - { ID id-E-RABFailedToSetupListCtxtSURes CRITICALITY ignore TYPE E-RABList PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - - -E-RABSetupListCtxtSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemCtxtSUResIEs} } - -E-RABSetupItemCtxtSUResIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABSetupItemCtxtSURes CRITICALITY ignore TYPE E-RABSetupItemCtxtSURes PRESENCE mandatory }, - ... -} - -E-RABSetupItemCtxtSURes ::= SEQUENCE { - e-RAB-ID E-RAB-ID, - transportLayerAddress TransportLayerAddress, - gTP-TEID GTP-TEID, - iE-Extensions IE-Extensions OPTIONAL, - ... -} - - -E-RABSetupItemCtxtSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - - --- ************************************************************** --- --- Initial Context Setup Failure --- --- ************************************************************** - -InitialContextSetupFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {InitialContextSetupFailureIEs} }, - ... -} - -InitialContextSetupFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- PAGING ELEMENTARY PROCEDURE --- --- ************************************************************** - - --- ************************************************************** --- --- Paging --- --- ************************************************************** - -Paging ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{PagingIEs}}, - ... -} - -PagingIEs S1AP-PROTOCOL-IES ::= { - { ID id-UEIdentityIndexValue CRITICALITY ignore TYPE UEIdentityIndexValue PRESENCE mandatory } | - { ID id-UEPagingID CRITICALITY ignore TYPE UEPagingID PRESENCE mandatory } | - { ID id-pagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional } | - { ID id-CNDomain CRITICALITY ignore TYPE CNDomain PRESENCE mandatory } | - { ID id-TAIList CRITICALITY ignore TYPE TAIList PRESENCE mandatory }| - { ID id-CSG-IdList CRITICALITY ignore TYPE CSG-IdList PRESENCE optional }, - ... -} - -TAIList::= SEQUENCE (SIZE(1.. maxnoofTAIs)) OF ProtocolIE-SingleContainer {{TAIItemIEs}} - -TAIItemIEs S1AP-PROTOCOL-IES ::= { - { ID id-TAIItem CRITICALITY ignore TYPE TAIItem PRESENCE mandatory }, - ... -} - -TAIItemExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- UE CONTEXT RELEASE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- UE CONTEXT RELEASE REQUEST --- --- ************************************************************** - -UEContextReleaseRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{UEContextReleaseRequestIEs}}, - ... -} - -UEContextReleaseRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} , - ... -} - --- ************************************************************** --- --- UE Context Release Command --- --- ************************************************************** - -UEContextReleaseCommand ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{UEContextReleaseCommandIEs}}, - ... -} - -UEContextReleaseCommandIEs S1AP-PROTOCOL-IES ::= { - { ID id-UE-S1AP-IDs CRITICALITY reject TYPE UE-S1AP-IDs PRESENCE mandatory} | - - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} , - ... -} - --- ************************************************************** --- --- UE Context Release Complete --- --- ************************************************************** - -UEContextReleaseComplete ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{UEContextReleaseCompleteIEs}}, - ... -} - -UEContextReleaseCompleteIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - - --- ************************************************************** --- --- UE CONTEXT MODIFICATION ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- UE Context Modification Request --- --- ************************************************************** - -UEContextModificationRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { UEContextModificationRequestIEs} }, - ... -} - -UEContextModificationRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}| - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}| - { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE optional}| - { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional}| - { ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional}| - { ID id-CSFallbackIndicator CRITICALITY reject TYPE CSFallbackIndicator PRESENCE optional}| - { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE optional}| - { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional}| - { ID id-RegisteredLAI CRITICALITY ignore TYPE LAI PRESENCE optional}, - ... -} --- ************************************************************** --- --- UE Context Modification Response --- --- ************************************************************** - -UEContextModificationResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { UEContextModificationResponseIEs} }, - ... -} - -UEContextModificationResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -}-- ************************************************************** --- --- UE Context Modification Failure --- --- ************************************************************** - -UEContextModificationFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { UEContextModificationFailureIEs} }, - ... -} - -UEContextModificationFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- NAS TRANSPORT ELEMENTARY PROCEDURES --- --- ************************************************************** - --- ************************************************************** --- --- DOWNLINK NAS TRANSPORT --- --- ************************************************************** - -DownlinkNASTransport ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{DownlinkNASTransportIEs}}, - ... -} - -DownlinkNASTransportIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} | - { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional }, - ... -} - - --- ************************************************************** --- --- INITIAL UE MESSAGE --- --- ************************************************************** - -InitialUEMessage ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{InitialUEMessageIEs}}, - ... -} - -InitialUEMessageIEs S1AP-PROTOCOL-IES ::= { - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} | - { ID id-TAI CRITICALITY reject TYPE TAI PRESENCE mandatory} | - { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory} | - { ID id-RRC-Establishment-Cause CRITICALITY ignore TYPE RRC-Establishment-Cause PRESENCE mandatory} | - { ID id-S-TMSI CRITICALITY reject TYPE S-TMSI PRESENCE optional} | - { ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional} | - { ID id-GUMMEI-ID CRITICALITY reject TYPE GUMMEI PRESENCE optional} | - { ID id-CellAccessMode CRITICALITY reject TYPE CellAccessMode PRESENCE optional}, - ... -} - - --- ************************************************************** --- --- UPLINK NAS TRANSPORT --- --- ************************************************************** - -UplinkNASTransport ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{UplinkNASTransportIEs}}, - ... -} - -UplinkNASTransportIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} | - { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}| - { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}, - ... -} --- ************************************************************** --- --- NAS NON DELIVERY INDICATION --- --- ************************************************************** - -NASNonDeliveryIndication ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{NASNonDeliveryIndicationIEs}}, - ... -} - -NASNonDeliveryIndicationIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory} | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} , - ... -} - --- ************************************************************** --- --- RESET ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Reset --- --- ************************************************************** - -Reset ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ResetIEs} }, - ... -} - -ResetIEs S1AP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-ResetType CRITICALITY reject TYPE ResetType PRESENCE mandatory }, - ... -} - -ResetType ::= CHOICE { - s1-Interface ResetAll, - partOfS1-Interface UE-associatedLogicalS1-ConnectionListRes, - ... -} - - - -ResetAll ::= ENUMERATED { - reset-all, - ... -} - -UE-associatedLogicalS1-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemRes } } - -UE-associatedLogicalS1-ConnectionItemRes S1AP-PROTOCOL-IES ::= { - { ID id-UE-associatedLogicalS1-ConnectionItem CRITICALITY reject TYPE UE-associatedLogicalS1-ConnectionItem PRESENCE mandatory }, - ... -} - - --- ************************************************************** --- --- Reset Acknowledge --- --- ************************************************************** - -ResetAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} }, - ... -} - -ResetAcknowledgeIEs S1AP-PROTOCOL-IES ::= { - { ID id-UE-associatedLogicalS1-ConnectionListResAck CRITICALITY ignore TYPE UE-associatedLogicalS1-ConnectionListResAck PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -UE-associatedLogicalS1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemResAck } } - -UE-associatedLogicalS1-ConnectionItemResAck S1AP-PROTOCOL-IES ::= { - { ID id-UE-associatedLogicalS1-ConnectionItem CRITICALITY ignore TYPE UE-associatedLogicalS1-ConnectionItem PRESENCE mandatory }, - ... -} - --- ************************************************************** --- --- ERROR INDICATION ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Error Indication --- --- ************************************************************** - -ErrorIndication ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{ErrorIndicationIEs}}, - ... -} - -ErrorIndicationIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE optional } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE optional } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , - ... -} - --- ************************************************************** --- --- S1 SETUP ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- S1 Setup Request --- --- ************************************************************** - -S1SetupRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {S1SetupRequestIEs} }, - ... -} - -S1SetupRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-Global-ENB-ID CRITICALITY reject TYPE Global-ENB-ID PRESENCE mandatory}| - { ID id-eNBname CRITICALITY ignore TYPE ENBname PRESENCE optional}| - { ID id-SupportedTAs CRITICALITY reject TYPE SupportedTAs PRESENCE mandatory}| - { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE mandatory}| - { ID id-CSG-IdList CRITICALITY reject TYPE CSG-IdList PRESENCE optional}, - ... -} - --- ************************************************************** --- --- S1 Setup Response --- --- ************************************************************** - -S1SetupResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {S1SetupResponseIEs} }, - ... -} - - -S1SetupResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MMEname CRITICALITY ignore TYPE MMEname PRESENCE optional }| - { ID id-ServedGUMMEIs CRITICALITY reject TYPE ServedGUMMEIs PRESENCE mandatory }| - { ID id-RelativeMMECapacity CRITICALITY ignore TYPE RelativeMMECapacity PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- S1 Setup Failure --- --- ************************************************************** - -S1SetupFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {S1SetupFailureIEs} }, - ... -} - -S1SetupFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- ENB CONFIGURATION UPDATE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- eNB Configuration Update --- --- ************************************************************** - -ENBConfigurationUpdate ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateIEs} }, - ... -} - -ENBConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= { - { ID id-eNBname CRITICALITY ignore TYPE ENBname PRESENCE optional }| - { ID id-SupportedTAs CRITICALITY reject TYPE SupportedTAs PRESENCE optional }| - { ID id-CSG-IdList CRITICALITY reject TYPE CSG-IdList PRESENCE optional}| - { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional }, - ... -} - --- ************************************************************** --- --- eNB Configuration Update Acknowledge --- --- ************************************************************** - -ENBConfigurationUpdateAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateAcknowledgeIEs} }, - ... -} - - -ENBConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= { - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- eNB Configuration Update Failure --- --- ************************************************************** - -ENBConfigurationUpdateFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateFailureIEs} }, - ... -} - -ENBConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, -... -} - - --- ************************************************************** --- --- MME Configuration UPDATE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- MME Configuration Update --- --- ************************************************************** - -MMEConfigurationUpdate ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateIEs} }, - ... -} - -MMEConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= { - { ID id-MMEname CRITICALITY ignore TYPE MMEname PRESENCE optional }| - { ID id-ServedGUMMEIs CRITICALITY reject TYPE ServedGUMMEIs PRESENCE optional }| - { ID id-RelativeMMECapacity CRITICALITY reject TYPE RelativeMMECapacity PRESENCE optional}, - ... -} - --- ************************************************************** --- --- MME Configuration Update Acknowledge --- --- ************************************************************** - -MMEConfigurationUpdateAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateAcknowledgeIEs} }, - ... -} - - -MMEConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= { - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- MME Configuration Update Failure --- --- ************************************************************** - -MMEConfigurationUpdateFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateFailureIEs} }, - ... -} - -MMEConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- DOWNLINK S1 CDMA2000 TUNNELING ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Downlink S1 CDMA2000 Tunneling --- --- ************************************************************** - -DownlinkS1cdma2000tunneling ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {DownlinkS1cdma2000tunnelingIEs} }, - ... -} - -DownlinkS1cdma2000tunnelingIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-E-RABSubjecttoDataForwardingList CRITICALITY ignore TYPE E-RABDataForwardingList PRESENCE optional } | - { ID id-cdma2000HOStatus CRITICALITY ignore TYPE Cdma2000HOStatus PRESENCE optional } | - { ID id-cdma2000RATType CRITICALITY reject TYPE Cdma2000RATType PRESENCE mandatory } | - { ID id-cdma2000PDU CRITICALITY reject TYPE Cdma2000PDU PRESENCE mandatory }, - ... -} - --- ************************************************************** --- --- UPLINK S1 CDMA2000 TUNNELING ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Uplink S1 CDMA2000 Tunneling --- --- ************************************************************** - -UplinkS1cdma2000tunneling ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {UplinkS1cdma2000tunnelingIEs} }, - ... -} - -UplinkS1cdma2000tunnelingIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-cdma2000RATType CRITICALITY reject TYPE Cdma2000RATType PRESENCE mandatory } | - { ID id-cdma2000SectorID CRITICALITY reject TYPE Cdma2000SectorID PRESENCE mandatory } | - { ID id-cdma2000HORequiredIndication CRITICALITY ignore TYPE Cdma2000HORequiredIndication PRESENCE optional } | - { ID id-cdma2000OneXSRVCCInfo CRITICALITY reject TYPE Cdma2000OneXSRVCCInfo PRESENCE optional } | - { ID id-cdma2000OneXRAND CRITICALITY reject TYPE Cdma2000OneXRAND PRESENCE optional } | - { ID id-cdma2000PDU CRITICALITY reject TYPE Cdma2000PDU PRESENCE mandatory }| - { ID id-EUTRANRoundTripDelayEstimationInfo CRITICALITY ignore TYPE EUTRANRoundTripDelayEstimationInfo PRESENCE optional}, - -- Extension for Release 9 to assist target HRPD access with the acquisition of the UE -- - ... -} - - --- ************************************************************** --- --- UE CAPABILITY INFO INDICATION ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- UE Capability Info Indication --- --- ************************************************************** - -UECapabilityInfoIndication ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { UECapabilityInfoIndicationIEs} }, - ... -} - -UECapabilityInfoIndicationIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE mandatory } , - ... -} - --- ************************************************************** --- --- eNB STATUS TRANSFER ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- eNB Status Transfer --- --- ************************************************************** - -ENBStatusTransfer ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ENBStatusTransferIEs} }, - ... -} - -ENBStatusTransferIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-StatusTransfer-TransparentContainer CRITICALITY reject TYPE ENB-StatusTransfer-TransparentContainer PRESENCE mandatory} , - ... -} - - --- ************************************************************** --- --- MME STATUS TRANSFER ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- MME Status Transfer --- --- ************************************************************** - -MMEStatusTransfer ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {MMEStatusTransferIEs} }, - ... -} - -MMEStatusTransferIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-StatusTransfer-TransparentContainer CRITICALITY reject TYPE ENB-StatusTransfer-TransparentContainer PRESENCE mandatory} , - ... -} - - --- ************************************************************** --- --- TRACE ELEMENTARY PROCEDURES --- --- ************************************************************** --- ************************************************************** --- --- Trace Start --- --- ************************************************************** - -TraceStart ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {TraceStartIEs} }, - ... -} - -TraceStartIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE mandatory }, - ... -} - --- ************************************************************** --- --- Trace Failure Indication --- --- ************************************************************** - -TraceFailureIndication ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {TraceFailureIndicationIEs} }, - ... -} - -TraceFailureIndicationIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory} | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} , - ... -} - --- ************************************************************** --- --- DEACTIVATE TRACE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- DEACTIVATE TRACE --- --- ************************************************************** - -DeactivateTrace ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { DeactivateTraceIEs} }, - ... -} - -DeactivateTraceIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory }, - ... -} - --- ************************************************************** --- --- CELL TRAFFIC TRACE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- CELL TRAFFIC TRACE --- --- ************************************************************** - -CellTrafficTrace ::= SEQUENCE { -protocolIEs ProtocolIE-Container { { CellTrafficTraceIEs } }, -... -} - -CellTrafficTraceIEs S1AP-PROTOCOL-IES ::= { - {ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - {ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - {ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory}| - {ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}| - {ID id-TraceCollectionEntityIPAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE mandatory }, - ... -} - --- ************************************************************** --- --- LOCATION ELEMENTARY PROCEDURES --- --- ************************************************************** - --- ************************************************************** --- --- Location Reporting Control --- --- ************************************************************** - -LocationReportingControl ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { LocationReportingControlIEs} }, - ... -} - -LocationReportingControlIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory } , - ... -} - --- ************************************************************** --- --- Location Report Failure Indication --- --- ************************************************************** - -LocationReportingFailureIndication ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { LocationReportingFailureIndicationIEs} }, - ... -} - -LocationReportingFailureIndicationIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}, - ... -} - --- ************************************************************** --- --- Location Report --- --- ************************************************************** - -LocationReport ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { LocationReportIEs} }, - ... -} - -LocationReportIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory} | - { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory} | - { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory} , - ... -} - --- ************************************************************** --- --- OVERLOAD ELEMENTARY PROCEDURES --- --- ************************************************************** - --- ************************************************************** --- --- Overload Start --- --- ************************************************************** - -OverloadStart ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {OverloadStartIEs} }, - ... -} - -OverloadStartIEs S1AP-PROTOCOL-IES ::= { - { ID id-OverloadResponse CRITICALITY reject TYPE OverloadResponse PRESENCE mandatory }, - ... -} --- ************************************************************** --- --- Overload Stop --- --- ************************************************************** - -OverloadStop ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {OverloadStopIEs} }, - ... -} - -OverloadStopIEs S1AP-PROTOCOL-IES ::= { - ... -} --- ************************************************************** --- --- WRITE-REPLACE WARNING ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Write-Replace Warning Request --- --- ************************************************************** - - -WriteReplaceWarningRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {WriteReplaceWarningRequestIEs} }, - ... -} - -WriteReplaceWarningRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }| - { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }| - { ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional }| - { ID id-RepetitionPeriod CRITICALITY reject TYPE RepetitionPeriod PRESENCE mandatory }| - { ID id-ExtendedRepetitionPeriod CRITICALITY reject TYPE ExtendedRepetitionPeriod PRESENCE optional }| - { ID id-NumberofBroadcastRequest CRITICALITY reject TYPE NumberofBroadcastRequest PRESENCE mandatory }| - { ID id-WarningType CRITICALITY ignore TYPE WarningType PRESENCE optional }| - { ID id-WarningSecurityInfo CRITICALITY ignore TYPE WarningSecurityInfo PRESENCE optional }| - { ID id-DataCodingScheme CRITICALITY ignore TYPE DataCodingScheme PRESENCE optional }| - { ID id-WarningMessageContents CRITICALITY ignore TYPE WarningMessageContents PRESENCE optional }| - { ID id-ConcurrentWarningMessageIndicator CRITICALITY reject TYPE ConcurrentWarningMessageIndicator PRESENCE optional }, - ... -} --- ************************************************************** --- --- Write-Replace Warning Response --- --- ************************************************************** - -WriteReplaceWarningResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {WriteReplaceWarningResponseIEs} }, - ... -} - -WriteReplaceWarningResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }| - { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }| - { ID id-BroadcastCompletedAreaList CRITICALITY ignore TYPE BroadcastCompletedAreaList PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- eNB DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- eNB Direct Information Transfer --- --- ************************************************************** - -ENBDirectInformationTransfer ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{ ENBDirectInformationTransferIEs}}, - ... -} - -ENBDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= { - { ID id-Inter-SystemInformationTransferTypeEDT CRITICALITY reject TYPE Inter-SystemInformationTransferType PRESENCE mandatory} , - ... -} - --- ************************************************************** --- --- MME DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- MME Direct Information Transfer --- --- ************************************************************** - -MMEDirectInformationTransfer ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{ MMEDirectInformationTransferIEs}}, - ... -} - -MMEDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= { - { ID id-Inter-SystemInformationTransferTypeMDT CRITICALITY reject TYPE Inter-SystemInformationTransferType PRESENCE mandatory} , - ... -} --- ************************************************************** --- --- eNB CONFIGURATION TRANSFER ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- eNB Configuration Transfer --- --- ************************************************************** - -ENBConfigurationTransfer ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{ ENBConfigurationTransferIEs}}, - ... -} - -ENBConfigurationTransferIEs S1AP-PROTOCOL-IES ::= { - { ID id-SONConfigurationTransferECT CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional} , - ... -} - --- ************************************************************** --- --- MME CONFIGURATION TRANSFER ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- MME Configuration Transfer --- --- ************************************************************** - -MMEConfigurationTransfer ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{ MMEConfigurationTransferIEs}}, - ... -} - -MMEConfigurationTransferIEs S1AP-PROTOCOL-IES ::= { - { ID id-SONConfigurationTransferMCT CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional} , - ... -} - --- ************************************************************** --- --- PRIVATE MESSAGE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Private Message --- --- ************************************************************** - -PrivateMessage ::= SEQUENCE { - privateIEs PrivateIE-Container {{PrivateMessageIEs}}, - ... -} - -PrivateMessageIEs S1AP-PRIVATE-IES ::= { - ... -} - --- ************************************************************** --- --- Kill Request --- --- ************************************************************** - - -KillRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {KillRequestIEs} }, - ... -} - -KillRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }| - { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }| - { ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional }, - ... -} - --- ************************************************************** --- --- Kill Response --- --- ************************************************************** - -KillResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {KillResponseIEs} }, - ... -} - -KillResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }| - { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }| - { ID id-BroadcastCancelledAreaList CRITICALITY ignore TYPE BroadcastCancelledAreaList PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - --- ************************************************************** --- --- LPPA TRANSPORT ELEMENTARY PROCEDURES --- --- ************************************************************** - --- ************************************************************** --- --- DOWNLINK UE ASSOCIATED LPPA TRANSPORT --- --- ************************************************************** - -DownlinkUEAssociatedLPPaTransport ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{DownlinkUEAssociatedLPPaTransportIEs}}, - ... -} - -DownlinkUEAssociatedLPPaTransportIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-Routing-ID CRITICALITY reject TYPE Routing-ID PRESENCE mandatory } | - { ID id-LPPa-PDU CRITICALITY reject TYPE LPPa-PDU PRESENCE mandatory } , - ... -} - --- ************************************************************** --- --- UPLINK UE ASSOCIATED LPPA TRANSPORT --- --- ************************************************************** - -UplinkUEAssociatedLPPaTransport ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{UplinkUEAssociatedLPPaTransportIEs}}, - ... -} - -UplinkUEAssociatedLPPaTransportIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-Routing-ID CRITICALITY reject TYPE Routing-ID PRESENCE mandatory} | - { ID id-LPPa-PDU CRITICALITY reject TYPE LPPa-PDU PRESENCE mandatory} , - ... -} - --- ************************************************************** --- --- DOWNLINK NON UE ASSOCIATED LPPA TRANSPORT --- --- ************************************************************** - -DownlinkNonUEAssociatedLPPaTransport ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{DownlinkNonUEAssociatedLPPaTransportIEs}}, - ... -} - -DownlinkNonUEAssociatedLPPaTransportIEs S1AP-PROTOCOL-IES ::= { - { ID id-Routing-ID CRITICALITY reject TYPE Routing-ID PRESENCE mandatory} | - { ID id-LPPa-PDU CRITICALITY reject TYPE LPPa-PDU PRESENCE mandatory} , - ... -} - --- ************************************************************** --- --- UPLINK NON UE ASSOCIATED LPPA TRANSPORT --- --- ************************************************************** - -UplinkNonUEAssociatedLPPaTransport ::= SEQUENCE { - protocolIEs ProtocolIE-Container {{UplinkNonUEAssociatedLPPaTransportIEs}}, - ... -} - -UplinkNonUEAssociatedLPPaTransportIEs S1AP-PROTOCOL-IES ::= { - { ID id-Routing-ID CRITICALITY reject TYPE Routing-ID PRESENCE mandatory} | - { ID id-LPPa-PDU CRITICALITY reject TYPE LPPa-PDU PRESENCE mandatory} , - ... -} - -Bearers-SubjectToStatusTransfer-List ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { { Bearers-SubjectToStatusTransfer-ItemIEs } } - -Bearers-SubjectToStatusTransfer-ItemIEs S1AP-PROTOCOL-IES ::= { - { ID id-Bearers-SubjectToStatusTransfer-Item CRITICALITY ignore TYPE Bearers-SubjectToStatusTransfer-Item PRESENCE mandatory }, - ... -} - -E-RABInformationList ::= SEQUENCE (SIZE (1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { { E-RABInformationItemIEs } } - -E-RABInformationItemIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABInformationListItem CRITICALITY ignore TYPE E-RABInformationListItem PRESENCE mandatory }, - ... -} - -E-RABList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABItemIEs} } - -E-RABItemIEs S1AP-PROTOCOL-IES ::= { - { ID id-E-RABItem CRITICALITY ignore TYPE E-RABItem PRESENCE mandatory }, - ... -} - - -SONInformationReply-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - -- Extension for Release 9 to transfer Time synchronization information -- - {ID id-Time-Synchronization-Info CRITICALITY ignore EXTENSION TimeSynchronizationInfo PRESENCE optional}, - ... -} - -AllocationAndRetentionPriority-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -Bearers-SubjectToStatusTransfer-ItemExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -CancelledCellinEAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -CancelledCellinTAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -CellID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -CellID-Cancelled-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -Cdma2000OneXSRVCCInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -CellType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -CSG-IdList-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -COUNTvalue-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -CriticalityDiagnostics-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -CriticalityDiagnostics-IE-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -EmergencyAreaID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -EmergencyAreaID-Cancelled-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -CompletedCellinEAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -GERAN-Cell-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -ENB-StatusTransfer-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -E-RABInformationListItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -E-RABItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -E-RABQoSParameters-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -EUTRAN-CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -ForbiddenTAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -ForbiddenLAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -GBR-QosInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -GUMMEI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -HandoverRestrictionList-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -LAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -LastVisitedEUTRANCellInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -RequestType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -RIMTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -SecurityContext-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -SONConfigurationTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -SourceeNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -ServedGUMMEIsItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -SupportedTAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -TimeSynchronizationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -TAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -TAI-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -TAI-Cancelled-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -CompletedCellinTAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -S-TMSI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -TargeteNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -TargetRNC-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -TraceActivation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -UEAggregate-MaximumBitrates-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -UE-associatedLogicalS1-ConnectionItemExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -UESecurityCapabilities-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -GlobalENB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -X2TNLConfigurationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -UE-S1AP-ID-pair-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - ... -} - -END \ No newline at end of file diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Descriptions.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Descriptions.asn deleted file mode 100644 index cf7114f480..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Descriptions.asn +++ /dev/null @@ -1,591 +0,0 @@ --- ************************************************************** --- --- Elementary Procedure definitions --- --- ************************************************************** - -S1AP-PDU-Descriptions { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Descriptions (0)} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - --- ************************************************************** --- --- IE parameter types from other modules. --- --- ************************************************************** - -IMPORTS - Criticality, - ProcedureCode -FROM S1AP-CommonDataTypes - - CellTrafficTrace, - DeactivateTrace, - DownlinkUEAssociatedLPPaTransport, - DownlinkNASTransport, - DownlinkNonUEAssociatedLPPaTransport, - DownlinkS1cdma2000tunneling, - ENBDirectInformationTransfer, - ENBStatusTransfer, - ENBConfigurationUpdate, - ENBConfigurationUpdateAcknowledge, - ENBConfigurationUpdateFailure, - ErrorIndication, - HandoverCancel, - HandoverCancelAcknowledge, - HandoverCommand, - HandoverFailure, - HandoverNotify, - HandoverPreparationFailure, - HandoverRequest, - HandoverRequestAcknowledge, - HandoverRequired, - InitialContextSetupFailure, - InitialContextSetupRequest, - InitialContextSetupResponse, - InitialUEMessage, - KillRequest, - KillResponse, - LocationReportingControl, - LocationReportingFailureIndication, - LocationReport, - MMEConfigurationUpdate, - MMEConfigurationUpdateAcknowledge, - MMEConfigurationUpdateFailure, - MMEDirectInformationTransfer, - MMEStatusTransfer, - NASNonDeliveryIndication, - OverloadStart, - OverloadStop, - Paging, - PathSwitchRequest, - PathSwitchRequestAcknowledge, - PathSwitchRequestFailure, - PrivateMessage, - Reset, - ResetAcknowledge, - S1SetupFailure, - S1SetupRequest, - S1SetupResponse, - E-RABModifyRequest, - E-RABModifyResponse, - E-RABReleaseCommand, - E-RABReleaseResponse, - E-RABReleaseIndication, - E-RABSetupRequest, - E-RABSetupResponse, - TraceFailureIndication, - TraceStart, - UECapabilityInfoIndication, - UEContextModificationFailure, - UEContextModificationRequest, - UEContextModificationResponse, - UEContextReleaseCommand, - UEContextReleaseComplete, - UEContextReleaseRequest, - UplinkUEAssociatedLPPaTransport, - UplinkNASTransport, - UplinkNonUEAssociatedLPPaTransport, - UplinkS1cdma2000tunneling, - WriteReplaceWarningRequest, - WriteReplaceWarningResponse, - ENBConfigurationTransfer, - MMEConfigurationTransfer - - -FROM S1AP-PDU-Contents - - id-CellTrafficTrace, - id-DeactivateTrace, - id-downlinkUEAssociatedLPPaTransport, - id-downlinkNASTransport, - id-downlinkNonUEAssociatedLPPaTransport, - id-DownlinkS1cdma2000tunneling, - id-eNBStatusTransfer, - id-ErrorIndication, - id-HandoverCancel, - id-HandoverNotification, - id-HandoverPreparation, - id-HandoverResourceAllocation, - id-InitialContextSetup, - id-initialUEMessage, - id-ENBConfigurationUpdate, - id-Kill, - id-LocationReportingControl, - id-LocationReportingFailureIndication, - id-LocationReport, - id-eNBDirectInformationTransfer, - id-MMEConfigurationUpdate, - id-MMEDirectInformationTransfer, - id-MMEStatusTransfer, - id-NASNonDeliveryIndication, - id-OverloadStart, - id-OverloadStop, - id-Paging, - id-PathSwitchRequest, - id-PrivateMessage, - id-Reset, - id-S1Setup, - id-E-RABModify, - id-E-RABRelease, - id-E-RABReleaseIndication, - id-E-RABSetup, - id-TraceFailureIndication, - id-TraceStart, - id-UECapabilityInfoIndication, - id-UEContextModification, - id-UEContextRelease, - id-UEContextReleaseRequest, - id-uplinkUEAssociatedLPPaTransport, - id-uplinkNASTransport, - id-uplinkNonUEAssociatedLPPaTransport, - id-UplinkS1cdma2000tunneling, - id-WriteReplaceWarning, - id-eNBConfigurationTransfer, - id-MMEConfigurationTransfer -FROM S1AP-Constants; - - --- ************************************************************** --- --- Interface Elementary Procedure Class --- --- ************************************************************** - -S1AP-ELEMENTARY-PROCEDURE ::= CLASS { - &InitiatingMessage , - &SuccessfulOutcome OPTIONAL, - &UnsuccessfulOutcome OPTIONAL, - &procedureCode ProcedureCode UNIQUE, - &criticality Criticality DEFAULT ignore -} -WITH SYNTAX { - INITIATING MESSAGE &InitiatingMessage - [SUCCESSFUL OUTCOME &SuccessfulOutcome] - [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] - PROCEDURE CODE &procedureCode - [CRITICALITY &criticality] -} - --- ************************************************************** --- --- Interface PDU Definition --- --- ************************************************************** - -S1AP-PDU ::= CHOICE { - initiatingMessage InitiatingMessage, - successfulOutcome SuccessfulOutcome, - unsuccessfulOutcome UnsuccessfulOutcome, - ... -} - -InitiatingMessage ::= SEQUENCE { - procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}), - criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}), - value S1AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}) -} - -SuccessfulOutcome ::= SEQUENCE { - procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}), - criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}), - value S1AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}) -} - -UnsuccessfulOutcome ::= SEQUENCE { - procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}), - criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}), - value S1AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}) -} - --- ************************************************************** --- --- Interface Elementary Procedure List --- --- ************************************************************** - -S1AP-ELEMENTARY-PROCEDURES S1AP-ELEMENTARY-PROCEDURE ::= { - S1AP-ELEMENTARY-PROCEDURES-CLASS-1 | - S1AP-ELEMENTARY-PROCEDURES-CLASS-2, - ... -} - - -S1AP-ELEMENTARY-PROCEDURES-CLASS-1 S1AP-ELEMENTARY-PROCEDURE ::= { - handoverPreparation | - handoverResourceAllocation | - pathSwitchRequest | - e-RABSetup | - e-RABModify | - e-RABRelease | - initialContextSetup | - handoverCancel | - kill | - reset | - s1Setup | - uEContextModification | - uEContextRelease | - eNBConfigurationUpdate | - mMEConfigurationUpdate | - writeReplaceWarning , - ... -} - -S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= { - handoverNotification | - e-RABReleaseIndication | - paging | - downlinkNASTransport | - initialUEMessage | - uplinkNASTransport | - errorIndication | - nASNonDeliveryIndication | - uEContextReleaseRequest | - downlinkS1cdma2000tunneling | - uplinkS1cdma2000tunneling | - uECapabilityInfoIndication | - eNBStatusTransfer | - mMEStatusTransfer | - deactivateTrace | - traceStart | - traceFailureIndication | - cellTrafficTrace | - locationReportingControl | - locationReportingFailureIndication | - locationReport | - overloadStart | - overloadStop | - eNBDirectInformationTransfer | - mMEDirectInformationTransfer | - eNBConfigurationTransfer | - mMEConfigurationTransfer | - privateMessage , - ..., - downlinkUEAssociatedLPPaTransport | - uplinkUEAssociatedLPPaTransport | - downlinkNonUEAssociatedLPPaTransport | - uplinkNonUEAssociatedLPPaTransport -} - --- ************************************************************** --- --- Interface Elementary Procedures --- --- ************************************************************** - -handoverPreparation S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE HandoverRequired - SUCCESSFUL OUTCOME HandoverCommand - UNSUCCESSFUL OUTCOME HandoverPreparationFailure - PROCEDURE CODE id-HandoverPreparation - CRITICALITY reject -} - -handoverResourceAllocation S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE HandoverRequest - SUCCESSFUL OUTCOME HandoverRequestAcknowledge - UNSUCCESSFUL OUTCOME HandoverFailure - PROCEDURE CODE id-HandoverResourceAllocation - CRITICALITY reject -} - -handoverNotification S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE HandoverNotify - PROCEDURE CODE id-HandoverNotification - CRITICALITY ignore -} - -pathSwitchRequest S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE PathSwitchRequest - SUCCESSFUL OUTCOME PathSwitchRequestAcknowledge - UNSUCCESSFUL OUTCOME PathSwitchRequestFailure - PROCEDURE CODE id-PathSwitchRequest - CRITICALITY reject -} - -e-RABSetup S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE E-RABSetupRequest - SUCCESSFUL OUTCOME E-RABSetupResponse - PROCEDURE CODE id-E-RABSetup - CRITICALITY reject -} - -e-RABModify S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE E-RABModifyRequest - SUCCESSFUL OUTCOME E-RABModifyResponse - PROCEDURE CODE id-E-RABModify - CRITICALITY reject -} - -e-RABRelease S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE E-RABReleaseCommand - SUCCESSFUL OUTCOME E-RABReleaseResponse - PROCEDURE CODE id-E-RABRelease - CRITICALITY reject -} - -e-RABReleaseIndication S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE E-RABReleaseIndication - PROCEDURE CODE id-E-RABReleaseIndication - CRITICALITY ignore -} - -initialContextSetup S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE InitialContextSetupRequest - SUCCESSFUL OUTCOME InitialContextSetupResponse - UNSUCCESSFUL OUTCOME InitialContextSetupFailure - PROCEDURE CODE id-InitialContextSetup - CRITICALITY reject -} - -uEContextReleaseRequest S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE UEContextReleaseRequest - PROCEDURE CODE id-UEContextReleaseRequest - CRITICALITY ignore -} - -paging S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE Paging - PROCEDURE CODE id-Paging - CRITICALITY ignore -} - -downlinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE DownlinkNASTransport - PROCEDURE CODE id-downlinkNASTransport - CRITICALITY ignore -} - -initialUEMessage S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE InitialUEMessage - PROCEDURE CODE id-initialUEMessage - CRITICALITY ignore -} - -uplinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE UplinkNASTransport - PROCEDURE CODE id-uplinkNASTransport - CRITICALITY ignore -} -nASNonDeliveryIndication S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE NASNonDeliveryIndication - PROCEDURE CODE id-NASNonDeliveryIndication - CRITICALITY ignore -} - -handoverCancel S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE HandoverCancel - SUCCESSFUL OUTCOME HandoverCancelAcknowledge - PROCEDURE CODE id-HandoverCancel - CRITICALITY reject -} - -reset S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE Reset - SUCCESSFUL OUTCOME ResetAcknowledge - PROCEDURE CODE id-Reset - CRITICALITY reject -} - -errorIndication S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE ErrorIndication - PROCEDURE CODE id-ErrorIndication - CRITICALITY ignore -} - -s1Setup S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE S1SetupRequest - SUCCESSFUL OUTCOME S1SetupResponse - UNSUCCESSFUL OUTCOME S1SetupFailure - PROCEDURE CODE id-S1Setup - CRITICALITY reject -} - -eNBConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE ENBConfigurationUpdate - SUCCESSFUL OUTCOME ENBConfigurationUpdateAcknowledge - UNSUCCESSFUL OUTCOME ENBConfigurationUpdateFailure - PROCEDURE CODE id-ENBConfigurationUpdate - CRITICALITY reject -} - -mMEConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE MMEConfigurationUpdate - SUCCESSFUL OUTCOME MMEConfigurationUpdateAcknowledge - UNSUCCESSFUL OUTCOME MMEConfigurationUpdateFailure - PROCEDURE CODE id-MMEConfigurationUpdate - CRITICALITY reject -} - -downlinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE DownlinkS1cdma2000tunneling - PROCEDURE CODE id-DownlinkS1cdma2000tunneling - CRITICALITY ignore -} - -uplinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE UplinkS1cdma2000tunneling - PROCEDURE CODE id-UplinkS1cdma2000tunneling - CRITICALITY ignore -} - -uEContextModification S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE UEContextModificationRequest - SUCCESSFUL OUTCOME UEContextModificationResponse - UNSUCCESSFUL OUTCOME UEContextModificationFailure - - PROCEDURE CODE id-UEContextModification - CRITICALITY reject -} - -uECapabilityInfoIndication S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE UECapabilityInfoIndication - PROCEDURE CODE id-UECapabilityInfoIndication - CRITICALITY ignore -} - -uEContextRelease S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE UEContextReleaseCommand - SUCCESSFUL OUTCOME UEContextReleaseComplete - PROCEDURE CODE id-UEContextRelease - CRITICALITY reject -} - -eNBStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE ENBStatusTransfer - PROCEDURE CODE id-eNBStatusTransfer - CRITICALITY ignore -} - -mMEStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE MMEStatusTransfer - PROCEDURE CODE id-MMEStatusTransfer - CRITICALITY ignore -} - -deactivateTrace S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE DeactivateTrace - PROCEDURE CODE id-DeactivateTrace - CRITICALITY ignore -} - -traceStart S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE TraceStart - PROCEDURE CODE id-TraceStart - CRITICALITY ignore -} - -traceFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE TraceFailureIndication - PROCEDURE CODE id-TraceFailureIndication - CRITICALITY ignore -} -cellTrafficTrace S1AP-ELEMENTARY-PROCEDURE ::={ - INITIATING MESSAGE CellTrafficTrace - PROCEDURE CODE id-CellTrafficTrace - CRITICALITY ignore -} - -locationReportingControl S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE LocationReportingControl - PROCEDURE CODE id-LocationReportingControl - CRITICALITY ignore -} - -locationReportingFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE LocationReportingFailureIndication - PROCEDURE CODE id-LocationReportingFailureIndication - CRITICALITY ignore -} - -locationReport S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE LocationReport - PROCEDURE CODE id-LocationReport - CRITICALITY ignore -} - -overloadStart S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE OverloadStart - PROCEDURE CODE id-OverloadStart - CRITICALITY ignore -} - -overloadStop S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE OverloadStop - PROCEDURE CODE id-OverloadStop - CRITICALITY reject -} - -writeReplaceWarning S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE WriteReplaceWarningRequest - SUCCESSFUL OUTCOME WriteReplaceWarningResponse - PROCEDURE CODE id-WriteReplaceWarning - CRITICALITY reject -} - -eNBDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE ENBDirectInformationTransfer - PROCEDURE CODE id-eNBDirectInformationTransfer - CRITICALITY ignore -} - -mMEDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE MMEDirectInformationTransfer - PROCEDURE CODE id-MMEDirectInformationTransfer - CRITICALITY ignore -} - -eNBConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE ENBConfigurationTransfer - PROCEDURE CODE id-eNBConfigurationTransfer - CRITICALITY ignore -} - -mMEConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE MMEConfigurationTransfer - PROCEDURE CODE id-MMEConfigurationTransfer - CRITICALITY ignore -} - - -privateMessage S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE PrivateMessage - PROCEDURE CODE id-PrivateMessage - CRITICALITY ignore -} - -kill S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE KillRequest - SUCCESSFUL OUTCOME KillResponse - PROCEDURE CODE id-Kill - CRITICALITY reject -} - -downlinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE DownlinkUEAssociatedLPPaTransport - PROCEDURE CODE id-downlinkUEAssociatedLPPaTransport - CRITICALITY ignore -} - -uplinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE UplinkUEAssociatedLPPaTransport - PROCEDURE CODE id-uplinkUEAssociatedLPPaTransport - CRITICALITY ignore -} -downlinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE DownlinkNonUEAssociatedLPPaTransport - PROCEDURE CODE id-downlinkNonUEAssociatedLPPaTransport - CRITICALITY ignore -} - -uplinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE UplinkNonUEAssociatedLPPaTransport - PROCEDURE CODE id-uplinkNonUEAssociatedLPPaTransport - CRITICALITY ignore -} - -END \ No newline at end of file diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn deleted file mode 100644 index 9a818d4e24..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn +++ /dev/null @@ -1,413 +0,0 @@ -S1AP-PDU { - itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) - eps-Access (21) modules (3) s1ap (1) version1 (1) -} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS - Criticality, - ProcedureCode, - ProtocolIE-ID - -FROM S1AP-CommonDataTypes - - maxProtocolIEs - -FROM S1AP-Constants; - -S1AP-PDU ::= CHOICE { - initiatingMessage InitiatingMessage, - successfulOutcome SuccessfulOutcome, - unsuccessfulOutcome UnsuccessfulOutcome, - ... -} - -InitiatingMessage ::= SEQUENCE { - procedureCode ProcedureCode, - criticality Criticality, - value ANY -} - -SuccessfulOutcome ::= SEQUENCE { - procedureCode ProcedureCode, - criticality Criticality, - value ANY -} - -UnsuccessfulOutcome ::= SEQUENCE { - procedureCode ProcedureCode, - criticality Criticality, - value ANY -} - -HandoverRequired ::= SEQUENCE { - handoverRequired-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -HandoverCommand ::= SEQUENCE { - handoverCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -HandoverPreparationFailure ::= SEQUENCE { - handoverPreparationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -HandoverRequest ::= SEQUENCE { - handoverRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -HandoverRequestAcknowledge ::= SEQUENCE { - handoverRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -HandoverFailure ::= SEQUENCE { - handoverFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -HandoverNotify ::= SEQUENCE { - handoverNotify-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -PathSwitchRequest ::= SEQUENCE { - pathSwitchRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -PathSwitchRequestAcknowledge ::= SEQUENCE { - pathSwitchRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -PathSwitchRequestFailure ::= SEQUENCE { - pathSwitchRequestFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -E-RABSetupRequest ::= SEQUENCE { - e-RABSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -E-RABSetupResponse ::= SEQUENCE { - e-RABSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -E-RABModifyRequest ::= SEQUENCE { - e-RABModifyRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -E-RABModifyResponse ::= SEQUENCE { - e-RABModifyResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -E-RABReleaseIndication ::= SEQUENCE { - e-RABReleaseIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -E-RABReleaseCommand ::= SEQUENCE { - e-RABReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -E-RABReleaseResponse ::= SEQUENCE { - e-RABReleaseResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -InitialContextSetupRequest ::= SEQUENCE { - initialContextSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -InitialContextSetupResponse ::= SEQUENCE { - initialContextSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -InitialContextSetupFailure ::= SEQUENCE { - initialContextSetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UEContextReleaseRequest ::= SEQUENCE { - ueContextReleaseRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -Paging ::= SEQUENCE { - paging-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -DownlinkNASTransport ::= SEQUENCE { - downlinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -InitialUEMessage ::= SEQUENCE { - initialUEMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UplinkNASTransport ::= SEQUENCE { - uplinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -NASNonDeliveryIndication ::= SEQUENCE { - nasNonDeliveryIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -HandoverCancel ::= SEQUENCE { - handoverCancel-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -HandoverCancelAcknowledge ::= SEQUENCE { - handoverCancelAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -Reset ::= SEQUENCE { - reset-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -ResetAcknowledge ::= SEQUENCE { - resetAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -S1SetupResponse ::= SEQUENCE { - s1SetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -S1SetupRequest ::= SEQUENCE { - s1SetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -S1SetupFailure ::= SEQUENCE -{ - s1SetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -ErrorIndication ::= SEQUENCE { - errorIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -ENBConfigurationUpdate ::= SEQUENCE { - eNBConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -ENBConfigurationUpdateAcknowledge ::= SEQUENCE { - eNBConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -ENBConfigurationUpdateFailure ::= SEQUENCE { - eNBConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -MMEConfigurationUpdate ::= SEQUENCE { - mmeConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -MMEConfigurationUpdateAcknowledge ::= SEQUENCE { - mmeConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -MMEConfigurationUpdateFailure ::= SEQUENCE { - mmeConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -DownlinkS1cdma2000tunneling ::= SEQUENCE { - downlinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UplinkS1cdma2000tunneling ::= SEQUENCE { - uplinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UEContextModificationRequest ::= SEQUENCE { - ueContextModificationRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UEContextModificationResponse ::= SEQUENCE { - ueContextModificationResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UEContextModificationFailure ::= SEQUENCE { - ueContextModificationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UECapabilityInfoIndication ::= SEQUENCE { - ueCapabilityInfoIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UEContextReleaseCommand ::= SEQUENCE { - ueContextReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UEContextReleaseComplete ::= SEQUENCE { - ueContextReleaseComplete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -ENBStatusTransfer ::= SEQUENCE { - eNBStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -MMEStatusTransfer ::= SEQUENCE { - mmeStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -DeactivateTrace ::= SEQUENCE { - deactivateTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -TraceStart ::= SEQUENCE { - traceStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -TraceFailureIndication ::= SEQUENCE { - traceFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -CellTrafficTrace ::= SEQUENCE { - cellTrafficTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -LocationReportingControl ::= SEQUENCE { - locationReportingControl-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -LocationReportingFailureIndication ::= SEQUENCE { - locationReportingFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -LocationReport ::= SEQUENCE { - locationReport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -OverloadStart ::= SEQUENCE { - overloadStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -OverloadStop ::= SEQUENCE { - overloadStop-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -WriteReplaceWarningRequest ::= SEQUENCE { - writeReplaceWarningRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -WriteReplaceWarningResponse ::= SEQUENCE { - writeReplaceWarningResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -ENBDirectInformationTransfer ::= SEQUENCE { - eNBDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -MMEDirectInformationTransfer ::= SEQUENCE { - mmeDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -ENBConfigurationTransfer ::= SEQUENCE { - eNBConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -MMEConfigurationTransfer ::= SEQUENCE { - mmeConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -PrivateMessage ::= SEQUENCE { - privateMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -KillRequest ::= SEQUENCE { - killRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -KillResponse ::= SEQUENCE { - killResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -DownlinkUEAssociatedLPPaTransport ::= SEQUENCE { - downlinkUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UplinkUEAssociatedLPPaTransport ::= SEQUENCE { - uplinkUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -DownlinkNonUEAssociatedLPPaTransport ::= SEQUENCE { - downlinkNonUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -UplinkNonUEAssociatedLPPaTransport ::= SEQUENCE { - uplinkNonUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE, - ... -} - -IE ::= SEQUENCE { - id ProtocolIE-ID, - criticality Criticality, - value ANY -} - -END \ No newline at end of file diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/README b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/README deleted file mode 100644 index c1d981ee5f..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/README +++ /dev/null @@ -1,15 +0,0 @@ -ASN1 message from S1AP TS 36.413-8a0 - -To successfully parse messages, the asn1c util should be patched with the patch provided (asn1cpatch.p0). -To do so: -1) Get the last revision of asn1c: svn co https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk asn1c -2) Go to asn1c directory -3) patch -p0 asn1cpatch.p0 -4) ./configure -5) make -6) make install - -Aligned PER support is now included when parsing and generating asn1 code. - -To generate S1AP ASN1 descriptions: -Files are automatically generated when changes are made on ASN1 files via Make build system. diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/asn1cpatch.p0 b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/asn1cpatch.p0 deleted file mode 100644 index fb2b39a940..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/asn1cpatch.p0 +++ /dev/null @@ -1,4068 +0,0 @@ -Index: libasn1compiler/asn1c_out.h -=================================================================== ---- libasn1compiler/asn1c_out.h (revision 1410) -+++ libasn1compiler/asn1c_out.h (working copy) -@@ -117,17 +117,25 @@ - * Format LONG_MIN according to C90 rules. - */ - #define OINT(iv) do { \ -- if(iv == (-2147483647L - 1)) \ -+ if(iv == (-2147483647L - 1)) \ - OUT("(-2147483647L - 1)"); \ -- else \ -- OUT("%" PRIdASN, iv); \ -+ else if (iv > 4294967296UL) \ -+ OUT("%" PRIdASN "ull", iv); \ -+ else if (iv > 2147483647L) \ -+ OUT("%" PRIdASN "ul", iv); \ -+ else \ -+ OUT("%" PRIdASN "l", iv); \ - } while(0) - - #define OINTS(iv) do { \ -- if(iv == (-2147483647L - 1)) \ -+ if(iv == (-2147483647L - 1)) \ - OUT("(-2147483647L - 1)"); \ -- else \ -- OUT("% " PRIdASN, iv); \ -+ else if (iv > 4294967296UL) \ -+ OUT("%" PRIdASN "ull", iv); \ -+ else if (iv > 2147483647L) \ -+ OUT("%" PRIdASN "ul", iv); \ -+ else \ -+ OUT("% " PRIdASN "l", iv); \ - } while(0) - - #endif /* _ASN1_COMPILED_OUTPUT_H_ */ -Index: libasn1compiler/asn1c_C.c -=================================================================== ---- libasn1compiler/asn1c_C.c (revision 1410) -+++ libasn1compiler/asn1c_C.c (working copy) -@@ -1242,6 +1242,8 @@ - OUT("td->xer_encoder = asn_DEF_%s.xer_encoder;\n", type_name); - OUT("td->uper_decoder = asn_DEF_%s.uper_decoder;\n", type_name); - OUT("td->uper_encoder = asn_DEF_%s.uper_encoder;\n", type_name); -+ OUT("td->aper_decoder = asn_DEF_%s.aper_decoder;\n", type_name); -+ OUT("td->aper_encoder = asn_DEF_%s.aper_encoder;\n", type_name); - if(!terminal && !tags_count) { - OUT("/* The next four lines are here because of -fknown-extern-type */\n"); - OUT("td->tags = asn_DEF_%s.tags;\n", type_name); -@@ -1394,8 +1396,40 @@ - ); - OUT("}\n"); - OUT("\n"); -- } - -+ p = MKID(expr); -+ if(HIDE_INNER_DEFS) OUT("static "); -+ OUT("asn_enc_rval_t\n"); -+ OUT("%s", p); -+ if(HIDE_INNER_DEFS) OUT("_%d", expr->_type_unique_index); -+ OUT("_encode_aper(asn_TYPE_descriptor_t *td,\n"); -+ INDENTED( -+ OUT("\tasn_per_constraints_t *constraints,\n"); -+ OUT("\tvoid *structure, asn_per_outp_t *per_out) {\n"); -+ OUT("%s_%d_inherit_TYPE_descriptor(td);\n", -+ p, expr->_type_unique_index); -+ OUT("return td->aper_encoder(td, constraints, structure, per_out);\n"); -+ ); -+ OUT("}\n"); -+ OUT("\n"); -+ -+ p = MKID(expr); -+ -+ if(HIDE_INNER_DEFS) OUT("static "); -+ OUT("asn_dec_rval_t\n"); -+ OUT("%s", p); -+ if(HIDE_INNER_DEFS) OUT("_%d", expr->_type_unique_index); -+ OUT("_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,\n"); -+ INDENTED( -+ OUT("\tasn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {\n"); -+ OUT("%s_%d_inherit_TYPE_descriptor(td);\n", -+ p, expr->_type_unique_index); -+ OUT("return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);\n"); -+ ); -+ OUT("}\n"); -+ OUT("\n"); -+ } -+ - REDIR(OT_FUNC_DECLS); - - p = MKID(expr); -@@ -1415,6 +1449,8 @@ - if(arg->flags & A1C_GEN_PER) { - OUT("per_type_decoder_f %s_decode_uper;\n", p); - OUT("per_type_encoder_f %s_encode_uper;\n", p); -+ OUT("per_type_decoder_f %s_decode_aper;\n", p); -+ OUT("per_type_encoder_f %s_encode_aper;\n", p); - } - } - -@@ -2001,7 +2037,7 @@ - break; - case ASN_STRING_UniversalString: - OUT("{ APC_CONSTRAINED,\t32, 32," -- " 0, 2147483647 }" -+ " 0, 2147483647L }" - " /* special case 1 */\n"); - goto avoid; - default: -@@ -2454,9 +2490,13 @@ - if(arg->flags & A1C_GEN_PER) { - FUNCREF(decode_uper); - FUNCREF(encode_uper); -+ FUNCREF(decode_aper); -+ FUNCREF(encode_aper); - } else { -- OUT("0, 0,\t/* No PER support, " -+ OUT("0, 0,\t/* No UPER support, " - "use \"-gen-PER\" to enable */\n"); -+ OUT("0, 0,\t/* No APER support, " -+ "use \"-gen-PER\" to enable */\n"); - } - - if(!terminal || terminal->expr_type == ASN_CONSTR_CHOICE) { -Index: libasn1compiler/asn1c_misc.c -=================================================================== ---- libasn1compiler/asn1c_misc.c (revision 1410) -+++ libasn1compiler/asn1c_misc.c (working copy) -@@ -370,7 +370,7 @@ - if(left.type == ARE_VALUE - && left.value >= 0 - && right.type == ARE_VALUE -- && right.value > 2147483647 -+ && right.value > 2147483647L - && right.value <= 4294967295UL) - return FL_FITS_UNSIGN; - -Index: asn1c/unber.c -=================================================================== ---- asn1c/unber.c (revision 1410) -+++ asn1c/unber.c (working copy) -@@ -772,4 +772,8 @@ - - asn_enc_rval_t OCTET_STRING_encode_uper(asn_TYPE_descriptor_t *td, asn_per_constraints_t *cts, void *sptr, asn_per_outp_t *po) { asn_enc_rval_t er = { 0, 0, 0 }; (void)td; (void)cts; (void)sptr; (void)po; return er; } - -+asn_dec_rval_t OCTET_STRING_decode_aper(asn_codec_ctx_t *ctx, asn_TYPE_descriptor_t *td, asn_per_constraints_t *cts, void **sptr, asn_per_data_t *pd) { asn_dec_rval_t rv = { 0, 0 }; (void)ctx; (void)td; (void)cts; (void)sptr; (void)pd; return rv; } -+ -+asn_enc_rval_t OCTET_STRING_encode_aper(asn_TYPE_descriptor_t *td, asn_per_constraints_t *cts, void *sptr, asn_per_outp_t *po) { asn_enc_rval_t er = { 0, 0, 0 }; (void)td; (void)cts; (void)sptr; (void)po; return er; } -+ - int xer_is_whitespace(const void *b, size_t s) { (void)b; (void)s; return 0; } -Index: skeletons/GraphicString.c -=================================================================== ---- skeletons/GraphicString.c (revision 1410) -+++ skeletons/GraphicString.c (working copy) -@@ -24,6 +24,8 @@ - OCTET_STRING_encode_xer, /* Can't expect it to be ASCII/UTF8 */ - OCTET_STRING_decode_uper, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_GraphicString_tags, - sizeof(asn_DEF_GraphicString_tags) -Index: skeletons/OCTET_STRING.c -=================================================================== ---- skeletons/OCTET_STRING.c (revision 1410) -+++ skeletons/OCTET_STRING.c (working copy) -@@ -36,6 +36,8 @@ - OCTET_STRING_encode_xer, - OCTET_STRING_decode_uper, /* Unaligned PER decoder */ - OCTET_STRING_encode_uper, /* Unaligned PER encoder */ -+ OCTET_STRING_decode_aper, /* Aligned PER decoder */ -+ OCTET_STRING_encode_aper, /* Aligned PER encoder */ - 0, /* Use generic outmost tag fetcher */ - asn_DEF_OCTET_STRING_tags, - sizeof(asn_DEF_OCTET_STRING_tags) -@@ -1194,14 +1196,14 @@ - static int - OCTET_STRING_per_get_characters(asn_per_data_t *po, uint8_t *buf, - size_t units, unsigned int bpc, unsigned int unit_bits, -- long lb, long ub, asn_per_constraints_t *pc) { -+ int64_t lb, int64_t ub, asn_per_constraints_t *pc) { - uint8_t *end = buf + units * bpc; - -- ASN_DEBUG("Expanding %d characters into (%ld..%ld):%d", -+ ASN_DEBUG("Expanding %d characters into (%lld..%lld):%d", - (int)units, lb, ub, unit_bits); - - /* X.691: 27.5.4 */ -- if((unsigned long)ub <= ((unsigned long)2 << (unit_bits - 1))) { -+ if((uint64_t)ub <= ((uint64_t)2 << (unit_bits - 1))) { - /* Decode without translation */ - lb = 0; - } else if(pc && pc->code2value) { -@@ -1216,7 +1218,7 @@ - value = pc->code2value(code); - if(value < 0) { - ASN_DEBUG("Code %d (0x%02x) is" -- " not in map (%ld..%ld)", -+ " not in map (%lld..%lld)", - code, code, lb, ub); - return 1; /* FATAL */ - } -@@ -1240,7 +1242,7 @@ - int ch = code + lb; - if(code < 0) return -1; /* WMORE */ - if(ch > ub) { -- ASN_DEBUG("Code %d is out of range (%ld..%ld)", -+ ASN_DEBUG("Code %d is out of range (%lld..%lld)", - ch, lb, ub); - return 1; /* FATAL */ - } -@@ -1258,14 +1260,14 @@ - static int - OCTET_STRING_per_put_characters(asn_per_outp_t *po, const uint8_t *buf, - size_t units, unsigned int bpc, unsigned int unit_bits, -- long lb, long ub, asn_per_constraints_t *pc) { -+ int64_t lb, int64_t ub, asn_per_constraints_t *pc) { - const uint8_t *end = buf + units * bpc; - -- ASN_DEBUG("Squeezing %d characters into (%ld..%ld):%d (%d bpc)", -+ ASN_DEBUG("Squeezing %d characters into (%lld..%lld):%d (%d bpc)", - (int)units, lb, ub, unit_bits, bpc); - - /* X.691: 27.5.4 */ -- if((unsigned long)ub <= ((unsigned long)2 << (unit_bits - 1))) { -+ if((uint64_t)ub <= ((uint64_t)2 << (unit_bits - 1))) { - /* Encode as is */ - lb = 0; - } else if(pc && pc->value2code) { -@@ -1282,7 +1284,7 @@ - code = pc->value2code(value); - if(code < 0) { - ASN_DEBUG("Character %d (0x%02x) is" -- " not in map (%ld..%ld)", -+ " not in map (%lld..%lld)", - *buf, *buf, lb, ub); - return -1; - } -@@ -1309,7 +1311,7 @@ - ch = value - lb; - if(ch < 0 || ch > ub) { - ASN_DEBUG("Character %d (0x%02x)" -- " is out of range (%ld..%ld)", -+ " is out of range (%lld..%lld)", - *buf, *buf, lb, ub + lb); - return -1; - } -@@ -1392,7 +1394,7 @@ - if(!st) RETURN(RC_FAIL); - } - -- ASN_DEBUG("PER Decoding %s size %ld .. %ld bits %d", -+ ASN_DEBUG("PER Decoding %s size %lld .. %lld bits %d", - csiz->flags & APC_EXTENSIBLE ? "extensible" : "non-extensible", - csiz->lower_bound, csiz->upper_bound, csiz->effective_bits); - -@@ -1423,14 +1425,14 @@ - if(csiz->effective_bits == 0) { - int ret; - if(bpc) { -- ASN_DEBUG("Encoding OCTET STRING size %ld", -+ ASN_DEBUG("Encoding OCTET STRING size %lld", - csiz->upper_bound); - ret = OCTET_STRING_per_get_characters(pd, st->buf, - csiz->upper_bound, bpc, unit_bits, - cval->lower_bound, cval->upper_bound, pc); - if(ret > 0) RETURN(RC_FAIL); - } else { -- ASN_DEBUG("Encoding BIT STRING size %ld", -+ ASN_DEBUG("Encoding BIT STRING size %lld", - csiz->upper_bound); - ret = per_get_many_bits(pd, st->buf, 0, - unit_bits * csiz->upper_bound); -@@ -1492,6 +1494,194 @@ - return rval; - } - -+asn_dec_rval_t -+OCTET_STRING_decode_aper(asn_codec_ctx_t *opt_codec_ctx, -+ asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, -+ void **sptr, asn_per_data_t *pd) { -+ -+ asn_OCTET_STRING_specifics_t *specs = td->specifics -+ ? (asn_OCTET_STRING_specifics_t *)td->specifics -+ : &asn_DEF_OCTET_STRING_specs; -+ asn_per_constraints_t *pc = constraints ? constraints -+ : td->per_constraints; -+ asn_per_constraint_t *cval; -+ asn_per_constraint_t *csiz; -+ asn_dec_rval_t rval = { RC_OK, 0 }; -+ BIT_STRING_t *st = (BIT_STRING_t *)*sptr; -+ ssize_t consumed_myself = 0; -+ int repeat; -+ enum { -+ OS__BPC_BIT = 0, -+ OS__BPC_CHAR = 1, -+ OS__BPC_U16 = 2, -+ OS__BPC_U32 = 4 -+ } bpc; /* Bytes per character */ -+ unsigned int unit_bits; -+ unsigned int canonical_unit_bits; -+ -+ (void)opt_codec_ctx; -+ -+ if(pc) { -+ cval = &pc->value; -+ csiz = &pc->size; -+ } else { -+ cval = &asn_DEF_OCTET_STRING_constraints.value; -+ csiz = &asn_DEF_OCTET_STRING_constraints.size; -+ } -+ -+ switch(specs->subvariant) { -+ default: -+// case ASN_OSUBV_ANY: -+// ASN_DEBUG("Unrecognized subvariant %d", specs->subvariant); -+// RETURN(RC_FAIL); -+ case ASN_OSUBV_BIT: -+ canonical_unit_bits = unit_bits = 1; -+ bpc = OS__BPC_BIT; -+ break; -+ case ASN_OSUBV_ANY: -+ case ASN_OSUBV_STR: -+ canonical_unit_bits = unit_bits = 8; -+// if(cval->flags & APC_CONSTRAINED) -+// unit_bits = cval->range_bits; -+ bpc = OS__BPC_CHAR; -+ break; -+ case ASN_OSUBV_U16: -+ canonical_unit_bits = unit_bits = 16; -+ if(cval->flags & APC_CONSTRAINED) -+ unit_bits = cval->range_bits; -+ bpc = OS__BPC_U16; -+ break; -+ case ASN_OSUBV_U32: -+ canonical_unit_bits = unit_bits = 32; -+ if(cval->flags & APC_CONSTRAINED) -+ unit_bits = cval->range_bits; -+ bpc = OS__BPC_U32; -+ break; -+ } -+ -+ /* -+ * Allocate the string. -+ */ -+ if(!st) { -+ st = (BIT_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); -+ if(!st) RETURN(RC_FAIL); -+ } -+ -+ ASN_DEBUG("PER Decoding %s size %lld .. %lld bits %d", -+ csiz->flags & APC_EXTENSIBLE ? "extensible" : "non-extensible", -+ csiz->lower_bound, csiz->upper_bound, csiz->effective_bits); -+ -+ if(csiz->flags & APC_EXTENSIBLE) { -+ int inext = per_get_few_bits(pd, 1); -+ if(inext < 0) RETURN(RC_WMORE); -+ if(inext) { -+ csiz = &asn_DEF_OCTET_STRING_constraints.size; -+ cval = &asn_DEF_OCTET_STRING_constraints.value; -+ unit_bits = canonical_unit_bits; -+ } -+ } -+ -+ if(csiz->effective_bits >= 0) { -+ FREEMEM(st->buf); -+ if(bpc) { -+ st->size = csiz->upper_bound * bpc; -+ } else { -+ st->size = (csiz->upper_bound + 7) >> 3; -+ } -+ st->buf = (uint8_t *)MALLOC(st->size + 1); -+ if(!st->buf) { st->size = 0; RETURN(RC_FAIL); } -+ } -+ -+ /* X.691, #16.5: zero-length encoding */ -+ /* X.691, #16.6: short fixed length encoding (up to 2 octets) */ -+ /* X.691, #16.7: long fixed length encoding (up to 64K octets) */ -+ if(csiz->effective_bits == 0) { -+ int ret; -+ if (st->size > 2) { /* X.691 #16 NOTE 1 */ -+ if (aper_get_align(pd) < 0) -+ RETURN(RC_FAIL); -+ } -+ if(bpc) { -+ ASN_DEBUG("Decoding OCTET STRING size %lld", -+ csiz->upper_bound); -+ ret = OCTET_STRING_per_get_characters(pd, st->buf, -+ csiz->upper_bound, bpc, unit_bits, -+ cval->lower_bound, cval->upper_bound, pc); -+ if(ret > 0) RETURN(RC_FAIL); -+ } else { -+ ASN_DEBUG("Decoding BIT STRING size %lld", -+ csiz->upper_bound); -+ ret = per_get_many_bits(pd, st->buf, 0, -+ unit_bits * csiz->upper_bound); -+ } -+ if(ret < 0) RETURN(RC_WMORE); -+ consumed_myself += unit_bits * csiz->upper_bound; -+ st->buf[st->size] = 0; -+ if(bpc == 0) { -+ int ubs = (csiz->upper_bound & 0x7); -+ st->bits_unused = ubs ? 8 - ubs : 0; -+ } -+ RETURN(RC_OK); -+ } -+ -+ st->size = 0; -+ do { -+ ssize_t raw_len; -+ ssize_t len_bytes; -+ ssize_t len_bits; -+ void *p; -+ int ret; -+ -+ /* Get the PER length */ -+ if (csiz->upper_bound - csiz->lower_bound == 0) -+ // Indefinite length case -+ raw_len = aper_get_length(pd, -1, csiz->effective_bits, &repeat); -+ else -+ raw_len = aper_get_length(pd, csiz->upper_bound - csiz->lower_bound + 1, csiz->effective_bits, &repeat); -+ repeat = 0; -+ if(raw_len < 0) RETURN(RC_WMORE); -+ raw_len += csiz->lower_bound; -+ -+ ASN_DEBUG("Got PER length eb %ld, len %ld, %s (%s)", -+ (long)csiz->effective_bits, (long)raw_len, -+ repeat ? "repeat" : "once", td->name); -+ -+ if (raw_len > 2) { /* X.691 #16 NOTE 1 */ -+ if (aper_get_align(pd) < 0) -+ RETURN(RC_FAIL); -+ } -+ -+ if(bpc) { -+ len_bytes = raw_len * bpc; -+ len_bits = len_bytes * unit_bits; -+ } else { -+ len_bits = raw_len; -+ len_bytes = (len_bits + 7) >> 3; -+ if(len_bits & 0x7) -+ st->bits_unused = 8 - (len_bits & 0x7); -+ /* len_bits be multiple of 16K if repeat is set */ -+ } -+ p = REALLOC(st->buf, st->size + len_bytes + 1); -+ if(!p) RETURN(RC_FAIL); -+ st->buf = (uint8_t *)p; -+ -+ if(bpc) { -+ ret = OCTET_STRING_per_get_characters(pd, -+ &st->buf[st->size], raw_len, bpc, unit_bits, -+ cval->lower_bound, cval->upper_bound, pc); -+ if(ret > 0) RETURN(RC_FAIL); -+ } else { -+ ret = per_get_many_bits(pd, &st->buf[st->size], -+ 0, len_bits); -+ } -+ if(ret < 0) RETURN(RC_WMORE); -+ st->size += len_bytes; -+ } while(repeat); -+ st->buf[st->size] = 0; /* nul-terminate */ -+ -+ return rval; -+} -+ - asn_enc_rval_t - OCTET_STRING_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -@@ -1566,7 +1756,7 @@ - } - - ASN_DEBUG("Encoding %s into %d units of %d bits" -- " (%ld..%ld, effective %d)%s", -+ " (%lld..%lld, effective %d)%s", - td->name, sizeinunits, unit_bits, - csiz->lower_bound, csiz->upper_bound, - csiz->effective_bits, ct_extensible ? " EXT" : ""); -@@ -1598,7 +1788,7 @@ - /* X.691, #16.6: short fixed length encoding (up to 2 octets) */ - /* X.691, #16.7: long fixed length encoding (up to 64K octets) */ - if(csiz->effective_bits >= 0) { -- ASN_DEBUG("Encoding %d bytes (%ld), length in %d bits", -+ ASN_DEBUG("Encoding %d bytes (%lld), length in %d bits", - st->size, sizeinunits - csiz->lower_bound, - csiz->effective_bits); - ret = per_put_few_bits(po, sizeinunits - csiz->lower_bound, -@@ -1652,6 +1842,173 @@ - _ASN_ENCODED_OK(er); - } - -+asn_enc_rval_t -+OCTET_STRING_encode_aper(asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -+ -+ asn_OCTET_STRING_specifics_t *specs = td->specifics -+ ? (asn_OCTET_STRING_specifics_t *)td->specifics -+ : &asn_DEF_OCTET_STRING_specs; -+ asn_per_constraints_t *pc = constraints ? constraints -+ : td->per_constraints; -+ asn_per_constraint_t *cval; -+ asn_per_constraint_t *csiz; -+ const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; -+ asn_enc_rval_t er = { 0, 0, 0 }; -+ int inext = 0; /* Lies not within extension root */ -+ unsigned int unit_bits; -+ unsigned int canonical_unit_bits; -+ unsigned int sizeinunits; -+ const uint8_t *buf; -+ int ret; -+ enum { -+ OS__BPC_BIT = 0, -+ OS__BPC_CHAR = 1, -+ OS__BPC_U16 = 2, -+ OS__BPC_U32 = 4 -+ } bpc; /* Bytes per character */ -+ int ct_extensible; -+ -+ if(!st || (!st->buf && st->size)) -+ _ASN_ENCODE_FAILED; -+ -+ if(pc) { -+ cval = &pc->value; -+ csiz = &pc->size; -+ } else { -+ cval = &asn_DEF_OCTET_STRING_constraints.value; -+ csiz = &asn_DEF_OCTET_STRING_constraints.size; -+ } -+ ct_extensible = csiz->flags & APC_EXTENSIBLE; -+ -+ switch(specs->subvariant) { -+ default: -+// case ASN_OSUBV_ANY: -+// _ASN_ENCODE_FAILED; -+ case ASN_OSUBV_BIT: -+ canonical_unit_bits = unit_bits = 1; -+ bpc = OS__BPC_BIT; -+ sizeinunits = st->size * 8 - (st->bits_unused & 0x07); -+ ASN_DEBUG("BIT STRING of %d bytes", -+ sizeinunits); -+ break; -+ case ASN_OSUBV_ANY: -+ case ASN_OSUBV_STR: -+ canonical_unit_bits = unit_bits = 8; -+// if(cval->flags & APC_CONSTRAINED) -+// unit_bits = 8; -+ bpc = OS__BPC_CHAR; -+ sizeinunits = st->size; -+ break; -+ case ASN_OSUBV_U16: -+ canonical_unit_bits = unit_bits = 16; -+ if(cval->flags & APC_CONSTRAINED) -+ unit_bits = cval->range_bits; -+ bpc = OS__BPC_U16; -+ sizeinunits = st->size / 2; -+ break; -+ case ASN_OSUBV_U32: -+ canonical_unit_bits = unit_bits = 32; -+ if(cval->flags & APC_CONSTRAINED) -+ unit_bits = cval->range_bits; -+ bpc = OS__BPC_U32; -+ sizeinunits = st->size / 4; -+ break; -+ } -+ -+ ASN_DEBUG("Encoding %s into %d units of %d bits" -+ " (%lld..%lld, effective %d)%s", -+ td->name, sizeinunits, unit_bits, -+ csiz->lower_bound, csiz->upper_bound, -+ csiz->effective_bits, ct_extensible ? " EXT" : ""); -+ -+ /* Figure out wheter size lies within PER visible constraint */ -+ -+ if(csiz->effective_bits >= 0) { -+ if((int)sizeinunits < csiz->lower_bound -+ || (int)sizeinunits > csiz->upper_bound) { -+ if(ct_extensible) { -+ cval = &asn_DEF_OCTET_STRING_constraints.value; -+ csiz = &asn_DEF_OCTET_STRING_constraints.size; -+ unit_bits = canonical_unit_bits; -+ inext = 1; -+ } else -+ _ASN_ENCODE_FAILED; -+ } -+ } else { -+ inext = 0; -+ } -+ -+ -+ if(ct_extensible) { -+ /* Declare whether length is [not] within extension root */ -+ if(per_put_few_bits(po, inext, 1)) -+ _ASN_ENCODE_FAILED; -+ } -+ -+ /* X.691, #16.5: zero-length encoding */ -+ /* X.691, #16.6: short fixed length encoding (up to 2 octets) */ -+ /* X.691, #16.7: long fixed length encoding (up to 64K octets) */ -+ if(csiz->effective_bits >= 0) { -+ ASN_DEBUG("Encoding %d bytes (%lld), length in %d bits", -+ st->size, sizeinunits - csiz->lower_bound, -+ csiz->effective_bits); -+ ret = per_put_few_bits(po, sizeinunits - csiz->lower_bound, -+ csiz->effective_bits); -+ if(ret) _ASN_ENCODE_FAILED; -+ if (st->size > 2) { /* X.691 #16 NOTE 1 */ -+ if (aper_put_align(po) < 0) -+ _ASN_ENCODE_FAILED; -+ } -+ if(bpc) { -+ ret = OCTET_STRING_per_put_characters(po, st->buf, -+ sizeinunits, bpc, unit_bits, -+ cval->lower_bound, cval->upper_bound, pc); -+ } else { -+ ret = per_put_many_bits(po, st->buf, -+ sizeinunits * unit_bits); -+ } -+ if(ret) _ASN_ENCODE_FAILED; -+ _ASN_ENCODED_OK(er); -+ } -+ -+ ASN_DEBUG("Encoding %d bytes", st->size); -+ -+ if(sizeinunits == 0) { -+ if(aper_put_length(po, -1, 0)) -+ _ASN_ENCODE_FAILED; -+ _ASN_ENCODED_OK(er); -+ } -+ -+ buf = st->buf; -+ while(sizeinunits) { -+ ssize_t maySave = aper_put_length(po, -1, sizeinunits); -+ -+ if(maySave < 0) _ASN_ENCODE_FAILED; -+ -+ ASN_DEBUG("Encoding %ld of %ld", -+ (long)maySave, (long)sizeinunits); -+ -+ if(bpc) { -+ ret = OCTET_STRING_per_put_characters(po, buf, -+ maySave, bpc, unit_bits, -+ cval->lower_bound, cval->upper_bound, pc); -+ } else { -+ ret = per_put_many_bits(po, buf, maySave * unit_bits); -+ } -+ if(ret) _ASN_ENCODE_FAILED; -+ -+ if(bpc) -+ buf += maySave * bpc; -+ else -+ buf += maySave >> 3; -+ sizeinunits -= maySave; -+ assert(!(maySave & 0x07) || !sizeinunits); -+ } -+ -+ _ASN_ENCODED_OK(er); -+} -+ - int - OCTET_STRING_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - asn_app_consume_bytes_f *cb, void *app_key) { -Index: skeletons/OCTET_STRING.h -=================================================================== ---- skeletons/OCTET_STRING.h (revision 1410) -+++ skeletons/OCTET_STRING.h (working copy) -@@ -32,6 +32,8 @@ - xer_type_encoder_f OCTET_STRING_encode_xer_utf8; - per_type_decoder_f OCTET_STRING_decode_uper; - per_type_encoder_f OCTET_STRING_encode_uper; -+per_type_decoder_f OCTET_STRING_decode_aper; -+per_type_encoder_f OCTET_STRING_encode_aper; - - /****************************** - * Handy conversion routines. * -Index: skeletons/BOOLEAN.c -=================================================================== ---- skeletons/BOOLEAN.c (revision 1410) -+++ skeletons/BOOLEAN.c (working copy) -@@ -24,6 +24,8 @@ - BOOLEAN_encode_xer, - BOOLEAN_decode_uper, /* Unaligned PER decoder */ - BOOLEAN_encode_uper, /* Unaligned PER encoder */ -+ BOOLEAN_decode_aper, /* Aligned PER decoder */ -+ BOOLEAN_encode_aper, /* Aligned PER encoder */ - 0, /* Use generic outmost tag fetcher */ - asn_DEF_BOOLEAN_tags, - sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]), -@@ -267,7 +269,36 @@ - return rv; - } - -+asn_dec_rval_t -+BOOLEAN_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { -+ asn_dec_rval_t rv; -+ BOOLEAN_t *st = (BOOLEAN_t *)*sptr; - -+ (void)opt_codec_ctx; -+ (void)constraints; -+ -+ if(!st) { -+ st = (BOOLEAN_t *)(*sptr = MALLOC(sizeof(*st))); -+ if(!st) _ASN_DECODE_FAILED; -+ } -+ -+ /* -+ * Extract a single bit -+ */ -+ switch(per_get_few_bits(pd, 1)) { -+ case 1: *st = 1; break; -+ case 0: *st = 0; break; -+ case -1: default: _ASN_DECODE_STARVED; -+ } -+ -+ ASN_DEBUG("%s decoded as %s", td->name, *st ? "TRUE" : "FALSE"); -+ -+ rv.code = RC_OK; -+ rv.consumed = 1; -+ return rv; -+} -+ - asn_enc_rval_t - BOOLEAN_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -@@ -282,3 +313,18 @@ - - _ASN_ENCODED_OK(er); - } -+ -+asn_enc_rval_t -+BOOLEAN_encode_aper(asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -+ const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; -+ asn_enc_rval_t er; -+ -+ (void)constraints; -+ -+ if(!st) _ASN_ENCODE_FAILED; -+ -+ per_put_few_bits(po, *st ? 1 : 0, 1); -+ -+ _ASN_ENCODED_OK(er); -+} -Index: skeletons/constr_SET.c -=================================================================== ---- skeletons/constr_SET.c (revision 1410) -+++ skeletons/constr_SET.c (working copy) -@@ -570,6 +570,181 @@ - _ASN_ENCODED_OK(er); - } - -+asn_enc_rval_t -+SET_encode_uper(asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, -+ void *sptr, -+ asn_per_outp_t *po) { -+} -+ -+asn_dec_rval_t -+SET_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { -+} -+ -+asn_enc_rval_t -+SET_encode_aper(asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, -+ void *sptr, -+ asn_per_outp_t *po) { -+ asn_SET_specifics_t *specs = (asn_SET_specifics_t *)td->specifics; -+ asn_enc_rval_t er; -+ int edx, i; -+ int t2m_build_own = (specs->tag2el_count != td->elements_count); -+ asn_TYPE_tag2member_t *t2m; -+ int t2m_count; -+ -+ (void)constraints; -+ -+ if(!sptr) -+ _ASN_ENCODE_FAILED; -+ -+ er.encoded = 0; -+ -+ ASN_DEBUG("Encoding %s as SET (APER) map %d", td->name, specs->_mandatory_elements[0]); -+ -+ /* -+ * Use existing, or build our own tags map. -+ */ -+ if(t2m_build_own) { -+ t2m = (asn_TYPE_tag2member_t *)alloca( -+ td->elements_count * sizeof(t2m[0])); -+ if(!t2m) _ASN_ENCODE_FAILED; /* There are such platforms */ -+ t2m_count = 0; -+ } else { -+ /* -+ * There is no untagged CHOICE in this SET. -+ * Employ existing table. -+ */ -+ t2m = specs->tag2el; -+ t2m_count = specs->tag2el_count; -+ } -+ -+ /* -+ * Gather the length of the underlying members sequence. -+ */ -+ for(edx = 0; edx < td->elements_count; edx++) { -+ asn_TYPE_member_t *elm = &td->elements[edx]; -+ asn_enc_rval_t tmper; -+ void *memb_ptr; -+ -+ /* -+ * Compute the length of the encoding of this member. -+ */ -+ if(elm->flags & ATF_POINTER) { -+ memb_ptr = *(void **)((char *)sptr + elm->memb_offset); -+ if(!memb_ptr) { -+ if(!elm->optional) -+ /* Mandatory elements missing */ -+ _ASN_ENCODE_FAILED; -+ if(t2m_build_own) { -+ t2m[t2m_count].el_no = edx; -+ t2m[t2m_count].el_tag = 0; -+ t2m_count++; -+ } -+ continue; -+ } -+ } else { -+ memb_ptr = (void *)((char *)sptr + elm->memb_offset); -+ } -+ -+ /* -+ * Remember the outmost tag of this member. -+ */ -+ if(t2m_build_own) { -+ t2m[t2m_count].el_no = edx; -+ t2m[t2m_count].el_tag = asn_TYPE_outmost_tag( -+ elm->type, memb_ptr, elm->tag_mode, elm->tag); -+ t2m_count++; -+ } else { -+ /* -+ * No dynamic sorting is necessary. -+ */ -+ } -+ } -+ -+ /* -+ * Finalize order of the components. -+ */ -+ assert(t2m_count == td->elements_count); -+ if(t2m_build_own) { -+ /* -+ * Sort the underlying members according to their -+ * canonical tags order. DER encoding mandates it. -+ */ -+ qsort(t2m, t2m_count, sizeof(specs->tag2el[0]), _t2e_cmp); -+ } else { -+ /* -+ * Tags are already sorted by the compiler. -+ */ -+ } -+ -+ for(edx = 0; edx < td->elements_count; edx++) { -+ asn_TYPE_member_t *elm = &td->elements[t2m[edx].el_no]; -+ asn_enc_rval_t tmper; -+ void *memb_ptr; /* Pointer to the member */ -+ void **memb_ptr2; /* Pointer to that pointer */ -+ int present; -+ -+ /* Fetch the pointer to this member */ -+ if(elm->flags & ATF_POINTER) { -+ memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); -+ present = (*memb_ptr2 != 0); -+ } else { -+// memb_ptr = (void *)((char *)sptr + elm->memb_offset); -+// memb_ptr2 = &memb_ptr; -+ present = 1; -+ continue; -+ } -+ -+// /* Eliminate default values */ -+// if(present && elm->default_value -+// && elm->default_value(0, memb_ptr2) == 1) -+// present = 0; -+ -+ ASN_DEBUG("Element %s %s %s->%s is %s", -+ elm->flags & ATF_POINTER ? "ptr" : "inline", -+ elm->default_value ? "def" : "wtv", -+ td->name, elm->name, present ? "present" : "absent"); -+ if(per_put_few_bits(po, present << 7, 8)) -+ _ASN_ENCODE_FAILED; -+ } -+ -+ /* -+ * Encode all members. -+ */ -+ for(edx = 0; edx < td->elements_count; edx++) { -+ asn_TYPE_member_t *elm = &td->elements[edx]; -+ asn_enc_rval_t tmper; -+ void *memb_ptr; /* Pointer to the member */ -+ void **memb_ptr2; /* Pointer to that pointer */ -+ -+ /* Encode according to the tag order */ -+// elm = &td->elements[t2m[edx].el_no]; -+ -+ if(elm->flags & ATF_POINTER) { -+ memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); -+ if(!*memb_ptr2) { -+ ASN_DEBUG("Element %s %d not present", -+ elm->name, edx); -+ if(elm->optional) -+ continue; -+ /* Mandatory element is missing */ -+ _ASN_ENCODE_FAILED; -+ } -+ } else { -+ memb_ptr = (void *)((char *)sptr + elm->memb_offset); -+ memb_ptr2 = &memb_ptr; -+ } -+ tmper = elm->type->aper_encoder(elm->type, elm->per_constraints, -+ *memb_ptr2, po); -+ if(tmper.encoded == -1) -+ return tmper; -+ } -+ -+ _ASN_ENCODED_OK(er); -+} -+ - #undef XER_ADVANCE - #define XER_ADVANCE(num_bytes) do { \ - size_t num = num_bytes; \ -Index: skeletons/REAL.c -=================================================================== ---- skeletons/REAL.c (revision 1410) -+++ skeletons/REAL.c (working copy) -@@ -45,6 +45,8 @@ - REAL_encode_xer, - REAL_decode_uper, - REAL_encode_uper, -+ REAL_decode_aper, -+ REAL_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_REAL_tags, - sizeof(asn_DEF_REAL_tags) / sizeof(asn_DEF_REAL_tags[0]), -@@ -358,6 +360,21 @@ - return OCTET_STRING_encode_uper(td, 0, sptr, po); - } - -+asn_dec_rval_t -+REAL_decode_aper(asn_codec_ctx_t *opt_codec_ctx, -+ asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, -+ void **sptr, asn_per_data_t *pd) { -+ (void)constraints; /* No PER visible constraints */ -+ return OCTET_STRING_decode_aper(opt_codec_ctx, td, 0, sptr, pd); -+} -+ -+asn_enc_rval_t -+REAL_encode_aper(asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -+ (void)constraints; /* No PER visible constraints */ -+ return OCTET_STRING_encode_aper(td, 0, sptr, po); -+} -+ - int - asn_REAL2double(const REAL_t *st, double *dbl_value) { - unsigned int octv; -Index: skeletons/constr_SEQUENCE_OF.c -=================================================================== ---- skeletons/constr_SEQUENCE_OF.c (revision 1410) -+++ skeletons/constr_SEQUENCE_OF.c (working copy) -@@ -164,7 +164,7 @@ - if(ct) { - int not_in_root = (list->count < ct->lower_bound - || list->count > ct->upper_bound); -- ASN_DEBUG("lb %ld ub %ld %s", -+ ASN_DEBUG("lb %lld ub %lld %s", - ct->lower_bound, ct->upper_bound, - ct->flags & APC_EXTENSIBLE ? "ext" : "fix"); - if(ct->flags & APC_EXTENSIBLE) { -@@ -206,3 +206,70 @@ - _ASN_ENCODED_OK(er); - } - -+asn_enc_rval_t -+SEQUENCE_OF_encode_aper(asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -+ asn_anonymous_sequence_ *list; -+ asn_per_constraint_t *ct; -+ asn_enc_rval_t er; -+ asn_TYPE_member_t *elm = td->elements; -+ int seq; -+ -+ if(!sptr) _ASN_ENCODE_FAILED; -+ list = _A_SEQUENCE_FROM_VOID(sptr); -+ -+ er.encoded = 0; -+ -+ ASN_DEBUG("Encoding %s as SEQUENCE OF size (%d) using ALIGNED PER", td->name, list->count); -+ -+ if(constraints) ct = &constraints->size; -+ else if(td->per_constraints) ct = &td->per_constraints->size; -+ else ct = 0; -+ -+ /* If extensible constraint, check if size is in root */ -+ if(ct) { -+ int not_in_root = (list->count < ct->lower_bound -+ || list->count > ct->upper_bound); -+ ASN_DEBUG("lb %lld ub %lld %s", -+ ct->lower_bound, ct->upper_bound, -+ ct->flags & APC_EXTENSIBLE ? "ext" : "fix"); -+ if(ct->flags & APC_EXTENSIBLE) { -+ /* Declare whether size is in extension root */ -+ if(per_put_few_bits(po, not_in_root, 1)) -+ _ASN_ENCODE_FAILED; -+ if(not_in_root) ct = 0; -+ } else if(not_in_root && ct->effective_bits >= 0) -+ _ASN_ENCODE_FAILED; -+ } -+ -+ if(ct && ct->effective_bits >= 0) { -+ /* X.691, #19.5: No length determinant */ -+// if(per_put_few_bits(po, list->count - ct->lower_bound, -+// ct->effective_bits)) -+// _ASN_ENCODE_FAILED; -+ if (aper_put_length(po, ct->upper_bound - ct->lower_bound + 1, list->count - ct->lower_bound) < 0) -+ _ASN_ENCODE_FAILED; -+ } -+ -+ for(seq = -1; seq < list->count;) { -+ ssize_t mayEncode; -+ if(seq < 0) seq = 0; -+ if(ct && ct->effective_bits >= 0) { -+ mayEncode = list->count; -+ } else { -+ mayEncode = aper_put_length(po, -1, list->count - seq); -+ if(mayEncode < 0) _ASN_ENCODE_FAILED; -+ } -+ -+ while(mayEncode--) { -+ void *memb_ptr = list->array[seq++]; -+ if(!memb_ptr) _ASN_ENCODE_FAILED; -+ er = elm->type->aper_encoder(elm->type, -+ elm->per_constraints, memb_ptr, po); -+ if(er.encoded == -1) -+ _ASN_ENCODE_FAILED; -+ } -+ } -+ -+ _ASN_ENCODED_OK(er); -+} -Index: skeletons/BOOLEAN.h -=================================================================== ---- skeletons/BOOLEAN.h (revision 1410) -+++ skeletons/BOOLEAN.h (working copy) -@@ -28,6 +28,8 @@ - xer_type_encoder_f BOOLEAN_encode_xer; - per_type_decoder_f BOOLEAN_decode_uper; - per_type_encoder_f BOOLEAN_encode_uper; -+per_type_decoder_f BOOLEAN_decode_aper; -+per_type_encoder_f BOOLEAN_encode_aper; - - #ifdef __cplusplus - } -Index: skeletons/constr_SET.h -=================================================================== ---- skeletons/constr_SET.h (revision 1410) -+++ skeletons/constr_SET.h (working copy) -@@ -53,7 +53,9 @@ - xer_type_decoder_f SET_decode_xer; - xer_type_encoder_f SET_encode_xer; - per_type_decoder_f SET_decode_uper; -+per_type_decoder_f SET_decode_aper; - per_type_encoder_f SET_encode_uper; -+per_type_encoder_f SET_encode_aper; - - /*********************** - * Some handy helpers. * -Index: skeletons/REAL.h -=================================================================== ---- skeletons/REAL.h (revision 1410) -+++ skeletons/REAL.h (working copy) -@@ -21,6 +21,8 @@ - xer_type_encoder_f REAL_encode_xer; - per_type_decoder_f REAL_decode_uper; - per_type_encoder_f REAL_encode_uper; -+per_type_decoder_f REAL_decode_aper; -+per_type_encoder_f REAL_encode_aper; - - /*********************************** - * Some handy conversion routines. * -Index: skeletons/NumericString.c -=================================================================== ---- skeletons/NumericString.c (revision 1410) -+++ skeletons/NumericString.c (working copy) -@@ -49,6 +49,8 @@ - OCTET_STRING_encode_xer_utf8, - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_NumericString_tags, - sizeof(asn_DEF_NumericString_tags) -Index: skeletons/ENUMERATED.c -=================================================================== ---- skeletons/ENUMERATED.c (revision 1410) -+++ skeletons/ENUMERATED.c (working copy) -@@ -26,6 +26,8 @@ - INTEGER_encode_xer, - ENUMERATED_decode_uper, /* Unaligned PER decoder */ - ENUMERATED_encode_uper, /* Unaligned PER encoder */ -+ ENUMERATED_decode_aper, /* Aligned PER decoder */ -+ ENUMERATED_encode_aper, /* Aligned PER encoder */ - 0, /* Use generic outmost tag fetcher */ - asn_DEF_ENUMERATED_tags, - sizeof(asn_DEF_ENUMERATED_tags) / sizeof(asn_DEF_ENUMERATED_tags[0]), -@@ -57,6 +59,27 @@ - return rval; - } - -+asn_dec_rval_t -+ENUMERATED_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { -+ asn_dec_rval_t rval; -+ ENUMERATED_t *st = (ENUMERATED_t *)*sptr; -+ long value; -+ void *vptr = &value; -+ -+ if(!st) { -+ st = (ENUMERATED_t *)(*sptr = CALLOC(1, sizeof(*st))); -+ if(!st) _ASN_DECODE_FAILED; -+ } -+ -+ rval = NativeEnumerated_decode_aper(opt_codec_ctx, td, constraints, -+ (void **)&vptr, pd); -+ if(rval.code == RC_OK) -+ if(asn_long2INTEGER(st, value)) -+ rval.code = RC_FAIL; -+ return rval; -+} -+ - asn_enc_rval_t - ENUMERATED_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -@@ -69,3 +92,14 @@ - return NativeEnumerated_encode_uper(td, constraints, &value, po); - } - -+asn_enc_rval_t -+ENUMERATED_encode_aper(asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -+ ENUMERATED_t *st = (ENUMERATED_t *)sptr; -+ long value; -+ -+ if(asn_INTEGER2long(st, &value)) -+ _ASN_ENCODE_FAILED; -+ -+ return NativeEnumerated_encode_aper(td, constraints, &value, po); -+} -Index: skeletons/constr_SEQUENCE_OF.h -=================================================================== ---- skeletons/constr_SEQUENCE_OF.h (revision 1410) -+++ skeletons/constr_SEQUENCE_OF.h (working copy) -@@ -22,9 +22,11 @@ - #define SEQUENCE_OF_decode_ber SET_OF_decode_ber - #define SEQUENCE_OF_decode_xer SET_OF_decode_xer - #define SEQUENCE_OF_decode_uper SET_OF_decode_uper -+#define SEQUENCE_OF_decode_aper SET_OF_decode_aper - der_type_encoder_f SEQUENCE_OF_encode_der; - xer_type_encoder_f SEQUENCE_OF_encode_xer; - per_type_encoder_f SEQUENCE_OF_encode_uper; -+per_type_encoder_f SEQUENCE_OF_encode_aper; - - #ifdef __cplusplus - } -Index: skeletons/INTEGER.c -=================================================================== ---- skeletons/INTEGER.c (revision 1410) -+++ skeletons/INTEGER.c (working copy) -@@ -26,6 +26,8 @@ - INTEGER_encode_xer, - INTEGER_decode_uper, /* Unaligned PER decoder */ - INTEGER_encode_uper, /* Unaligned PER encoder */ -+ INTEGER_decode_aper, -+ INTEGER_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_INTEGER_tags, - sizeof(asn_DEF_INTEGER_tags) / sizeof(asn_DEF_INTEGER_tags[0]), -@@ -395,7 +397,7 @@ - break; - } - -- { -+ { - long new_value = value * 10; - - if(new_value / 10 != value) -@@ -415,7 +417,7 @@ - return XPBD_DECODER_LIMIT; - } - } -- } -+ } - continue; - case 0x3c: /* '<' */ - if(state == ST_SKIPSPACE) { -@@ -424,7 +426,7 @@ - (asn_INTEGER_specifics_t *) - td->specifics, lstart, lstop); - if(el) { -- ASN_DEBUG("Found \"%s\" => %ld", -+ ASN_DEBUG("Found \"%s\" => %lld", - el->enum_name, el->nat_value); - state = ST_DIGITS; - value = el->nat_value; -@@ -611,7 +613,7 @@ - value = per_get_few_bits(pd, ct->range_bits); - if(value < 0) _ASN_DECODE_STARVED; - } -- ASN_DEBUG("Got value %ld + low %ld", -+ ASN_DEBUG("Got value %ld + low %lld", - value, ct->lower_bound); - value += ct->lower_bound; - if((specs && specs->field_unsigned) -@@ -659,6 +661,149 @@ - return rval; - } - -+asn_dec_rval_t -+INTEGER_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { -+ asn_INTEGER_specifics_t *specs=(asn_INTEGER_specifics_t *)td->specifics; -+ asn_dec_rval_t rval = { RC_OK, 0 }; -+ INTEGER_t *st = (INTEGER_t *)*sptr; -+ asn_per_constraint_t *ct; -+ int repeat; -+ -+ (void)opt_codec_ctx; -+ -+ if(!st) { -+ st = (INTEGER_t *)(*sptr = CALLOC(1, sizeof(*st))); -+ if(!st) _ASN_DECODE_FAILED; -+ } -+ -+ if(!constraints) constraints = td->per_constraints; -+ ct = constraints ? &constraints->value : 0; -+ -+ if(ct && ct->flags & APC_EXTENSIBLE) { -+ int inext = per_get_few_bits(pd, 1); -+ if(inext < 0) _ASN_DECODE_STARVED; -+ if(inext) ct = 0; -+ } -+ -+ FREEMEM(st->buf); -+ st->buf = 0; -+ st->size = 0; -+ if(ct) { -+ if(ct->flags & APC_SEMI_CONSTRAINED) { -+ st->buf = (uint8_t *)CALLOC(1, 2); -+ if(!st->buf) _ASN_DECODE_FAILED; -+ st->size = 1; -+ } else if(ct->flags & APC_CONSTRAINED && ct->range_bits >= 0) { -+ size_t size = (ct->range_bits + 7) >> 3; -+ st->buf = (uint8_t *)MALLOC(1 + size + 1); -+ if(!st->buf) _ASN_DECODE_FAILED; -+ st->size = size; -+ } -+ } -+ -+ /* X.691, #12.2.2 */ -+ if(ct && ct->flags != APC_UNCONSTRAINED) { -+ /* #10.5.6 */ -+ ASN_DEBUG("Integer with range %d bits", ct->range_bits); -+ if(ct->range_bits >= 0) { -+ if (ct->range_bits > 16) { -+ int max_range_bytes = (ct->range_bits >> 3) + 1; -+ int length, i; -+ int64_t value = 0; -+ -+ for (i = 0; i < max_range_bytes; i++) { -+ int upper = 1 << (i + 1); -+ if (upper > max_range_bytes) -+ break; -+ } -+ if ((length = per_get_few_bits(pd, i + 1)) < 0) -+ _ASN_DECODE_STARVED; -+ if (aper_get_align(pd) != 0) -+ _ASN_DECODE_STARVED; -+ ASN_DEBUG("Got length %d", length + 1); -+ for (i = 0; i < length + 1; i++) { -+ int buf = per_get_few_bits(pd, 8); -+ if (buf < 0) -+ _ASN_DECODE_STARVED; -+ value += (((int64_t)buf) << (8 * i)); -+ } -+ -+ if((specs && specs->field_unsigned) -+ ? asn_uint642INTEGER(st, value) -+ : asn_int642INTEGER(st, value)) -+ _ASN_DECODE_FAILED; -+ ASN_DEBUG("Got value %lld + low %lld", -+ value, ct->lower_bound); -+ value += ct->lower_bound; -+ } else { -+ long value = 0; -+ if (ct->range_bits < 8) { -+ value = per_get_few_bits(pd, ct->range_bits); -+ if(value < 0) _ASN_DECODE_STARVED; -+ } else if (ct->range_bits == 8) { -+ if (aper_get_align(pd) < 0) -+ _ASN_DECODE_FAILED; -+ value = per_get_few_bits(pd, ct->range_bits); -+ if(value < 0) _ASN_DECODE_STARVED; -+ } else { -+ /* Align */ -+ if (aper_get_align(pd) < 0) -+ _ASN_DECODE_FAILED; -+ value = per_get_few_bits(pd, 16); -+ if(value < 0) _ASN_DECODE_STARVED; -+ } -+ if((specs && specs->field_unsigned) -+ ? asn_ulong2INTEGER(st, value) -+ : asn_long2INTEGER(st, value)) -+ _ASN_DECODE_FAILED; -+ ASN_DEBUG("Got value %ld + low %lld", -+ value, ct->lower_bound); -+ value += ct->lower_bound; -+ } -+ return rval; -+ } else { -+ _ASN_DECODE_FAILED; -+ } -+ } else { -+ ASN_DEBUG("Decoding unconstrained integer %s", td->name); -+ } -+ -+ /* X.691, #12.2.3, #12.2.4 */ -+ do { -+ ssize_t len; -+ void *p; -+ int ret; -+ -+ /* Get the PER length */ -+ len = aper_get_length(pd, -1, -1, &repeat); -+ if(len < 0) _ASN_DECODE_STARVED; -+ -+ p = REALLOC(st->buf, st->size + len + 1); -+ if(!p) _ASN_DECODE_FAILED; -+ st->buf = (uint8_t *)p; -+ -+ ret = per_get_many_bits(pd, &st->buf[st->size], 0, 8 * len); -+ if(ret < 0) _ASN_DECODE_STARVED; -+ st->size += len; -+ } while(repeat); -+ st->buf[st->size] = 0; /* JIC */ -+ -+ /* #12.2.3 */ -+ if(ct && ct->lower_bound) { -+ /* -+ * TODO: replace by in-place arithmetics. -+ */ -+ long value; -+ if(asn_INTEGER2long(st, &value)) -+ _ASN_DECODE_FAILED; -+ if(asn_long2INTEGER(st, value + ct->lower_bound)) -+ _ASN_DECODE_FAILED; -+ } -+ -+ return rval; -+} -+ - asn_enc_rval_t - INTEGER_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -@@ -692,7 +837,7 @@ - || uval > (unsigned long)ct->upper_bound) - inext = 1; - } -- ASN_DEBUG("Value %lu (%02x/%d) lb %lu ub %lu %s", -+ ASN_DEBUG("Value %lu (%02x/%d) lb %llu ub %llu %s", - uval, st->buf[0], st->size, - ct->lower_bound, ct->upper_bound, - inext ? "ext" : "fix"); -@@ -709,7 +854,7 @@ - || value > ct->upper_bound) - inext = 1; - } -- ASN_DEBUG("Value %ld (%02x/%d) lb %ld ub %ld %s", -+ ASN_DEBUG("Value %ld (%02x/%d) lb %lld ub %lld %s", - value, st->buf[0], st->size, - ct->lower_bound, ct->upper_bound, - inext ? "ext" : "fix"); -@@ -744,7 +889,7 @@ - } - - if(ct && ct->lower_bound) { -- ASN_DEBUG("Adjust lower bound to %ld", ct->lower_bound); -+ ASN_DEBUG("Adjust lower bound to %lld", ct->lower_bound); - /* TODO: adjust lower bound */ - _ASN_ENCODE_FAILED; - } -@@ -761,6 +906,129 @@ - _ASN_ENCODED_OK(er); - } - -+asn_enc_rval_t -+INTEGER_encode_aper(asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -+ asn_INTEGER_specifics_t *specs=(asn_INTEGER_specifics_t *)td->specifics; -+ asn_enc_rval_t er; -+ INTEGER_t *st = (INTEGER_t *)sptr; -+ const uint8_t *buf; -+ const uint8_t *end; -+ asn_per_constraint_t *ct; -+ int64_t value = 0; -+ -+ if(!st || st->size == 0) _ASN_ENCODE_FAILED; -+ -+ if(!constraints) constraints = td->per_constraints; -+ ct = constraints ? &constraints->value : 0; -+ -+ er.encoded = 0; -+ -+ if(ct) { -+ int inext = 0; -+ if(specs && specs->field_unsigned) { -+ uint64_t uval; -+ if(asn_INTEGER2uint64(st, &uval)) -+ _ASN_ENCODE_FAILED; -+ /* Check proper range */ -+ if(ct->flags & APC_SEMI_CONSTRAINED) { -+ if(uval < (unsigned long long)ct->lower_bound) -+ inext = 1; -+ } else if(ct->range_bits >= 0) { -+ if(uval < (unsigned long long)ct->lower_bound -+ || uval > (unsigned long long)ct->upper_bound) -+ inext = 1; -+ } -+ ASN_DEBUG("Value %llu (%02x/%d) lb %llu ub %llu %s", -+ uval, st->buf[0], st->size, -+ ct->lower_bound, ct->upper_bound, -+ inext ? "ext" : "fix"); -+ value = uval; -+ } else { -+ if(asn_INTEGER2int64(st, &value)) _ASN_ENCODE_FAILED; -+ /* Check proper range */ -+ if(ct->flags & APC_SEMI_CONSTRAINED) { -+ if(value < ct->lower_bound) -+ inext = 1; -+ } else if(ct->range_bits >= 0) { -+ if(value < ct->lower_bound -+ || value > ct->upper_bound) -+ inext = 1; -+ } -+ ASN_DEBUG("Value %lld (%02x/%d) lb %lld ub %lld %s", -+ value, st->buf[0], st->size, -+ ct->lower_bound, ct->upper_bound, -+ inext ? "ext" : "fix"); -+ } -+ if(ct->flags & APC_EXTENSIBLE) { -+ if(per_put_few_bits(po, inext, 1)) -+ _ASN_ENCODE_FAILED; -+ if(inext) ct = 0; -+ } else if(inext) { -+ _ASN_ENCODE_FAILED; -+ } -+ } -+ -+ /* X.691, #12.2.2 */ -+ if(ct && ct->range_bits >= 0) { -+ /* #10.5.6 */ -+ ASN_DEBUG("Encoding integer with range %d bits", -+ ct->range_bits); -+ -+ /* #12 <= 8 -> alignment ? */ -+ if (ct->range_bits < 8) { -+ if(per_put_few_bits(po, 0x00 | value, ct->range_bits)) -+ _ASN_ENCODE_FAILED; -+ } else if (ct->range_bits == 8) { -+ if(aper_put_align(po) < 0) -+ _ASN_ENCODE_FAILED; -+ if(per_put_few_bits(po, 0x00 | value, ct->range_bits)) -+ _ASN_ENCODE_FAILED; -+ } else if (ct->range_bits <= 16) { -+ // Consume the bytes to align on octet -+ if(aper_put_align(po) < 0) -+ _ASN_ENCODE_FAILED; -+ if(per_put_few_bits(po, 0x0000 | value, -+ 16)) -+ _ASN_ENCODE_FAILED; -+ } else { -+ /* TODO: extend to >64 bits */ -+ int64_t v = value; -+ int i; -+ -+ /* Putting length - 1 in the minimum number of bits ex: 5 = 3bits */ -+ if (per_put_few_bits(po, st->size - 1, (ct->range_bits >> 3)-1)) -+ _ASN_ENCODE_FAILED; -+ -+ // Consume the bits to align on octet -+ if (aper_put_align(po) < 0) -+ _ASN_ENCODE_FAILED; -+ /* Put the value */ -+ for (i = 0; i < st->size; i++) { -+ if(per_put_few_bits(po, (v >> (8 * (st->size - i - 1))) & 0xff, 8)) _ASN_ENCODE_FAILED; -+ } -+ } -+ _ASN_ENCODED_OK(er); -+ } -+ -+ if(ct && ct->lower_bound) { -+ ASN_DEBUG("Adjust lower bound to %lld", ct->lower_bound); -+ /* TODO: adjust lower bound */ -+ _ASN_ENCODE_FAILED; -+ } -+ -+ for(buf = st->buf, end = st->buf + st->size; buf < end;) { -+ ssize_t mayEncode = aper_put_length(po, -1, end - buf); -+ if(mayEncode < 0) -+ _ASN_ENCODE_FAILED; -+ if(per_put_many_bits(po, buf, 8 * mayEncode)) -+ _ASN_ENCODE_FAILED; -+ buf += mayEncode; -+ } -+ -+ _ASN_ENCODED_OK(er); -+} -+ - int - asn_INTEGER2long(const INTEGER_t *iptr, long *lptr) { - uint8_t *b, *end; -@@ -822,6 +1090,66 @@ - } - - int -+asn_INTEGER2int64(const INTEGER_t *iptr, int64_t *lptr) { -+ uint8_t *b, *end; -+ size_t size; -+ int64_t l; -+ -+ /* Sanity checking */ -+ if(!iptr || !iptr->buf || !lptr) { -+ errno = EINVAL; -+ return -1; -+ } -+ -+ /* Cache the begin/end of the buffer */ -+ b = iptr->buf; /* Start of the INTEGER buffer */ -+ size = iptr->size; -+ end = b + size; /* Where to stop */ -+ -+ if(size > sizeof(int64_t)) { -+ uint8_t *end1 = end - 1; -+ /* -+ * Slightly more advanced processing, -+ * able to >sizeof(int64_t) bytes, -+ * when the actual value is small -+ * (0x0000000000abcdef would yield a fine 0x00abcdef) -+ */ -+ /* Skip out the insignificant leading bytes */ -+ for(; b < end1; b++) { -+ switch(*b) { -+ case 0x00: if((b[1] & 0x80) == 0) continue; break; -+ case 0xff: if((b[1] & 0x80) != 0) continue; break; -+ } -+ break; -+ } -+ -+ size = end - b; -+ if(size > sizeof(int64_t)) { -+ /* Still cannot fit the int64_t */ -+ errno = ERANGE; -+ return -1; -+ } -+ } -+ -+ /* Shortcut processing of a corner case */ -+ if(end == b) { -+ *lptr = 0; -+ return 0; -+ } -+ -+ /* Perform the sign initialization */ -+ /* Actually l = -(*b >> 7); gains nothing, yet unreadable! */ -+ if((*b >> 7)) l = -1; else l = 0; -+ -+ /* Conversion engine */ -+ for(; b < end; b++) -+ l = (l << 8) | *b; -+ -+ *lptr = l; -+ return 0; -+} -+ -+int - asn_INTEGER2ulong(const INTEGER_t *iptr, unsigned long *lptr) { - uint8_t *b, *end; - unsigned long l; -@@ -854,6 +1182,38 @@ - } - - int -+asn_INTEGER2uint64(const INTEGER_t *iptr, uint64_t *lptr) { -+ uint8_t *b, *end; -+ uint64_t l; -+ size_t size; -+ -+ if(!iptr || !iptr->buf || !lptr) { -+ errno = EINVAL; -+ return -1; -+ } -+ -+ b = iptr->buf; -+ size = iptr->size; -+ end = b + size; -+ -+ /* If all extra leading bytes are zeroes, ignore them */ -+ for(; size > sizeof(uint64_t); b++, size--) { -+ if(*b) { -+ /* Value won't fit unsigned long */ -+ errno = ERANGE; -+ return -1; -+ } -+ } -+ -+ /* Conversion engine */ -+ for(l = 0; b < end; b++) -+ l = (l << 8) | *b; -+ -+ *lptr = l; -+ return 0; -+} -+ -+int - asn_ulong2INTEGER(INTEGER_t *st, unsigned long value) { - uint8_t *buf; - uint8_t *end; -@@ -879,6 +1239,31 @@ - } - - int -+asn_uint642INTEGER(INTEGER_t *st, uint64_t value) { -+ uint8_t *buf; -+ uint8_t *end; -+ uint8_t *b; -+ int shr; -+ -+ if(value <= INT64_MAX) -+ return asn_int642INTEGER(st, value); -+ -+ buf = (uint8_t *)MALLOC(1 + sizeof(value)); -+ if(!buf) return -1; -+ -+ end = buf + (sizeof(value) + 1); -+ buf[0] = 0; -+ for(b = buf + 1, shr = (sizeof(value)-1)*8; b < end; shr -= 8, b++) -+ *b = (uint8_t)(value >> shr); -+ -+ if(st->buf) FREEMEM(st->buf); -+ st->buf = buf; -+ st->size = 1 + sizeof(value); -+ -+ return 0; -+} -+ -+int - asn_long2INTEGER(INTEGER_t *st, long value) { - uint8_t *buf, *bp; - uint8_t *p; -@@ -932,3 +1317,58 @@ - - return 0; - } -+ -+int -+asn_int642INTEGER(INTEGER_t *st, int64_t value) { -+ uint8_t *buf, *bp; -+ uint8_t *p; -+ uint8_t *pstart; -+ uint8_t *pend1; -+ int littleEndian = 1; /* Run-time detection */ -+ int add; -+ -+ if(!st) { -+ errno = EINVAL; -+ return -1; -+ } -+ -+ buf = (uint8_t *)MALLOC(sizeof(value)); -+ if(!buf) return -1; -+ -+ if(*(char *)&littleEndian) { -+ pstart = (uint8_t *)&value + sizeof(value) - 1; -+ pend1 = (uint8_t *)&value; -+ add = -1; -+ } else { -+ pstart = (uint8_t *)&value; -+ pend1 = pstart + sizeof(value) - 1; -+ add = 1; -+ } -+ -+ /* -+ * If the contents octet consists of more than one octet, -+ * then bits of the first octet and bit 8 of the second octet: -+ * a) shall not all be ones; and -+ * b) shall not all be zero. -+ */ -+ for(p = pstart; p != pend1; p += add) { -+ switch(*p) { -+ case 0x00: if((*(p+add) & 0x80) == 0) -+ continue; -+ break; -+ case 0xff: if((*(p+add) & 0x80)) -+ continue; -+ break; -+ } -+ break; -+ } -+ /* Copy the integer body */ -+ for(pstart = p, bp = buf, pend1 += add; p != pend1; p += add) -+ *bp++ = *p; -+ -+ if(st->buf) FREEMEM(st->buf); -+ st->buf = buf; -+ st->size = bp - buf; -+ -+ return 0; -+} -Index: skeletons/ENUMERATED.h -=================================================================== ---- skeletons/ENUMERATED.h (revision 1410) -+++ skeletons/ENUMERATED.h (working copy) -@@ -17,6 +17,8 @@ - - per_type_decoder_f ENUMERATED_decode_uper; - per_type_encoder_f ENUMERATED_encode_uper; -+per_type_decoder_f ENUMERATED_decode_aper; -+per_type_encoder_f ENUMERATED_encode_aper; - - #ifdef __cplusplus - } -Index: skeletons/constr_SEQUENCE.c -=================================================================== ---- skeletons/constr_SEQUENCE.c (revision 1410) -+++ skeletons/constr_SEQUENCE.c (working copy) -@@ -1240,6 +1240,219 @@ - return rv; - } - -+asn_dec_rval_t -+SEQUENCE_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { -+ asn_SEQUENCE_specifics_t *specs = (asn_SEQUENCE_specifics_t *)td->specifics; -+ void *st = *sptr; /* Target structure. */ -+ int extpresent; /* Extension additions are present */ -+ uint8_t *opres; /* Presence of optional root members */ -+ asn_per_data_t opmd; -+ asn_dec_rval_t rv; -+ int edx; -+ -+ (void)constraints; -+ -+ if(_ASN_STACK_OVERFLOW_CHECK(opt_codec_ctx)) -+ _ASN_DECODE_FAILED; -+ -+ if(!st) { -+ st = *sptr = CALLOC(1, specs->struct_size); -+ if(!st) _ASN_DECODE_FAILED; -+ } -+ -+ ASN_DEBUG("Decoding %s as SEQUENCE (APER)", td->name); -+ -+ /* Handle extensions */ -+ if(specs->ext_before >= 0) { -+ extpresent = per_get_few_bits(pd, 1); -+ if(extpresent < 0) _ASN_DECODE_STARVED; -+ } else { -+ extpresent = 0; -+ } -+ -+ /* Prepare a place and read-in the presence bitmap */ -+ memset(&opmd, 0, sizeof(opmd)); -+ if(specs->roms_count) { -+ opres = (uint8_t *)MALLOC(((specs->roms_count + 7) >> 3) + 1); -+ if(!opres) _ASN_DECODE_FAILED; -+ /* Get the presence map */ -+ if(per_get_many_bits(pd, opres, 0, specs->roms_count)) { -+ FREEMEM(opres); -+ _ASN_DECODE_STARVED; -+ } -+ opmd.buffer = opres; -+ opmd.nbits = specs->roms_count; -+ ASN_DEBUG("Read in presence bitmap for %s of %d bits (%x..)", -+ td->name, specs->roms_count, *opres); -+ } else { -+ opres = 0; -+ } -+ -+ /* -+ * Get the sequence ROOT elements. -+ */ -+ for(edx = 0; edx < td->elements_count; edx++) { -+ asn_TYPE_member_t *elm = &td->elements[edx]; -+ void *memb_ptr; /* Pointer to the member */ -+ void **memb_ptr2; /* Pointer to that pointer */ -+ -+ if(IN_EXTENSION_GROUP(specs, edx)) -+ continue; -+ -+ /* Fetch the pointer to this member */ -+ if(elm->flags & ATF_POINTER) { -+ memb_ptr2 = (void **)((char *)st + elm->memb_offset); -+ } else { -+ memb_ptr = (char *)st + elm->memb_offset; -+ memb_ptr2 = &memb_ptr; -+ } -+ -+ /* Deal with optionality */ -+ if(elm->optional) { -+ int present = per_get_few_bits(&opmd, 1); -+ ASN_DEBUG("Member %s->%s is optional, p=%d (%d->%d)", -+ td->name, elm->name, present, -+ (int)opmd.nboff, (int)opmd.nbits); -+ if(present == 0) { -+ /* This element is not present */ -+ if(elm->default_value) { -+ /* Fill-in DEFAULT */ -+ if(elm->default_value(1, memb_ptr2)) { -+ FREEMEM(opres); -+ _ASN_DECODE_FAILED; -+ } -+ ASN_DEBUG("Filled-in default"); -+ } -+ /* The member is just not present */ -+ continue; -+ } -+ /* Fall through */ -+ } -+ -+ /* Fetch the member from the stream */ -+ ASN_DEBUG("Decoding member %s in %s", elm->name, td->name); -+ rv = elm->type->aper_decoder(opt_codec_ctx, elm->type, -+ elm->per_constraints, memb_ptr2, pd); -+ if(rv.code != RC_OK) { -+ ASN_DEBUG("Failed decode %s in %s", -+ elm->name, td->name); -+ FREEMEM(opres); -+ return rv; -+ } -+ } -+ -+ /* Optionality map is not needed anymore */ -+ FREEMEM(opres); -+ -+ /* -+ * Deal with extensions. -+ */ -+ if(extpresent) { -+ ssize_t bmlength; -+ uint8_t *epres; /* Presence of extension members */ -+ asn_per_data_t epmd; -+ -+ bmlength = uper_get_nslength(pd); -+ if(bmlength < 0) _ASN_DECODE_STARVED; -+ -+ ASN_DEBUG("Extensions %d present in %s", bmlength, td->name); -+ -+ epres = (uint8_t *)MALLOC((bmlength + 15) >> 3); -+ if(!epres) _ASN_DECODE_STARVED; -+ -+ /* Get the extensions map */ -+ if(per_get_many_bits(pd, epres, 0, bmlength)) -+ _ASN_DECODE_STARVED; -+ -+ memset(&epmd, 0, sizeof(epmd)); -+ epmd.buffer = epres; -+ epmd.nbits = bmlength; -+ ASN_DEBUG("Read in extensions bitmap for %s of %d bits (%x..)", -+ td->name, bmlength, *epres); -+ -+ /* Go over extensions and read them in */ -+ for(edx = specs->ext_after + 1; edx < td->elements_count; edx++) { -+ asn_TYPE_member_t *elm = &td->elements[edx]; -+ void *memb_ptr; /* Pointer to the member */ -+ void **memb_ptr2; /* Pointer to that pointer */ -+ int present; -+ -+ if(!IN_EXTENSION_GROUP(specs, edx)) { -+ ASN_DEBUG("%d is not extension", edx); -+ continue; -+ } -+ -+ /* Fetch the pointer to this member */ -+ if(elm->flags & ATF_POINTER) { -+ memb_ptr2 = (void **)((char *)st + elm->memb_offset); -+ } else { -+ memb_ptr = (void *)((char *)st + elm->memb_offset); -+ memb_ptr2 = &memb_ptr; -+ } -+ -+ present = per_get_few_bits(&epmd, 1); -+ if(present <= 0) { -+ if(present < 0) break; /* No more extensions */ -+ continue; -+ } -+ -+ ASN_DEBUG("Decoding member %s in %s %p", elm->name, td->name, *memb_ptr2); -+ rv = uper_open_type_get(opt_codec_ctx, elm->type, -+ elm->per_constraints, memb_ptr2, pd); -+ if(rv.code != RC_OK) { -+ FREEMEM(epres); -+ return rv; -+ } -+ } -+ -+ /* Skip over overflow extensions which aren't present -+ * in this system's version of the protocol */ -+ for(;;) { -+ ASN_DEBUG("Getting overflow extensions"); -+ switch(per_get_few_bits(&epmd, 1)) { -+ case -1: break; -+ case 0: continue; -+ default: -+ if(uper_open_type_skip(opt_codec_ctx, pd)) { -+ FREEMEM(epres); -+ _ASN_DECODE_STARVED; -+ } -+ } -+ break; -+ } -+ -+ FREEMEM(epres); -+ } -+ -+ /* Fill DEFAULT members in extensions */ -+ for(edx = specs->roms_count; edx < specs->roms_count -+ + specs->aoms_count; edx++) { -+ asn_TYPE_member_t *elm = &td->elements[edx]; -+ void **memb_ptr2; /* Pointer to member pointer */ -+ -+ if(!elm->default_value) continue; -+ -+ /* Fetch the pointer to this member */ -+ if(elm->flags & ATF_POINTER) { -+ memb_ptr2 = (void **)((char *)st -+ + elm->memb_offset); -+ if(*memb_ptr2) continue; -+ } else { -+ continue; /* Extensions are all optionals */ -+ } -+ -+ /* Set default value */ -+ if(elm->default_value(1, memb_ptr2)) { -+ _ASN_DECODE_FAILED; -+ } -+ } -+ -+ rv.consumed = 0; -+ rv.code = RC_OK; -+ return rv; -+} -+ - static int - SEQUENCE_handle_extensions(asn_TYPE_descriptor_t *td, void *sptr, - asn_per_outp_t *po1, asn_per_outp_t *po2) { -@@ -1283,7 +1496,7 @@ - if(po1 && per_put_few_bits(po1, present, 1)) - return -1; - /* Encode as open type field */ -- if(po2 && present && uper_open_type_put(elm->type, -+ if(po2 && present && aper_open_type_put(elm->type, - elm->per_constraints, *memb_ptr2, po2)) - return -1; - -@@ -1421,3 +1634,130 @@ - _ASN_ENCODED_OK(er); - } - -+asn_enc_rval_t -+SEQUENCE_encode_aper(asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -+ asn_SEQUENCE_specifics_t *specs -+ = (asn_SEQUENCE_specifics_t *)td->specifics; -+ asn_enc_rval_t er; -+ int n_extensions; -+ int edx; -+ int i; -+ -+ (void)constraints; -+ -+ if(!sptr) -+ _ASN_ENCODE_FAILED; -+ -+ er.encoded = 0; -+ -+ ASN_DEBUG("Encoding %s as SEQUENCE (APER)", td->name); -+ -+ /* -+ * X.691#18.1 Whether structure is extensible -+ * and whether to encode extensions -+ */ -+ if(specs->ext_before >= 0) { -+ n_extensions = SEQUENCE_handle_extensions(td, sptr, 0, 0); -+ per_put_few_bits(po, n_extensions ? 1 : 0, 1); -+ } else { -+ n_extensions = 0; /* There are no extensions to encode */ -+ } -+ -+ /* Encode a presence bitmap */ -+ for(i = 0; i < specs->roms_count; i++) { -+ asn_TYPE_member_t *elm; -+ void *memb_ptr; /* Pointer to the member */ -+ void **memb_ptr2; /* Pointer to that pointer */ -+ int present; -+ -+ edx = specs->oms[i]; -+ elm = &td->elements[edx]; -+ -+ /* Fetch the pointer to this member */ -+ if(elm->flags & ATF_POINTER) { -+ memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); -+ present = (*memb_ptr2 != 0); -+ } else { -+ memb_ptr = (void *)((char *)sptr + elm->memb_offset); -+ memb_ptr2 = &memb_ptr; -+ present = 1; -+ } -+ -+ /* Eliminate default values */ -+ if(present && elm->default_value -+ && elm->default_value(0, memb_ptr2) == 1) -+ present = 0; -+ -+ ASN_DEBUG("Element %s %s %s->%s is %s", -+ elm->flags & ATF_POINTER ? "ptr" : "inline", -+ elm->default_value ? "def" : "wtv", -+ td->name, elm->name, present ? "present" : "absent"); -+ if(per_put_few_bits(po, present, 1)) -+ _ASN_ENCODE_FAILED; -+ } -+ -+ /* -+ * Encode the sequence ROOT elements. -+ */ -+ ASN_DEBUG("ext_after = %d, ec = %d, eb = %d", specs->ext_after, td->elements_count, specs->ext_before); -+ for(edx = 0; edx < ((specs->ext_after < 0) -+ ? td->elements_count : specs->ext_before - 1); edx++) { -+ -+ asn_TYPE_member_t *elm = &td->elements[edx]; -+ void *memb_ptr; /* Pointer to the member */ -+ void **memb_ptr2; /* Pointer to that pointer */ -+ -+ if(IN_EXTENSION_GROUP(specs, edx)) -+ continue; -+ -+ ASN_DEBUG("About to encode %s", elm->type->name); -+ -+ /* Fetch the pointer to this member */ -+ if(elm->flags & ATF_POINTER) { -+ memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); -+ if(!*memb_ptr2) { -+ ASN_DEBUG("Element %s %d not present", -+ elm->name, edx); -+ if(elm->optional) -+ continue; -+ /* Mandatory element is missing */ -+ _ASN_ENCODE_FAILED; -+ } -+ } else { -+ memb_ptr = (void *)((char *)sptr + elm->memb_offset); -+ memb_ptr2 = &memb_ptr; -+ } -+ -+ /* Eliminate default values */ -+ if(elm->default_value && elm->default_value(0, memb_ptr2) == 1) -+ continue; -+ -+ ASN_DEBUG("Encoding %s->%s", td->name, elm->name); -+ er = elm->type->aper_encoder(elm->type, elm->per_constraints, -+ *memb_ptr2, po); -+ if(er.encoded == -1) -+ return er; -+ } -+ -+ /* No extensions to encode */ -+ if(!n_extensions) _ASN_ENCODED_OK(er); -+ -+ ASN_DEBUG("Length of %d bit-map", n_extensions); -+ /* #18.8. Write down the presence bit-map length. */ -+ if(aper_put_nslength(po, n_extensions)) -+ _ASN_ENCODE_FAILED; -+ -+ ASN_DEBUG("Bit-map of %d elements", n_extensions); -+ /* #18.7. Encoding the extensions presence bit-map. */ -+ /* TODO: act upon NOTE in #18.7 for canonical PER */ -+ if(SEQUENCE_handle_extensions(td, sptr, po, 0) != n_extensions) -+ _ASN_ENCODE_FAILED; -+ -+ ASN_DEBUG("Writing %d extensions", n_extensions); -+ /* #18.9. Encode extensions as open type fields. */ -+ if(SEQUENCE_handle_extensions(td, sptr, 0, po) != n_extensions) -+ _ASN_ENCODE_FAILED; -+ -+ _ASN_ENCODED_OK(er); -+} -Index: skeletons/TeletexString.c -=================================================================== ---- skeletons/TeletexString.c (revision 1410) -+++ skeletons/TeletexString.c (working copy) -@@ -24,6 +24,8 @@ - OCTET_STRING_encode_xer, - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_TeletexString_tags, - sizeof(asn_DEF_TeletexString_tags) -Index: skeletons/T61String.c -=================================================================== ---- skeletons/T61String.c (revision 1410) -+++ skeletons/T61String.c (working copy) -@@ -24,6 +24,8 @@ - OCTET_STRING_encode_xer, - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_T61String_tags, - sizeof(asn_DEF_T61String_tags) -Index: skeletons/INTEGER.h -=================================================================== ---- skeletons/INTEGER.h (revision 1410) -+++ skeletons/INTEGER.h (working copy) -@@ -18,7 +18,7 @@ - - /* Map with <tag> to integer value association */ - typedef struct asn_INTEGER_enum_map_s { -- long nat_value; /* associated native integer value */ -+ int64_t nat_value; /* associated native integer value */ - size_t enum_len; /* strlen("tag") */ - const char *enum_name; /* "tag" */ - } asn_INTEGER_enum_map_t; -@@ -41,6 +41,8 @@ - xer_type_encoder_f INTEGER_encode_xer; - per_type_decoder_f INTEGER_decode_uper; - per_type_encoder_f INTEGER_encode_uper; -+per_type_decoder_f INTEGER_decode_aper; -+per_type_encoder_f INTEGER_encode_aper; - - /*********************************** - * Some handy conversion routines. * -@@ -52,8 +54,12 @@ - * -1/ERANGE: Value encoded is out of range for long representation - * -1/ENOMEM: Memory allocation failed (in asn_long2INTEGER()). - */ -+int asn_INTEGER2int64(const INTEGER_t *i, int64_t *l); -+int asn_INTEGER2uint64(const INTEGER_t *i, uint64_t *l); - int asn_INTEGER2long(const INTEGER_t *i, long *l); - int asn_INTEGER2ulong(const INTEGER_t *i, unsigned long *l); -+int asn_int642INTEGER(INTEGER_t *i, int64_t l); -+int asn_uint642INTEGER(INTEGER_t *i, uint64_t l); - int asn_long2INTEGER(INTEGER_t *i, long l); - int asn_ulong2INTEGER(INTEGER_t *i, unsigned long l); - -Index: skeletons/constr_SEQUENCE.h -=================================================================== ---- skeletons/constr_SEQUENCE.h (revision 1410) -+++ skeletons/constr_SEQUENCE.h (working copy) -@@ -52,6 +52,8 @@ - xer_type_encoder_f SEQUENCE_encode_xer; - per_type_decoder_f SEQUENCE_decode_uper; - per_type_encoder_f SEQUENCE_encode_uper; -+per_type_decoder_f SEQUENCE_decode_aper; -+per_type_encoder_f SEQUENCE_encode_aper; - - #ifdef __cplusplus - } -Index: skeletons/BMPString.c -=================================================================== ---- skeletons/BMPString.c (revision 1410) -+++ skeletons/BMPString.c (working copy) -@@ -35,6 +35,8 @@ - BMPString_encode_xer, /* Convert to UTF-8 */ - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, /* Aligned PER decoder */ -+ OCTET_STRING_encode_aper, /* Aligned PER encoder */ - 0, /* Use generic outmost tag fetcher */ - asn_DEF_BMPString_tags, - sizeof(asn_DEF_BMPString_tags) -Index: skeletons/constr_SET_OF.c -=================================================================== ---- skeletons/constr_SET_OF.c (revision 1410) -+++ skeletons/constr_SET_OF.c (working copy) -@@ -884,7 +884,7 @@ - if(!st) { - st = *sptr = CALLOC(1, specs->struct_size); - if(!st) _ASN_DECODE_FAILED; -- } -+ } - list = _A_SET_FROM_VOID(st); - - /* Figure out which constraints to use */ -@@ -901,7 +901,7 @@ - if(ct && ct->effective_bits >= 0) { - /* X.691, #19.5: No length determinant */ - nelems = per_get_few_bits(pd, ct->effective_bits); -- ASN_DEBUG("Preparing to fetch %ld+%ld elements from %s", -+ ASN_DEBUG("Preparing to fetch %ld+%lld elements from %s", - (long)nelems, ct->lower_bound, td->name); - if(nelems < 0) _ASN_DECODE_STARVED; - nelems += ct->lower_bound; -@@ -951,3 +951,91 @@ - return rv; - } - -+asn_dec_rval_t -+SET_OF_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { -+ asn_dec_rval_t rv; -+ asn_SET_OF_specifics_t *specs = (asn_SET_OF_specifics_t *)td->specifics; -+ asn_TYPE_member_t *elm = td->elements; /* Single one */ -+ void *st = *sptr; -+ asn_anonymous_set_ *list; -+ asn_per_constraint_t *ct; -+ int repeat = 0; -+ ssize_t nelems; -+ -+ if(_ASN_STACK_OVERFLOW_CHECK(opt_codec_ctx)) -+ _ASN_DECODE_FAILED; -+ -+ /* -+ * Create the target structure if it is not present already. -+ */ -+ if(!st) { -+ st = *sptr = CALLOC(1, specs->struct_size); -+ if(!st) _ASN_DECODE_FAILED; -+ } -+ list = _A_SET_FROM_VOID(st); -+ -+ /* Figure out which constraints to use */ -+ if(constraints) ct = &constraints->size; -+ else if(td->per_constraints) ct = &td->per_constraints->size; -+ else ct = 0; -+ -+ if(ct && ct->flags & APC_EXTENSIBLE) { -+ int value = per_get_few_bits(pd, 1); -+ if(value < 0) _ASN_DECODE_STARVED; -+ if(value) ct = 0; /* Not restricted! */ -+ } -+ -+ if(ct && ct->effective_bits >= 0) { -+ /* X.691, #19.5: No length determinant */ -+// nelems = per_get_few_bits(pd, ct->effective_bits); -+ nelems = aper_get_nsnnwn(pd, ct->upper_bound - ct->lower_bound); -+ ASN_DEBUG("Preparing to fetch %ld+%lld elements from %s", -+ (long)nelems, ct->lower_bound, td->name); -+ if(nelems < 0) _ASN_DECODE_STARVED; -+ nelems += ct->lower_bound; -+ } else { -+ nelems = -1; -+ } -+ -+ do { -+ int i; -+ if(nelems < 0) { -+ nelems = aper_get_length(pd, ct ? ct->upper_bound - ct->lower_bound + 1 : -1, -+ ct ? ct->effective_bits : -1, &repeat); -+ ASN_DEBUG("Got to decode %d elements (eff %d)", -+ (int)nelems, (int)ct ? ct->effective_bits : -1); -+ if(nelems < 0) _ASN_DECODE_STARVED; -+ } -+ -+ for(i = 0; i < nelems; i++) { -+ void *ptr = 0; -+ ASN_DEBUG("SET OF %s decoding", elm->type->name); -+ rv = elm->type->aper_decoder(opt_codec_ctx, elm->type, -+ elm->per_constraints, &ptr, pd); -+ ASN_DEBUG("%s SET OF %s decoded %d, %p", -+ td->name, elm->type->name, rv.code, ptr); -+ if(rv.code == RC_OK) { -+ if(ASN_SET_ADD(list, ptr) == 0) -+ continue; -+ ASN_DEBUG("Failed to add element into %s", -+ td->name); -+ /* Fall through */ -+ rv.code = RC_FAIL; -+ } else { -+ ASN_DEBUG("Failed decoding %s of %s (SET OF)", -+ elm->type->name, td->name); -+ } -+ if(ptr) ASN_STRUCT_FREE(*elm->type, ptr); -+ return rv; -+ } -+ -+ nelems = -1; /* Allow uper_get_length() */ -+ } while(repeat); -+ -+ ASN_DEBUG("Decoded %s as SET OF", td->name); -+ -+ rv.code = RC_OK; -+ rv.consumed = 0; -+ return rv; -+} -Index: skeletons/UTCTime.c -=================================================================== ---- skeletons/UTCTime.c (revision 1410) -+++ skeletons/UTCTime.c (working copy) -@@ -40,6 +40,8 @@ - UTCTime_encode_xer, - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_UTCTime_tags, - sizeof(asn_DEF_UTCTime_tags) -Index: skeletons/constr_SET_OF.h -=================================================================== ---- skeletons/constr_SET_OF.h (revision 1410) -+++ skeletons/constr_SET_OF.h (working copy) -@@ -34,6 +34,8 @@ - xer_type_encoder_f SET_OF_encode_xer; - per_type_decoder_f SET_OF_decode_uper; - per_type_encoder_f SET_OF_encode_uper; -+per_type_decoder_f SET_OF_decode_aper; -+per_type_encoder_f SET_OF_encode_aper; - - #ifdef __cplusplus - } -Index: skeletons/VideotexString.c -=================================================================== ---- skeletons/VideotexString.c (revision 1410) -+++ skeletons/VideotexString.c (working copy) -@@ -24,6 +24,8 @@ - OCTET_STRING_encode_xer, - OCTET_STRING_decode_uper, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_VideotexString_tags, - sizeof(asn_DEF_VideotexString_tags) -Index: skeletons/RELATIVE-OID.c -=================================================================== ---- skeletons/RELATIVE-OID.c (revision 1410) -+++ skeletons/RELATIVE-OID.c (working copy) -@@ -28,6 +28,8 @@ - RELATIVE_OID_encode_xer, - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_RELATIVE_OID_tags, - sizeof(asn_DEF_RELATIVE_OID_tags) -Index: skeletons/ANY.c -=================================================================== ---- skeletons/ANY.c (revision 1410) -+++ skeletons/ANY.c (working copy) -@@ -21,7 +21,10 @@ - OCTET_STRING_encode_der, - OCTET_STRING_decode_xer_hex, - ANY_encode_xer, -- 0, 0, -+ OCTET_STRING_decode_uper, -+ OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - 0, 0, 0, 0, - 0, /* No PER visible constraints */ -@@ -87,6 +90,37 @@ - return 0; - } - -+int -+ANY_fromType_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr) { -+ uint8_t *buffer = NULL; -+ ssize_t erval; -+ -+ if(!st || !td) { -+ errno = EINVAL; -+ return -1; -+ } -+ -+ if(!sptr) { -+ if(st->buf) FREEMEM(st->buf); -+ st->size = 0; -+ return 0; -+ } -+ -+ erval = aper_encode_to_new_buffer(td, td->per_constraints, sptr, (void**)&buffer); -+ -+ if(erval == -1) { -+ if(buffer) FREEMEM(buffer); -+ return -1; -+ } -+ assert((size_t)erval > 0); -+ -+ if(st->buf) FREEMEM(st->buf); -+ st->buf = buffer; -+ st->size = erval; -+ -+ return 0; -+} -+ - ANY_t * - ANY_new_fromType(asn_TYPE_descriptor_t *td, void *sptr) { - ANY_t tmp; -@@ -111,6 +145,30 @@ - } - } - -+ANY_t * -+ANY_new_fromType_aper(asn_TYPE_descriptor_t *td, void *sptr) { -+ ANY_t tmp; -+ ANY_t *st; -+ -+ if(!td || !sptr) { -+ errno = EINVAL; -+ return 0; -+ } -+ -+ memset(&tmp, 0, sizeof(tmp)); -+ -+ if(ANY_fromType_aper(&tmp, td, sptr)) return 0; -+ -+ st = (ANY_t *)CALLOC(1, sizeof(ANY_t)); -+ if(st) { -+ *st = tmp; -+ return st; -+ } else { -+ FREEMEM(tmp.buf); -+ return 0; -+ } -+} -+ - int - ANY_to_type(ANY_t *st, asn_TYPE_descriptor_t *td, void **struct_ptr) { - asn_dec_rval_t rval; -@@ -138,6 +196,33 @@ - } - } - -+int -+ANY_to_type_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void **struct_ptr) { -+ asn_dec_rval_t rval; -+ void *newst = 0; -+ -+ if(!st || !td || !struct_ptr) { -+ errno = EINVAL; -+ return -1; -+ } -+ -+ if(st->buf == 0) { -+ /* Nothing to convert, make it empty. */ -+ *struct_ptr = (void *)0; -+ return 0; -+ } -+ -+ rval = aper_decode(0, td, (void **)&newst, st->buf, st->size, 0, 0); -+ if(rval.code == RC_OK) { -+ *struct_ptr = newst; -+ return 0; -+ } else { -+ /* Remove possibly partially decoded data. */ -+ ASN_STRUCT_FREE(*td, newst); -+ return -1; -+ } -+} -+ - static int ANY__consume_bytes(const void *buffer, size_t size, void *key) { - struct _callback_arg *arg = (struct _callback_arg *)key; - -Index: skeletons/ANY.h -=================================================================== ---- skeletons/ANY.h (revision 1410) -+++ skeletons/ANY.h (working copy) -@@ -32,10 +32,13 @@ - - /* Convert another ASN.1 type into the ANY. This implies DER encoding. */ - int ANY_fromType(ANY_t *, asn_TYPE_descriptor_t *td, void *struct_ptr); -+int ANY_fromType_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr); - ANY_t *ANY_new_fromType(asn_TYPE_descriptor_t *td, void *struct_ptr); -+ANY_t *ANY_new_fromType_aper(asn_TYPE_descriptor_t *td, void *sptr); - - /* Convert the contents of the ANY type into the specified type. */ - int ANY_to_type(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr); -+int ANY_to_type_aper(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr); - - #define ANY_fromBuf(s, buf, size) OCTET_STRING_fromBuf((s), (buf), (size)) - #define ANY_new_fromBuf(buf, size) OCTET_STRING_new_fromBuf( \ -Index: skeletons/UniversalString.c -=================================================================== ---- skeletons/UniversalString.c (revision 1410) -+++ skeletons/UniversalString.c (working copy) -@@ -35,6 +35,8 @@ - UniversalString_encode_xer, /* Convert into UTF-8 */ - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_UniversalString_tags, - sizeof(asn_DEF_UniversalString_tags) -Index: skeletons/BIT_STRING.c -=================================================================== ---- skeletons/BIT_STRING.c (revision 1410) -+++ skeletons/BIT_STRING.c (working copy) -@@ -29,6 +29,8 @@ - BIT_STRING_encode_xer, - OCTET_STRING_decode_uper, /* Unaligned PER decoder */ - OCTET_STRING_encode_uper, /* Unaligned PER encoder */ -+ OCTET_STRING_decode_aper, /* Aligned PER decoder */ -+ OCTET_STRING_encode_aper, /* Aligned PER encoder */ - 0, /* Use generic outmost tag fetcher */ - asn_DEF_BIT_STRING_tags, - sizeof(asn_DEF_BIT_STRING_tags) -Index: skeletons/GeneralString.c -=================================================================== ---- skeletons/GeneralString.c (revision 1410) -+++ skeletons/GeneralString.c (working copy) -@@ -24,6 +24,8 @@ - OCTET_STRING_encode_xer, - OCTET_STRING_decode_uper, /* Implemented in terms of OCTET STRING */ - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_GeneralString_tags, - sizeof(asn_DEF_GeneralString_tags) -Index: skeletons/IA5String.c -=================================================================== ---- skeletons/IA5String.c (revision 1410) -+++ skeletons/IA5String.c (working copy) -@@ -29,6 +29,8 @@ - OCTET_STRING_encode_xer_utf8, - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_IA5String_tags, - sizeof(asn_DEF_IA5String_tags) -Index: skeletons/ObjectDescriptor.c -=================================================================== ---- skeletons/ObjectDescriptor.c (revision 1410) -+++ skeletons/ObjectDescriptor.c (working copy) -@@ -24,6 +24,8 @@ - OCTET_STRING_encode_xer_utf8, - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_ObjectDescriptor_tags, - sizeof(asn_DEF_ObjectDescriptor_tags) -Index: skeletons/GeneralizedTime.c -=================================================================== ---- skeletons/GeneralizedTime.c (revision 1410) -+++ skeletons/GeneralizedTime.c (working copy) -@@ -167,6 +167,8 @@ - GeneralizedTime_encode_xer, - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_GeneralizedTime_tags, - sizeof(asn_DEF_GeneralizedTime_tags) -Index: skeletons/OBJECT_IDENTIFIER.c -=================================================================== ---- skeletons/OBJECT_IDENTIFIER.c (revision 1410) -+++ skeletons/OBJECT_IDENTIFIER.c (working copy) -@@ -26,6 +26,8 @@ - OBJECT_IDENTIFIER_encode_xer, - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_OBJECT_IDENTIFIER_tags, - sizeof(asn_DEF_OBJECT_IDENTIFIER_tags) -Index: skeletons/NULL.c -=================================================================== ---- skeletons/NULL.c (revision 1410) -+++ skeletons/NULL.c (working copy) -@@ -25,6 +25,8 @@ - NULL_encode_xer, - NULL_decode_uper, /* Unaligned PER decoder */ - NULL_encode_uper, /* Unaligned PER encoder */ -+ NULL_decode_aper, /* Aligned PER decoder */ -+ NULL_encode_aper, /* Aligned PER encoder */ - 0, /* Use generic outmost tag fetcher */ - asn_DEF_NULL_tags, - sizeof(asn_DEF_NULL_tags) / sizeof(asn_DEF_NULL_tags[0]), -@@ -132,6 +134,34 @@ - return rv; - } - -+asn_dec_rval_t -+NULL_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { -+ asn_dec_rval_t rv; -+ -+ (void)opt_codec_ctx; -+ (void)td; -+ (void)constraints; -+ (void)pd; -+ -+ if(!*sptr) { -+ *sptr = MALLOC(sizeof(NULL_t)); -+ if(*sptr) { -+ *(NULL_t *)*sptr = 0; -+ } else { -+ _ASN_DECODE_FAILED; -+ } -+ } -+ -+ /* -+ * NULL type does not have content octets. -+ */ -+ -+ rv.code = RC_OK; -+ rv.consumed = 0; -+ return rv; -+} -+ - asn_enc_rval_t - NULL_encode_uper(asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, - void *sptr, asn_per_outp_t *po) { -@@ -145,3 +175,17 @@ - er.encoded = 0; - _ASN_ENCODED_OK(er); - } -+ -+asn_enc_rval_t -+NULL_encode_aper(asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, -+ void *sptr, asn_per_outp_t *po) { -+ asn_enc_rval_t er; -+ -+ (void)td; -+ (void)constraints; -+ (void)sptr; -+ (void)po; -+ -+ er.encoded = 0; -+ _ASN_ENCODED_OK(er); -+} -Index: skeletons/constr_TYPE.h -=================================================================== ---- skeletons/constr_TYPE.h (revision 1410) -+++ skeletons/constr_TYPE.h (working copy) -@@ -99,6 +99,8 @@ - xer_type_encoder_f *xer_encoder; /* [Canonical] XER encoder */ - per_type_decoder_f *uper_decoder; /* Unaligned PER decoder */ - per_type_encoder_f *uper_encoder; /* Unaligned PER encoder */ -+ per_type_decoder_f *aper_decoder; /* Aligned PER decoder */ -+ per_type_encoder_f *aper_encoder; /* Aligned PER encoder */ - - /*********************************************************************** - * Internally useful members. Not to be used by applications directly. * -Index: skeletons/NULL.h -=================================================================== ---- skeletons/NULL.h (revision 1410) -+++ skeletons/NULL.h (working copy) -@@ -25,6 +25,8 @@ - xer_type_encoder_f NULL_encode_xer; - per_type_decoder_f NULL_decode_uper; - per_type_encoder_f NULL_encode_uper; -+per_type_decoder_f NULL_decode_aper; -+per_type_encoder_f NULL_encode_aper; - - #ifdef __cplusplus - } -Index: skeletons/constr_CHOICE.c -=================================================================== ---- skeletons/constr_CHOICE.c (revision 1410) -+++ skeletons/constr_CHOICE.c (working copy) -@@ -904,7 +904,88 @@ - elm->name, td->name, rv.code); - return rv; - } -- -+ -+asn_dec_rval_t -+CHOICE_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { -+ asn_CHOICE_specifics_t *specs = (asn_CHOICE_specifics_t *)td->specifics; -+ asn_dec_rval_t rv; -+ asn_per_constraint_t *ct; -+ asn_TYPE_member_t *elm; /* CHOICE's element */ -+ void *memb_ptr; -+ void **memb_ptr2; -+ void *st = *sptr; -+ int value; -+ -+ if(_ASN_STACK_OVERFLOW_CHECK(opt_codec_ctx)) -+ _ASN_DECODE_FAILED; -+ -+ /* -+ * Create the target structure if it is not present already. -+ */ -+ if(!st) { -+ st = *sptr = CALLOC(1, specs->struct_size); -+ if(!st) _ASN_DECODE_FAILED; -+ } -+ -+ if(constraints) ct = &constraints->value; -+ else if(td->per_constraints) ct = &td->per_constraints->value; -+ else ct = 0; -+ -+ if(ct && ct->flags & APC_EXTENSIBLE) { -+ value = per_get_few_bits(pd, 1); -+ if(value < 0) _ASN_DECODE_STARVED; -+ if(value) ct = 0; /* Not restricted */ -+ } -+ -+ if(ct && ct->range_bits >= 0) { -+ value = per_get_few_bits(pd, ct->range_bits); -+ if(value < 0) _ASN_DECODE_STARVED; -+ ASN_DEBUG("CHOICE %s got index %d in range %d", -+ td->name, value, ct->range_bits); -+ if(value > ct->upper_bound) -+ _ASN_DECODE_FAILED; -+ } else { -+ if(specs->ext_start == -1) -+ _ASN_DECODE_FAILED; -+ value = uper_get_nsnnwn(pd); -+ if(value < 0) _ASN_DECODE_STARVED; -+ value += specs->ext_start; -+ if(value >= td->elements_count) -+ _ASN_DECODE_FAILED; -+ } -+ -+ /* Adjust if canonical order is different from natural order */ -+ if(specs->canonical_order) -+ value = specs->canonical_order[value]; -+ -+ /* Set presence to be able to free it later */ -+ _set_present_idx(st, specs->pres_offset, specs->pres_size, value + 1); -+ -+ elm = &td->elements[value]; -+ if(elm->flags & ATF_POINTER) { -+ /* Member is a pointer to another structure */ -+ memb_ptr2 = (void **)((char *)st + elm->memb_offset); -+ } else { -+ memb_ptr = (char *)st + elm->memb_offset; -+ memb_ptr2 = &memb_ptr; -+ } -+ ASN_DEBUG("Discovered CHOICE %s encodes %s", td->name, elm->name); -+ -+ if(ct && ct->range_bits >= 0) { -+ rv = elm->type->aper_decoder(opt_codec_ctx, elm->type, -+ elm->per_constraints, memb_ptr2, pd); -+ } else { -+ rv = uper_open_type_get(opt_codec_ctx, elm->type, -+ elm->per_constraints, memb_ptr2, pd); -+ } -+ -+ if(rv.code != RC_OK) -+ ASN_DEBUG("Failed to decode %s in %s (CHOICE) %d", -+ elm->name, td->name, rv.code); -+ return rv; -+} -+ - asn_enc_rval_t - CHOICE_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -@@ -916,7 +997,7 @@ - - if(!sptr) _ASN_ENCODE_FAILED; - -- ASN_DEBUG("Encoding %s as CHOICE", td->name); -+ ASN_DEBUG("Encoding %s as CHOICE using UPER", td->name); - - if(constraints) ct = &constraints->value; - else if(td->per_constraints) ct = &td->per_constraints->value; -@@ -984,8 +1065,88 @@ - _ASN_ENCODED_OK(rval); - } - } -- - -+asn_enc_rval_t -+CHOICE_encode_aper(asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -+ asn_CHOICE_specifics_t *specs = (asn_CHOICE_specifics_t *)td->specifics; -+ asn_TYPE_member_t *elm; /* CHOICE's element */ -+ asn_per_constraint_t *ct; -+ void *memb_ptr; -+ int present; -+ -+ if(!sptr) _ASN_ENCODE_FAILED; -+ -+ ASN_DEBUG("Encoding %s as CHOICE using ALIGNED PER", td->name); -+ -+ if(constraints) ct = &constraints->value; -+ else if(td->per_constraints) ct = &td->per_constraints->value; -+ else ct = 0; -+ -+ present = _fetch_present_idx(sptr, -+ specs->pres_offset, specs->pres_size); -+ -+ /* -+ * If the structure was not initialized properly, it cannot be encoded: -+ * can't deduce what to encode in the choice type. -+ */ -+ if(present <= 0 || present > td->elements_count) -+ _ASN_ENCODE_FAILED; -+ else -+ present--; -+ -+ /* Adjust if canonical order is different from natural order */ -+ if(specs->canonical_order) -+ present = specs->canonical_order[present]; -+ -+ ASN_DEBUG("Encoding %s CHOICE element %d", td->name, present); -+ -+ if(ct && ct->range_bits >= 0) { -+ if(present < ct->lower_bound -+ || present > ct->upper_bound) { -+ if(ct->flags & APC_EXTENSIBLE) { -+ if(per_put_few_bits(po, 1, 1)) -+ _ASN_ENCODE_FAILED; -+ } else { -+ _ASN_ENCODE_FAILED; -+ } -+ ct = 0; -+ } -+ } -+ if(ct && ct->flags & APC_EXTENSIBLE) { -+ if(per_put_few_bits(po, 0, 1)) -+ _ASN_ENCODE_FAILED; -+ } -+ -+ elm = &td->elements[present]; -+ if(elm->flags & ATF_POINTER) { -+ /* Member is a pointer to another structure */ -+ memb_ptr = *(void **)((char *)sptr + elm->memb_offset); -+ if(!memb_ptr) _ASN_ENCODE_FAILED; -+ } else { -+ memb_ptr = (char *)sptr + elm->memb_offset; -+ } -+ -+ if(ct && ct->range_bits >= 0) { -+ if(per_put_few_bits(po, present, ct->range_bits)) -+ _ASN_ENCODE_FAILED; -+ -+ return elm->type->aper_encoder(elm->type, elm->per_constraints, -+ memb_ptr, po); -+ } else { -+ asn_enc_rval_t rval; -+ if(specs->ext_start == -1) -+ _ASN_ENCODE_FAILED; -+ if(aper_put_nsnnwn(po, ct->range_bits, present - specs->ext_start)) -+ _ASN_ENCODE_FAILED; -+ if(aper_open_type_put(elm->type, elm->per_constraints, -+ memb_ptr, po)) -+ _ASN_ENCODE_FAILED; -+ rval.encoded = 0; -+ _ASN_ENCODED_OK(rval); -+ } -+} -+ - int - CHOICE_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, - asn_app_consume_bytes_f *cb, void *app_key) { -Index: skeletons/per_encoder.c -=================================================================== ---- skeletons/per_encoder.c (revision 1410) -+++ skeletons/per_encoder.c (working copy) -@@ -4,6 +4,7 @@ - - static asn_enc_rval_t uper_encode_internal(asn_TYPE_descriptor_t *td, asn_per_constraints_t *, void *sptr, asn_app_consume_bytes_f *cb, void *app_key); - -+static asn_enc_rval_t aper_encode_internal(asn_TYPE_descriptor_t *td, asn_per_constraints_t *, void *sptr, asn_app_consume_bytes_f *cb, void *app_key); - asn_enc_rval_t - uper_encode(asn_TYPE_descriptor_t *td, void *sptr, asn_app_consume_bytes_f *cb, void *app_key) { - return uper_encode_internal(td, 0, sptr, cb, app_key); -@@ -41,6 +42,18 @@ - return uper_encode_internal(td, 0, sptr, encode_to_buffer_cb, &key); - } - -+asn_enc_rval_t -+aper_encode_to_buffer(asn_TYPE_descriptor_t *td, void *sptr, void *buffer, size_t buffer_size) { -+ enc_to_buf_arg key; -+ -+ key.buffer = buffer; -+ key.left = buffer_size; -+ -+ if(td) ASN_DEBUG("Encoding \"%s\" using ALIGNED PER", td->name); -+ -+ return aper_encode_internal(td, 0, sptr, encode_to_buffer_cb, &key); -+} -+ - typedef struct enc_dyn_arg { - void *buffer; - size_t length; -@@ -93,6 +106,35 @@ - } - } - -+ssize_t -+aper_encode_to_new_buffer(asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, void *sptr, void **buffer_r) { -+ asn_enc_rval_t er; -+ enc_dyn_arg key; -+ -+ memset(&key, 0, sizeof(key)); -+ -+ er = aper_encode_internal(td, constraints, sptr, encode_dyn_cb, &key); -+ switch(er.encoded) { -+ case -1: -+ FREEMEM(key.buffer); -+ return -1; -+ case 0: -+ FREEMEM(key.buffer); -+ key.buffer = MALLOC(1); -+ if(key.buffer) { -+ *(char *)key.buffer = '\0'; -+ *buffer_r = key.buffer; -+ return 1; -+ } else { -+ return -1; -+ } -+ default: -+ *buffer_r = key.buffer; -+ ASN_DEBUG("Complete encoded in %d bits", er.encoded); -+ return ((er.encoded + 7) >> 3); -+ } -+} -+ - /* - * Internally useful functions. - */ -@@ -115,6 +157,23 @@ - return po->outper(po->tmpspace, buf - po->tmpspace, po->op_key); - } - -+static int -+_aper_encode_flush_outp(asn_per_outp_t *po) { -+ uint8_t *buf; -+ -+ if(po->nboff == 0 && po->buffer == po->tmpspace) -+ return 0; -+ -+ buf = po->buffer + (po->nboff >> 3); -+ /* Make sure we account for the last, partially filled */ -+ if(po->nboff & 0x07) { -+ buf[0] &= 0xff << (8 - (po->nboff & 0x07)); -+ buf++; -+ } -+ -+ return po->outper(po->tmpspace, buf - po->tmpspace, po->op_key); -+} -+ - static asn_enc_rval_t - uper_encode_internal(asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, void *sptr, asn_app_consume_bytes_f *cb, void *app_key) { - asn_per_outp_t po; -@@ -149,3 +208,37 @@ - return er; - } - -+static asn_enc_rval_t -+aper_encode_internal(asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, void *sptr, asn_app_consume_bytes_f *cb, void *app_key) { -+ asn_per_outp_t po; -+ asn_enc_rval_t er; -+ -+ /* -+ * Invoke type-specific encoder. -+ */ -+ if(!td || !td->aper_encoder) -+ _ASN_ENCODE_FAILED; /* PER is not compiled in */ -+ -+ po.buffer = po.tmpspace; -+ po.nboff = 0; -+ po.nbits = 8 * sizeof(po.tmpspace); -+ po.outper = cb; -+ po.op_key = app_key; -+ po.flushed_bytes = 0; -+ -+ er = td->aper_encoder(td, constraints, sptr, &po); -+ if(er.encoded != -1) { -+ size_t bits_to_flush; -+ -+ bits_to_flush = ((po.buffer - po.tmpspace) << 3) + po.nboff; -+ -+ /* Set number of bits encoded to a firm value */ -+ er.encoded = (po.flushed_bytes << 3) + bits_to_flush; -+ -+ if(_aper_encode_flush_outp(&po)) -+ _ASN_ENCODE_FAILED; -+ } -+ -+ return er; -+} -+ -Index: skeletons/constr_CHOICE.h -=================================================================== ---- skeletons/constr_CHOICE.h (revision 1410) -+++ skeletons/constr_CHOICE.h (working copy) -@@ -48,6 +48,8 @@ - xer_type_encoder_f CHOICE_encode_xer; - per_type_decoder_f CHOICE_decode_uper; - per_type_encoder_f CHOICE_encode_uper; -+per_type_decoder_f CHOICE_decode_aper; -+per_type_encoder_f CHOICE_encode_aper; - asn_outmost_tag_f CHOICE_outmost_tag; - - #ifdef __cplusplus -Index: skeletons/NativeReal.c -=================================================================== ---- skeletons/NativeReal.c (revision 1410) -+++ skeletons/NativeReal.c (working copy) -@@ -32,6 +32,8 @@ - NativeReal_encode_xer, - NativeReal_decode_uper, - NativeReal_encode_uper, -+ NativeReal_decode_aper, -+ NativeReal_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_NativeReal_tags, - sizeof(asn_DEF_NativeReal_tags) / sizeof(asn_DEF_NativeReal_tags[0]), -@@ -199,6 +201,43 @@ - return rval; - } - -+asn_dec_rval_t -+NativeReal_decode_aper(asn_codec_ctx_t *opt_codec_ctx, -+ asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, -+ void **dbl_ptr, asn_per_data_t *pd) { -+ double *Dbl = (double *)*dbl_ptr; -+ asn_dec_rval_t rval; -+ REAL_t tmp; -+ void *ptmp = &tmp; -+ int ret; -+ -+ (void)constraints; -+ -+ /* -+ * If the structure is not there, allocate it. -+ */ -+ if(Dbl == NULL) { -+ *dbl_ptr = CALLOC(1, sizeof(*Dbl)); -+ Dbl = (double *)*dbl_ptr; -+ if(Dbl == NULL) -+ _ASN_DECODE_FAILED; -+ } -+ -+ memset(&tmp, 0, sizeof(tmp)); -+ rval = OCTET_STRING_decode_aper(opt_codec_ctx, td, NULL, -+ &ptmp, pd); -+ if(rval.code != RC_OK) { -+ ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_REAL, &tmp); -+ return rval; -+ } -+ -+ ret = asn_REAL2double(&tmp, Dbl); -+ ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_REAL, &tmp); -+ if(ret) _ASN_DECODE_FAILED; -+ -+ return rval; -+} -+ - /* - * Encode the NativeReal using the OCTET STRING PER encoder. - */ -@@ -228,6 +267,32 @@ - return erval; - } - -+asn_enc_rval_t -+NativeReal_encode_aper(asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -+ double Dbl = *(const double *)sptr; -+ asn_enc_rval_t erval; -+ REAL_t tmp; -+ -+ (void)constraints; -+ -+ /* Prepare a temporary clean structure */ -+ memset(&tmp, 0, sizeof(tmp)); -+ -+ if(asn_double2REAL(&tmp, Dbl)) -+ _ASN_ENCODE_FAILED; -+ -+ /* Encode a DER REAL */ -+ erval = OCTET_STRING_encode_aper(td, NULL, &tmp, po); -+ if(erval.encoded == -1) -+ erval.structure_ptr = sptr; -+ -+ /* Free possibly allocated members of the temporary structure */ -+ ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_REAL, &tmp); -+ -+ return erval; -+} -+ - /* - * Decode the chunk of XML text encoding REAL. - */ -Index: skeletons/per_encoder.h -=================================================================== ---- skeletons/per_encoder.h (revision 1410) -+++ skeletons/per_encoder.h (working copy) -@@ -38,6 +38,12 @@ - size_t buffer_size /* Initial buffer size (max) */ - ); - -+asn_enc_rval_t aper_encode_to_buffer( -+ struct asn_TYPE_descriptor_s *type_descriptor, -+ void *struct_ptr, /* Structure to be encoded */ -+ void *buffer, /* Pre-allocated buffer */ -+ size_t buffer_size /* Initial buffer size (max) */ -+); - /* - * A variant of uper_encode_to_buffer() which allocates buffer itself. - * Returns the number of bytes in the buffer or -1 in case of failure. -@@ -52,6 +58,11 @@ - void **buffer_r /* Buffer allocated and returned */ - ); - -+ssize_t -+aper_encode_to_new_buffer(struct asn_TYPE_descriptor_s *td, -+ asn_per_constraints_t *constraints, -+ void *sptr, -+ void **buffer_r); - /* - * Type of the generic PER encoder function. - */ -Index: skeletons/NativeReal.h -=================================================================== ---- skeletons/NativeReal.h (revision 1410) -+++ skeletons/NativeReal.h (working copy) -@@ -27,6 +27,8 @@ - xer_type_encoder_f NativeReal_encode_xer; - per_type_decoder_f NativeReal_decode_uper; - per_type_encoder_f NativeReal_encode_uper; -+per_type_decoder_f NativeReal_decode_aper; -+per_type_encoder_f NativeReal_encode_aper; - - #ifdef __cplusplus - } -Index: skeletons/NativeEnumerated.c -=================================================================== ---- skeletons/NativeEnumerated.c (revision 1410) -+++ skeletons/NativeEnumerated.c (working copy) -@@ -30,6 +30,8 @@ - NativeEnumerated_encode_xer, - NativeEnumerated_decode_uper, - NativeEnumerated_encode_uper, -+ NativeEnumerated_decode_aper, -+ NativeEnumerated_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_NativeEnumerated_tags, - sizeof(asn_DEF_NativeEnumerated_tags) / sizeof(asn_DEF_NativeEnumerated_tags[0]), -@@ -125,6 +127,61 @@ - return rval; - } - -+asn_dec_rval_t -+NativeEnumerated_decode_aper(asn_codec_ctx_t *opt_codec_ctx, -+ asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, -+ void **sptr, asn_per_data_t *pd) { -+ asn_INTEGER_specifics_t *specs = (asn_INTEGER_specifics_t *)td->specifics; -+ asn_dec_rval_t rval = { RC_OK, 0 }; -+ long *native = (long *)*sptr; -+ asn_per_constraint_t *ct; -+ long value; -+ -+ (void)opt_codec_ctx; -+ -+ if(constraints) ct = &constraints->value; -+ else if(td->per_constraints) ct = &td->per_constraints->value; -+ else _ASN_DECODE_FAILED; /* Mandatory! */ -+ if(!specs) _ASN_DECODE_FAILED; -+ -+ if(!native) { -+ native = (long *)(*sptr = CALLOC(1, sizeof(*native))); -+ if(!native) _ASN_DECODE_FAILED; -+ } -+ -+ ASN_DEBUG("Decoding %s as NativeEnumerated", td->name); -+ -+ if(ct->flags & APC_EXTENSIBLE) { -+ int inext = per_get_few_bits(pd, 1); -+ if(inext < 0) _ASN_DECODE_STARVED; -+ if(inext) ct = 0; -+ } -+ -+ if(ct && ct->range_bits >= 0) { -+ value = per_get_few_bits(pd, ct->range_bits); -+ if(value < 0) _ASN_DECODE_STARVED; -+ if(value >= (specs->extension -+ ? specs->extension - 1 : specs->map_count)) -+ _ASN_DECODE_FAILED; -+ } else { -+ if(!specs->extension) -+ _ASN_DECODE_FAILED; -+ /* -+ * X.691, #10.6: normally small non-negative whole number; -+ */ -+ value = uper_get_nsnnwn(pd); -+ if(value < 0) _ASN_DECODE_STARVED; -+ value += specs->extension - 1; -+ if(value >= specs->map_count) -+ _ASN_DECODE_FAILED; -+ } -+ -+ *native = specs->value2enum[value].nat_value; -+ ASN_DEBUG("Decoded %s = %ld", td->name, *native); -+ -+ return rval; -+} -+ - static int - NativeEnumerated__compar_value2enum(const void *ap, const void *bp) { - const asn_INTEGER_enum_map_t *a = ap; -@@ -205,3 +262,72 @@ - _ASN_ENCODED_OK(er); - } - -+asn_enc_rval_t -+NativeEnumerated_encode_aper(asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -+ asn_INTEGER_specifics_t *specs = (asn_INTEGER_specifics_t *)td->specifics; -+ asn_enc_rval_t er; -+ long native, value; -+ asn_per_constraint_t *ct; -+ int inext = 0; -+ asn_INTEGER_enum_map_t key; -+ asn_INTEGER_enum_map_t *kf; -+ -+ if(!sptr) _ASN_ENCODE_FAILED; -+ if(!specs) _ASN_ENCODE_FAILED; -+ -+ if(constraints) ct = &constraints->value; -+ else if(td->per_constraints) ct = &td->per_constraints->value; -+ else _ASN_ENCODE_FAILED; /* Mandatory! */ -+ -+ ASN_DEBUG("Encoding %s as NativeEnumerated", td->name); -+ -+ er.encoded = 0; -+ -+ native = *(long *)sptr; -+ if(native < 0) _ASN_ENCODE_FAILED; -+ -+ key.nat_value = native; -+ kf = bsearch(&key, specs->value2enum, specs->map_count, -+ sizeof(key), NativeEnumerated__compar_value2enum); -+ if(!kf) { -+ ASN_DEBUG("No element corresponds to %ld", native); -+ _ASN_ENCODE_FAILED; -+ } -+ value = kf - specs->value2enum; -+ -+ if(ct->range_bits >= 0) { -+ int cmpWith = specs->extension -+ ? specs->extension - 1 : specs->map_count; -+ if(value >= cmpWith) -+ inext = 1; -+ } -+ if(ct->flags & APC_EXTENSIBLE) { -+ if(per_put_few_bits(po, inext, 1)) -+ _ASN_ENCODE_FAILED; -+ if(inext) ct = 0; -+ } else if(inext) { -+ _ASN_ENCODE_FAILED; -+ } -+ -+ if(ct && ct->range_bits >= 0) { -+ if(per_put_few_bits(po, value, ct->range_bits)) -+ _ASN_ENCODE_FAILED; -+ _ASN_ENCODED_OK(er); -+ } -+ -+ if(!specs->extension) -+ _ASN_ENCODE_FAILED; -+ -+ /* -+ * X.691, #10.6: normally small non-negative whole number; -+ */ -+ ASN_DEBUG("value = %ld, ext = %d, inext = %d, res = %ld", -+ value, specs->extension, inext, -+ value - (inext ? (specs->extension - 1) : 0)); -+ if(uper_put_nsnnwn(po, value - (inext ? (specs->extension - 1) : 0))) -+ _ASN_ENCODE_FAILED; -+ -+ _ASN_ENCODED_OK(er); -+} -+ -Index: skeletons/NativeInteger.c -=================================================================== ---- skeletons/NativeInteger.c (revision 1410) -+++ skeletons/NativeInteger.c (working copy) -@@ -31,6 +31,8 @@ - NativeInteger_encode_xer, - NativeInteger_decode_uper, /* Unaligned PER decoder */ - NativeInteger_encode_uper, /* Unaligned PER encoder */ -+ NativeInteger_decode_aper, /* Aligned PER decoder */ -+ NativeInteger_encode_aper, /* Aligned PER encoder */ - 0, /* Use generic outmost tag fetcher */ - asn_DEF_NativeInteger_tags, - sizeof(asn_DEF_NativeInteger_tags) / sizeof(asn_DEF_NativeInteger_tags[0]), -@@ -107,7 +109,7 @@ - tmp.size = length; - - if((specs&&specs->field_unsigned) -- ? asn_INTEGER2ulong(&tmp, &l) -+ ? asn_INTEGER2ulong(&tmp, (unsigned long *)&l) - : asn_INTEGER2long(&tmp, &l)) { - rval.code = RC_FAIL; - rval.consumed = 0; -@@ -187,7 +189,7 @@ - if(rval.code == RC_OK) { - long l; - if((specs&&specs->field_unsigned) -- ? asn_INTEGER2ulong(&st, &l) -+ ? asn_INTEGER2ulong(&st, (unsigned long *)&l) - : asn_INTEGER2long(&st, &l)) { - rval.code = RC_FAIL; - rval.consumed = 0; -@@ -255,7 +257,7 @@ - &tmpintptr, pd); - if(rval.code == RC_OK) { - if((specs&&specs->field_unsigned) -- ? asn_INTEGER2ulong(&tmpint, native) -+ ? asn_INTEGER2ulong(&tmpint, (unsigned long *)native) - : asn_INTEGER2long(&tmpint, native)) - rval.code = RC_FAIL; - else -@@ -267,6 +269,42 @@ - return rval; - } - -+asn_dec_rval_t -+NativeInteger_decode_aper(asn_codec_ctx_t *opt_codec_ctx, -+ asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { -+ -+ asn_INTEGER_specifics_t *specs=(asn_INTEGER_specifics_t *)td->specifics; -+ asn_dec_rval_t rval; -+ long *native = (long *)*sptr; -+ INTEGER_t tmpint; -+ void *tmpintptr = &tmpint; -+ -+ (void)opt_codec_ctx; -+ ASN_DEBUG("Decoding NativeInteger %s (APER)", td->name); -+ -+ if(!native) { -+ native = (long *)(*sptr = CALLOC(1, sizeof(*native))); -+ if(!native) _ASN_DECODE_FAILED; -+ } -+ -+ memset(&tmpint, 0, sizeof tmpint); -+ rval = INTEGER_decode_aper(opt_codec_ctx, td, constraints, -+ &tmpintptr, pd); -+ if(rval.code == RC_OK) { -+ if((specs&&specs->field_unsigned) -+ ? asn_INTEGER2ulong(&tmpint, (unsigned long *)native) -+ : asn_INTEGER2long(&tmpint, native)) -+ rval.code = RC_FAIL; -+ else -+ ASN_DEBUG("NativeInteger %s got value %ld", -+ td->name, *native); -+ } -+ ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); -+ -+ return rval; -+} -+ - asn_enc_rval_t - NativeInteger_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -@@ -291,6 +329,32 @@ - return er; - } - -+asn_enc_rval_t -+NativeInteger_encode_aper( -+ asn_TYPE_descriptor_t *td, -+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -+ -+ asn_INTEGER_specifics_t *specs=(asn_INTEGER_specifics_t *)td->specifics; -+ asn_enc_rval_t er; -+ long native; -+ INTEGER_t tmpint; -+ -+ if(!sptr) _ASN_ENCODE_FAILED; -+ -+ native = *(long *)sptr; -+ -+ ASN_DEBUG("Encoding NativeInteger %s %ld (APER)", td->name, native); -+ -+ memset(&tmpint, 0, sizeof(tmpint)); -+ if((specs&&specs->field_unsigned) -+ ? asn_ulong2INTEGER(&tmpint, native) -+ : asn_long2INTEGER(&tmpint, native)) -+ _ASN_ENCODE_FAILED; -+ er = INTEGER_encode_aper(td, constraints, &tmpint, po); -+ ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); -+ return er; -+} -+ - /* - * INTEGER specific human-readable output. - */ -Index: skeletons/NativeEnumerated.h -=================================================================== ---- skeletons/NativeEnumerated.h (revision 1410) -+++ skeletons/NativeEnumerated.h (working copy) -@@ -24,6 +24,8 @@ - xer_type_encoder_f NativeEnumerated_encode_xer; - per_type_decoder_f NativeEnumerated_decode_uper; - per_type_encoder_f NativeEnumerated_encode_uper; -+per_type_decoder_f NativeEnumerated_decode_aper; -+per_type_encoder_f NativeEnumerated_encode_aper; - - #ifdef __cplusplus - } -Index: skeletons/PrintableString.c -=================================================================== ---- skeletons/PrintableString.c (revision 1410) -+++ skeletons/PrintableString.c (working copy) -@@ -59,6 +59,8 @@ - OCTET_STRING_encode_xer_utf8, - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_PrintableString_tags, - sizeof(asn_DEF_PrintableString_tags) -Index: skeletons/NativeInteger.h -=================================================================== ---- skeletons/NativeInteger.h (revision 1410) -+++ skeletons/NativeInteger.h (working copy) -@@ -29,6 +29,8 @@ - xer_type_encoder_f NativeInteger_encode_xer; - per_type_decoder_f NativeInteger_decode_uper; - per_type_encoder_f NativeInteger_encode_uper; -+per_type_decoder_f NativeInteger_decode_aper; -+per_type_encoder_f NativeInteger_encode_aper; - - #ifdef __cplusplus - } -Index: skeletons/per_opentype.c -=================================================================== ---- skeletons/per_opentype.c (revision 1410) -+++ skeletons/per_opentype.c (working copy) -@@ -53,6 +53,35 @@ - return 0; - } - -+int -+aper_open_type_put(asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) { -+ void *buf; -+ void *bptr; -+ ssize_t size; -+ size_t toGo; -+ -+ ASN_DEBUG("Open type put %s ...", td->name); -+ -+ size = aper_encode_to_new_buffer(td, constraints, sptr, &buf); -+ if(size <= 0) return -1; -+ -+ for(bptr = buf, toGo = size; toGo;) { -+ ssize_t maySave = aper_put_length(po, -1, toGo); -+ if(maySave < 0) break; -+ if(per_put_many_bits(po, bptr, maySave * 8)) break; -+ bptr = (char *)bptr + maySave; -+ toGo -= maySave; -+ } -+ -+ FREEMEM(buf); -+ if(toGo) return -1; -+ -+ ASN_DEBUG("Open type put %s of length %d + overhead (1byte?)", -+ td->name, size); -+ -+ return 0; -+} -+ - static asn_dec_rval_t - uper_open_type_get_simple(asn_codec_ctx_t *ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { -Index: skeletons/per_decoder.c -=================================================================== ---- skeletons/per_decoder.c (revision 1410) -+++ skeletons/per_decoder.c (working copy) -@@ -37,6 +37,35 @@ - } - - asn_dec_rval_t -+aper_decode_complete(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, void **sptr, const void *buffer, size_t size) { -+ asn_dec_rval_t rval; -+ -+ rval = aper_decode(opt_codec_ctx, td, sptr, buffer, size, 0, 0); -+ if(rval.consumed) { -+ /* -+ * We've always given 8-aligned data, -+ * so convert bits to integral bytes. -+ */ -+ rval.consumed += 7; -+ rval.consumed >>= 3; -+ } else if(rval.code == RC_OK) { -+ if(size) { -+ if(((uint8_t *)buffer)[0] == 0) { -+ rval.consumed = 1; /* 1 byte */ -+ } else { -+ ASN_DEBUG("Expecting single zeroed byte"); -+ rval.code = RC_FAIL; -+ } -+ } else { -+ /* Must contain at least 8 bits. */ -+ rval.code = RC_WMORE; -+ } -+ } -+ -+ return rval; -+} -+ -+asn_dec_rval_t - uper_decode(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, void **sptr, const void *buffer, size_t size, int skip_bits, int unused_bits) { - asn_codec_ctx_t s_codec_ctx; - asn_dec_rval_t rval; -@@ -91,3 +120,57 @@ - return rval; - } - -+asn_dec_rval_t -+aper_decode(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, void **sptr, const void *buffer, size_t size, int skip_bits, int unused_bits) { -+ asn_codec_ctx_t s_codec_ctx; -+ asn_dec_rval_t rval; -+ asn_per_data_t pd; -+ -+ if(skip_bits < 0 || skip_bits > 7 -+ || unused_bits < 0 || unused_bits > 7 -+ || (unused_bits > 0 && !size)) -+ _ASN_DECODE_FAILED; -+ -+ /* -+ * Stack checker requires that the codec context -+ * must be allocated on the stack. -+ */ -+ if(opt_codec_ctx) { -+ if(opt_codec_ctx->max_stack_size) { -+ s_codec_ctx = *opt_codec_ctx; -+ opt_codec_ctx = &s_codec_ctx; -+ } -+ } else { -+ /* If context is not given, be security-conscious anyway */ -+ memset(&s_codec_ctx, 0, sizeof(s_codec_ctx)); -+ s_codec_ctx.max_stack_size = _ASN_DEFAULT_STACK_MAX; -+ opt_codec_ctx = &s_codec_ctx; -+ } -+ -+ /* Fill in the position indicator */ -+ memset(&pd, 0, sizeof(pd)); -+ pd.buffer = (const uint8_t *)buffer; -+ pd.nboff = skip_bits; -+ pd.nbits = 8 * size - unused_bits; /* 8 is CHAR_BIT from <limits.h> */ -+ if(pd.nboff > pd.nbits) -+ _ASN_DECODE_FAILED; -+ -+ /* -+ * Invoke type-specific decoder. -+ */ -+ if(!td->aper_decoder) -+ _ASN_DECODE_FAILED; /* PER is not compiled in */ -+ rval = td->aper_decoder(opt_codec_ctx, td, 0, sptr, &pd); -+ if(rval.code == RC_OK) { -+ /* Return the number of consumed bits */ -+ rval.consumed = ((pd.buffer - (const uint8_t *)buffer) << 3) -+ + pd.nboff - skip_bits; -+ ASN_DEBUG("PER decoding consumed %d, counted %d", -+ rval.consumed, pd.moved); -+ assert(rval.consumed == pd.moved); -+ } else { -+ /* PER codec is not a restartable */ -+ rval.consumed = 0; -+ } -+ return rval; -+} -Index: skeletons/UTF8String.c -=================================================================== ---- skeletons/UTF8String.c (revision 1410) -+++ skeletons/UTF8String.c (working copy) -@@ -25,6 +25,8 @@ - OCTET_STRING_encode_xer_utf8, - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_UTF8String_tags, - sizeof(asn_DEF_UTF8String_tags) -Index: skeletons/per_opentype.h -=================================================================== ---- skeletons/per_opentype.h (revision 1410) -+++ skeletons/per_opentype.h (working copy) -@@ -15,6 +15,8 @@ - - int uper_open_type_put(asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po); - -+int aper_open_type_put(asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po); -+ - #ifdef __cplusplus - } - #endif -Index: skeletons/per_decoder.h -=================================================================== ---- skeletons/per_decoder.h (revision 1410) -+++ skeletons/per_decoder.h (working copy) -@@ -38,8 +38,30 @@ - int unused_bits /* Number of unused tailing bits, 0..7 */ - ); - -+/* -+ * Aligned PER decoder of a "complete encoding" as per X.691#10.1. -+ * On success, this call always returns (.consumed >= 1), as per X.691#10.1.3. -+ */ -+asn_dec_rval_t aper_decode_complete(struct asn_codec_ctx_s *opt_codec_ctx, -+ struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */ -+ void **struct_ptr, /* Pointer to a target structure's pointer */ -+ const void *buffer, /* Data to be decoded */ -+ size_t size /* Size of data buffer */ -+ ); - - /* -+ * Aligned PER decoder of any ASN.1 type. May be invoked by the application. -+ * WARNING: This call returns the number of BITS read from the stream. Beware. -+ */ -+asn_dec_rval_t aper_decode(struct asn_codec_ctx_s *opt_codec_ctx, -+ struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */ -+ void **struct_ptr, /* Pointer to a target structure's pointer */ -+ const void *buffer, /* Data to be decoded */ -+ size_t size, /* Size of data buffer */ -+ int skip_bits, /* Number of unused leading bits, 0..7 */ -+ int unused_bits /* Number of unused tailing bits, 0..7 */ -+ ); -+/* - * Type of the type-specific PER decoder function. - */ - typedef asn_dec_rval_t (per_type_decoder_f)(asn_codec_ctx_t *opt_codec_ctx, -Index: skeletons/ISO646String.c -=================================================================== ---- skeletons/ISO646String.c (revision 1410) -+++ skeletons/ISO646String.c (working copy) -@@ -29,6 +29,8 @@ - OCTET_STRING_encode_xer_utf8, - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_ISO646String_tags, - sizeof(asn_DEF_ISO646String_tags) -Index: skeletons/asn_internal.h -=================================================================== ---- skeletons/asn_internal.h (revision 1410) -+++ skeletons/asn_internal.h (working copy) -@@ -20,7 +20,7 @@ - #endif - - /* Environment version might be used to avoid running with the old library */ --#define ASN1C_ENVIRONMENT_VERSION 922 /* Compile-time version */ -+#define ASN1C_ENVIRONMENT_VERSION 923 /* Compile-time version */ - int get_asn1c_environment_version(void); /* Run-time version */ - - #define CALLOC(nmemb, size) calloc(nmemb, size) -@@ -40,13 +40,17 @@ - #else /* !ASN_THREAD_SAFE */ - int asn_debug_indent; - #endif /* ASN_THREAD_SAFE */ --#define ASN_DEBUG(fmt, args...) do { \ -+extern int asn_debug; /* Allow option on execution */ -+#define ASN_DEBUG(fmt, args...) \ -+if (asn_debug) { \ -+ do { \ - int adi = asn_debug_indent; \ - while(adi--) fprintf(stderr, " "); \ - fprintf(stderr, fmt, ##args); \ - fprintf(stderr, " (%s:%d)\n", \ - __FILE__, __LINE__); \ -- } while(0) -+ } while(0); \ -+} - #else /* !__GNUC__ */ - void ASN_DEBUG_f(const char *fmt, ...); - #define ASN_DEBUG ASN_DEBUG_f -Index: skeletons/per_support.c -=================================================================== ---- skeletons/per_support.c (revision 1410) -+++ skeletons/per_support.c (working copy) -@@ -31,6 +31,16 @@ - } - } - -+int32_t -+aper_get_align(asn_per_data_t *pd) { -+ -+ if(pd->nboff & 0x7) { -+ ASN_DEBUG("Aligning %d bits", 8 - (pd->nboff & 0x7)); -+ return per_get_few_bits(pd, 8 - (pd->nboff & 0x7)); -+ } -+ return 0; -+} -+ - /* - * Extract a small number of bits (<= 31) from the specified PER data pointer. - */ -@@ -103,7 +113,7 @@ - - accum &= (((uint32_t)1 << nbits) - 1); - -- ASN_DEBUG(" [PER got %2d<=%2d bits => span %d %+d[%d..%d]:%02x (%d) => 0x%x]", -+ ASN_DEBUG(" [PER got %2d<=%2d bits => span %d %+d[%d..%d]:%02x (%d) => 0x%02x]", - nbits, nleft, - pd->moved, - (((int)pd->buffer) & 0xf), -@@ -122,6 +132,8 @@ - per_get_many_bits(asn_per_data_t *pd, uint8_t *dst, int alright, int nbits) { - int32_t value; - -+ ASN_DEBUG("align: %s, nbits %d", alright ? "YES":"NO", nbits); -+ - if(alright && (nbits & 7)) { - /* Perform right alignment of a first few bits */ - value = per_get_few_bits(pd, nbits & 0x07); -@@ -186,6 +198,36 @@ - return (16384 * value); - } - -+ssize_t -+aper_get_length(asn_per_data_t *pd, int range, int ebits, int *repeat) { -+ ssize_t value; -+ -+ *repeat = 0; -+ -+ if (range <= 65536 && range >= 0) -+ return aper_get_nsnnwn(pd, range); -+ -+ if (aper_get_align(pd) < 0) -+ return -1; -+ -+ if(ebits >= 0) return per_get_few_bits(pd, ebits); -+ -+ value = per_get_few_bits(pd, 8); -+ if(value < 0) return -1; -+ if((value & 128) == 0) /* #10.9.3.6 */ -+ return (value & 0x7F); -+ if((value & 64) == 0) { /* #10.9.3.7 */ -+ value = ((value & 63) << 8) | per_get_few_bits(pd, 8); -+ if(value < 0) return -1; -+ return value; -+ } -+ value &= 63; /* this is "m" from X.691, #10.9.3.8 */ -+ if(value < 1 || value > 4) -+ return -1; -+ *repeat = 1; -+ return (16384 * value); -+} -+ - /* - * Get the normally small length "n". - * This procedure used to decode length of extensions bit-maps -@@ -210,6 +252,25 @@ - } - } - -+ssize_t -+aper_get_nslength(asn_per_data_t *pd) { -+ ssize_t length; -+ -+ ASN_DEBUG("Getting normally small length"); -+ -+ if(per_get_few_bits(pd, 1) == 0) { -+ length = per_get_few_bits(pd, 6) + 1; -+ if(length <= 0) return -1; -+ ASN_DEBUG("l=%d", length); -+ return length; -+ } else { -+ int repeat; -+ length = aper_get_length(pd, -1, -1, &repeat); -+ if(length >= 0 && !repeat) return length; -+ return -1; /* Error, or do not support >16K extensions */ -+ } -+} -+ - /* - * Get the normally small non-negative whole number. - * X.691, #10.6 -@@ -236,6 +297,40 @@ - return value; - } - -+ssize_t -+aper_get_nsnnwn(asn_per_data_t *pd, int range) { -+ ssize_t value; -+ int bytes = 0; -+ -+ ASN_DEBUG("getting nsnnwn with range %d", range); -+ -+ if(range <= 255) { -+ if (range < 0) return -1; -+ /* 1 -> 8 bits */ -+ int i; -+ for (i = 1; i <= 8; i++) { -+ int upper = 1 << i; -+ if (upper >= range) -+ break; -+ } -+ value = per_get_few_bits(pd, i); -+ return value; -+ } else if (range == 256){ -+ /* 1 byte */ -+ bytes = 1; -+ return -1; -+ } else if (range <= 65536) { -+ /* 2 bytes */ -+ bytes = 2; -+ } else { -+ return -1; -+ } -+ if (aper_get_align(pd) < 0) -+ return -1; -+ value = per_get_few_bits(pd, 8 * bytes); -+ return value; -+} -+ - /* - * Put the normally small non-negative whole number. - * X.691, #10.6 -@@ -244,6 +339,7 @@ - uper_put_nsnnwn(asn_per_outp_t *po, int n) { - int bytes; - -+ ASN_DEBUG("uper put nsnnwn n %d", n); - if(n <= 63) { - if(n < 0) return -1; - return per_put_few_bits(po, n, 7); -@@ -262,7 +358,62 @@ - return per_put_few_bits(po, n, 8 * bytes); - } - -+int -+aper_put_nsnnwn(asn_per_outp_t *po, int range, int number) { -+ int bytes; - -+ ASN_DEBUG("aper put nsnnwn %d with range %d", number, range); -+ /* 10.5.7.1 X.691 */ -+ if(range < 0) { -+ int i; -+ for (i = 1; ; i++) { -+ int bits = 1 << (8 * i); -+ if (number <= bits) -+ break; -+ } -+ bytes = i; -+ assert(i <= 4); -+ } -+ if(range <= 255) { -+ int i; -+ for (i = 1; i <= 8; i++) { -+ int bits = 1 << i; -+ if (range <= bits) -+ break; -+ } -+ return per_put_few_bits(po, number, i); -+ } else if(range == 256) { -+ bytes = 1; -+ } else if(range <= 65536) { -+ bytes = 2; -+ } else { /* Ranges > 64K */ -+ int i; -+ for (i = 1; ; i++) { -+ int bits = 1 << (8 * i); -+ if (range <= bits) -+ break; -+ } -+ assert(i <= 4); -+ bytes = i; -+ } -+ if(aper_put_align(po) < 0) /* Aligning on octet */ -+ return -1; -+// if(per_put_few_bits(po, bytes, 8)) -+// return -1; -+ -+ return per_put_few_bits(po, number, 8 * bytes); -+} -+ -+int aper_put_align(asn_per_outp_t *po) { -+ -+ if(po->nboff & 0x7) { -+ ASN_DEBUG("Aligning %d bits", 8 - (po->nboff & 0x7)); -+ if(per_put_few_bits(po, 0x00, (8 - (po->nboff & 0x7)))) -+ return -1; -+ } -+ return 0; -+} -+ - /* - * Put a small number of bits (<= 31). - */ -@@ -386,6 +537,8 @@ - ssize_t - uper_put_length(asn_per_outp_t *po, size_t length) { - -+ ASN_DEBUG("UPER put length %d", length); -+ - if(length <= 127) /* #10.9.3.6 */ - return per_put_few_bits(po, length, 8) - ? -1 : (ssize_t)length; -@@ -400,7 +553,34 @@ - ? -1 : (ssize_t)(length << 14); - } - -+ssize_t -+aper_put_length(asn_per_outp_t *po, int range, size_t length) { - -+ ASN_DEBUG("APER put length %d with range %d", length, range); -+ -+ /* 10.9 X.691 Note 2 */ -+ if (range <= 65536 && range >= 0) -+ return aper_put_nsnnwn(po, range, length); -+ -+ if (aper_put_align(po) < 0) -+ return -1; -+ -+ if(length <= 127) /* #10.9.3.6 */{ -+ return per_put_few_bits(po, length, 8) -+ ? -1 : (ssize_t)length; -+ } -+ else if(length < 16384) /* #10.9.3.7 */ -+ return per_put_few_bits(po, length|0x8000, 16) -+ ? -1 : (ssize_t)length; -+ -+ length >>= 14; -+ if(length > 4) length = 4; -+ -+ return per_put_few_bits(po, 0xC0 | length, 8) -+ ? -1 : (ssize_t)(length << 14); -+} -+ -+ - /* - * Put the normally small length "n" into the stream. - * This procedure used to encode length of extensions bit-maps -@@ -423,3 +603,19 @@ - return 0; - } - -+int -+aper_put_nslength(asn_per_outp_t *po, size_t length) { -+ -+ if(length <= 64) { -+ /* #10.9.3.4 */ -+ if(length == 0) return -1; -+ return per_put_few_bits(po, length-1, 7) ? -1 : 0; -+ } else { -+ if(aper_put_length(po, -1, length) != (ssize_t)length) { -+ /* This might happen in case of >16K extensions */ -+ return -1; -+ } -+ } -+ -+ return 0; -+} -Index: skeletons/VisibleString.c -=================================================================== ---- skeletons/VisibleString.c (revision 1410) -+++ skeletons/VisibleString.c (working copy) -@@ -29,6 +29,8 @@ - OCTET_STRING_encode_xer_utf8, - OCTET_STRING_decode_uper, - OCTET_STRING_encode_uper, -+ OCTET_STRING_decode_aper, -+ OCTET_STRING_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_VisibleString_tags, - sizeof(asn_DEF_VisibleString_tags) -Index: skeletons/per_support.h -=================================================================== ---- skeletons/per_support.h (revision 1410) -+++ skeletons/per_support.h (working copy) -@@ -24,8 +24,8 @@ - } flags; - int range_bits; /* Full number of bits in the range */ - int effective_bits; /* Effective bits */ -- long lower_bound; /* "lb" value */ -- long upper_bound; /* "ub" value */ -+ int64_t lower_bound; /* "lb" value */ -+ int64_t upper_bound; /* "ub" value */ - } asn_per_constraint_t; - typedef struct asn_per_constraints_s { - asn_per_constraint_t value; -@@ -39,9 +39,9 @@ - */ - typedef struct asn_per_data_s { - const uint8_t *buffer; /* Pointer to the octet stream */ -- size_t nboff; /* Bit offset to the meaningful bit */ -- size_t nbits; /* Number of bits in the stream */ -- size_t moved; /* Number of bits moved through this bit stream */ -+ size_t nboff; /* Bit offset to the meaningful bit */ -+ size_t nbits; /* Number of bits in the stream */ -+ size_t moved; /* Number of bits moved through this bit stream */ - int (*refill)(struct asn_per_data_s *); - void *refill_key; - } asn_per_data_t; -@@ -71,15 +71,22 @@ - int effective_bound_bits, - int *repeat); - -+ssize_t aper_get_length(asn_per_data_t *pd, -+ int range, -+ int effective_bound_bits, -+ int *repeat); -+ - /* - * Get the normally small length "n". - */ - ssize_t uper_get_nslength(asn_per_data_t *pd); -+ssize_t aper_get_nslength(asn_per_data_t *pd); - - /* - * Get the normally small non-negative whole number. - */ - ssize_t uper_get_nsnnwn(asn_per_data_t *pd); -+ssize_t aper_get_nsnnwn(asn_per_data_t *pd, int range); - - /* Non-thread-safe debugging function, don't use it */ - char *per_data_string(asn_per_data_t *pd); -@@ -103,6 +110,10 @@ - /* Output a large number of bits */ - int per_put_many_bits(asn_per_outp_t *po, const uint8_t *src, int put_nbits); - -+/* Align the current bit position to octet bundary */ -+int aper_put_align(asn_per_outp_t *po); -+int32_t aper_get_align(asn_per_data_t *pd); -+ - /* - * Put the length "n" to the Unaligned PER stream. - * This function returns the number of units which may be flushed -@@ -110,17 +121,23 @@ - */ - ssize_t uper_put_length(asn_per_outp_t *po, size_t whole_length); - -+ssize_t aper_put_length(asn_per_outp_t *po, int range, size_t length); -+ - /* - * Put the normally small length "n" to the Unaligned PER stream. - * Returns 0 or -1. - */ - int uper_put_nslength(asn_per_outp_t *po, size_t length); - -+int aper_put_nslength(asn_per_outp_t *po, size_t length); -+ - /* - * Put the normally small non-negative whole number. - */ - int uper_put_nsnnwn(asn_per_outp_t *po, int n); - -+int aper_put_nsnnwn(asn_per_outp_t *po, int range, int number); -+ - #ifdef __cplusplus - } - #endif diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/asn1tostruct.py b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/asn1tostruct.py deleted file mode 100644 index 6285a047ee..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/asn1tostruct.py +++ /dev/null @@ -1,513 +0,0 @@ -import re, os, sys, string -import datetime -import getopt -import getpass - -version = "0.5" - -lines = "" -iesDefs = {} -ieofielist = {} -outdir = './' - -filenames = [] -verbosity = 0 -prefix = "" - -FAIL = '\033[91m' -WARN = '\033[93m' -ENDC = '\033[0m' - -fileprefix = "" - -def printFail(string): - sys.stderr.write(FAIL + string + ENDC + "\n") - -def printWarning(string): - print WARN + string + ENDC - -def printDebug(string): - if verbosity > 0: - print string - -def outputHeaderToFile(f, filename): - now = datetime.datetime.now() - f.write("""/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -""") - f.write("/*******************************************************************************\n") - f.write(" * This file had been created by asn1tostruct.py script v%s\n" % (version)) - f.write(" * Please do not modify this file but regenerate it via script.\n") - f.write(" * Created on: %s by %s\n * from %s\n" % (str(now), getpass.getuser(), filenames)) - f.write(" ******************************************************************************/\n") - -def lowerFirstCamelWord(word): - """ puts the first word in a CamelCase Word in lowercase. - - I.e. CustomerID becomes customerID, XMLInfoTest becomes xmlInfoTest - """ - newstr = '' - swapped = word.swapcase() - idx = 0 - - # if it's all-caps, return an all-lowered version - lowered = word.lower() - - if swapped == lowered: - return lowered - - for c in swapped: - if c in string.lowercase: - newstr += c - idx += 1 - else: - break - if idx < 2: - newstr += word[idx:] - else: - newstr = newstr[:-1]+ word[idx-1:] - - return newstr - -def usage(): - print "Python parser for asn1 v%s" % (version) - print "Usage: python asn1tostruct.py [options]" - print "Available options:" - print "-d Enable script debug" - print "-f [file] Input file to parse" - print "-o [dir] Output files to given directory" - print "-h Print this help and return" - -try: - opts, args = getopt.getopt(sys.argv[1:], "df:ho:", ["debug", "file", "help", "outdir"]) -except getopt.GetoptError as err: - # print help information and exit: - usage() - sys.exit(2) - -for o, a in opts: - if o in ("-f", "--file"): - filenames.append(a) - if o in ("-d", "--debug"): - verbosity = 1 - if o in ("-o", "--outdir"): - outdir = a - if outdir.rfind('/') != len(outdir): - outdir += '/' - if o in ("-h", "--help"): - usage() - sys.exit(2) - -for filename in filenames: - file = open(filename, 'r') - for line in file: - # Removing any comment - if line.find('--') >= 0: - line = line[:line.find('--')] - # Removing any carriage return - lines += re.sub('\r', '', line) - - for m in re.findall(r'([a-zA-Z0-9-]+)\s*::=\s+SEQUENCE\s+\(\s*SIZE\s*\(\s*\d+\s*\.\.\s*[0-9a-zA-Z-]+\s*\)\s*\)\s*OF\s+[a-zA-Z-]+\s*\{\s*\{\s*([0-9a-zA-Z-]+)\s*\}\s*\}', lines, re.MULTILINE): - ieofielist[m[0]] = m[1] - for m in re.findall(r'([a-zA-Z0-9-]+)\s*::=\s+E-RAB-IE-ContainerList\s*\{\s*\{\s*([a-zA-Z0-9-]+)\s*\}\s*\}', lines, re.MULTILINE): - ieofielist[m[0]] = m[1] - - for i in re.findall(r'([a-zA-Z0-9-]+)\s+([A-Z0-9-]+)\s*::=\s*\{\s+([\,\|\{\}\t\n\.{3}\ \-a-zA-Z0-9]+)\s+}\n', lines, re.MULTILINE): - ies = [] - maxLength = 0 - # TODO: handle extensions - if i[1].find('EXTENSION') >= 0: - continue - if fileprefix == "": - fileprefix = i[1][:i[1].find('-')].lower() - for j in re.findall(r'\s*\{\s*([a-zA-Z0-9-\ \t]+)\s*\}\s*[\|,]*', i[2], re.MULTILINE): - for k in re.findall(r'ID\s*([a-zA-Z0-9\-]+)\s*CRITICALITY\s*([a-zA-Z0-9\-]+)\s+[A-Z]+\s+([a-zA-Z0-9\-]+)\s*PRESENCE\s*([a-zA-Z0-9\-]+)', j, re.MULTILINE): - printDebug("Got new ie for message " + i[0] + ": " + str(k)) - if len(k[2]) > maxLength: - maxLength = len(k[2]) - ies.append(k) - - if len(ies) > 0: - iesDefs[i[0]] = { "length": maxLength, "ies": ies} - else: - printWarning("Didn't find any information element for message: " + i[0]) - -if len(iesDefs) == 0: - printFail("No Information Element parsed, exiting") - sys.exit(0) - -f = open(outdir + fileprefix + '_ies_defs.h', 'w') -outputHeaderToFile(f, filename) -f.write("#include \"%s_common.h\"\n\n" % (fileprefix)) -f.write("#ifndef %s_IES_DEFS_H_\n#define %s_IES_DEFS_H_\n\n" % (fileprefix.upper(), fileprefix.upper())) - -for key in iesDefs: - - if key not in ieofielist.values(): - continue - - for (i, j) in ieofielist.items(): - if j == key: - break - - f.write("typedef struct %sIEs_s {\n" % (re.sub('-', '_', i))) - f.write(" A_SEQUENCE_OF(struct %s_s) %s;\n" % (re.sub('IEs', '', re.sub('-', '_', ieofielist[i])), lowerFirstCamelWord(re.sub('IEs', '', re.sub('-', '_', ieofielist[i]))))) - f.write("} %sIEs_t;\n\n" % (re.sub('-', '_', i))) - -for key in iesDefs: - keyupperunderscore = re.sub('-', '_', key.upper()) - keylowerunderscore = re.sub('-', '_', key.lower()) - shift = 0 - - if len(iesDefs[key]["ies"]) == 0: - continue - - # Presence mask - for ie in iesDefs[key]["ies"]: - ieupperunderscore = re.sub('-', '_', ie[2].upper()) - if ie[3] == "optional" or ie[3] == "conditional": - f.write("#define {0:<{pad}} {1}\n".format("%s_%s_PRESENT" % (keyupperunderscore, ieupperunderscore), "(1 << %d)" % shift, - pad=iesDefs[key]["length"] + len(keyupperunderscore) + 9)) - shift += 1 - if (shift > 0): - f.write("\n") - - f.write("typedef struct %s_s {\n" % (re.sub('-', '_', key))) - if (shift > 0): - f.write(" {0:<{pad}} {1};\n".format("uint16_t", "presenceMask", pad=iesDefs[key]["length"] + 2)) - for ie in iesDefs[key]["ies"]: - ieunderscore = re.sub('-', '_', ie[2]) - iename = re.sub('id-', '', ie[0]) - ienameunderscore = lowerFirstCamelWord(re.sub('-', '_', iename)) - if ie[2] in ieofielist: - f.write(" %sIEs_t %s;" % (re.sub('-', '_', ie[2]), ienameunderscore)) - else: - f.write(" {0:<{pad}} {1};".format("%s_t" % ieunderscore, ienameunderscore, pad=iesDefs[key]["length"] + 2)) - if ie[3] == "optional": - f.write(" ///< Optional field") - elif ie[3] == "conditional": - f.write(" ///< Conditional field") - f.write("\n") - - f.write("} %s_t;\n\n" % (re.sub('-', '_', key))) - -f.write("typedef struct %s_message_s {\n" % (fileprefix)) -f.write(" uint8_t procedureCode;\n") -f.write(" uint8_t criticality;\n") -f.write(" uint8_t direction;\n") -f.write(" union {\n") - -messageList = iesDefs.keys() -messageList.sort() -for message in messageList: - if message in ieofielist.values(): - continue - if len(iesDefs[message]["ies"]) == 0: - continue - f.write(" %s_t %s;\n" % (re.sub('-', '_', message), lowerFirstCamelWord(re.sub('-', '_', message)))) -f.write(" } msg;\n") -f.write("} %s_message;\n\n" % (fileprefix)) - -for key in iesDefs: - if key in ieofielist.values(): - continue - structName = re.sub('ies', '', key) - asn1cStruct = re.sub('-', '_', re.sub('IEs', '', re.sub('-IEs', '', key))) - asn1cStruct = re.sub('Item', 'List', asn1cStruct) - keylowerunderscore = re.sub('-', '_', key.lower()) - firstlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct))) - f.write("/** \\brief Decode function for %s ies.\n" % (key)) - if len(iesDefs[key]["ies"]) != 0: - f.write(" * \\param %s Pointer to ASN1 structure in which data will be stored\n" % (lowerFirstCamelWord(re.sub('-', '_', key)))) - f.write(" * \\param any_p Pointer to the ANY value to decode.\n") - f.write(" **/\n") - f.write("int %s_decode_%s(\n" % (fileprefix, keylowerunderscore)) - - if len(iesDefs[key]["ies"]) != 0: - f.write(" %s_t *%s,\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key)))) - f.write(" ANY_t *any_p);\n\n") - - if len(iesDefs[key]["ies"]) == 0: - continue - - f.write("/** \\brief Encode function for %s ies.\n" % (key)) - f.write(" * \\param %s Pointer to the ASN1 structure.\n" % (firstlower)) - f.write(" * \\param %s Pointer to the IES structure.\n" % (lowerFirstCamelWord(re.sub('-', '_', key)))) - f.write(" **/\n") - f.write("int %s_encode_%s(\n" % (fileprefix, re.sub('-', '_', structName.lower()))) - f.write(" %s_t *%s,\n" % (asn1cStruct, firstlower)) - f.write(" %s_t *%s);\n\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key)))) - -for key in iesDefs: - if key not in ieofielist.values(): - continue - asn1cStruct = re.sub('-', '_', re.sub('IEs', '', key)) - asn1cStruct = re.sub('Item', 'List', asn1cStruct) - firstlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct))) - f.write("/** \\brief Encode function for %s ies.\n" % (key)) - f.write(" * \\param %s Pointer to the ASN1 structure.\n" % (firstlower)) - f.write(" * \\param %s Pointer to the IES structure.\n" % (lowerFirstCamelWord(re.sub('-', '_', key)))) - f.write(" **/\n") - f.write("int %s_encode_%s(\n" % (fileprefix, firstlower.lower())) - f.write(" %s_t *%s,\n" % (asn1cStruct, firstlower)) - f.write(" %sIEs_t *%sIEs);\n\n" % (asn1cStruct, firstlower)) - f.write("/** \\brief Decode function for %s ies.\n" % (key)) - f.write(" * \\param any_p Pointer to the ANY value to decode.\n") - f.write(" * \\param callback Callback function called when any_p is successfully decoded.\n") - f.write(" **/\n") - f.write("int %s_decode_%s(\n" % (fileprefix, firstlower.lower())) - f.write(" %sIEs_t *%sIEs,\n" % (asn1cStruct, firstlower)) - f.write(" %s_t *%s);\n\n" % (asn1cStruct, lowerFirstCamelWord(asn1cStruct))) -f.write("#endif /* %s_IES_DEFS_H_ */\n\n" % (fileprefix.upper())) - -#Generate Decode functions -f = open(outdir + fileprefix + '_decoder.c', 'w') -outputHeaderToFile(f, filename) -f.write("#include \"%s_common.h\"\n#include \"%s_ies_defs.h\"\n\n" % (fileprefix, fileprefix)) -for key in iesDefs: - if key in ieofielist.values(): - continue - structName = re.sub('ies', '', key) - asn1cStruct = re.sub('-', '_', re.sub('IEs', '', key)) - asn1cStruct = re.sub('Item', 'List', asn1cStruct) - ielistname = re.sub('UE', 'ue', asn1cStruct) - ielistnamefirstlower = ielistname[:1].lower() + ielistname[1:] - asn1cStructfirstlower = asn1cStruct[:1].lower() + asn1cStruct[1:] - keyName = re.sub('-', '_', key) - keyupperunderscore = keyName.upper() - firstlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct))) - - iesaccess = "" - if key not in ieofielist.values(): - iesaccess = "%s_ies." % (firstlower) - - f.write("int %s_decode_%s(\n" % (fileprefix, re.sub('-', '_', structName.lower()))) - if len(iesDefs[key]["ies"]) != 0: - f.write(" %s_t *%s,\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key)))) - f.write(" ANY_t *any_p) {\n\n") - - f.write(" %s_t %s;\n %s_t *%s_p = &%s;\n" % (asn1cStruct, asn1cStructfirstlower, asn1cStruct, asn1cStructfirstlower, asn1cStructfirstlower)) - f.write(" int i, decoded = 0;\n") - if len(iesDefs[key]["ies"]) != 0: - f.write(" int tempDecoded = 0;\n") - - f.write(" assert(any_p != NULL);\n") - if len(iesDefs[key]["ies"]) != 0: - f.write(" assert(%s != NULL);\n\n" % (lowerFirstCamelWord(re.sub('-', '_', key)))) - - f.write(" %s_DEBUG(\"Decoding message %s (%%s:%%d)\\n\", __FILE__, __LINE__);\n\n" % (fileprefix.upper(), re.sub('-', '_', keyName))) - f.write(" ANY_to_type_aper(any_p, &asn_DEF_%s, (void**)&%s_p);\n\n" % (asn1cStruct, asn1cStructfirstlower)) - f.write(" for (i = 0; i < %s_p->%slist.count; i++) {\n" % (asn1cStructfirstlower, iesaccess)) - f.write(" IE_t *ie_p;\n") - f.write(" ie_p = %s_p->%slist.array[i];\n" % (asn1cStructfirstlower, iesaccess)) - f.write(" switch(ie_p->id) {\n") - for ie in iesDefs[key]["ies"]: - iename = re.sub('id-', '', ie[0]) - ienameunderscore = lowerFirstCamelWord(re.sub('-', '_', iename)) - ienameunderscorefirstlower = lowerFirstCamelWord(ienameunderscore) - ietypesubst = re.sub('-', '', ie[2]) - ietypeunderscore = re.sub('-', '_', ie[2]) - ieupperunderscore = re.sub('-', '_', ie[2]).upper() - if ie[3] == "optional": - f.write(" /* Optional field */\n") - elif ie[3] == "conditional": - f.write(" /* Conditional field */\n") - f.write(" case ProtocolIE_ID_%s:\n" % (re.sub('-', '_', ie[0]))) - f.write(" {\n") - f.write(" %s_t %s;\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst))) - f.write(" %s_t *%s_p = &%s;\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst), lowerFirstCamelWord(ietypesubst))) - if ie[3] != "mandatory": - f.write(" %s->presenceMask |= %s_%s_PRESENT;\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), keyupperunderscore, ieupperunderscore)) - f.write(" tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_%s, (void**)&%s_p);\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst))) - f.write(" if (tempDecoded < 0) {\n") - f.write(" %s_DEBUG(\"Decoding of IE %s failed\\n\");\n" % (fileprefix.upper(), ienameunderscore)) - f.write(" return -1;\n") - f.write(" }\n") - f.write(" decoded += tempDecoded;\n") - f.write(" if (asn1_xer_print)\n") - f.write(" xer_fprint(stdout, &asn_DEF_%s, %s_p);\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst))) - if ie[2] in ieofielist.keys(): - f.write(" if (%s_decode_%s(&%s->%s, %s_p) < 0)\n" % (fileprefix, ietypeunderscore.lower(), lowerFirstCamelWord(re.sub('-', '_', key)), ienameunderscore, lowerFirstCamelWord(ietypesubst))) - f.write(" %s_DEBUG(\"Decoding of encapsulated IE %s failed\\n\");\n" % (fileprefix.upper(), lowerFirstCamelWord(ietypesubst))) - else: - f.write(" memcpy(&%s->%s, %s_p, sizeof(%s_t));\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), ienameunderscore, lowerFirstCamelWord(ietypesubst), ietypeunderscore)) - f.write(" } break;\n") - f.write(" default:\n") - f.write(" %s_DEBUG(\"Unknown protocol IE id (%%d) for message %s\\n\", (int)ie_p->id);\n" % (fileprefix.upper(), re.sub('-', '_', structName.lower()))) - f.write(" return -1;\n") - f.write(" }\n") - f.write(" }\n") - f.write(" return decoded;\n") - f.write("}\n\n") - -for key in iesDefs: - if key not in ieofielist.values(): - continue - - keyname = re.sub('IEs', '', re.sub('Item', 'List', key)) - - f.write("int %s_decode_%s(\n" % (fileprefix, re.sub('-', '_', keyname).lower())) - f.write(" %sIEs_t *%sIEs,\n" % (re.sub('-', '_', keyname), lowerFirstCamelWord(re.sub('-', '_', keyname)))) - f.write(" %s_t *%s) {\n\n" % (re.sub('-', '_', keyname), lowerFirstCamelWord(re.sub('-', '_', keyname)))) - f.write(" int i, decoded = 0;\n") - f.write(" int tempDecoded = 0;\n\n") - f.write(" for (i = 0; i < %s->list.count; i++) {\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname)))) - f.write(" IE_t *ie_p = %s->list.array[i];\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname)))) - f.write(" switch (ie_p->id) {\n") - for ie in iesDefs[key]["ies"]: - iename = re.sub('id-', '', ie[0]) - ienameunderscore = lowerFirstCamelWord(re.sub('-', '_', iename)) - f.write(" case ProtocolIE_ID_%s:\n" % (re.sub('-', '_', ie[0]))) - f.write(" {\n") - f.write(" %s_t *%s_p;\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2])))) - f.write(" tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_%s, (void**)&%s_p);\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2])))) - f.write(" if (tempDecoded < 0) {\n") - f.write(" %s_DEBUG(\"Decoding of IE %s for message %s failed\\n\");\n" % (fileprefix.upper(), ienameunderscore, re.sub('-', '_', keyname))) - f.write(" return -1;\n") - f.write(" }\n") - f.write(" decoded += tempDecoded;\n") - f.write(" if (asn1_xer_print)\n") - f.write(" xer_fprint(stdout, &asn_DEF_%s, %s_p);\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2])))) - f.write(" ASN_SEQUENCE_ADD(&%sIEs->%s, %s_p);\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname)), - re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key))), lowerFirstCamelWord(re.sub('-', '', ie[2])))) - f.write(" } break;\n") - f.write(" default:\n") - f.write(" %s_DEBUG(\"Unknown protocol IE id (%%d) for message %s\\n\", (int)ie_p->id);\n" % (fileprefix.upper(), re.sub('-', '_', structName.lower()))) - f.write(" return -1;\n") - f.write(" }\n") - f.write(" }\n") - f.write(" return decoded;\n") - f.write("}\n\n") - - -#Generate IES Encode functions -f = open(outdir + fileprefix + '_encoder.c', 'w') -outputHeaderToFile(f,filename) -f.write("#include \"%s_common.h\"\n" % (fileprefix)) -f.write("#include \"%s_ies_defs.h\"\n\n" % (fileprefix)) -for key in iesDefs: - if key in ieofielist.values(): - continue - - structName = re.sub('ies', '', key) - asn1cStruct = re.sub('-', '_', re.sub('IEs', '', key)) - asn1cStruct = re.sub('Item', 'List', asn1cStruct) - asn1cStructfirstlower = asn1cStruct[:1].lower() + asn1cStruct[1:] - firstwordlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct))) - - iesaccess = "" - if key not in ieofielist.values(): - iesaccess = "%s_ies." % (firstwordlower) - - keyName = re.sub('-', '_', key) - keyupperunderscore = keyName.upper() - # No IE to encode... - if len(iesDefs[key]["ies"]) == 0: - continue - - f.write("int %s_encode_%s(\n" % (fileprefix, re.sub('-', '_', structName.lower()))) - f.write(" %s_t *%s,\n" % (asn1cStruct, firstwordlower)) - f.write(" %s_t *%s) {\n\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key)))) - - f.write(" IE_t *ie;\n\n") - - for ie in iesDefs[key]["ies"]: - iename = re.sub('-', '_', re.sub('id-', '', ie[0])) - ienameunderscore = re.sub('-', '_', iename) - ienamefirstwordlower = lowerFirstCamelWord(iename) - ieupperunderscore = re.sub('-', '_', ie[2]).upper() - ietypeunderscore = re.sub('-', '_', ie[2]) - if ie[3] != "mandatory": - if ie[3] == "optional": - f.write(" /* Optional field */\n") - elif ie[3] == "conditional": - f.write(" /* Conditional field */\n") - f.write(" if ((%s->presenceMask & %s_%s_PRESENT)\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), keyupperunderscore, ieupperunderscore)) - f.write(" == %s_%s_PRESENT) {\n" % (keyupperunderscore, ieupperunderscore)) - f.write(" if ((ie = %s_new_ie(ProtocolIE_ID_%s,\n" % (fileprefix, re.sub('-', '_', ie[0]))) - f.write(" Criticality_%s,\n" % (ie[1])) - f.write(" &asn_DEF_%s,\n" % (ietypeunderscore)) - f.write(" &%s->%s)) == NULL) {\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower)) - f.write(" return -1;\n") - f.write(" }\n") - f.write(" ASN_SEQUENCE_ADD(&%s->%slist, ie);\n" % (firstwordlower, iesaccess)) - f.write(" }\n\n") - else: - if ie[2] in ieofielist.keys(): - f.write(" %s_t %s;\n\n" % (ietypeunderscore, ienamefirstwordlower)) - f.write(" memset(&%s, 0, sizeof(%s_t));\n" % (ienamefirstwordlower, ietypeunderscore)) - f.write("\n") - f.write(" if (%s_encode_%s(&%s, &%s->%s) < 0) return -1;\n" % (fileprefix, ietypeunderscore.lower(), ienamefirstwordlower, lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower)) - f.write(" if ((ie = %s_new_ie(ProtocolIE_ID_%s,\n" % (fileprefix, re.sub('-', '_', ie[0]))) - f.write(" Criticality_%s,\n" % (ie[1])) - f.write(" &asn_DEF_%s,\n" % (ietypeunderscore)) - if ie[2] in ieofielist.keys(): - f.write(" &%s)) == NULL) {\n" % (ienamefirstwordlower)) - else: - f.write(" &%s->%s)) == NULL) {\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower)) - f.write(" return -1;\n") - f.write(" }\n") - f.write(" ASN_SEQUENCE_ADD(&%s->%slist, ie);\n\n" % (firstwordlower, iesaccess)) - - f.write(" return 0;\n") - f.write("}\n\n") - -for (key, value) in iesDefs.items(): - if key not in ieofielist.values(): - continue - - ie = value["ies"][0] - ietypeunderscore = re.sub('-', '_', ie[2]) - asn1cStruct = re.sub('-', '_', re.sub('IEs', '', re.sub('-IEs', '', key))) - asn1cStruct = re.sub('Item', 'List', asn1cStruct) - firstwordlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct))) - - for (i, j) in ieofielist.items(): - if j == key: - break - f.write("int %s_encode_%s(\n" % (fileprefix, re.sub('-', '_', i).lower())) - f.write(" %s_t *%s,\n" % (asn1cStruct, firstwordlower)) - f.write(" %sIEs_t *%sIEs) {\n\n" % (re.sub('-', '_', i), lowerFirstCamelWord(re.sub('-', '_', i)))) - f.write(" int i;\n") - - f.write(" IE_t *ie;\n\n") - - f.write(" for (i = 0; i < %sIEs->%s.count; i++) {\n" % (firstwordlower, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key))))) - f.write(" if ((ie = %s_new_ie(ProtocolIE_ID_%s,\n" % (fileprefix, re.sub('-', '_', ie[0]))) - f.write(" Criticality_%s,\n" % (ie[1])) - f.write(" &asn_DEF_%s,\n" % (ietypeunderscore)) - f.write(" %sIEs->%s.array[i])) == NULL) {\n" % (firstwordlower, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key))))) - f.write(" return -1;\n") - f.write(" }\n") - f.write(" ASN_SEQUENCE_ADD(&%s->list, ie);\n" % (firstwordlower)) - f.write(" }\n") - f.write(" return 0;\n") - f.write("}\n\n") diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.am b/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.am deleted file mode 100644 index d7afcae02e..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.am +++ /dev/null @@ -1,753 +0,0 @@ -SUBDIRS= ASN1/ . -ASN_MODULEdir=. -libs1apmessagesdir=. - -ASN_MODULE_SOURCES= \ - Criticality.c \ - Presence.c \ - PrivateIE-ID.c \ - ProcedureCode.c \ - ProtocolExtensionID.c \ - ProtocolIE-ID.c \ - TriggeringMessage.c \ - IE-Extensions.c \ - AllocationAndRetentionPriority.c \ - Bearers-SubjectToStatusTransfer-List.c \ - Bearers-SubjectToStatusTransfer-Item.c \ - BitRate.c \ - BPLMNs.c \ - BroadcastCompletedAreaList.c \ - Cause.c \ - CauseMisc.c \ - CauseProtocol.c \ - CauseRadioNetwork.c \ - CauseTransport.c \ - CauseNas.c \ - CellIdentity.c \ - CellID-Broadcast.c \ - CellID-Broadcast-Item.c \ - Cdma2000PDU.c \ - Cdma2000RATType.c \ - Cdma2000SectorID.c \ - Cdma2000HOStatus.c \ - Cdma2000HORequiredIndication.c \ - Cdma2000OneXSRVCCInfo.c \ - Cdma2000OneXMEID.c \ - Cdma2000OneXMSI.c \ - Cdma2000OneXPilot.c \ - Cdma2000OneXRAND.c \ - Cell-Size.c \ - CellType.c \ - CGI.c \ - CI.c \ - CNDomain.c \ - CSFallbackIndicator.c \ - CSG-Id.c \ - CSG-IdList.c \ - CSG-IdList-Item.c \ - COUNTvalue.c \ - CriticalityDiagnostics.c \ - CriticalityDiagnostics-IE-List.c \ - CriticalityDiagnostics-IE-Item.c \ - DataCodingScheme.c \ - DL-Forwarding.c \ - Direct-Forwarding-Path-Availability.c \ - E-RABToBeModifiedListBearerModReq.c \ - E-RABToBeModifiedItemBearerModReq.c \ - E-RABReleaseListBearerRelComp.c \ - E-RABReleaseItemBearerRelComp.c \ - E-RABDataForwardingList.c \ - E-RABDataForwardingItem.c \ - E-RABToBeSetupListCtxtSUReq.c \ - E-RABToBeSetupItemCtxtSUReq.c \ - E-RABSetupListBearerSURes.c \ - E-RABSetupItemBearerSURes.c \ - E-RABFailedtoSetupListHOReqAck.c \ - E-RABFailedToSetupItemHOReqAck.c \ - E-RABToBeSetupListBearerSUReq.c \ - E-RABToBeSetupItemBearerSUReq.c \ - E-RABAdmittedList.c \ - E-RABAdmittedItem.c \ - E-RABToBeSwitchedDLList.c \ - E-RABToBeSwitchedDLItem.c \ - E-RABToBeSwitchedULList.c \ - E-RABToBeSwitchedULItem.c \ - E-RABModifyListBearerModRes.c \ - E-RABModifyItemBearerModRes.c \ - E-RABSetupListCtxtSURes.c \ - E-RABSetupItemCtxtSURes.c \ - E-RABToBeSetupListHOReq.c \ - E-RABToBeSetupItemHOReq.c \ - ECGIList.c \ - EmergencyAreaIDList.c \ - EmergencyAreaID.c \ - EmergencyAreaID-Broadcast.c \ - EmergencyAreaID-Broadcast-Item.c \ - CompletedCellinEAI.c \ - CompletedCellinEAI-Item.c \ - ENB-ID.c \ - GERAN-Cell-ID.c \ - Global-ENB-ID.c \ - ENB-StatusTransfer-TransparentContainer.c \ - ENB-UE-S1AP-ID.c \ - ENBname.c \ - ENBX2TLAs.c \ - EncryptionAlgorithms.c \ - EPLMNs.c \ - EventType.c \ - E-RAB-ID.c \ - E-RABInformationList.c \ - E-RABInformationListItem.c \ - E-RABList.c \ - E-RABItem.c \ - E-RABLevelQoSParameters.c \ - EUTRAN-CGI.c \ - ExtendedRNC-ID.c \ - ForbiddenInterRATs.c \ - ForbiddenTAs.c \ - ForbiddenTAs-Item.c \ - ForbiddenTACs.c \ - ForbiddenLAs.c \ - ForbiddenLAs-Item.c \ - ForbiddenLACs.c \ - GBR-QosInformation.c \ - GTP-TEID.c \ - GUMMEI.c \ - HandoverRestrictionList.c \ - HandoverType.c \ - HFN.c \ - HandoverNotify.c \ - Inter-SystemInformationTransferType.c \ - IMSI.c \ - IntegrityProtectionAlgorithms.c \ - InterfacesToTrace.c \ - LAC.c \ - LAI.c \ - LastVisitedCell-Item.c \ - LastVisitedEUTRANCellInformation.c \ - LastVisitedUTRANCellInformation.c \ - LastVisitedGERANCellInformation.c \ - L3-Information.c \ - MessageIdentifier.c \ - MMEname.c \ - MME-Group-ID.c \ - MME-Code.c \ - MME-UE-S1AP-ID.c \ - M-TMSI.c \ - MSClassmark2.c \ - MSClassmark3.c \ - NAS-PDU.c \ - NASSecurityParametersfromE-UTRAN.c \ - NASSecurityParameterstoE-UTRAN.c \ - NumberofBroadcastRequest.c \ - NumberOfBroadcasts.c \ - OldBSS-ToNewBSS-Information.c \ - OverloadAction.c \ - OverloadResponse.c \ - PagingDRX.c \ - PDCP-SN.c \ - PLMNidentity.c \ - Pre-emptionCapability.c \ - Pre-emptionVulnerability.c \ - PriorityLevel.c \ - QCI.c \ - ReceiveStatusofULPDCPSDUs.c \ - RelativeMMECapacity.c \ - RAC.c \ - RequestType.c \ - ResetType.c \ - ResetAll.c \ - RIMTransfer.c \ - RIMInformation.c \ - RIMRoutingAddress.c \ - ReportArea.c \ - RepetitionPeriod.c \ - RNC-ID.c \ - RRC-Container.c \ - RRC-Establishment-Cause.c \ - SecurityKey.c \ - SecurityContext.c \ - SerialNumber.c \ - SONInformation.c \ - SONInformationRequest.c \ - SONInformationReply.c \ - SONConfigurationTransfer.c \ - Source-ToTarget-TransparentContainer.c \ - SourceBSS-ToTargetBSS-TransparentContainer.c \ - SourceeNB-ID.c \ - SRVCCOperationPossible.c \ - SRVCCHOIndication.c \ - SourceeNB-ToTargeteNB-TransparentContainer.c \ - SourceRNC-ToTargetRNC-TransparentContainer.c \ - ServedGUMMEIs.c \ - ServedGUMMEIsItem.c \ - ServedGroupIDs.c \ - ServedMMECs.c \ - ServedPLMNs.c \ - SubscriberProfileIDforRFP.c \ - SupportedTAs.c \ - SupportedTAs-Item.c \ - S-TMSI.c \ - TAC.c \ - TAIListforWarning.c \ - TAIList.c \ - TAIItem.c \ - TAI.c \ - TAI-Broadcast.c \ - TAI-Broadcast-Item.c \ - CompletedCellinTAI.c \ - CompletedCellinTAI-Item.c \ - TBCD-STRING.c \ - TargetID.c \ - TargeteNB-ID.c \ - TargetRNC-ID.c \ - TargeteNB-ToSourceeNB-TransparentContainer.c \ - Target-ToSource-TransparentContainer.c \ - TargetRNC-ToSourceRNC-TransparentContainer.c \ - TargetBSS-ToSourceBSS-TransparentContainer.c \ - TimeToWait.c \ - Time-UE-StayedInCell.c \ - TransportLayerAddress.c \ - TraceActivation.c \ - TraceDepth.c \ - E-UTRAN-Trace-ID.c \ - TypeOfError.c \ - UEAggregateMaximumBitrate.c \ - UE-S1AP-IDs.c \ - UE-S1AP-ID-pair.c \ - UE-associatedLogicalS1-ConnectionListRes.c \ - UE-associatedLogicalS1-ConnectionListResAck.c \ - UE-associatedLogicalS1-ConnectionItem.c \ - UEIdentityIndexValue.c \ - UE-HistoryInformation.c \ - UEPagingID.c \ - UERadioCapability.c \ - UESecurityCapabilities.c \ - WarningAreaList.c \ - WarningType.c \ - WarningSecurityInfo.c \ - WarningMessageContents.c \ - X2TNLConfigurationInfo.c \ - S1AP-PDU.c \ - InitiatingMessage.c \ - SuccessfulOutcome.c \ - UnsuccessfulOutcome.c \ - HandoverRequired.c \ - HandoverCommand.c \ - HandoverPreparationFailure.c \ - HandoverRequest.c \ - HandoverRequestAcknowledge.c \ - HandoverFailure.c \ - HandoverNotify.c \ - PathSwitchRequest.c \ - PathSwitchRequestAcknowledge.c \ - PathSwitchRequestFailure.c \ - E-RABSetupRequest.c \ - E-RABSetupResponse.c \ - E-RABModifyRequest.c \ - E-RABModifyResponse.c \ - E-RABReleaseIndication.c \ - E-RABReleaseCommand.c \ - E-RABReleaseResponse.c \ - InitialContextSetupRequest.c \ - InitialContextSetupResponse.c \ - InitialContextSetupFailure.c \ - UEContextReleaseRequest.c \ - Paging.c \ - DownlinkNASTransport.c \ - InitialUEMessage.c \ - UplinkNASTransport.c \ - NASNonDeliveryIndication.c \ - HandoverCancel.c \ - HandoverCancelAcknowledge.c \ - Reset.c \ - ResetAcknowledge.c \ - S1SetupResponse.c \ - S1SetupRequest.c \ - S1SetupFailure.c \ - ErrorIndication.c \ - ENBConfigurationUpdate.c \ - ENBConfigurationUpdateAcknowledge.c \ - ENBConfigurationUpdateFailure.c \ - MMEConfigurationUpdate.c \ - MMEConfigurationUpdateAcknowledge.c \ - MMEConfigurationUpdateFailure.c \ - DownlinkS1cdma2000tunneling.c \ - UplinkS1cdma2000tunneling.c \ - UEContextModificationRequest.c \ - UEContextModificationResponse.c \ - UEContextModificationFailure.c \ - UECapabilityInfoIndication.c \ - UEContextReleaseCommand.c \ - UEContextReleaseComplete.c \ - ENBStatusTransfer.c \ - MMEStatusTransfer.c \ - DeactivateTrace.c \ - TraceStart.c \ - TraceFailureIndication.c \ - CellTrafficTrace.c \ - LocationReportingControl.c \ - LocationReportingFailureIndication.c \ - LocationReport.c \ - OverloadStart.c \ - OverloadStop.c \ - WriteReplaceWarningRequest.c \ - WriteReplaceWarningResponse.c \ - ENBDirectInformationTransfer.c \ - MMEDirectInformationTransfer.c \ - ENBConfigurationTransfer.c \ - MMEConfigurationTransfer.c \ - PrivateMessage.c \ - IE.c \ - IE-Extensions.c - -ASN_MODULE_HEADERS= \ - Criticality.h \ - Presence.h \ - PrivateIE-ID.h \ - ProcedureCode.h \ - ProtocolExtensionID.h \ - ProtocolIE-ID.h \ - TriggeringMessage.h \ - AllocationAndRetentionPriority.h \ - Bearers-SubjectToStatusTransfer-List.h \ - Bearers-SubjectToStatusTransfer-Item.h \ - BitRate.h \ - BPLMNs.h \ - BroadcastCompletedAreaList.h \ - Cause.h \ - CauseMisc.h \ - CauseProtocol.h \ - CauseRadioNetwork.h \ - CauseTransport.h \ - CauseNas.h \ - CellIdentity.h \ - CellID-Broadcast.h \ - CellID-Broadcast-Item.h \ - Cdma2000PDU.h \ - Cdma2000RATType.h \ - Cdma2000SectorID.h \ - Cdma2000HOStatus.h \ - Cdma2000HORequiredIndication.h \ - Cdma2000OneXSRVCCInfo.h \ - Cdma2000OneXMEID.h \ - Cdma2000OneXMSI.h \ - Cdma2000OneXPilot.h \ - Cdma2000OneXRAND.h \ - Cell-Size.h \ - CellType.h \ - CGI.h \ - CI.h \ - CNDomain.h \ - CSFallbackIndicator.h \ - CSG-Id.h \ - CSG-IdList.h \ - CSG-IdList-Item.h \ - COUNTvalue.h \ - CriticalityDiagnostics.h \ - CriticalityDiagnostics-IE-List.h \ - CriticalityDiagnostics-IE-Item.h \ - DataCodingScheme.h \ - DL-Forwarding.h \ - Direct-Forwarding-Path-Availability.h \ - E-RABToBeModifiedListBearerModReq.h \ - E-RABToBeModifiedItemBearerModReq.h \ - E-RABReleaseListBearerRelComp.h \ - E-RABReleaseItemBearerRelComp.h \ - E-RABDataForwardingList.h \ - E-RABDataForwardingItem.h \ - E-RABToBeSetupListCtxtSUReq.h \ - E-RABToBeSetupItemCtxtSUReq.h \ - E-RABSetupListBearerSURes.h \ - E-RABSetupItemBearerSURes.h \ - E-RABFailedtoSetupListHOReqAck.h \ - E-RABFailedToSetupItemHOReqAck.h \ - E-RABToBeSetupListBearerSUReq.h \ - E-RABToBeSetupItemBearerSUReq.h \ - E-RABAdmittedList.h \ - E-RABAdmittedItem.h \ - E-RABToBeSwitchedDLList.h \ - E-RABToBeSwitchedDLItem.h \ - E-RABToBeSwitchedULList.h \ - E-RABToBeSwitchedULItem.h \ - E-RABModifyListBearerModRes.h \ - E-RABModifyItemBearerModRes.h \ - E-RABSetupListCtxtSURes.h \ - E-RABSetupItemCtxtSURes.h \ - E-RABToBeSetupListHOReq.h \ - E-RABToBeSetupItemHOReq.h \ - ECGIList.h \ - EmergencyAreaIDList.h \ - EmergencyAreaID.h \ - EmergencyAreaID-Broadcast.h \ - EmergencyAreaID-Broadcast-Item.h \ - CompletedCellinEAI.h \ - CompletedCellinEAI-Item.h \ - ENB-ID.h \ - GERAN-Cell-ID.h \ - Global-ENB-ID.h \ - ENB-StatusTransfer-TransparentContainer.h \ - ENB-UE-S1AP-ID.h \ - ENBname.h \ - ENBX2TLAs.h \ - EncryptionAlgorithms.h \ - EPLMNs.h \ - EventType.h \ - E-RAB-ID.h \ - E-RABInformationList.h \ - E-RABInformationListItem.h \ - E-RABList.h \ - E-RABItem.h \ - E-RABLevelQoSParameters.h \ - EUTRAN-CGI.h \ - ExtendedRNC-ID.h \ - ForbiddenInterRATs.h \ - ForbiddenTAs.h \ - ForbiddenTAs-Item.h \ - ForbiddenTACs.h \ - ForbiddenLAs.h \ - ForbiddenLAs-Item.h \ - ForbiddenLACs.h \ - GBR-QosInformation.h \ - GTP-TEID.h \ - GUMMEI.h \ - HandoverRestrictionList.h \ - HandoverType.h \ - HFN.h \ - HandoverNotify.h \ - Inter-SystemInformationTransferType.h \ - IMSI.h \ - IntegrityProtectionAlgorithms.h \ - InterfacesToTrace.h \ - LAC.h \ - LAI.h \ - LastVisitedCell-Item.h \ - LastVisitedEUTRANCellInformation.h \ - LastVisitedUTRANCellInformation.h \ - LastVisitedGERANCellInformation.h \ - L3-Information.h \ - MessageIdentifier.h \ - MMEname.h \ - MME-Group-ID.h \ - MME-Code.h \ - MME-UE-S1AP-ID.h \ - M-TMSI.h \ - MSClassmark2.h \ - MSClassmark3.h \ - NAS-PDU.h \ - NASSecurityParametersfromE-UTRAN.h \ - NASSecurityParameterstoE-UTRAN.h \ - NumberofBroadcastRequest.h \ - NumberOfBroadcasts.h \ - OldBSS-ToNewBSS-Information.h \ - OverloadAction.h \ - OverloadResponse.h \ - PagingDRX.h \ - PDCP-SN.h \ - PLMNidentity.h \ - Pre-emptionCapability.h \ - Pre-emptionVulnerability.h \ - PriorityLevel.h \ - QCI.h \ - ReceiveStatusofULPDCPSDUs.h \ - RelativeMMECapacity.h \ - RAC.h \ - RequestType.h \ - ResetType.h \ - ResetAll.h \ - RIMTransfer.h \ - RIMInformation.h \ - RIMRoutingAddress.h \ - ReportArea.h \ - RepetitionPeriod.h \ - RNC-ID.h \ - RRC-Container.h \ - RRC-Establishment-Cause.h \ - SecurityKey.h \ - SecurityContext.h \ - SerialNumber.h \ - SONInformation.h \ - SONInformationRequest.h \ - SONInformationReply.h \ - SONConfigurationTransfer.h \ - Source-ToTarget-TransparentContainer.h \ - SourceBSS-ToTargetBSS-TransparentContainer.h \ - SourceeNB-ID.h \ - SRVCCOperationPossible.h \ - SRVCCHOIndication.h \ - SourceeNB-ToTargeteNB-TransparentContainer.h \ - SourceRNC-ToTargetRNC-TransparentContainer.h \ - ServedGUMMEIs.h \ - ServedGUMMEIsItem.h \ - ServedGroupIDs.h \ - ServedMMECs.h \ - ServedPLMNs.h \ - SubscriberProfileIDforRFP.h \ - SupportedTAs.h \ - SupportedTAs-Item.h \ - S-TMSI.h \ - TAC.h \ - TAIListforWarning.h \ - TAIList.h \ - TAIItem.h \ - TAI.h \ - TAI-Broadcast.h \ - TAI-Broadcast-Item.h \ - CompletedCellinTAI.h \ - CompletedCellinTAI-Item.h \ - TBCD-STRING.h \ - TargetID.h \ - TargeteNB-ID.h \ - TargetRNC-ID.h \ - TargeteNB-ToSourceeNB-TransparentContainer.h \ - Target-ToSource-TransparentContainer.h \ - TargetRNC-ToSourceRNC-TransparentContainer.h \ - TargetBSS-ToSourceBSS-TransparentContainer.h \ - TimeToWait.h \ - Time-UE-StayedInCell.h \ - TransportLayerAddress.h \ - TraceActivation.h \ - TraceDepth.h \ - E-UTRAN-Trace-ID.h \ - TypeOfError.h \ - UEAggregateMaximumBitrate.h \ - UE-S1AP-IDs.h \ - UE-S1AP-ID-pair.h \ - UE-associatedLogicalS1-ConnectionListRes.h \ - UE-associatedLogicalS1-ConnectionListResAck.h \ - UE-associatedLogicalS1-ConnectionItem.h \ - UEIdentityIndexValue.h \ - UE-HistoryInformation.h \ - UEPagingID.h \ - UERadioCapability.h \ - UESecurityCapabilities.h \ - WarningAreaList.h \ - WarningType.h \ - WarningSecurityInfo.h \ - WarningMessageContents.h \ - X2TNLConfigurationInfo.h \ - S1AP-PDU.h \ - InitiatingMessage.h \ - SuccessfulOutcome.h \ - UnsuccessfulOutcome.h \ - HandoverRequired.h \ - HandoverCommand.h \ - HandoverPreparationFailure.h \ - HandoverRequest.h \ - HandoverRequestAcknowledge.h \ - HandoverFailure.h \ - PathSwitchRequest.h \ - PathSwitchRequestAcknowledge.h \ - PathSwitchRequestFailure.h \ - E-RABSetupRequest.h \ - E-RABSetupResponse.h \ - E-RABModifyRequest.h \ - E-RABModifyResponse.h \ - E-RABReleaseIndication.h \ - E-RABReleaseCommand.h \ - E-RABReleaseResponse.h \ - InitialContextSetupRequest.h \ - InitialContextSetupResponse.h \ - InitialContextSetupFailure.h \ - UEContextReleaseRequest.h \ - Paging.h \ - DownlinkNASTransport.h \ - InitialUEMessage.h \ - UplinkNASTransport.h \ - NASNonDeliveryIndication.h \ - HandoverCancel.h \ - HandoverCancelAcknowledge.h \ - Reset.h \ - ResetAcknowledge.h \ - S1SetupResponse.h \ - S1SetupRequest.h \ - S1SetupFailure.h \ - ErrorIndication.h \ - ENBConfigurationUpdate.h \ - ENBConfigurationUpdateAcknowledge.h \ - ENBConfigurationUpdateFailure.h \ - MMEConfigurationUpdate.h \ - MMEConfigurationUpdateAcknowledge.h \ - MMEConfigurationUpdateFailure.h \ - DownlinkS1cdma2000tunneling.h \ - UplinkS1cdma2000tunneling.h \ - UEContextModificationRequest.h \ - UEContextModificationResponse.h \ - UEContextModificationFailure.h \ - UECapabilityInfoIndication.h \ - UEContextReleaseCommand.h \ - UEContextReleaseComplete.h \ - ENBStatusTransfer.h \ - MMEStatusTransfer.h \ - DeactivateTrace.h \ - TraceStart.h \ - TraceFailureIndication.h \ - CellTrafficTrace.h \ - LocationReportingControl.h \ - LocationReportingFailureIndication.h \ - LocationReport.h \ - OverloadStart.h \ - OverloadStop.h \ - WriteReplaceWarningRequest.h \ - WriteReplaceWarningResponse.h \ - ENBDirectInformationTransfer.h \ - MMEDirectInformationTransfer.h \ - ENBConfigurationTransfer.h \ - MMEConfigurationTransfer.h \ - PrivateMessage.h \ - IE.h \ - IE-Extensions.h - -ASN_MODULE_HEADERS+=ANY.h -ASN_MODULE_SOURCES+=ANY.c -ASN_MODULE_HEADERS+=BOOLEAN.h -ASN_MODULE_SOURCES+=BOOLEAN.c -ASN_MODULE_HEADERS+=INTEGER.h -ASN_MODULE_HEADERS+=NativeEnumerated.h -ASN_MODULE_SOURCES+=INTEGER.c -ASN_MODULE_HEADERS+=NULL.h -ASN_MODULE_SOURCES+=NULL.c -ASN_MODULE_SOURCES+=NativeEnumerated.c -ASN_MODULE_HEADERS+=NativeInteger.h -ASN_MODULE_SOURCES+=NativeInteger.c -ASN_MODULE_HEADERS+=OBJECT_IDENTIFIER.h -ASN_MODULE_SOURCES+=OBJECT_IDENTIFIER.c -ASN_MODULE_HEADERS+=PrintableString.h -ASN_MODULE_SOURCES+=PrintableString.c -ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h -ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.c -ASN_MODULE_HEADERS+=asn_SET_OF.h -ASN_MODULE_SOURCES+=asn_SET_OF.c -ASN_MODULE_HEADERS+=constr_CHOICE.h -ASN_MODULE_SOURCES+=constr_CHOICE.c -ASN_MODULE_HEADERS+=constr_SEQUENCE.h -ASN_MODULE_SOURCES+=constr_SEQUENCE.c -ASN_MODULE_HEADERS+=constr_SEQUENCE_OF.h -ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.c -ASN_MODULE_HEADERS+=constr_SET_OF.h -ASN_MODULE_SOURCES+=constr_SET_OF.c -ASN_MODULE_HEADERS+=asn_application.h -ASN_MODULE_HEADERS+=asn_system.h -ASN_MODULE_HEADERS+=asn_codecs.h -ASN_MODULE_HEADERS+=asn_internal.h -ASN_MODULE_HEADERS+=OCTET_STRING.h -ASN_MODULE_SOURCES+=OCTET_STRING.c -ASN_MODULE_HEADERS+=BIT_STRING.h -ASN_MODULE_SOURCES+=BIT_STRING.c -ASN_MODULE_SOURCES+=asn_codecs_prim.c -ASN_MODULE_HEADERS+=asn_codecs_prim.h -ASN_MODULE_HEADERS+=ber_tlv_length.h -ASN_MODULE_SOURCES+=ber_tlv_length.c -ASN_MODULE_HEADERS+=ber_tlv_tag.h -ASN_MODULE_SOURCES+=ber_tlv_tag.c -ASN_MODULE_HEADERS+=ber_decoder.h -ASN_MODULE_SOURCES+=ber_decoder.c -ASN_MODULE_HEADERS+=der_encoder.h -ASN_MODULE_SOURCES+=der_encoder.c -ASN_MODULE_HEADERS+=constr_TYPE.h -ASN_MODULE_SOURCES+=constr_TYPE.c -ASN_MODULE_HEADERS+=constraints.h -ASN_MODULE_SOURCES+=constraints.c -ASN_MODULE_HEADERS+=xer_support.h -ASN_MODULE_SOURCES+=xer_support.c -ASN_MODULE_HEADERS+=xer_decoder.h -ASN_MODULE_SOURCES+=xer_decoder.c -ASN_MODULE_HEADERS+=xer_encoder.h -ASN_MODULE_SOURCES+=xer_encoder.c -ASN_MODULE_HEADERS+=per_support.h -ASN_MODULE_SOURCES+=per_support.c -ASN_MODULE_HEADERS+=per_decoder.h -ASN_MODULE_SOURCES+=per_decoder.c -ASN_MODULE_HEADERS+=per_encoder.h -ASN_MODULE_SOURCES+=per_encoder.c -ASN_MODULE_HEADERS+=per_opentype.h -ASN_MODULE_SOURCES+=per_opentype.c - -if UPDATE_RELEASE_9 -ASN_MODULE_SOURCES += \ - KillResponse.c \ - KillRequest.c \ - Data-Forwarding-Not-Possible.c \ - DownlinkUEAssociatedLPPaTransport.c \ - UplinkUEAssociatedLPPaTransport.c \ - DownlinkNonUEAssociatedLPPaTransport.c \ - UplinkNonUEAssociatedLPPaTransport.c \ - TAI-Cancelled.c \ - TAI-Cancelled-Item.c \ - StratumLevel.c \ - SynchronizationStatus.c \ - TimeSynchronizationInfo.c \ - Routing-ID.c \ - PS-ServiceNotAvailable.c \ - LPPa-PDU.c \ - ExtendedRepetitionPeriod.c \ - EUTRANRoundTripDelayEstimationInfo.c \ - EmergencyAreaID-Cancelled.c \ - EmergencyAreaID-Cancelled-Item.c \ - CSGMembershipStatus.c \ - ConcurrentWarningMessageIndicator.c \ - CellID-Cancelled.c \ - CellID-Cancelled-Item.c \ - CellAccessMode.c \ - CancelledCellinEAI.c \ - CancelledCellinEAI-Item.c \ - CancelledCellinTAI.c \ - CancelledCellinTAI-Item.c \ - BroadcastCancelledAreaList.c - -ASN_MODULE_HEADERS += \ - BroadcastCancelledAreaList.h \ - CancelledCellinEAI.h \ - CancelledCellinEAI-Item.h \ - CancelledCellinTAI.h \ - CancelledCellinTAI-Item.h \ - CellAccessMode.h \ - CellID-Cancelled.h \ - CellID-Cancelled-Item.h \ - ConcurrentWarningMessageIndicator.h \ - CSGMembershipStatus.h \ - Data-Forwarding-Not-Possible.h \ - EmergencyAreaID-Cancelled.h \ - EmergencyAreaID-Cancelled-Item.h \ - E-RABList.h \ - EUTRANRoundTripDelayEstimationInfo.h \ - ExtendedRepetitionPeriod.h \ - LPPa-PDU.h \ - PS-ServiceNotAvailable.h \ - Routing-ID.h \ - StratumLevel.h \ - SynchronizationStatus.h \ - TimeSynchronizationInfo.h \ - TAI-Cancelled.h \ - TAI-Cancelled-Item.h \ - KillResponse.h \ - KillRequest.h \ - DownlinkUEAssociatedLPPaTransport.h \ - UplinkUEAssociatedLPPaTransport.h \ - DownlinkNonUEAssociatedLPPaTransport.h \ - UplinkNonUEAssociatedLPPaTransport.h -endif - -noinst_LTLIBRARIES = libs1apmessages.la -libs1apmessages_la_LDFLAGS = -all-static - -BUILT_SOURCES = asn1regen.stamp - -AM_CPPFLAGS = -DEMIT_ASN_DEBUG=1 - -libs1apmessages_la_SOURCES=$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS) - -asn1regen.stamp: ASN1/$(ASN1DIR)/S1AP-CommonDataTypes.asn ASN1/$(ASN1DIR)/S1AP-Constants.asn ASN1/$(ASN1DIR)/S1AP-IEs.asn ASN1/$(ASN1DIR)/S1AP-PDU.asn - echo Timestamp > $@ - asn1c -gen-PER -fnative-types -fskeletons-copy $^ - -clean-messages: - rm -f *.lo - -clean-local: - rm -f asn1regen.stamp - rm -f Makefile.am.sample - rm -f converter-sample.c - rm -f $(ASN_MODULE_SOURCES) - rm -f $(ASN_MODULE_HEADERS) - rm -f $(ASN_MODULE_HEADERS_IES) diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.in b/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.in deleted file mode 100644 index ddcb8ef017..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.in +++ /dev/null @@ -1,2073 +0,0 @@ -# Makefile.in generated by automake 1.12 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -@UPDATE_RELEASE_9_TRUE@am__append_1 = \ -@UPDATE_RELEASE_9_TRUE@ KillResponse.c \ -@UPDATE_RELEASE_9_TRUE@ KillRequest.c \ -@UPDATE_RELEASE_9_TRUE@ Data-Forwarding-Not-Possible.c \ -@UPDATE_RELEASE_9_TRUE@ DownlinkUEAssociatedLPPaTransport.c \ -@UPDATE_RELEASE_9_TRUE@ UplinkUEAssociatedLPPaTransport.c \ -@UPDATE_RELEASE_9_TRUE@ DownlinkNonUEAssociatedLPPaTransport.c \ -@UPDATE_RELEASE_9_TRUE@ UplinkNonUEAssociatedLPPaTransport.c \ -@UPDATE_RELEASE_9_TRUE@ TAI-Cancelled.c \ -@UPDATE_RELEASE_9_TRUE@ TAI-Cancelled-Item.c \ -@UPDATE_RELEASE_9_TRUE@ StratumLevel.c \ -@UPDATE_RELEASE_9_TRUE@ SynchronizationStatus.c \ -@UPDATE_RELEASE_9_TRUE@ TimeSynchronizationInfo.c \ -@UPDATE_RELEASE_9_TRUE@ Routing-ID.c \ -@UPDATE_RELEASE_9_TRUE@ PS-ServiceNotAvailable.c \ -@UPDATE_RELEASE_9_TRUE@ LPPa-PDU.c \ -@UPDATE_RELEASE_9_TRUE@ ExtendedRepetitionPeriod.c \ -@UPDATE_RELEASE_9_TRUE@ EUTRANRoundTripDelayEstimationInfo.c \ -@UPDATE_RELEASE_9_TRUE@ EmergencyAreaID-Cancelled.c \ -@UPDATE_RELEASE_9_TRUE@ EmergencyAreaID-Cancelled-Item.c \ -@UPDATE_RELEASE_9_TRUE@ CSGMembershipStatus.c \ -@UPDATE_RELEASE_9_TRUE@ ConcurrentWarningMessageIndicator.c \ -@UPDATE_RELEASE_9_TRUE@ CellID-Cancelled.c \ -@UPDATE_RELEASE_9_TRUE@ CellID-Cancelled-Item.c \ -@UPDATE_RELEASE_9_TRUE@ CellAccessMode.c \ -@UPDATE_RELEASE_9_TRUE@ CancelledCellinEAI.c \ -@UPDATE_RELEASE_9_TRUE@ CancelledCellinEAI-Item.c \ -@UPDATE_RELEASE_9_TRUE@ CancelledCellinTAI.c \ -@UPDATE_RELEASE_9_TRUE@ CancelledCellinTAI-Item.c \ -@UPDATE_RELEASE_9_TRUE@ BroadcastCancelledAreaList.c - -@UPDATE_RELEASE_9_TRUE@am__append_2 = \ -@UPDATE_RELEASE_9_TRUE@ BroadcastCancelledAreaList.h \ -@UPDATE_RELEASE_9_TRUE@ CancelledCellinEAI.h \ -@UPDATE_RELEASE_9_TRUE@ CancelledCellinEAI-Item.h \ -@UPDATE_RELEASE_9_TRUE@ CancelledCellinTAI.h \ -@UPDATE_RELEASE_9_TRUE@ CancelledCellinTAI-Item.h \ -@UPDATE_RELEASE_9_TRUE@ CellAccessMode.h \ -@UPDATE_RELEASE_9_TRUE@ CellID-Cancelled.h \ -@UPDATE_RELEASE_9_TRUE@ CellID-Cancelled-Item.h \ -@UPDATE_RELEASE_9_TRUE@ ConcurrentWarningMessageIndicator.h \ -@UPDATE_RELEASE_9_TRUE@ CSGMembershipStatus.h \ -@UPDATE_RELEASE_9_TRUE@ Data-Forwarding-Not-Possible.h \ -@UPDATE_RELEASE_9_TRUE@ EmergencyAreaID-Cancelled.h \ -@UPDATE_RELEASE_9_TRUE@ EmergencyAreaID-Cancelled-Item.h \ -@UPDATE_RELEASE_9_TRUE@ E-RABList.h \ -@UPDATE_RELEASE_9_TRUE@ EUTRANRoundTripDelayEstimationInfo.h \ -@UPDATE_RELEASE_9_TRUE@ ExtendedRepetitionPeriod.h \ -@UPDATE_RELEASE_9_TRUE@ LPPa-PDU.h \ -@UPDATE_RELEASE_9_TRUE@ PS-ServiceNotAvailable.h \ -@UPDATE_RELEASE_9_TRUE@ Routing-ID.h \ -@UPDATE_RELEASE_9_TRUE@ StratumLevel.h \ -@UPDATE_RELEASE_9_TRUE@ SynchronizationStatus.h \ -@UPDATE_RELEASE_9_TRUE@ TimeSynchronizationInfo.h \ -@UPDATE_RELEASE_9_TRUE@ TAI-Cancelled.h \ -@UPDATE_RELEASE_9_TRUE@ TAI-Cancelled-Item.h \ -@UPDATE_RELEASE_9_TRUE@ KillResponse.h \ -@UPDATE_RELEASE_9_TRUE@ KillRequest.h \ -@UPDATE_RELEASE_9_TRUE@ DownlinkUEAssociatedLPPaTransport.h \ -@UPDATE_RELEASE_9_TRUE@ UplinkUEAssociatedLPPaTransport.h \ -@UPDATE_RELEASE_9_TRUE@ DownlinkNonUEAssociatedLPPaTransport.h \ -@UPDATE_RELEASE_9_TRUE@ UplinkNonUEAssociatedLPPaTransport.h - -subdir = S1AP/MESSAGES -DIST_COMMON = $(am__ASN_MODULE_HEADERS_DIST) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libs1apmessages_la_LIBADD = -am__libs1apmessages_la_SOURCES_DIST = Criticality.c Presence.c \ - PrivateIE-ID.c ProcedureCode.c ProtocolExtensionID.c \ - ProtocolIE-ID.c TriggeringMessage.c IE-Extensions.c \ - AllocationAndRetentionPriority.c \ - Bearers-SubjectToStatusTransfer-List.c \ - Bearers-SubjectToStatusTransfer-Item.c BitRate.c BPLMNs.c \ - BroadcastCompletedAreaList.c Cause.c CauseMisc.c \ - CauseProtocol.c CauseRadioNetwork.c CauseTransport.c \ - CauseNas.c CellIdentity.c CellID-Broadcast.c \ - CellID-Broadcast-Item.c Cdma2000PDU.c Cdma2000RATType.c \ - Cdma2000SectorID.c Cdma2000HOStatus.c \ - Cdma2000HORequiredIndication.c Cdma2000OneXSRVCCInfo.c \ - Cdma2000OneXMEID.c Cdma2000OneXMSI.c Cdma2000OneXPilot.c \ - Cdma2000OneXRAND.c Cell-Size.c CellType.c CGI.c CI.c \ - CNDomain.c CSFallbackIndicator.c CSG-Id.c CSG-IdList.c \ - CSG-IdList-Item.c COUNTvalue.c CriticalityDiagnostics.c \ - CriticalityDiagnostics-IE-List.c \ - CriticalityDiagnostics-IE-Item.c DataCodingScheme.c \ - DL-Forwarding.c Direct-Forwarding-Path-Availability.c \ - E-RABToBeModifiedListBearerModReq.c \ - E-RABToBeModifiedItemBearerModReq.c \ - E-RABReleaseListBearerRelComp.c \ - E-RABReleaseItemBearerRelComp.c E-RABDataForwardingList.c \ - E-RABDataForwardingItem.c E-RABToBeSetupListCtxtSUReq.c \ - E-RABToBeSetupItemCtxtSUReq.c E-RABSetupListBearerSURes.c \ - E-RABSetupItemBearerSURes.c E-RABFailedtoSetupListHOReqAck.c \ - E-RABFailedToSetupItemHOReqAck.c \ - E-RABToBeSetupListBearerSUReq.c \ - E-RABToBeSetupItemBearerSUReq.c E-RABAdmittedList.c \ - E-RABAdmittedItem.c E-RABToBeSwitchedDLList.c \ - E-RABToBeSwitchedDLItem.c E-RABToBeSwitchedULList.c \ - E-RABToBeSwitchedULItem.c E-RABModifyListBearerModRes.c \ - E-RABModifyItemBearerModRes.c E-RABSetupListCtxtSURes.c \ - E-RABSetupItemCtxtSURes.c E-RABToBeSetupListHOReq.c \ - E-RABToBeSetupItemHOReq.c ECGIList.c EmergencyAreaIDList.c \ - EmergencyAreaID.c EmergencyAreaID-Broadcast.c \ - EmergencyAreaID-Broadcast-Item.c CompletedCellinEAI.c \ - CompletedCellinEAI-Item.c ENB-ID.c GERAN-Cell-ID.c \ - Global-ENB-ID.c ENB-StatusTransfer-TransparentContainer.c \ - ENB-UE-S1AP-ID.c ENBname.c ENBX2TLAs.c EncryptionAlgorithms.c \ - EPLMNs.c EventType.c E-RAB-ID.c E-RABInformationList.c \ - E-RABInformationListItem.c E-RABList.c E-RABItem.c \ - E-RABLevelQoSParameters.c EUTRAN-CGI.c ExtendedRNC-ID.c \ - ForbiddenInterRATs.c ForbiddenTAs.c ForbiddenTAs-Item.c \ - ForbiddenTACs.c ForbiddenLAs.c ForbiddenLAs-Item.c \ - ForbiddenLACs.c GBR-QosInformation.c GTP-TEID.c GUMMEI.c \ - HandoverRestrictionList.c HandoverType.c HFN.c \ - HandoverNotify.c Inter-SystemInformationTransferType.c IMSI.c \ - IntegrityProtectionAlgorithms.c InterfacesToTrace.c LAC.c \ - LAI.c LastVisitedCell-Item.c \ - LastVisitedEUTRANCellInformation.c \ - LastVisitedUTRANCellInformation.c \ - LastVisitedGERANCellInformation.c L3-Information.c \ - MessageIdentifier.c MMEname.c MME-Group-ID.c MME-Code.c \ - MME-UE-S1AP-ID.c M-TMSI.c MSClassmark2.c MSClassmark3.c \ - NAS-PDU.c NASSecurityParametersfromE-UTRAN.c \ - NASSecurityParameterstoE-UTRAN.c NumberofBroadcastRequest.c \ - NumberOfBroadcasts.c OldBSS-ToNewBSS-Information.c \ - OverloadAction.c OverloadResponse.c PagingDRX.c PDCP-SN.c \ - PLMNidentity.c Pre-emptionCapability.c \ - Pre-emptionVulnerability.c PriorityLevel.c QCI.c \ - ReceiveStatusofULPDCPSDUs.c RelativeMMECapacity.c RAC.c \ - RequestType.c ResetType.c ResetAll.c RIMTransfer.c \ - RIMInformation.c RIMRoutingAddress.c ReportArea.c \ - RepetitionPeriod.c RNC-ID.c RRC-Container.c \ - RRC-Establishment-Cause.c SecurityKey.c SecurityContext.c \ - SerialNumber.c SONInformation.c SONInformationRequest.c \ - SONInformationReply.c SONConfigurationTransfer.c \ - Source-ToTarget-TransparentContainer.c \ - SourceBSS-ToTargetBSS-TransparentContainer.c SourceeNB-ID.c \ - SRVCCOperationPossible.c SRVCCHOIndication.c \ - SourceeNB-ToTargeteNB-TransparentContainer.c \ - SourceRNC-ToTargetRNC-TransparentContainer.c ServedGUMMEIs.c \ - ServedGUMMEIsItem.c ServedGroupIDs.c ServedMMECs.c \ - ServedPLMNs.c SubscriberProfileIDforRFP.c SupportedTAs.c \ - SupportedTAs-Item.c S-TMSI.c TAC.c TAIListforWarning.c \ - TAIList.c TAIItem.c TAI.c TAI-Broadcast.c TAI-Broadcast-Item.c \ - CompletedCellinTAI.c CompletedCellinTAI-Item.c TBCD-STRING.c \ - TargetID.c TargeteNB-ID.c TargetRNC-ID.c \ - TargeteNB-ToSourceeNB-TransparentContainer.c \ - Target-ToSource-TransparentContainer.c \ - TargetRNC-ToSourceRNC-TransparentContainer.c \ - TargetBSS-ToSourceBSS-TransparentContainer.c TimeToWait.c \ - Time-UE-StayedInCell.c TransportLayerAddress.c \ - TraceActivation.c TraceDepth.c E-UTRAN-Trace-ID.c \ - TypeOfError.c UEAggregateMaximumBitrate.c UE-S1AP-IDs.c \ - UE-S1AP-ID-pair.c UE-associatedLogicalS1-ConnectionListRes.c \ - UE-associatedLogicalS1-ConnectionListResAck.c \ - UE-associatedLogicalS1-ConnectionItem.c UEIdentityIndexValue.c \ - UE-HistoryInformation.c UEPagingID.c UERadioCapability.c \ - UESecurityCapabilities.c WarningAreaList.c WarningType.c \ - WarningSecurityInfo.c WarningMessageContents.c \ - X2TNLConfigurationInfo.c S1AP-PDU.c InitiatingMessage.c \ - SuccessfulOutcome.c UnsuccessfulOutcome.c HandoverRequired.c \ - HandoverCommand.c HandoverPreparationFailure.c \ - HandoverRequest.c HandoverRequestAcknowledge.c \ - HandoverFailure.c PathSwitchRequest.c \ - PathSwitchRequestAcknowledge.c PathSwitchRequestFailure.c \ - E-RABSetupRequest.c E-RABSetupResponse.c E-RABModifyRequest.c \ - E-RABModifyResponse.c E-RABReleaseIndication.c \ - E-RABReleaseCommand.c E-RABReleaseResponse.c \ - InitialContextSetupRequest.c InitialContextSetupResponse.c \ - InitialContextSetupFailure.c UEContextReleaseRequest.c \ - Paging.c DownlinkNASTransport.c InitialUEMessage.c \ - UplinkNASTransport.c NASNonDeliveryIndication.c \ - HandoverCancel.c HandoverCancelAcknowledge.c Reset.c \ - ResetAcknowledge.c S1SetupResponse.c S1SetupRequest.c \ - S1SetupFailure.c ErrorIndication.c ENBConfigurationUpdate.c \ - ENBConfigurationUpdateAcknowledge.c \ - ENBConfigurationUpdateFailure.c MMEConfigurationUpdate.c \ - MMEConfigurationUpdateAcknowledge.c \ - MMEConfigurationUpdateFailure.c DownlinkS1cdma2000tunneling.c \ - UplinkS1cdma2000tunneling.c UEContextModificationRequest.c \ - UEContextModificationResponse.c UEContextModificationFailure.c \ - UECapabilityInfoIndication.c UEContextReleaseCommand.c \ - UEContextReleaseComplete.c ENBStatusTransfer.c \ - MMEStatusTransfer.c DeactivateTrace.c TraceStart.c \ - TraceFailureIndication.c CellTrafficTrace.c \ - LocationReportingControl.c \ - LocationReportingFailureIndication.c LocationReport.c \ - OverloadStart.c OverloadStop.c WriteReplaceWarningRequest.c \ - WriteReplaceWarningResponse.c ENBDirectInformationTransfer.c \ - MMEDirectInformationTransfer.c ENBConfigurationTransfer.c \ - MMEConfigurationTransfer.c PrivateMessage.c IE.c ANY.c \ - BOOLEAN.c INTEGER.c NULL.c NativeEnumerated.c NativeInteger.c \ - OBJECT_IDENTIFIER.c PrintableString.c asn_SEQUENCE_OF.c \ - asn_SET_OF.c constr_CHOICE.c constr_SEQUENCE.c \ - constr_SEQUENCE_OF.c constr_SET_OF.c OCTET_STRING.c \ - BIT_STRING.c asn_codecs_prim.c ber_tlv_length.c ber_tlv_tag.c \ - ber_decoder.c der_encoder.c constr_TYPE.c constraints.c \ - xer_support.c xer_decoder.c xer_encoder.c per_support.c \ - per_decoder.c per_encoder.c per_opentype.c KillResponse.c \ - KillRequest.c Data-Forwarding-Not-Possible.c \ - DownlinkUEAssociatedLPPaTransport.c \ - UplinkUEAssociatedLPPaTransport.c \ - DownlinkNonUEAssociatedLPPaTransport.c \ - UplinkNonUEAssociatedLPPaTransport.c TAI-Cancelled.c \ - TAI-Cancelled-Item.c StratumLevel.c SynchronizationStatus.c \ - TimeSynchronizationInfo.c Routing-ID.c \ - PS-ServiceNotAvailable.c LPPa-PDU.c ExtendedRepetitionPeriod.c \ - EUTRANRoundTripDelayEstimationInfo.c \ - EmergencyAreaID-Cancelled.c EmergencyAreaID-Cancelled-Item.c \ - CSGMembershipStatus.c ConcurrentWarningMessageIndicator.c \ - CellID-Cancelled.c CellID-Cancelled-Item.c CellAccessMode.c \ - CancelledCellinEAI.c CancelledCellinEAI-Item.c \ - CancelledCellinTAI.c CancelledCellinTAI-Item.c \ - BroadcastCancelledAreaList.c Criticality.h Presence.h \ - PrivateIE-ID.h ProcedureCode.h ProtocolExtensionID.h \ - ProtocolIE-ID.h TriggeringMessage.h \ - AllocationAndRetentionPriority.h \ - Bearers-SubjectToStatusTransfer-List.h \ - Bearers-SubjectToStatusTransfer-Item.h BitRate.h BPLMNs.h \ - BroadcastCompletedAreaList.h Cause.h CauseMisc.h \ - CauseProtocol.h CauseRadioNetwork.h CauseTransport.h \ - CauseNas.h CellIdentity.h CellID-Broadcast.h \ - CellID-Broadcast-Item.h Cdma2000PDU.h Cdma2000RATType.h \ - Cdma2000SectorID.h Cdma2000HOStatus.h \ - Cdma2000HORequiredIndication.h Cdma2000OneXSRVCCInfo.h \ - Cdma2000OneXMEID.h Cdma2000OneXMSI.h Cdma2000OneXPilot.h \ - Cdma2000OneXRAND.h Cell-Size.h CellType.h CGI.h CI.h \ - CNDomain.h CSFallbackIndicator.h CSG-Id.h CSG-IdList.h \ - CSG-IdList-Item.h COUNTvalue.h CriticalityDiagnostics.h \ - CriticalityDiagnostics-IE-List.h \ - CriticalityDiagnostics-IE-Item.h DataCodingScheme.h \ - DL-Forwarding.h Direct-Forwarding-Path-Availability.h \ - E-RABToBeModifiedListBearerModReq.h \ - E-RABToBeModifiedItemBearerModReq.h \ - E-RABReleaseListBearerRelComp.h \ - E-RABReleaseItemBearerRelComp.h E-RABDataForwardingList.h \ - E-RABDataForwardingItem.h E-RABToBeSetupListCtxtSUReq.h \ - E-RABToBeSetupItemCtxtSUReq.h E-RABSetupListBearerSURes.h \ - E-RABSetupItemBearerSURes.h E-RABFailedtoSetupListHOReqAck.h \ - E-RABFailedToSetupItemHOReqAck.h \ - E-RABToBeSetupListBearerSUReq.h \ - E-RABToBeSetupItemBearerSUReq.h E-RABAdmittedList.h \ - E-RABAdmittedItem.h E-RABToBeSwitchedDLList.h \ - E-RABToBeSwitchedDLItem.h E-RABToBeSwitchedULList.h \ - E-RABToBeSwitchedULItem.h E-RABModifyListBearerModRes.h \ - E-RABModifyItemBearerModRes.h E-RABSetupListCtxtSURes.h \ - E-RABSetupItemCtxtSURes.h E-RABToBeSetupListHOReq.h \ - E-RABToBeSetupItemHOReq.h ECGIList.h EmergencyAreaIDList.h \ - EmergencyAreaID.h EmergencyAreaID-Broadcast.h \ - EmergencyAreaID-Broadcast-Item.h CompletedCellinEAI.h \ - CompletedCellinEAI-Item.h ENB-ID.h GERAN-Cell-ID.h \ - Global-ENB-ID.h ENB-StatusTransfer-TransparentContainer.h \ - ENB-UE-S1AP-ID.h ENBname.h ENBX2TLAs.h EncryptionAlgorithms.h \ - EPLMNs.h EventType.h E-RAB-ID.h E-RABInformationList.h \ - E-RABInformationListItem.h E-RABList.h E-RABItem.h \ - E-RABLevelQoSParameters.h EUTRAN-CGI.h ExtendedRNC-ID.h \ - ForbiddenInterRATs.h ForbiddenTAs.h ForbiddenTAs-Item.h \ - ForbiddenTACs.h ForbiddenLAs.h ForbiddenLAs-Item.h \ - ForbiddenLACs.h GBR-QosInformation.h GTP-TEID.h GUMMEI.h \ - HandoverRestrictionList.h HandoverType.h HFN.h \ - HandoverNotify.h Inter-SystemInformationTransferType.h IMSI.h \ - IntegrityProtectionAlgorithms.h InterfacesToTrace.h LAC.h \ - LAI.h LastVisitedCell-Item.h \ - LastVisitedEUTRANCellInformation.h \ - LastVisitedUTRANCellInformation.h \ - LastVisitedGERANCellInformation.h L3-Information.h \ - MessageIdentifier.h MMEname.h MME-Group-ID.h MME-Code.h \ - MME-UE-S1AP-ID.h M-TMSI.h MSClassmark2.h MSClassmark3.h \ - NAS-PDU.h NASSecurityParametersfromE-UTRAN.h \ - NASSecurityParameterstoE-UTRAN.h NumberofBroadcastRequest.h \ - NumberOfBroadcasts.h OldBSS-ToNewBSS-Information.h \ - OverloadAction.h OverloadResponse.h PagingDRX.h PDCP-SN.h \ - PLMNidentity.h Pre-emptionCapability.h \ - Pre-emptionVulnerability.h PriorityLevel.h QCI.h \ - ReceiveStatusofULPDCPSDUs.h RelativeMMECapacity.h RAC.h \ - RequestType.h ResetType.h ResetAll.h RIMTransfer.h \ - RIMInformation.h RIMRoutingAddress.h ReportArea.h \ - RepetitionPeriod.h RNC-ID.h RRC-Container.h \ - RRC-Establishment-Cause.h SecurityKey.h SecurityContext.h \ - SerialNumber.h SONInformation.h SONInformationRequest.h \ - SONInformationReply.h SONConfigurationTransfer.h \ - Source-ToTarget-TransparentContainer.h \ - SourceBSS-ToTargetBSS-TransparentContainer.h SourceeNB-ID.h \ - SRVCCOperationPossible.h SRVCCHOIndication.h \ - SourceeNB-ToTargeteNB-TransparentContainer.h \ - SourceRNC-ToTargetRNC-TransparentContainer.h ServedGUMMEIs.h \ - ServedGUMMEIsItem.h ServedGroupIDs.h ServedMMECs.h \ - ServedPLMNs.h SubscriberProfileIDforRFP.h SupportedTAs.h \ - SupportedTAs-Item.h S-TMSI.h TAC.h TAIListforWarning.h \ - TAIList.h TAIItem.h TAI.h TAI-Broadcast.h TAI-Broadcast-Item.h \ - CompletedCellinTAI.h CompletedCellinTAI-Item.h TBCD-STRING.h \ - TargetID.h TargeteNB-ID.h TargetRNC-ID.h \ - TargeteNB-ToSourceeNB-TransparentContainer.h \ - Target-ToSource-TransparentContainer.h \ - TargetRNC-ToSourceRNC-TransparentContainer.h \ - TargetBSS-ToSourceBSS-TransparentContainer.h TimeToWait.h \ - Time-UE-StayedInCell.h TransportLayerAddress.h \ - TraceActivation.h TraceDepth.h E-UTRAN-Trace-ID.h \ - TypeOfError.h UEAggregateMaximumBitrate.h UE-S1AP-IDs.h \ - UE-S1AP-ID-pair.h UE-associatedLogicalS1-ConnectionListRes.h \ - UE-associatedLogicalS1-ConnectionListResAck.h \ - UE-associatedLogicalS1-ConnectionItem.h UEIdentityIndexValue.h \ - UE-HistoryInformation.h UEPagingID.h UERadioCapability.h \ - UESecurityCapabilities.h WarningAreaList.h WarningType.h \ - WarningSecurityInfo.h WarningMessageContents.h \ - X2TNLConfigurationInfo.h S1AP-PDU.h InitiatingMessage.h \ - SuccessfulOutcome.h UnsuccessfulOutcome.h HandoverRequired.h \ - HandoverCommand.h HandoverPreparationFailure.h \ - HandoverRequest.h HandoverRequestAcknowledge.h \ - HandoverFailure.h PathSwitchRequest.h \ - PathSwitchRequestAcknowledge.h PathSwitchRequestFailure.h \ - E-RABSetupRequest.h E-RABSetupResponse.h E-RABModifyRequest.h \ - E-RABModifyResponse.h E-RABReleaseIndication.h \ - E-RABReleaseCommand.h E-RABReleaseResponse.h \ - InitialContextSetupRequest.h InitialContextSetupResponse.h \ - InitialContextSetupFailure.h UEContextReleaseRequest.h \ - Paging.h DownlinkNASTransport.h InitialUEMessage.h \ - UplinkNASTransport.h NASNonDeliveryIndication.h \ - HandoverCancel.h HandoverCancelAcknowledge.h Reset.h \ - ResetAcknowledge.h S1SetupResponse.h S1SetupRequest.h \ - S1SetupFailure.h ErrorIndication.h ENBConfigurationUpdate.h \ - ENBConfigurationUpdateAcknowledge.h \ - ENBConfigurationUpdateFailure.h MMEConfigurationUpdate.h \ - MMEConfigurationUpdateAcknowledge.h \ - MMEConfigurationUpdateFailure.h DownlinkS1cdma2000tunneling.h \ - UplinkS1cdma2000tunneling.h UEContextModificationRequest.h \ - UEContextModificationResponse.h UEContextModificationFailure.h \ - UECapabilityInfoIndication.h UEContextReleaseCommand.h \ - UEContextReleaseComplete.h ENBStatusTransfer.h \ - MMEStatusTransfer.h DeactivateTrace.h TraceStart.h \ - TraceFailureIndication.h CellTrafficTrace.h \ - LocationReportingControl.h \ - LocationReportingFailureIndication.h LocationReport.h \ - OverloadStart.h OverloadStop.h WriteReplaceWarningRequest.h \ - WriteReplaceWarningResponse.h ENBDirectInformationTransfer.h \ - MMEDirectInformationTransfer.h ENBConfigurationTransfer.h \ - MMEConfigurationTransfer.h PrivateMessage.h IE.h \ - IE-Extensions.h ANY.h BOOLEAN.h INTEGER.h NativeEnumerated.h \ - NULL.h NativeInteger.h OBJECT_IDENTIFIER.h PrintableString.h \ - asn_SEQUENCE_OF.h asn_SET_OF.h constr_CHOICE.h \ - constr_SEQUENCE.h constr_SEQUENCE_OF.h constr_SET_OF.h \ - asn_application.h asn_system.h asn_codecs.h asn_internal.h \ - OCTET_STRING.h BIT_STRING.h asn_codecs_prim.h ber_tlv_length.h \ - ber_tlv_tag.h ber_decoder.h der_encoder.h constr_TYPE.h \ - constraints.h xer_support.h xer_decoder.h xer_encoder.h \ - per_support.h per_decoder.h per_encoder.h per_opentype.h \ - BroadcastCancelledAreaList.h CancelledCellinEAI.h \ - CancelledCellinEAI-Item.h CancelledCellinTAI.h \ - CancelledCellinTAI-Item.h CellAccessMode.h CellID-Cancelled.h \ - CellID-Cancelled-Item.h ConcurrentWarningMessageIndicator.h \ - CSGMembershipStatus.h Data-Forwarding-Not-Possible.h \ - EmergencyAreaID-Cancelled.h EmergencyAreaID-Cancelled-Item.h \ - EUTRANRoundTripDelayEstimationInfo.h \ - ExtendedRepetitionPeriod.h LPPa-PDU.h PS-ServiceNotAvailable.h \ - Routing-ID.h StratumLevel.h SynchronizationStatus.h \ - TimeSynchronizationInfo.h TAI-Cancelled.h TAI-Cancelled-Item.h \ - KillResponse.h KillRequest.h \ - DownlinkUEAssociatedLPPaTransport.h \ - UplinkUEAssociatedLPPaTransport.h \ - DownlinkNonUEAssociatedLPPaTransport.h \ - UplinkNonUEAssociatedLPPaTransport.h -@UPDATE_RELEASE_9_TRUE@am__objects_1 = KillResponse.lo KillRequest.lo \ -@UPDATE_RELEASE_9_TRUE@ Data-Forwarding-Not-Possible.lo \ -@UPDATE_RELEASE_9_TRUE@ DownlinkUEAssociatedLPPaTransport.lo \ -@UPDATE_RELEASE_9_TRUE@ UplinkUEAssociatedLPPaTransport.lo \ -@UPDATE_RELEASE_9_TRUE@ DownlinkNonUEAssociatedLPPaTransport.lo \ -@UPDATE_RELEASE_9_TRUE@ UplinkNonUEAssociatedLPPaTransport.lo \ -@UPDATE_RELEASE_9_TRUE@ TAI-Cancelled.lo TAI-Cancelled-Item.lo \ -@UPDATE_RELEASE_9_TRUE@ StratumLevel.lo \ -@UPDATE_RELEASE_9_TRUE@ SynchronizationStatus.lo \ -@UPDATE_RELEASE_9_TRUE@ TimeSynchronizationInfo.lo \ -@UPDATE_RELEASE_9_TRUE@ Routing-ID.lo PS-ServiceNotAvailable.lo \ -@UPDATE_RELEASE_9_TRUE@ LPPa-PDU.lo ExtendedRepetitionPeriod.lo \ -@UPDATE_RELEASE_9_TRUE@ EUTRANRoundTripDelayEstimationInfo.lo \ -@UPDATE_RELEASE_9_TRUE@ EmergencyAreaID-Cancelled.lo \ -@UPDATE_RELEASE_9_TRUE@ EmergencyAreaID-Cancelled-Item.lo \ -@UPDATE_RELEASE_9_TRUE@ CSGMembershipStatus.lo \ -@UPDATE_RELEASE_9_TRUE@ ConcurrentWarningMessageIndicator.lo \ -@UPDATE_RELEASE_9_TRUE@ CellID-Cancelled.lo \ -@UPDATE_RELEASE_9_TRUE@ CellID-Cancelled-Item.lo \ -@UPDATE_RELEASE_9_TRUE@ CellAccessMode.lo CancelledCellinEAI.lo \ -@UPDATE_RELEASE_9_TRUE@ CancelledCellinEAI-Item.lo \ -@UPDATE_RELEASE_9_TRUE@ CancelledCellinTAI.lo \ -@UPDATE_RELEASE_9_TRUE@ CancelledCellinTAI-Item.lo \ -@UPDATE_RELEASE_9_TRUE@ BroadcastCancelledAreaList.lo -am__objects_2 = Criticality.lo Presence.lo PrivateIE-ID.lo \ - ProcedureCode.lo ProtocolExtensionID.lo ProtocolIE-ID.lo \ - TriggeringMessage.lo IE-Extensions.lo \ - AllocationAndRetentionPriority.lo \ - Bearers-SubjectToStatusTransfer-List.lo \ - Bearers-SubjectToStatusTransfer-Item.lo BitRate.lo BPLMNs.lo \ - BroadcastCompletedAreaList.lo Cause.lo CauseMisc.lo \ - CauseProtocol.lo CauseRadioNetwork.lo CauseTransport.lo \ - CauseNas.lo CellIdentity.lo CellID-Broadcast.lo \ - CellID-Broadcast-Item.lo Cdma2000PDU.lo Cdma2000RATType.lo \ - Cdma2000SectorID.lo Cdma2000HOStatus.lo \ - Cdma2000HORequiredIndication.lo Cdma2000OneXSRVCCInfo.lo \ - Cdma2000OneXMEID.lo Cdma2000OneXMSI.lo Cdma2000OneXPilot.lo \ - Cdma2000OneXRAND.lo Cell-Size.lo CellType.lo CGI.lo CI.lo \ - CNDomain.lo CSFallbackIndicator.lo CSG-Id.lo CSG-IdList.lo \ - CSG-IdList-Item.lo COUNTvalue.lo CriticalityDiagnostics.lo \ - CriticalityDiagnostics-IE-List.lo \ - CriticalityDiagnostics-IE-Item.lo DataCodingScheme.lo \ - DL-Forwarding.lo Direct-Forwarding-Path-Availability.lo \ - E-RABToBeModifiedListBearerModReq.lo \ - E-RABToBeModifiedItemBearerModReq.lo \ - E-RABReleaseListBearerRelComp.lo \ - E-RABReleaseItemBearerRelComp.lo E-RABDataForwardingList.lo \ - E-RABDataForwardingItem.lo E-RABToBeSetupListCtxtSUReq.lo \ - E-RABToBeSetupItemCtxtSUReq.lo E-RABSetupListBearerSURes.lo \ - E-RABSetupItemBearerSURes.lo E-RABFailedtoSetupListHOReqAck.lo \ - E-RABFailedToSetupItemHOReqAck.lo \ - E-RABToBeSetupListBearerSUReq.lo \ - E-RABToBeSetupItemBearerSUReq.lo E-RABAdmittedList.lo \ - E-RABAdmittedItem.lo E-RABToBeSwitchedDLList.lo \ - E-RABToBeSwitchedDLItem.lo E-RABToBeSwitchedULList.lo \ - E-RABToBeSwitchedULItem.lo E-RABModifyListBearerModRes.lo \ - E-RABModifyItemBearerModRes.lo E-RABSetupListCtxtSURes.lo \ - E-RABSetupItemCtxtSURes.lo E-RABToBeSetupListHOReq.lo \ - E-RABToBeSetupItemHOReq.lo ECGIList.lo EmergencyAreaIDList.lo \ - EmergencyAreaID.lo EmergencyAreaID-Broadcast.lo \ - EmergencyAreaID-Broadcast-Item.lo CompletedCellinEAI.lo \ - CompletedCellinEAI-Item.lo ENB-ID.lo GERAN-Cell-ID.lo \ - Global-ENB-ID.lo ENB-StatusTransfer-TransparentContainer.lo \ - ENB-UE-S1AP-ID.lo ENBname.lo ENBX2TLAs.lo \ - EncryptionAlgorithms.lo EPLMNs.lo EventType.lo E-RAB-ID.lo \ - E-RABInformationList.lo E-RABInformationListItem.lo \ - E-RABList.lo E-RABItem.lo E-RABLevelQoSParameters.lo \ - EUTRAN-CGI.lo ExtendedRNC-ID.lo ForbiddenInterRATs.lo \ - ForbiddenTAs.lo ForbiddenTAs-Item.lo ForbiddenTACs.lo \ - ForbiddenLAs.lo ForbiddenLAs-Item.lo ForbiddenLACs.lo \ - GBR-QosInformation.lo GTP-TEID.lo GUMMEI.lo \ - HandoverRestrictionList.lo HandoverType.lo HFN.lo \ - HandoverNotify.lo Inter-SystemInformationTransferType.lo \ - IMSI.lo IntegrityProtectionAlgorithms.lo InterfacesToTrace.lo \ - LAC.lo LAI.lo LastVisitedCell-Item.lo \ - LastVisitedEUTRANCellInformation.lo \ - LastVisitedUTRANCellInformation.lo \ - LastVisitedGERANCellInformation.lo L3-Information.lo \ - MessageIdentifier.lo MMEname.lo MME-Group-ID.lo MME-Code.lo \ - MME-UE-S1AP-ID.lo M-TMSI.lo MSClassmark2.lo MSClassmark3.lo \ - NAS-PDU.lo NASSecurityParametersfromE-UTRAN.lo \ - NASSecurityParameterstoE-UTRAN.lo NumberofBroadcastRequest.lo \ - NumberOfBroadcasts.lo OldBSS-ToNewBSS-Information.lo \ - OverloadAction.lo OverloadResponse.lo PagingDRX.lo PDCP-SN.lo \ - PLMNidentity.lo Pre-emptionCapability.lo \ - Pre-emptionVulnerability.lo PriorityLevel.lo QCI.lo \ - ReceiveStatusofULPDCPSDUs.lo RelativeMMECapacity.lo RAC.lo \ - RequestType.lo ResetType.lo ResetAll.lo RIMTransfer.lo \ - RIMInformation.lo RIMRoutingAddress.lo ReportArea.lo \ - RepetitionPeriod.lo RNC-ID.lo RRC-Container.lo \ - RRC-Establishment-Cause.lo SecurityKey.lo SecurityContext.lo \ - SerialNumber.lo SONInformation.lo SONInformationRequest.lo \ - SONInformationReply.lo SONConfigurationTransfer.lo \ - Source-ToTarget-TransparentContainer.lo \ - SourceBSS-ToTargetBSS-TransparentContainer.lo SourceeNB-ID.lo \ - SRVCCOperationPossible.lo SRVCCHOIndication.lo \ - SourceeNB-ToTargeteNB-TransparentContainer.lo \ - SourceRNC-ToTargetRNC-TransparentContainer.lo ServedGUMMEIs.lo \ - ServedGUMMEIsItem.lo ServedGroupIDs.lo ServedMMECs.lo \ - ServedPLMNs.lo SubscriberProfileIDforRFP.lo SupportedTAs.lo \ - SupportedTAs-Item.lo S-TMSI.lo TAC.lo TAIListforWarning.lo \ - TAIList.lo TAIItem.lo TAI.lo TAI-Broadcast.lo \ - TAI-Broadcast-Item.lo CompletedCellinTAI.lo \ - CompletedCellinTAI-Item.lo TBCD-STRING.lo TargetID.lo \ - TargeteNB-ID.lo TargetRNC-ID.lo \ - TargeteNB-ToSourceeNB-TransparentContainer.lo \ - Target-ToSource-TransparentContainer.lo \ - TargetRNC-ToSourceRNC-TransparentContainer.lo \ - TargetBSS-ToSourceBSS-TransparentContainer.lo TimeToWait.lo \ - Time-UE-StayedInCell.lo TransportLayerAddress.lo \ - TraceActivation.lo TraceDepth.lo E-UTRAN-Trace-ID.lo \ - TypeOfError.lo UEAggregateMaximumBitrate.lo UE-S1AP-IDs.lo \ - UE-S1AP-ID-pair.lo UE-associatedLogicalS1-ConnectionListRes.lo \ - UE-associatedLogicalS1-ConnectionListResAck.lo \ - UE-associatedLogicalS1-ConnectionItem.lo \ - UEIdentityIndexValue.lo UE-HistoryInformation.lo UEPagingID.lo \ - UERadioCapability.lo UESecurityCapabilities.lo \ - WarningAreaList.lo WarningType.lo WarningSecurityInfo.lo \ - WarningMessageContents.lo X2TNLConfigurationInfo.lo \ - S1AP-PDU.lo InitiatingMessage.lo SuccessfulOutcome.lo \ - UnsuccessfulOutcome.lo HandoverRequired.lo HandoverCommand.lo \ - HandoverPreparationFailure.lo HandoverRequest.lo \ - HandoverRequestAcknowledge.lo HandoverFailure.lo \ - HandoverNotify.lo PathSwitchRequest.lo \ - PathSwitchRequestAcknowledge.lo PathSwitchRequestFailure.lo \ - E-RABSetupRequest.lo E-RABSetupResponse.lo \ - E-RABModifyRequest.lo E-RABModifyResponse.lo \ - E-RABReleaseIndication.lo E-RABReleaseCommand.lo \ - E-RABReleaseResponse.lo InitialContextSetupRequest.lo \ - InitialContextSetupResponse.lo InitialContextSetupFailure.lo \ - UEContextReleaseRequest.lo Paging.lo DownlinkNASTransport.lo \ - InitialUEMessage.lo UplinkNASTransport.lo \ - NASNonDeliveryIndication.lo HandoverCancel.lo \ - HandoverCancelAcknowledge.lo Reset.lo ResetAcknowledge.lo \ - S1SetupResponse.lo S1SetupRequest.lo S1SetupFailure.lo \ - ErrorIndication.lo ENBConfigurationUpdate.lo \ - ENBConfigurationUpdateAcknowledge.lo \ - ENBConfigurationUpdateFailure.lo MMEConfigurationUpdate.lo \ - MMEConfigurationUpdateAcknowledge.lo \ - MMEConfigurationUpdateFailure.lo \ - DownlinkS1cdma2000tunneling.lo UplinkS1cdma2000tunneling.lo \ - UEContextModificationRequest.lo \ - UEContextModificationResponse.lo \ - UEContextModificationFailure.lo UECapabilityInfoIndication.lo \ - UEContextReleaseCommand.lo UEContextReleaseComplete.lo \ - ENBStatusTransfer.lo MMEStatusTransfer.lo DeactivateTrace.lo \ - TraceStart.lo TraceFailureIndication.lo CellTrafficTrace.lo \ - LocationReportingControl.lo \ - LocationReportingFailureIndication.lo LocationReport.lo \ - OverloadStart.lo OverloadStop.lo WriteReplaceWarningRequest.lo \ - WriteReplaceWarningResponse.lo ENBDirectInformationTransfer.lo \ - MMEDirectInformationTransfer.lo ENBConfigurationTransfer.lo \ - MMEConfigurationTransfer.lo PrivateMessage.lo IE.lo \ - IE-Extensions.lo ANY.lo BOOLEAN.lo INTEGER.lo NULL.lo \ - NativeEnumerated.lo NativeInteger.lo OBJECT_IDENTIFIER.lo \ - PrintableString.lo asn_SEQUENCE_OF.lo asn_SET_OF.lo \ - constr_CHOICE.lo constr_SEQUENCE.lo constr_SEQUENCE_OF.lo \ - constr_SET_OF.lo OCTET_STRING.lo BIT_STRING.lo \ - asn_codecs_prim.lo ber_tlv_length.lo ber_tlv_tag.lo \ - ber_decoder.lo der_encoder.lo constr_TYPE.lo constraints.lo \ - xer_support.lo xer_decoder.lo xer_encoder.lo per_support.lo \ - per_decoder.lo per_encoder.lo per_opentype.lo $(am__objects_1) -am__objects_3 = -am__objects_4 = $(am__objects_3) -am_libs1apmessages_la_OBJECTS = $(am__objects_2) $(am__objects_4) -libs1apmessages_la_OBJECTS = $(am_libs1apmessages_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -libs1apmessages_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libs1apmessages_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -SOURCES = $(libs1apmessages_la_SOURCES) -DIST_SOURCES = $(am__libs1apmessages_la_SOURCES_DIST) -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__ASN_MODULE_HEADERS_DIST = Criticality.h Presence.h PrivateIE-ID.h \ - ProcedureCode.h ProtocolExtensionID.h ProtocolIE-ID.h \ - TriggeringMessage.h AllocationAndRetentionPriority.h \ - Bearers-SubjectToStatusTransfer-List.h \ - Bearers-SubjectToStatusTransfer-Item.h BitRate.h BPLMNs.h \ - BroadcastCompletedAreaList.h Cause.h CauseMisc.h \ - CauseProtocol.h CauseRadioNetwork.h CauseTransport.h \ - CauseNas.h CellIdentity.h CellID-Broadcast.h \ - CellID-Broadcast-Item.h Cdma2000PDU.h Cdma2000RATType.h \ - Cdma2000SectorID.h Cdma2000HOStatus.h \ - Cdma2000HORequiredIndication.h Cdma2000OneXSRVCCInfo.h \ - Cdma2000OneXMEID.h Cdma2000OneXMSI.h Cdma2000OneXPilot.h \ - Cdma2000OneXRAND.h Cell-Size.h CellType.h CGI.h CI.h \ - CNDomain.h CSFallbackIndicator.h CSG-Id.h CSG-IdList.h \ - CSG-IdList-Item.h COUNTvalue.h CriticalityDiagnostics.h \ - CriticalityDiagnostics-IE-List.h \ - CriticalityDiagnostics-IE-Item.h DataCodingScheme.h \ - DL-Forwarding.h Direct-Forwarding-Path-Availability.h \ - E-RABToBeModifiedListBearerModReq.h \ - E-RABToBeModifiedItemBearerModReq.h \ - E-RABReleaseListBearerRelComp.h \ - E-RABReleaseItemBearerRelComp.h E-RABDataForwardingList.h \ - E-RABDataForwardingItem.h E-RABToBeSetupListCtxtSUReq.h \ - E-RABToBeSetupItemCtxtSUReq.h E-RABSetupListBearerSURes.h \ - E-RABSetupItemBearerSURes.h E-RABFailedtoSetupListHOReqAck.h \ - E-RABFailedToSetupItemHOReqAck.h \ - E-RABToBeSetupListBearerSUReq.h \ - E-RABToBeSetupItemBearerSUReq.h E-RABAdmittedList.h \ - E-RABAdmittedItem.h E-RABToBeSwitchedDLList.h \ - E-RABToBeSwitchedDLItem.h E-RABToBeSwitchedULList.h \ - E-RABToBeSwitchedULItem.h E-RABModifyListBearerModRes.h \ - E-RABModifyItemBearerModRes.h E-RABSetupListCtxtSURes.h \ - E-RABSetupItemCtxtSURes.h E-RABToBeSetupListHOReq.h \ - E-RABToBeSetupItemHOReq.h ECGIList.h EmergencyAreaIDList.h \ - EmergencyAreaID.h EmergencyAreaID-Broadcast.h \ - EmergencyAreaID-Broadcast-Item.h CompletedCellinEAI.h \ - CompletedCellinEAI-Item.h ENB-ID.h GERAN-Cell-ID.h \ - Global-ENB-ID.h ENB-StatusTransfer-TransparentContainer.h \ - ENB-UE-S1AP-ID.h ENBname.h ENBX2TLAs.h EncryptionAlgorithms.h \ - EPLMNs.h EventType.h E-RAB-ID.h E-RABInformationList.h \ - E-RABInformationListItem.h E-RABList.h E-RABItem.h \ - E-RABLevelQoSParameters.h EUTRAN-CGI.h ExtendedRNC-ID.h \ - ForbiddenInterRATs.h ForbiddenTAs.h ForbiddenTAs-Item.h \ - ForbiddenTACs.h ForbiddenLAs.h ForbiddenLAs-Item.h \ - ForbiddenLACs.h GBR-QosInformation.h GTP-TEID.h GUMMEI.h \ - HandoverRestrictionList.h HandoverType.h HFN.h \ - HandoverNotify.h Inter-SystemInformationTransferType.h IMSI.h \ - IntegrityProtectionAlgorithms.h InterfacesToTrace.h LAC.h \ - LAI.h LastVisitedCell-Item.h \ - LastVisitedEUTRANCellInformation.h \ - LastVisitedUTRANCellInformation.h \ - LastVisitedGERANCellInformation.h L3-Information.h \ - MessageIdentifier.h MMEname.h MME-Group-ID.h MME-Code.h \ - MME-UE-S1AP-ID.h M-TMSI.h MSClassmark2.h MSClassmark3.h \ - NAS-PDU.h NASSecurityParametersfromE-UTRAN.h \ - NASSecurityParameterstoE-UTRAN.h NumberofBroadcastRequest.h \ - NumberOfBroadcasts.h OldBSS-ToNewBSS-Information.h \ - OverloadAction.h OverloadResponse.h PagingDRX.h PDCP-SN.h \ - PLMNidentity.h Pre-emptionCapability.h \ - Pre-emptionVulnerability.h PriorityLevel.h QCI.h \ - ReceiveStatusofULPDCPSDUs.h RelativeMMECapacity.h RAC.h \ - RequestType.h ResetType.h ResetAll.h RIMTransfer.h \ - RIMInformation.h RIMRoutingAddress.h ReportArea.h \ - RepetitionPeriod.h RNC-ID.h RRC-Container.h \ - RRC-Establishment-Cause.h SecurityKey.h SecurityContext.h \ - SerialNumber.h SONInformation.h SONInformationRequest.h \ - SONInformationReply.h SONConfigurationTransfer.h \ - Source-ToTarget-TransparentContainer.h \ - SourceBSS-ToTargetBSS-TransparentContainer.h SourceeNB-ID.h \ - SRVCCOperationPossible.h SRVCCHOIndication.h \ - SourceeNB-ToTargeteNB-TransparentContainer.h \ - SourceRNC-ToTargetRNC-TransparentContainer.h ServedGUMMEIs.h \ - ServedGUMMEIsItem.h ServedGroupIDs.h ServedMMECs.h \ - ServedPLMNs.h SubscriberProfileIDforRFP.h SupportedTAs.h \ - SupportedTAs-Item.h S-TMSI.h TAC.h TAIListforWarning.h \ - TAIList.h TAIItem.h TAI.h TAI-Broadcast.h TAI-Broadcast-Item.h \ - CompletedCellinTAI.h CompletedCellinTAI-Item.h TBCD-STRING.h \ - TargetID.h TargeteNB-ID.h TargetRNC-ID.h \ - TargeteNB-ToSourceeNB-TransparentContainer.h \ - Target-ToSource-TransparentContainer.h \ - TargetRNC-ToSourceRNC-TransparentContainer.h \ - TargetBSS-ToSourceBSS-TransparentContainer.h TimeToWait.h \ - Time-UE-StayedInCell.h TransportLayerAddress.h \ - TraceActivation.h TraceDepth.h E-UTRAN-Trace-ID.h \ - TypeOfError.h UEAggregateMaximumBitrate.h UE-S1AP-IDs.h \ - UE-S1AP-ID-pair.h UE-associatedLogicalS1-ConnectionListRes.h \ - UE-associatedLogicalS1-ConnectionListResAck.h \ - UE-associatedLogicalS1-ConnectionItem.h UEIdentityIndexValue.h \ - UE-HistoryInformation.h UEPagingID.h UERadioCapability.h \ - UESecurityCapabilities.h WarningAreaList.h WarningType.h \ - WarningSecurityInfo.h WarningMessageContents.h \ - X2TNLConfigurationInfo.h S1AP-PDU.h InitiatingMessage.h \ - SuccessfulOutcome.h UnsuccessfulOutcome.h HandoverRequired.h \ - HandoverCommand.h HandoverPreparationFailure.h \ - HandoverRequest.h HandoverRequestAcknowledge.h \ - HandoverFailure.h PathSwitchRequest.h \ - PathSwitchRequestAcknowledge.h PathSwitchRequestFailure.h \ - E-RABSetupRequest.h E-RABSetupResponse.h E-RABModifyRequest.h \ - E-RABModifyResponse.h E-RABReleaseIndication.h \ - E-RABReleaseCommand.h E-RABReleaseResponse.h \ - InitialContextSetupRequest.h InitialContextSetupResponse.h \ - InitialContextSetupFailure.h UEContextReleaseRequest.h \ - Paging.h DownlinkNASTransport.h InitialUEMessage.h \ - UplinkNASTransport.h NASNonDeliveryIndication.h \ - HandoverCancel.h HandoverCancelAcknowledge.h Reset.h \ - ResetAcknowledge.h S1SetupResponse.h S1SetupRequest.h \ - S1SetupFailure.h ErrorIndication.h ENBConfigurationUpdate.h \ - ENBConfigurationUpdateAcknowledge.h \ - ENBConfigurationUpdateFailure.h MMEConfigurationUpdate.h \ - MMEConfigurationUpdateAcknowledge.h \ - MMEConfigurationUpdateFailure.h DownlinkS1cdma2000tunneling.h \ - UplinkS1cdma2000tunneling.h UEContextModificationRequest.h \ - UEContextModificationResponse.h UEContextModificationFailure.h \ - UECapabilityInfoIndication.h UEContextReleaseCommand.h \ - UEContextReleaseComplete.h ENBStatusTransfer.h \ - MMEStatusTransfer.h DeactivateTrace.h TraceStart.h \ - TraceFailureIndication.h CellTrafficTrace.h \ - LocationReportingControl.h \ - LocationReportingFailureIndication.h LocationReport.h \ - OverloadStart.h OverloadStop.h WriteReplaceWarningRequest.h \ - WriteReplaceWarningResponse.h ENBDirectInformationTransfer.h \ - MMEDirectInformationTransfer.h ENBConfigurationTransfer.h \ - MMEConfigurationTransfer.h PrivateMessage.h IE.h \ - IE-Extensions.h ANY.h BOOLEAN.h INTEGER.h NativeEnumerated.h \ - NULL.h NativeInteger.h OBJECT_IDENTIFIER.h PrintableString.h \ - asn_SEQUENCE_OF.h asn_SET_OF.h constr_CHOICE.h \ - constr_SEQUENCE.h constr_SEQUENCE_OF.h constr_SET_OF.h \ - asn_application.h asn_system.h asn_codecs.h asn_internal.h \ - OCTET_STRING.h BIT_STRING.h asn_codecs_prim.h ber_tlv_length.h \ - ber_tlv_tag.h ber_decoder.h der_encoder.h constr_TYPE.h \ - constraints.h xer_support.h xer_decoder.h xer_encoder.h \ - per_support.h per_decoder.h per_encoder.h per_opentype.h \ - BroadcastCancelledAreaList.h CancelledCellinEAI.h \ - CancelledCellinEAI-Item.h CancelledCellinTAI.h \ - CancelledCellinTAI-Item.h CellAccessMode.h CellID-Cancelled.h \ - CellID-Cancelled-Item.h ConcurrentWarningMessageIndicator.h \ - CSGMembershipStatus.h Data-Forwarding-Not-Possible.h \ - EmergencyAreaID-Cancelled.h EmergencyAreaID-Cancelled-Item.h \ - EUTRANRoundTripDelayEstimationInfo.h \ - ExtendedRepetitionPeriod.h LPPa-PDU.h PS-ServiceNotAvailable.h \ - Routing-ID.h StratumLevel.h SynchronizationStatus.h \ - TimeSynchronizationInfo.h TAI-Cancelled.h TAI-Cancelled-Item.h \ - KillResponse.h KillRequest.h \ - DownlinkUEAssociatedLPPaTransport.h \ - UplinkUEAssociatedLPPaTransport.h \ - DownlinkNonUEAssociatedLPPaTransport.h \ - UplinkNonUEAssociatedLPPaTransport.h -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(ASN_MODULEdir)" -HEADERS = $(ASN_MODULE_HEADERS) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASN1C_CHECK = @ASN1C_CHECK@ -ASN1DIR = @ASN1DIR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOXYGEN = @DOXYGEN@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -POW_LIB = @POW_LIB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -SUBDIRS = ASN1/ . -ASN_MODULEdir = . -libs1apmessagesdir = . -ASN_MODULE_SOURCES = Criticality.c Presence.c PrivateIE-ID.c \ - ProcedureCode.c ProtocolExtensionID.c ProtocolIE-ID.c \ - TriggeringMessage.c IE-Extensions.c \ - AllocationAndRetentionPriority.c \ - Bearers-SubjectToStatusTransfer-List.c \ - Bearers-SubjectToStatusTransfer-Item.c BitRate.c BPLMNs.c \ - BroadcastCompletedAreaList.c Cause.c CauseMisc.c \ - CauseProtocol.c CauseRadioNetwork.c CauseTransport.c \ - CauseNas.c CellIdentity.c CellID-Broadcast.c \ - CellID-Broadcast-Item.c Cdma2000PDU.c Cdma2000RATType.c \ - Cdma2000SectorID.c Cdma2000HOStatus.c \ - Cdma2000HORequiredIndication.c Cdma2000OneXSRVCCInfo.c \ - Cdma2000OneXMEID.c Cdma2000OneXMSI.c Cdma2000OneXPilot.c \ - Cdma2000OneXRAND.c Cell-Size.c CellType.c CGI.c CI.c \ - CNDomain.c CSFallbackIndicator.c CSG-Id.c CSG-IdList.c \ - CSG-IdList-Item.c COUNTvalue.c CriticalityDiagnostics.c \ - CriticalityDiagnostics-IE-List.c \ - CriticalityDiagnostics-IE-Item.c DataCodingScheme.c \ - DL-Forwarding.c Direct-Forwarding-Path-Availability.c \ - E-RABToBeModifiedListBearerModReq.c \ - E-RABToBeModifiedItemBearerModReq.c \ - E-RABReleaseListBearerRelComp.c \ - E-RABReleaseItemBearerRelComp.c E-RABDataForwardingList.c \ - E-RABDataForwardingItem.c E-RABToBeSetupListCtxtSUReq.c \ - E-RABToBeSetupItemCtxtSUReq.c E-RABSetupListBearerSURes.c \ - E-RABSetupItemBearerSURes.c E-RABFailedtoSetupListHOReqAck.c \ - E-RABFailedToSetupItemHOReqAck.c \ - E-RABToBeSetupListBearerSUReq.c \ - E-RABToBeSetupItemBearerSUReq.c E-RABAdmittedList.c \ - E-RABAdmittedItem.c E-RABToBeSwitchedDLList.c \ - E-RABToBeSwitchedDLItem.c E-RABToBeSwitchedULList.c \ - E-RABToBeSwitchedULItem.c E-RABModifyListBearerModRes.c \ - E-RABModifyItemBearerModRes.c E-RABSetupListCtxtSURes.c \ - E-RABSetupItemCtxtSURes.c E-RABToBeSetupListHOReq.c \ - E-RABToBeSetupItemHOReq.c ECGIList.c EmergencyAreaIDList.c \ - EmergencyAreaID.c EmergencyAreaID-Broadcast.c \ - EmergencyAreaID-Broadcast-Item.c CompletedCellinEAI.c \ - CompletedCellinEAI-Item.c ENB-ID.c GERAN-Cell-ID.c \ - Global-ENB-ID.c ENB-StatusTransfer-TransparentContainer.c \ - ENB-UE-S1AP-ID.c ENBname.c ENBX2TLAs.c EncryptionAlgorithms.c \ - EPLMNs.c EventType.c E-RAB-ID.c E-RABInformationList.c \ - E-RABInformationListItem.c E-RABList.c E-RABItem.c \ - E-RABLevelQoSParameters.c EUTRAN-CGI.c ExtendedRNC-ID.c \ - ForbiddenInterRATs.c ForbiddenTAs.c ForbiddenTAs-Item.c \ - ForbiddenTACs.c ForbiddenLAs.c ForbiddenLAs-Item.c \ - ForbiddenLACs.c GBR-QosInformation.c GTP-TEID.c GUMMEI.c \ - HandoverRestrictionList.c HandoverType.c HFN.c \ - HandoverNotify.c Inter-SystemInformationTransferType.c IMSI.c \ - IntegrityProtectionAlgorithms.c InterfacesToTrace.c LAC.c \ - LAI.c LastVisitedCell-Item.c \ - LastVisitedEUTRANCellInformation.c \ - LastVisitedUTRANCellInformation.c \ - LastVisitedGERANCellInformation.c L3-Information.c \ - MessageIdentifier.c MMEname.c MME-Group-ID.c MME-Code.c \ - MME-UE-S1AP-ID.c M-TMSI.c MSClassmark2.c MSClassmark3.c \ - NAS-PDU.c NASSecurityParametersfromE-UTRAN.c \ - NASSecurityParameterstoE-UTRAN.c NumberofBroadcastRequest.c \ - NumberOfBroadcasts.c OldBSS-ToNewBSS-Information.c \ - OverloadAction.c OverloadResponse.c PagingDRX.c PDCP-SN.c \ - PLMNidentity.c Pre-emptionCapability.c \ - Pre-emptionVulnerability.c PriorityLevel.c QCI.c \ - ReceiveStatusofULPDCPSDUs.c RelativeMMECapacity.c RAC.c \ - RequestType.c ResetType.c ResetAll.c RIMTransfer.c \ - RIMInformation.c RIMRoutingAddress.c ReportArea.c \ - RepetitionPeriod.c RNC-ID.c RRC-Container.c \ - RRC-Establishment-Cause.c SecurityKey.c SecurityContext.c \ - SerialNumber.c SONInformation.c SONInformationRequest.c \ - SONInformationReply.c SONConfigurationTransfer.c \ - Source-ToTarget-TransparentContainer.c \ - SourceBSS-ToTargetBSS-TransparentContainer.c SourceeNB-ID.c \ - SRVCCOperationPossible.c SRVCCHOIndication.c \ - SourceeNB-ToTargeteNB-TransparentContainer.c \ - SourceRNC-ToTargetRNC-TransparentContainer.c ServedGUMMEIs.c \ - ServedGUMMEIsItem.c ServedGroupIDs.c ServedMMECs.c \ - ServedPLMNs.c SubscriberProfileIDforRFP.c SupportedTAs.c \ - SupportedTAs-Item.c S-TMSI.c TAC.c TAIListforWarning.c \ - TAIList.c TAIItem.c TAI.c TAI-Broadcast.c TAI-Broadcast-Item.c \ - CompletedCellinTAI.c CompletedCellinTAI-Item.c TBCD-STRING.c \ - TargetID.c TargeteNB-ID.c TargetRNC-ID.c \ - TargeteNB-ToSourceeNB-TransparentContainer.c \ - Target-ToSource-TransparentContainer.c \ - TargetRNC-ToSourceRNC-TransparentContainer.c \ - TargetBSS-ToSourceBSS-TransparentContainer.c TimeToWait.c \ - Time-UE-StayedInCell.c TransportLayerAddress.c \ - TraceActivation.c TraceDepth.c E-UTRAN-Trace-ID.c \ - TypeOfError.c UEAggregateMaximumBitrate.c UE-S1AP-IDs.c \ - UE-S1AP-ID-pair.c UE-associatedLogicalS1-ConnectionListRes.c \ - UE-associatedLogicalS1-ConnectionListResAck.c \ - UE-associatedLogicalS1-ConnectionItem.c UEIdentityIndexValue.c \ - UE-HistoryInformation.c UEPagingID.c UERadioCapability.c \ - UESecurityCapabilities.c WarningAreaList.c WarningType.c \ - WarningSecurityInfo.c WarningMessageContents.c \ - X2TNLConfigurationInfo.c S1AP-PDU.c InitiatingMessage.c \ - SuccessfulOutcome.c UnsuccessfulOutcome.c HandoverRequired.c \ - HandoverCommand.c HandoverPreparationFailure.c \ - HandoverRequest.c HandoverRequestAcknowledge.c \ - HandoverFailure.c HandoverNotify.c PathSwitchRequest.c \ - PathSwitchRequestAcknowledge.c PathSwitchRequestFailure.c \ - E-RABSetupRequest.c E-RABSetupResponse.c E-RABModifyRequest.c \ - E-RABModifyResponse.c E-RABReleaseIndication.c \ - E-RABReleaseCommand.c E-RABReleaseResponse.c \ - InitialContextSetupRequest.c InitialContextSetupResponse.c \ - InitialContextSetupFailure.c UEContextReleaseRequest.c \ - Paging.c DownlinkNASTransport.c InitialUEMessage.c \ - UplinkNASTransport.c NASNonDeliveryIndication.c \ - HandoverCancel.c HandoverCancelAcknowledge.c Reset.c \ - ResetAcknowledge.c S1SetupResponse.c S1SetupRequest.c \ - S1SetupFailure.c ErrorIndication.c ENBConfigurationUpdate.c \ - ENBConfigurationUpdateAcknowledge.c \ - ENBConfigurationUpdateFailure.c MMEConfigurationUpdate.c \ - MMEConfigurationUpdateAcknowledge.c \ - MMEConfigurationUpdateFailure.c DownlinkS1cdma2000tunneling.c \ - UplinkS1cdma2000tunneling.c UEContextModificationRequest.c \ - UEContextModificationResponse.c UEContextModificationFailure.c \ - UECapabilityInfoIndication.c UEContextReleaseCommand.c \ - UEContextReleaseComplete.c ENBStatusTransfer.c \ - MMEStatusTransfer.c DeactivateTrace.c TraceStart.c \ - TraceFailureIndication.c CellTrafficTrace.c \ - LocationReportingControl.c \ - LocationReportingFailureIndication.c LocationReport.c \ - OverloadStart.c OverloadStop.c WriteReplaceWarningRequest.c \ - WriteReplaceWarningResponse.c ENBDirectInformationTransfer.c \ - MMEDirectInformationTransfer.c ENBConfigurationTransfer.c \ - MMEConfigurationTransfer.c PrivateMessage.c IE.c \ - IE-Extensions.c ANY.c BOOLEAN.c INTEGER.c NULL.c \ - NativeEnumerated.c NativeInteger.c OBJECT_IDENTIFIER.c \ - PrintableString.c asn_SEQUENCE_OF.c asn_SET_OF.c \ - constr_CHOICE.c constr_SEQUENCE.c constr_SEQUENCE_OF.c \ - constr_SET_OF.c OCTET_STRING.c BIT_STRING.c asn_codecs_prim.c \ - ber_tlv_length.c ber_tlv_tag.c ber_decoder.c der_encoder.c \ - constr_TYPE.c constraints.c xer_support.c xer_decoder.c \ - xer_encoder.c per_support.c per_decoder.c per_encoder.c \ - per_opentype.c $(am__append_1) -ASN_MODULE_HEADERS = Criticality.h Presence.h PrivateIE-ID.h \ - ProcedureCode.h ProtocolExtensionID.h ProtocolIE-ID.h \ - TriggeringMessage.h AllocationAndRetentionPriority.h \ - Bearers-SubjectToStatusTransfer-List.h \ - Bearers-SubjectToStatusTransfer-Item.h BitRate.h BPLMNs.h \ - BroadcastCompletedAreaList.h Cause.h CauseMisc.h \ - CauseProtocol.h CauseRadioNetwork.h CauseTransport.h \ - CauseNas.h CellIdentity.h CellID-Broadcast.h \ - CellID-Broadcast-Item.h Cdma2000PDU.h Cdma2000RATType.h \ - Cdma2000SectorID.h Cdma2000HOStatus.h \ - Cdma2000HORequiredIndication.h Cdma2000OneXSRVCCInfo.h \ - Cdma2000OneXMEID.h Cdma2000OneXMSI.h Cdma2000OneXPilot.h \ - Cdma2000OneXRAND.h Cell-Size.h CellType.h CGI.h CI.h \ - CNDomain.h CSFallbackIndicator.h CSG-Id.h CSG-IdList.h \ - CSG-IdList-Item.h COUNTvalue.h CriticalityDiagnostics.h \ - CriticalityDiagnostics-IE-List.h \ - CriticalityDiagnostics-IE-Item.h DataCodingScheme.h \ - DL-Forwarding.h Direct-Forwarding-Path-Availability.h \ - E-RABToBeModifiedListBearerModReq.h \ - E-RABToBeModifiedItemBearerModReq.h \ - E-RABReleaseListBearerRelComp.h \ - E-RABReleaseItemBearerRelComp.h E-RABDataForwardingList.h \ - E-RABDataForwardingItem.h E-RABToBeSetupListCtxtSUReq.h \ - E-RABToBeSetupItemCtxtSUReq.h E-RABSetupListBearerSURes.h \ - E-RABSetupItemBearerSURes.h E-RABFailedtoSetupListHOReqAck.h \ - E-RABFailedToSetupItemHOReqAck.h \ - E-RABToBeSetupListBearerSUReq.h \ - E-RABToBeSetupItemBearerSUReq.h E-RABAdmittedList.h \ - E-RABAdmittedItem.h E-RABToBeSwitchedDLList.h \ - E-RABToBeSwitchedDLItem.h E-RABToBeSwitchedULList.h \ - E-RABToBeSwitchedULItem.h E-RABModifyListBearerModRes.h \ - E-RABModifyItemBearerModRes.h E-RABSetupListCtxtSURes.h \ - E-RABSetupItemCtxtSURes.h E-RABToBeSetupListHOReq.h \ - E-RABToBeSetupItemHOReq.h ECGIList.h EmergencyAreaIDList.h \ - EmergencyAreaID.h EmergencyAreaID-Broadcast.h \ - EmergencyAreaID-Broadcast-Item.h CompletedCellinEAI.h \ - CompletedCellinEAI-Item.h ENB-ID.h GERAN-Cell-ID.h \ - Global-ENB-ID.h ENB-StatusTransfer-TransparentContainer.h \ - ENB-UE-S1AP-ID.h ENBname.h ENBX2TLAs.h EncryptionAlgorithms.h \ - EPLMNs.h EventType.h E-RAB-ID.h E-RABInformationList.h \ - E-RABInformationListItem.h E-RABList.h E-RABItem.h \ - E-RABLevelQoSParameters.h EUTRAN-CGI.h ExtendedRNC-ID.h \ - ForbiddenInterRATs.h ForbiddenTAs.h ForbiddenTAs-Item.h \ - ForbiddenTACs.h ForbiddenLAs.h ForbiddenLAs-Item.h \ - ForbiddenLACs.h GBR-QosInformation.h GTP-TEID.h GUMMEI.h \ - HandoverRestrictionList.h HandoverType.h HFN.h \ - HandoverNotify.h Inter-SystemInformationTransferType.h IMSI.h \ - IntegrityProtectionAlgorithms.h InterfacesToTrace.h LAC.h \ - LAI.h LastVisitedCell-Item.h \ - LastVisitedEUTRANCellInformation.h \ - LastVisitedUTRANCellInformation.h \ - LastVisitedGERANCellInformation.h L3-Information.h \ - MessageIdentifier.h MMEname.h MME-Group-ID.h MME-Code.h \ - MME-UE-S1AP-ID.h M-TMSI.h MSClassmark2.h MSClassmark3.h \ - NAS-PDU.h NASSecurityParametersfromE-UTRAN.h \ - NASSecurityParameterstoE-UTRAN.h NumberofBroadcastRequest.h \ - NumberOfBroadcasts.h OldBSS-ToNewBSS-Information.h \ - OverloadAction.h OverloadResponse.h PagingDRX.h PDCP-SN.h \ - PLMNidentity.h Pre-emptionCapability.h \ - Pre-emptionVulnerability.h PriorityLevel.h QCI.h \ - ReceiveStatusofULPDCPSDUs.h RelativeMMECapacity.h RAC.h \ - RequestType.h ResetType.h ResetAll.h RIMTransfer.h \ - RIMInformation.h RIMRoutingAddress.h ReportArea.h \ - RepetitionPeriod.h RNC-ID.h RRC-Container.h \ - RRC-Establishment-Cause.h SecurityKey.h SecurityContext.h \ - SerialNumber.h SONInformation.h SONInformationRequest.h \ - SONInformationReply.h SONConfigurationTransfer.h \ - Source-ToTarget-TransparentContainer.h \ - SourceBSS-ToTargetBSS-TransparentContainer.h SourceeNB-ID.h \ - SRVCCOperationPossible.h SRVCCHOIndication.h \ - SourceeNB-ToTargeteNB-TransparentContainer.h \ - SourceRNC-ToTargetRNC-TransparentContainer.h ServedGUMMEIs.h \ - ServedGUMMEIsItem.h ServedGroupIDs.h ServedMMECs.h \ - ServedPLMNs.h SubscriberProfileIDforRFP.h SupportedTAs.h \ - SupportedTAs-Item.h S-TMSI.h TAC.h TAIListforWarning.h \ - TAIList.h TAIItem.h TAI.h TAI-Broadcast.h TAI-Broadcast-Item.h \ - CompletedCellinTAI.h CompletedCellinTAI-Item.h TBCD-STRING.h \ - TargetID.h TargeteNB-ID.h TargetRNC-ID.h \ - TargeteNB-ToSourceeNB-TransparentContainer.h \ - Target-ToSource-TransparentContainer.h \ - TargetRNC-ToSourceRNC-TransparentContainer.h \ - TargetBSS-ToSourceBSS-TransparentContainer.h TimeToWait.h \ - Time-UE-StayedInCell.h TransportLayerAddress.h \ - TraceActivation.h TraceDepth.h E-UTRAN-Trace-ID.h \ - TypeOfError.h UEAggregateMaximumBitrate.h UE-S1AP-IDs.h \ - UE-S1AP-ID-pair.h UE-associatedLogicalS1-ConnectionListRes.h \ - UE-associatedLogicalS1-ConnectionListResAck.h \ - UE-associatedLogicalS1-ConnectionItem.h UEIdentityIndexValue.h \ - UE-HistoryInformation.h UEPagingID.h UERadioCapability.h \ - UESecurityCapabilities.h WarningAreaList.h WarningType.h \ - WarningSecurityInfo.h WarningMessageContents.h \ - X2TNLConfigurationInfo.h S1AP-PDU.h InitiatingMessage.h \ - SuccessfulOutcome.h UnsuccessfulOutcome.h HandoverRequired.h \ - HandoverCommand.h HandoverPreparationFailure.h \ - HandoverRequest.h HandoverRequestAcknowledge.h \ - HandoverFailure.h PathSwitchRequest.h \ - PathSwitchRequestAcknowledge.h PathSwitchRequestFailure.h \ - E-RABSetupRequest.h E-RABSetupResponse.h E-RABModifyRequest.h \ - E-RABModifyResponse.h E-RABReleaseIndication.h \ - E-RABReleaseCommand.h E-RABReleaseResponse.h \ - InitialContextSetupRequest.h InitialContextSetupResponse.h \ - InitialContextSetupFailure.h UEContextReleaseRequest.h \ - Paging.h DownlinkNASTransport.h InitialUEMessage.h \ - UplinkNASTransport.h NASNonDeliveryIndication.h \ - HandoverCancel.h HandoverCancelAcknowledge.h Reset.h \ - ResetAcknowledge.h S1SetupResponse.h S1SetupRequest.h \ - S1SetupFailure.h ErrorIndication.h ENBConfigurationUpdate.h \ - ENBConfigurationUpdateAcknowledge.h \ - ENBConfigurationUpdateFailure.h MMEConfigurationUpdate.h \ - MMEConfigurationUpdateAcknowledge.h \ - MMEConfigurationUpdateFailure.h DownlinkS1cdma2000tunneling.h \ - UplinkS1cdma2000tunneling.h UEContextModificationRequest.h \ - UEContextModificationResponse.h UEContextModificationFailure.h \ - UECapabilityInfoIndication.h UEContextReleaseCommand.h \ - UEContextReleaseComplete.h ENBStatusTransfer.h \ - MMEStatusTransfer.h DeactivateTrace.h TraceStart.h \ - TraceFailureIndication.h CellTrafficTrace.h \ - LocationReportingControl.h \ - LocationReportingFailureIndication.h LocationReport.h \ - OverloadStart.h OverloadStop.h WriteReplaceWarningRequest.h \ - WriteReplaceWarningResponse.h ENBDirectInformationTransfer.h \ - MMEDirectInformationTransfer.h ENBConfigurationTransfer.h \ - MMEConfigurationTransfer.h PrivateMessage.h IE.h \ - IE-Extensions.h ANY.h BOOLEAN.h INTEGER.h NativeEnumerated.h \ - NULL.h NativeInteger.h OBJECT_IDENTIFIER.h PrintableString.h \ - asn_SEQUENCE_OF.h asn_SET_OF.h constr_CHOICE.h \ - constr_SEQUENCE.h constr_SEQUENCE_OF.h constr_SET_OF.h \ - asn_application.h asn_system.h asn_codecs.h asn_internal.h \ - OCTET_STRING.h BIT_STRING.h asn_codecs_prim.h ber_tlv_length.h \ - ber_tlv_tag.h ber_decoder.h der_encoder.h constr_TYPE.h \ - constraints.h xer_support.h xer_decoder.h xer_encoder.h \ - per_support.h per_decoder.h per_encoder.h per_opentype.h \ - $(am__append_2) -noinst_LTLIBRARIES = libs1apmessages.la -libs1apmessages_la_LDFLAGS = -all-static -BUILT_SOURCES = asn1regen.stamp -AM_CPPFLAGS = -DEMIT_ASN_DEBUG=1 -libs1apmessages_la_SOURCES = $(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS) -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu S1AP/MESSAGES/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu S1AP/MESSAGES/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -libs1apmessages.la: $(libs1apmessages_la_OBJECTS) $(libs1apmessages_la_DEPENDENCIES) $(EXTRA_libs1apmessages_la_DEPENDENCIES) - $(AM_V_CCLD)$(libs1apmessages_la_LINK) $(libs1apmessages_la_OBJECTS) $(libs1apmessages_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ANY.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AllocationAndRetentionPriority.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BIT_STRING.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BOOLEAN.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BPLMNs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Bearers-SubjectToStatusTransfer-Item.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Bearers-SubjectToStatusTransfer-List.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BitRate.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BroadcastCancelledAreaList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BroadcastCompletedAreaList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CGI.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CI.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CNDomain.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/COUNTvalue.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CSFallbackIndicator.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CSG-Id.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CSG-IdList-Item.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CSG-IdList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CSGMembershipStatus.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CancelledCellinEAI-Item.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CancelledCellinEAI.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CancelledCellinTAI-Item.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CancelledCellinTAI.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cause.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CauseMisc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CauseNas.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CauseProtocol.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CauseRadioNetwork.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CauseTransport.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000HORequiredIndication.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000HOStatus.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000OneXMEID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000OneXMSI.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000OneXPilot.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000OneXRAND.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000OneXSRVCCInfo.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000PDU.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000RATType.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000SectorID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cell-Size.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CellAccessMode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CellID-Broadcast-Item.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CellID-Broadcast.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CellID-Cancelled-Item.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CellID-Cancelled.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CellIdentity.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CellTrafficTrace.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CellType.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CompletedCellinEAI-Item.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CompletedCellinEAI.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CompletedCellinTAI-Item.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CompletedCellinTAI.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ConcurrentWarningMessageIndicator.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Criticality.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CriticalityDiagnostics-IE-Item.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CriticalityDiagnostics-IE-List.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CriticalityDiagnostics.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DL-Forwarding.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Data-Forwarding-Not-Possible.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DataCodingScheme.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DeactivateTrace.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Direct-Forwarding-Path-Availability.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DownlinkNASTransport.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DownlinkNonUEAssociatedLPPaTransport.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DownlinkS1cdma2000tunneling.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DownlinkUEAssociatedLPPaTransport.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RAB-ID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABAdmittedItem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABAdmittedList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABDataForwardingItem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABDataForwardingList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABFailedToSetupItemHOReqAck.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABFailedtoSetupListHOReqAck.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABInformationList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABInformationListItem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABItem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABLevelQoSParameters.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABModifyItemBearerModRes.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABModifyListBearerModRes.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABModifyRequest.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABModifyResponse.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABReleaseCommand.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABReleaseIndication.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABReleaseItemBearerRelComp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABReleaseListBearerRelComp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABReleaseResponse.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABSetupItemBearerSURes.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABSetupItemCtxtSURes.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABSetupListBearerSURes.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABSetupListCtxtSURes.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABSetupRequest.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABSetupResponse.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeModifiedItemBearerModReq.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeModifiedListBearerModReq.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSetupItemBearerSUReq.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSetupItemCtxtSUReq.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSetupItemHOReq.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSetupListBearerSUReq.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSetupListCtxtSUReq.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSetupListHOReq.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSwitchedDLItem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSwitchedDLList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSwitchedULItem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSwitchedULList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-UTRAN-Trace-ID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ECGIList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENB-ID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENB-StatusTransfer-TransparentContainer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENB-UE-S1AP-ID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENBConfigurationTransfer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENBConfigurationUpdate.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENBConfigurationUpdateAcknowledge.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENBConfigurationUpdateFailure.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENBDirectInformationTransfer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENBStatusTransfer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENBX2TLAs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENBname.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EPLMNs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EUTRAN-CGI.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EUTRANRoundTripDelayEstimationInfo.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EmergencyAreaID-Broadcast-Item.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EmergencyAreaID-Broadcast.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EmergencyAreaID-Cancelled-Item.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EmergencyAreaID-Cancelled.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EmergencyAreaID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EmergencyAreaIDList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EncryptionAlgorithms.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ErrorIndication.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EventType.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ExtendedRNC-ID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ExtendedRepetitionPeriod.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ForbiddenInterRATs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ForbiddenLACs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ForbiddenLAs-Item.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ForbiddenLAs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ForbiddenTACs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ForbiddenTAs-Item.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ForbiddenTAs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GBR-QosInformation.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GERAN-Cell-ID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GTP-TEID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GUMMEI.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Global-ENB-ID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HFN.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverCancel.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverCancelAcknowledge.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverCommand.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverFailure.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverNotify.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverPreparationFailure.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverRequest.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverRequestAcknowledge.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverRequired.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverRestrictionList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverType.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IE-Extensions.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IE.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IMSI.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/INTEGER.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitialContextSetupFailure.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitialContextSetupRequest.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitialContextSetupResponse.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitialUEMessage.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitiatingMessage.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IntegrityProtectionAlgorithms.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Inter-SystemInformationTransferType.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InterfacesToTrace.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/KillRequest.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/KillResponse.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/L3-Information.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LAC.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LAI.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LPPa-PDU.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LastVisitedCell-Item.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LastVisitedEUTRANCellInformation.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LastVisitedGERANCellInformation.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LastVisitedUTRANCellInformation.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LocationReport.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LocationReportingControl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LocationReportingFailureIndication.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/M-TMSI.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MME-Code.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MME-Group-ID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MME-UE-S1AP-ID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MMEConfigurationTransfer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MMEConfigurationUpdate.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MMEConfigurationUpdateAcknowledge.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MMEConfigurationUpdateFailure.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MMEDirectInformationTransfer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MMEStatusTransfer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MMEname.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MSClassmark2.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MSClassmark3.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MessageIdentifier.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NAS-PDU.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NASNonDeliveryIndication.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NASSecurityParametersfromE-UTRAN.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NASSecurityParameterstoE-UTRAN.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NULL.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NativeEnumerated.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NativeInteger.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NumberOfBroadcasts.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NumberofBroadcastRequest.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OBJECT_IDENTIFIER.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OCTET_STRING.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OldBSS-ToNewBSS-Information.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OverloadAction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OverloadResponse.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OverloadStart.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OverloadStop.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PDCP-SN.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PLMNidentity.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PS-ServiceNotAvailable.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Paging.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PagingDRX.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PathSwitchRequest.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PathSwitchRequestAcknowledge.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PathSwitchRequestFailure.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Pre-emptionCapability.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Pre-emptionVulnerability.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Presence.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PrintableString.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PriorityLevel.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PrivateIE-ID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PrivateMessage.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ProcedureCode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ProtocolExtensionID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ProtocolIE-ID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/QCI.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RAC.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RIMInformation.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RIMRoutingAddress.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RIMTransfer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNC-ID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RRC-Container.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RRC-Establishment-Cause.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ReceiveStatusofULPDCPSDUs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RelativeMMECapacity.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RepetitionPeriod.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ReportArea.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RequestType.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Reset.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ResetAcknowledge.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ResetAll.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ResetType.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Routing-ID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/S-TMSI.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/S1AP-PDU.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/S1SetupFailure.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/S1SetupRequest.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/S1SetupResponse.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SONConfigurationTransfer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SONInformation.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SONInformationReply.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SONInformationRequest.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SRVCCHOIndication.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SRVCCOperationPossible.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SecurityContext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SecurityKey.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SerialNumber.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServedGUMMEIs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServedGUMMEIsItem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServedGroupIDs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServedMMECs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServedPLMNs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Source-ToTarget-TransparentContainer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SourceBSS-ToTargetBSS-TransparentContainer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SourceRNC-ToTargetRNC-TransparentContainer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SourceeNB-ID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SourceeNB-ToTargeteNB-TransparentContainer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StratumLevel.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SubscriberProfileIDforRFP.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SuccessfulOutcome.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SupportedTAs-Item.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SupportedTAs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SynchronizationStatus.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAC.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAI-Broadcast-Item.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAI-Broadcast.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAI-Cancelled-Item.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAI-Cancelled.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAI.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAIItem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAIList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAIListforWarning.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TBCD-STRING.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Target-ToSource-TransparentContainer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetBSS-ToSourceBSS-TransparentContainer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetRNC-ID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetRNC-ToSourceRNC-TransparentContainer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargeteNB-ID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargeteNB-ToSourceeNB-TransparentContainer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Time-UE-StayedInCell.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TimeSynchronizationInfo.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TimeToWait.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TraceActivation.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TraceDepth.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TraceFailureIndication.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TraceStart.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TransportLayerAddress.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TriggeringMessage.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TypeOfError.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UE-HistoryInformation.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UE-S1AP-ID-pair.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UE-S1AP-IDs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UE-associatedLogicalS1-ConnectionItem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UE-associatedLogicalS1-ConnectionListRes.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UE-associatedLogicalS1-ConnectionListResAck.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEAggregateMaximumBitrate.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UECapabilityInfoIndication.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEContextModificationFailure.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEContextModificationRequest.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEContextModificationResponse.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEContextReleaseCommand.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEContextReleaseComplete.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEContextReleaseRequest.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEIdentityIndexValue.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEPagingID.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UERadioCapability.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UESecurityCapabilities.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UnsuccessfulOutcome.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UplinkNASTransport.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UplinkNonUEAssociatedLPPaTransport.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UplinkS1cdma2000tunneling.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UplinkUEAssociatedLPPaTransport.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WarningAreaList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WarningMessageContents.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WarningSecurityInfo.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WarningType.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WriteReplaceWarningRequest.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WriteReplaceWarningResponse.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/X2TNLConfigurationInfo.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn_SEQUENCE_OF.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn_SET_OF.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn_codecs_prim.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ber_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ber_tlv_length.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ber_tlv_tag.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/constr_CHOICE.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/constr_SEQUENCE.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/constr_SEQUENCE_OF.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/constr_SET_OF.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/constr_TYPE.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/constraints.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/der_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/per_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/per_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/per_opentype.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/per_support.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xer_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xer_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xer_support.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-ASN_MODULEHEADERS: $(ASN_MODULE_HEADERS) - @$(NORMAL_INSTALL) - @list='$(ASN_MODULE_HEADERS)'; test -n "$(ASN_MODULEdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(ASN_MODULEdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(ASN_MODULEdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(ASN_MODULEdir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(ASN_MODULEdir)" || exit $$?; \ - done - -uninstall-ASN_MODULEHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(ASN_MODULE_HEADERS)'; test -n "$(ASN_MODULEdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(ASN_MODULEdir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(RECURSIVE_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done -cscopelist-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-recursive -all-am: Makefile $(LTLIBRARIES) $(HEADERS) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(ASN_MODULEdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-recursive - -clean-am: clean-generic clean-libtool clean-local \ - clean-noinstLTLIBRARIES mostlyclean-am - -distclean: distclean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-ASN_MODULEHEADERS - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-ASN_MODULEHEADERS - -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ - cscopelist-recursive ctags-recursive install install-am \ - install-strip tags-recursive - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am check check-am clean clean-generic clean-libtool \ - clean-local clean-noinstLTLIBRARIES cscopelist \ - cscopelist-recursive ctags ctags-recursive distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-ASN_MODULEHEADERS install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-recursive uninstall uninstall-ASN_MODULEHEADERS \ - uninstall-am - - -asn1regen.stamp: ASN1/$(ASN1DIR)/S1AP-CommonDataTypes.asn ASN1/$(ASN1DIR)/S1AP-Constants.asn ASN1/$(ASN1DIR)/S1AP-IEs.asn ASN1/$(ASN1DIR)/S1AP-PDU.asn - echo Timestamp > $@ - asn1c -gen-PER -fnative-types -fskeletons-copy $^ - -clean-messages: - rm -f *.lo - -clean-local: - rm -f asn1regen.stamp - rm -f Makefile.am.sample - rm -f converter-sample.c - rm -f $(ASN_MODULE_SOURCES) - rm -f $(ASN_MODULE_HEADERS) - rm -f $(ASN_MODULE_HEADERS_IES) - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.inc b/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.inc deleted file mode 100644 index 46465c0950..0000000000 --- a/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.inc +++ /dev/null @@ -1,738 +0,0 @@ -S1AP_ASN_MODULE_SOURCES= \ - Criticality.o \ - Presence.o \ - PrivateIE-ID.o \ - ProcedureCode.o \ - ProtocolExtensionID.o \ - ProtocolIE-ID.o \ - TriggeringMessage.o \ - IE-Extensions.o \ - AllocationAndRetentionPriority.o \ - Bearers-SubjectToStatusTransfer-List.o \ - Bearers-SubjectToStatusTransfer-Item.o \ - BitRate.o \ - BPLMNs.o \ - BroadcastCompletedAreaList.o \ - Cause.o \ - CauseMisc.o \ - CauseProtocol.o \ - CauseRadioNetwork.o \ - CauseTransport.o \ - CauseNas.o \ - CellIdentity.o \ - CellID-Broadcast.o \ - CellID-Broadcast-Item.o \ - Cdma2000PDU.o \ - Cdma2000RATType.o \ - Cdma2000SectorID.o \ - Cdma2000HOStatus.o \ - Cdma2000HORequiredIndication.o \ - Cdma2000OneXSRVCCInfo.o \ - Cdma2000OneXMEID.o \ - Cdma2000OneXMSI.o \ - Cdma2000OneXPilot.o \ - Cdma2000OneXRAND.o \ - Cell-Size.o \ - CellType.o \ - CGI.o \ - CI.o \ - CNDomain.o \ - CSFallbackIndicator.o \ - CSG-Id.o \ - CSG-IdList.o \ - CSG-IdList-Item.o \ - COUNTvalue.o \ - CriticalityDiagnostics.o \ - CriticalityDiagnostics-IE-List.o \ - CriticalityDiagnostics-IE-Item.o \ - DataCodingScheme.o \ - DL-Forwarding.o \ - Direct-Forwarding-Path-Availability.o \ - E-RABToBeModifiedListBearerModReq.o \ - E-RABToBeModifiedItemBearerModReq.o \ - E-RABReleaseListBearerRelComp.o \ - E-RABReleaseItemBearerRelComp.o \ - E-RABDataForwardingList.o \ - E-RABDataForwardingItem.o \ - E-RABToBeSetupListCtxtSUReq.o \ - E-RABToBeSetupItemCtxtSUReq.o \ - E-RABSetupListBearerSURes.o \ - E-RABSetupItemBearerSURes.o \ - E-RABFailedtoSetupListHOReqAck.o \ - E-RABFailedToSetupItemHOReqAck.o \ - E-RABToBeSetupListBearerSUReq.o \ - E-RABToBeSetupItemBearerSUReq.o \ - E-RABAdmittedList.o \ - E-RABAdmittedItem.o \ - E-RABToBeSwitchedDLList.o \ - E-RABToBeSwitchedDLItem.o \ - E-RABToBeSwitchedULList.o \ - E-RABToBeSwitchedULItem.o \ - E-RABModifyListBearerModRes.o \ - E-RABModifyItemBearerModRes.o \ - E-RABSetupListCtxtSURes.o \ - E-RABSetupItemCtxtSURes.o \ - E-RABToBeSetupListHOReq.o \ - E-RABToBeSetupItemHOReq.o \ - ECGIList.o \ - EmergencyAreaIDList.o \ - EmergencyAreaID.o \ - EmergencyAreaID-Broadcast.o \ - EmergencyAreaID-Broadcast-Item.o \ - CompletedCellinEAI.o \ - CompletedCellinEAI-Item.o \ - ENB-ID.o \ - GERAN-Cell-ID.o \ - Global-ENB-ID.o \ - ENB-StatusTransfer-TransparentContainer.o \ - ENB-UE-S1AP-ID.o \ - ENBname.o \ - ENBX2TLAs.o \ - EncryptionAlgorithms.o \ - EPLMNs.o \ - EventType.o \ - E-RAB-ID.o \ - E-RABInformationList.o \ - E-RABInformationListItem.o \ - E-RABList.o \ - E-RABItem.o \ - E-RABLevelQoSParameters.o \ - EUTRAN-CGI.o \ - ExtendedRNC-ID.o \ - ForbiddenInterRATs.o \ - ForbiddenTAs.o \ - ForbiddenTAs-Item.o \ - ForbiddenTACs.o \ - ForbiddenLAs.o \ - ForbiddenLAs-Item.o \ - ForbiddenLACs.o \ - GBR-QosInformation.o \ - GTP-TEID.o \ - GUMMEI.o \ - HandoverRestrictionList.o \ - HandoverType.o \ - HFN.o \ - Inter-SystemInformationTransferType.o \ - IMSI.o \ - IntegrityProtectionAlgorithms.o \ - InterfacesToTrace.o \ - LAC.o \ - LAI.o \ - LastVisitedCell-Item.o \ - LastVisitedEUTRANCellInformation.o \ - LastVisitedUTRANCellInformation.o \ - LastVisitedGERANCellInformation.o \ - L3-Information.o \ - MessageIdentifier.o \ - MMEname.o \ - MME-Group-ID.o \ - MME-Code.o \ - MME-UE-S1AP-ID.o \ - M-TMSI.o \ - MSClassmark2.o \ - MSClassmark3.o \ - NAS-PDU.o \ - NASSecurityParametersfromE-UTRAN.o \ - NASSecurityParameterstoE-UTRAN.o \ - NumberofBroadcastRequest.o \ - NumberOfBroadcasts.o \ - OldBSS-ToNewBSS-Information.o \ - OverloadAction.o \ - OverloadResponse.o \ - PagingDRX.o \ - PDCP-SN.o \ - PLMNidentity.o \ - Pre-emptionCapability.o \ - Pre-emptionVulnerability.o \ - PriorityLevel.o \ - QCI.o \ - ReceiveStatusofULPDCPSDUs.o \ - RelativeMMECapacity.o \ - RAC.o \ - RequestType.o \ - ResetType.o \ - ResetAll.o \ - RIMTransfer.o \ - RIMInformation.o \ - RIMRoutingAddress.o \ - ReportArea.o \ - RepetitionPeriod.o \ - RNC-ID.o \ - RRC-Container.o \ - RRC-Establishment-Cause.o \ - SecurityKey.o \ - SecurityContext.o \ - SerialNumber.o \ - SONInformation.o \ - SONInformationRequest.o \ - SONInformationReply.o \ - SONConfigurationTransfer.o \ - Source-ToTarget-TransparentContainer.o \ - SourceBSS-ToTargetBSS-TransparentContainer.o \ - SourceeNB-ID.o \ - SRVCCOperationPossible.o \ - SRVCCHOIndication.o \ - SourceeNB-ToTargeteNB-TransparentContainer.o \ - SourceRNC-ToTargetRNC-TransparentContainer.o \ - ServedGUMMEIs.o \ - ServedGUMMEIsItem.o \ - ServedGroupIDs.o \ - ServedMMECs.o \ - ServedPLMNs.o \ - SubscriberProfileIDforRFP.o \ - SupportedTAs.o \ - SupportedTAs-Item.o \ - S-TMSI.o \ - TAC.o \ - TAIListforWarning.o \ - TAIList.o \ - TAIItem.o \ - TAI.o \ - TAI-Broadcast.o \ - TAI-Broadcast-Item.o \ - CompletedCellinTAI.o \ - CompletedCellinTAI-Item.o \ - TBCD-STRING.o \ - TargetID.o \ - TargeteNB-ID.o \ - TargetRNC-ID.o \ - TargeteNB-ToSourceeNB-TransparentContainer.o \ - Target-ToSource-TransparentContainer.o \ - TargetRNC-ToSourceRNC-TransparentContainer.o \ - TargetBSS-ToSourceBSS-TransparentContainer.o \ - TimeToWait.o \ - Time-UE-StayedInCell.o \ - TransportLayerAddress.o \ - TraceActivation.o \ - TraceDepth.o \ - E-UTRAN-Trace-ID.o \ - TypeOfError.o \ - UEAggregateMaximumBitrate.o \ - UE-S1AP-IDs.o \ - UE-S1AP-ID-pair.o \ - UE-associatedLogicalS1-ConnectionListRes.o \ - UE-associatedLogicalS1-ConnectionListResAck.o \ - UE-associatedLogicalS1-ConnectionItem.o \ - UEIdentityIndexValue.o \ - UE-HistoryInformation.o \ - UEPagingID.o \ - UERadioCapability.o \ - UESecurityCapabilities.o \ - WarningAreaList.o \ - WarningType.o \ - WarningSecurityInfo.o \ - WarningMessageContents.o \ - X2TNLConfigurationInfo.o \ - S1AP-PDU.o \ - InitiatingMessage.o \ - SuccessfulOutcome.o \ - UnsuccessfulOutcome.o \ - HandoverRequired.o \ - HandoverCommand.o \ - HandoverPreparationFailure.o \ - HandoverRequest.o \ - HandoverRequestAcknowledge.o \ - HandoverFailure.o \ - HandoverNotify.o \ - PathSwitchRequest.o \ - PathSwitchRequestAcknowledge.o \ - PathSwitchRequestFailure.o \ - E-RABSetupRequest.o \ - E-RABSetupResponse.o \ - E-RABModifyRequest.o \ - E-RABModifyResponse.o \ - E-RABReleaseIndication.o \ - E-RABReleaseCommand.o \ - E-RABReleaseResponse.o \ - InitialContextSetupRequest.o \ - InitialContextSetupResponse.o \ - InitialContextSetupFailure.o \ - UEContextReleaseRequest.o \ - Paging.o \ - DownlinkNASTransport.o \ - InitialUEMessage.o \ - UplinkNASTransport.o \ - NASNonDeliveryIndication.o \ - HandoverCancel.o \ - HandoverCancelAcknowledge.o \ - Reset.o \ - ResetAcknowledge.o \ - S1SetupResponse.o \ - S1SetupRequest.o \ - S1SetupFailure.o \ - ErrorIndication.o \ - ENBConfigurationUpdate.o \ - ENBConfigurationUpdateAcknowledge.o \ - ENBConfigurationUpdateFailure.o \ - MMEConfigurationUpdate.o \ - MMEConfigurationUpdateAcknowledge.o \ - MMEConfigurationUpdateFailure.o \ - DownlinkS1cdma2000tunneling.o \ - UplinkS1cdma2000tunneling.o \ - UEContextModificationRequest.o \ - UEContextModificationResponse.o \ - UEContextModificationFailure.o \ - UECapabilityInfoIndication.o \ - UEContextReleaseCommand.o \ - UEContextReleaseComplete.o \ - ENBStatusTransfer.o \ - MMEStatusTransfer.o \ - DeactivateTrace.o \ - TraceStart.o \ - TraceFailureIndication.o \ - CellTrafficTrace.o \ - LocationReportingControl.o \ - LocationReportingFailureIndication.o \ - LocationReport.o \ - OverloadStart.o \ - OverloadStop.o \ - WriteReplaceWarningRequest.o \ - WriteReplaceWarningResponse.o \ - ENBDirectInformationTransfer.o \ - MMEDirectInformationTransfer.o \ - ENBConfigurationTransfer.o \ - MMEConfigurationTransfer.o \ - PrivateMessage.o \ - IE.o - -S1AP_ASN_MODULE_HEADERS= \ - Criticality.h \ - Presence.h \ - PrivateIE-ID.h \ - ProcedureCode.h \ - ProtocolExtensionID.h \ - ProtocolIE-ID.h \ - TriggeringMessage.h \ - IE-Extensions.h \ - AllocationAndRetentionPriority.h \ - Bearers-SubjectToStatusTransfer-List.h \ - Bearers-SubjectToStatusTransfer-Item.h \ - BitRate.h \ - BPLMNs.h \ - BroadcastCompletedAreaList.h \ - Cause.h \ - CauseMisc.h \ - CauseProtocol.h \ - CauseRadioNetwork.h \ - CauseTransport.h \ - CauseNas.h \ - CellIdentity.h \ - CellID-Broadcast.h \ - CellID-Broadcast-Item.h \ - Cdma2000PDU.h \ - Cdma2000RATType.h \ - Cdma2000SectorID.h \ - Cdma2000HOStatus.h \ - Cdma2000HORequiredIndication.h \ - Cdma2000OneXSRVCCInfo.h \ - Cdma2000OneXMEID.h \ - Cdma2000OneXMSI.h \ - Cdma2000OneXPilot.h \ - Cdma2000OneXRAND.h \ - Cell-Size.h \ - CellType.h \ - CGI.h \ - CI.h \ - CNDomain.h \ - CSFallbackIndicator.h \ - CSG-Id.h \ - CSG-IdList.h \ - CSG-IdList-Item.h \ - COUNTvalue.h \ - CriticalityDiagnostics.h \ - CriticalityDiagnostics-IE-List.h \ - CriticalityDiagnostics-IE-Item.h \ - DataCodingScheme.h \ - DL-Forwarding.h \ - Direct-Forwarding-Path-Availability.h \ - E-RABToBeModifiedListBearerModReq.h \ - E-RABToBeModifiedItemBearerModReqIEs.h \ - E-RABToBeModifiedItemBearerModReq.h \ - E-RABReleaseListBearerRelComp.h \ - E-RABReleaseItemBearerRelCompIEs.h \ - E-RABReleaseItemBearerRelComp.h \ - E-RABSubjecttoDataForwardingList.h \ - E-RABDataForwardingList.h \ - E-RABDataForwardingItemIEs.h \ - E-RABDataForwardingItem.h \ - E-RABToBeSetupListCtxtSUReq.h \ - E-RABToBeSetupItemCtxtSUReqIEs.h \ - E-RABToBeSetupItemCtxtSUReq.h \ - E-RABSetupListBearerSURes.h \ - E-RABSetupItemBearerSUResIEs.h \ - E-RABSetupItemBearerSURes.h \ - E-RABFailedtoSetupListHOReqAck.h \ - E-RABFailedtoSetupItemHOReqAckIEs.h \ - E-RABFailedToSetupItemHOReqAck.h \ - E-RABToBeSetupListBearerSUReq.h \ - E-RABToBeSetupItemBearerSUReqIEs.h \ - E-RABToBeSetupItemBearerSUReq.h \ - E-RABAdmittedList.h \ - E-RABAdmittedItemIEs.h \ - E-RABAdmittedItem.h \ - E-RABToBeSwitchedDLList.h \ - E-RABToBeSwitchedDLListIEs.h \ - E-RABToBeSwitchedDLItem.h \ - E-RABToBeSwitchedULList.h \ - E-RABToBeSwitchedULItemIEs.h \ - E-RABToBeSwitchedULItem.h \ - E-RABModifyListBearerModRes.h \ - E-RABModifyItemBearerModResIEs.h \ - E-RABModifyItemBearerModRes.h \ - E-RABSetupListCtxtSURes.h \ - E-RABSetupListCtxtSUResIEs.h \ - E-RABSetupItemCtxtSURes.h \ - E-RABToBeSetupListHOReq.h \ - E-RABToBeSetupListHOReqIEs.h \ - E-RABToBeSetupItemHOReq.h \ - ECGIList.h \ - EmergencyAreaIDList.h \ - EmergencyAreaID.h \ - EmergencyAreaID-Broadcast.h \ - EmergencyAreaID-Broadcast-Item.h \ - CompletedCellinEAI.h \ - CompletedCellinEAI-Item.h \ - ENB-ID.h \ - GERAN-Cell-ID.h \ - Global-ENB-ID.h \ - ENB-StatusTransfer-TransparentContainer.h \ - ENB-UE-S1AP-ID.h \ - ENBname.h \ - ENBX2TLAs.h \ - EncryptionAlgorithms.h \ - EPLMNs.h \ - EventType.h \ - E-RAB-ID.h \ - E-RABInformationList.h \ - E-RABInformationListItem.h \ - E-RABList.h \ - E-RABItem.h \ - E-RABLevelQoSParameters.h \ - EUTRAN-CGI.h \ - ExtendedRNC-ID.h \ - ForbiddenInterRATs.h \ - ForbiddenTAs.h \ - ForbiddenTAs-Item.h \ - ForbiddenTACs.h \ - ForbiddenLAs.h \ - ForbiddenLAs-Item.h \ - ForbiddenLACs.h \ - GBR-QosInformation.h \ - GTP-TEID.h \ - GUMMEI.h \ - HandoverRestrictionList.h \ - HandoverType.h \ - HFN.h \ - HandoverNotify.h \ - Inter-SystemInformationTransferType.h \ - IMSI.h \ - IntegrityProtectionAlgorithms.h \ - InterfacesToTrace.h \ - LAC.h \ - LAI.h \ - LastVisitedCell-Item.h \ - LastVisitedEUTRANCellInformation.h \ - LastVisitedUTRANCellInformation.h \ - LastVisitedGERANCellInformation.h \ - L3-Information.h \ - MessageIdentifier.h \ - MMEname.h \ - MME-Group-ID.h \ - MME-Code.h \ - MME-UE-S1AP-ID.h \ - M-TMSI.h \ - MSClassmark2.h \ - MSClassmark3.h \ - NAS-PDU.h \ - NASSecurityParametersfromE-UTRAN.h \ - NASSecurityParameterstoE-UTRAN.h \ - NumberofBroadcastRequest.h \ - NumberOfBroadcasts.h \ - OldBSS-ToNewBSS-Information.h \ - OverloadAction.h \ - OverloadResponse.h \ - PagingDRX.h \ - PDCP-SN.h \ - PLMNidentity.h \ - Pre-emptionCapability.h \ - Pre-emptionVulnerability.h \ - PriorityLevel.h \ - QCI.h \ - ReceiveStatusofULPDCPSDUs.h \ - RelativeMMECapacity.h \ - RAC.h \ - RequestType.h \ - ResetType.h \ - ResetAll.h \ - RIMTransfer.h \ - RIMInformation.h \ - RIMRoutingAddress.h \ - ReportArea.h \ - RepetitionPeriod.h \ - RNC-ID.h \ - RRC-Container.h \ - RRC-Establishment-Cause.h \ - SecurityKey.h \ - SecurityContext.h \ - SerialNumber.h \ - SONInformation.h \ - SONInformationRequest.h \ - SONInformationReply.h \ - SONConfigurationTransfer.h \ - Source-ToTarget-TransparentContainer.h \ - SourceBSS-ToTargetBSS-TransparentContainer.h \ - SourceeNB-ID.h \ - SRVCCOperationPossible.h \ - SRVCCHOIndication.h \ - SourceeNB-ToTargeteNB-TransparentContainer.h \ - SourceRNC-ToTargetRNC-TransparentContainer.h \ - ServedGUMMEIs.h \ - ServedGUMMEIsItem.h \ - ServedGroupIDs.h \ - ServedMMECs.h \ - ServedPLMNs.h \ - SubscriberProfileIDforRFP.h \ - SupportedTAs.h \ - SupportedTAs-Item.h \ - S-TMSI.h \ - TAC.h \ - TAIListforWarning.h \ - TAIList.h \ - TAIItem.h \ - TAI.h \ - TAI-Broadcast.h \ - TAI-Broadcast-Item.h \ - CompletedCellinTAI.h \ - CompletedCellinTAI-Item.h \ - TBCD-STRING.h \ - TargetID.h \ - TargeteNB-ID.h \ - TargetRNC-ID.h \ - TargeteNB-ToSourceeNB-TransparentContainer.h \ - Target-ToSource-TransparentContainer.h \ - TargetRNC-ToSourceRNC-TransparentContainer.h \ - TargetBSS-ToSourceBSS-TransparentContainer.h \ - TimeToWait.h \ - Time-UE-StayedInCell.h \ - TransportLayerAddress.h \ - TraceActivation.h \ - TraceDepth.h \ - E-UTRAN-Trace-ID.h \ - TypeOfError.h \ - UEAggregateMaximumBitrate.h \ - UE-S1AP-IDs.h \ - UE-S1AP-ID-pair.h \ - UE-associatedLogicalS1-ConnectionListRes.h \ - UE-associatedLogicalS1-ConnectionListResAck.h \ - UE-associatedLogicalS1-ConnectionItem.h \ - UEIdentityIndexValue.h \ - UE-HistoryInformation.h \ - UEPagingID.h \ - UERadioCapability.h \ - UESecurityCapabilities.h \ - WarningAreaList.h \ - WarningType.h \ - WarningSecurityInfo.h \ - WarningMessageContents.h \ - X2TNLConfigurationInfo.h \ - S1AP-PDU.h \ - InitiatingMessage.h \ - SuccessfulOutcome.h \ - UnsuccessfulOutcome.h \ - HandoverRequired.h \ - HandoverCommand.h \ - HandoverPreparationFailure.h \ - HandoverRequest.h \ - HandoverRequestAcknowledge.h \ - HandoverFailure.h \ - HandoverNotify.h \ - PathSwitchRequest.h \ - PathSwitchRequestAcknowledge.h \ - PathSwitchRequestFailure.h \ - E-RABSetupRequest.h \ - E-RABSetupResponse.h \ - E-RABModifyRequest.h \ - E-RABModifyResponse.h \ - E-RABReleaseIndication.h \ - E-RABReleaseCommand.h \ - E-RABReleaseResponse.h \ - InitialContextSetupRequest.h \ - InitialContextSetupResponse.h \ - InitialContextSetupFailure.h \ - UEContextReleaseRequest.h \ - Paging.h \ - DownlinkNASTransport.h \ - InitialUEMessage.h \ - UplinkNASTransport.h \ - NASNonDeliveryIndication.h \ - HandoverCancel.h \ - HandoverCancelAcknowledge.h \ - Reset.h \ - ResetAcknowledge.h \ - S1SetupResponse.h \ - S1SetupRequest.h \ - S1SetupFailure.h \ - ErrorIndication.h \ - ENBConfigurationUpdate.h \ - ENBConfigurationUpdateAcknowledge.h \ - ENBConfigurationUpdateFailure.h \ - MMEConfigurationUpdate.h \ - MMEConfigurationUpdateAcknowledge.h \ - MMEConfigurationUpdateFailure.h \ - DownlinkS1cdma2000tunneling.h \ - UplinkS1cdma2000tunneling.h \ - UEContextModificationRequest.h \ - UEContextModificationResponse.h \ - UEContextModificationFailure.h \ - UECapabilityInfoIndication.h \ - UEContextReleaseCommand.h \ - UEContextReleaseComplete.h \ - ENBStatusTransfer.h \ - MMEStatusTransfer.h \ - DeactivateTrace.h \ - TraceStart.h \ - TraceFailureIndication.h \ - CellTrafficTrace.h \ - LocationReportingControl.h \ - LocationReportingFailureIndication.h \ - LocationReport.h \ - OverloadStart.h \ - OverloadStop.h \ - WriteReplaceWarningRequest.h \ - WriteReplaceWarningResponse.h \ - ENBDirectInformationTransfer.h \ - MMEDirectInformationTransfer.h \ - ENBConfigurationTransfer.h \ - MMEConfigurationTransfer.h \ - PrivateMessage.h \ - IE.h - -ifdef UPDATE_RELEASE_9 -S1AP_ASN_MODULE_SOURCES += \ - KillResponse.o \ - KillRequest.o \ - Data-Forwarding-Not-Possible.o \ - DownlinkUEAssociatedLPPaTransport.o \ - UplinkUEAssociatedLPPaTransport.o \ - DownlinkNonUEAssociatedLPPaTransport.o \ - UplinkNonUEAssociatedLPPaTransport.o \ - TAI-Cancelled.o \ - TAI-Cancelled-Item.o \ - StratumLevel.o \ - SynchronizationStatus.o \ - TimeSynchronizationInfo.o \ - Routing-ID.o \ - PS-ServiceNotAvailable.o \ - LPPa-PDU.o \ - ExtendedRepetitionPeriod.o \ - EUTRANRoundTripDelayEstimationInfo.o \ - EmergencyAreaID-Cancelled.o \ - EmergencyAreaID-Cancelled-Item.o \ - CSGMembershipStatus.o \ - ConcurrentWarningMessageIndicator.o \ - CellID-Cancelled.o \ - CellID-Cancelled-Item.o \ - CellAccessMode.o \ - CancelledCellinEAI.o \ - CancelledCellinEAI-Item.o \ - CancelledCellinTAI.o \ - CancelledCellinTAI-Item.o \ - BroadcastCancelledAreaList.o - -S1AP_ASN_MODULE_HEADERS += \ - BroadcastCancelledAreaList.h \ - CancelledCellinEAI.h \ - CancelledCellinEAI-Item.h \ - CancelledCellinTAI.h \ - CancelledCellinTAI-Item.h \ - CellAccessMode.h \ - CellID-Cancelled.h \ - CellID-Cancelled-Item.h \ - ConcurrentWarningMessageIndicator.h \ - CSGMembershipStatus.h \ - Data-Forwarding-Not-Possible.h \ - EmergencyAreaID-Cancelled.h \ - EmergencyAreaID-Cancelled-Item.h \ - E-RABList.h \ - EUTRANRoundTripDelayEstimationInfo.h \ - ExtendedRepetitionPeriod.h \ - LPPa-PDU.h \ - PS-ServiceNotAvailable.h \ - Routing-ID.h \ - StratumLevel.h \ - SynchronizationStatus.h \ - TimeSynchronizationInfo.h \ - TAI-Cancelled.h \ - TAI-Cancelled-Item.h \ - KillResponse.h \ - KillRequest.h \ - DownlinkUEAssociatedLPPaTransport.h \ - UplinkUEAssociatedLPPaTransport.h \ - DownlinkNonUEAssociatedLPPaTransport.h \ - UplinkNonUEAssociatedLPPaTransport.h -endif - -S1AP_ASN_MODULE_HEADERS+=ANY.h -S1AP_ASN_MODULE_SOURCES+=ANY.o -S1AP_ASN_MODULE_HEADERS+=BOOLEAN.h -S1AP_ASN_MODULE_SOURCES+=BOOLEAN.o -S1AP_ASN_MODULE_HEADERS+=INTEGER.h -S1AP_ASN_MODULE_HEADERS+=NativeEnumerated.h -S1AP_ASN_MODULE_SOURCES+=INTEGER.o -S1AP_ASN_MODULE_HEADERS+=NULL.h -S1AP_ASN_MODULE_SOURCES+=NULL.o -S1AP_ASN_MODULE_SOURCES+=NativeEnumerated.o -S1AP_ASN_MODULE_HEADERS+=NativeInteger.h -S1AP_ASN_MODULE_SOURCES+=NativeInteger.o -S1AP_ASN_MODULE_HEADERS+=OBJECT_IDENTIFIER.h -S1AP_ASN_MODULE_SOURCES+=OBJECT_IDENTIFIER.o -S1AP_ASN_MODULE_HEADERS+=PrintableString.h -S1AP_ASN_MODULE_SOURCES+=PrintableString.o -S1AP_ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h -S1AP_ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.o -S1AP_ASN_MODULE_HEADERS+=asn_SET_OF.h -S1AP_ASN_MODULE_SOURCES+=asn_SET_OF.o -S1AP_ASN_MODULE_HEADERS+=constr_CHOICE.h -S1AP_ASN_MODULE_SOURCES+=constr_CHOICE.o -S1AP_ASN_MODULE_HEADERS+=constr_SEQUENCE.h -S1AP_ASN_MODULE_SOURCES+=constr_SEQUENCE.o -S1AP_ASN_MODULE_HEADERS+=constr_SEQUENCE_OF.h -S1AP_ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.o -S1AP_ASN_MODULE_HEADERS+=constr_SET_OF.h -S1AP_ASN_MODULE_SOURCES+=constr_SET_OF.o -S1AP_ASN_MODULE_HEADERS+=asn_application.h -S1AP_ASN_MODULE_HEADERS+=asn_system.h -S1AP_ASN_MODULE_HEADERS+=asn_codecs.h -S1AP_ASN_MODULE_HEADERS+=asn_internal.h -S1AP_ASN_MODULE_HEADERS+=OCTET_STRING.h -S1AP_ASN_MODULE_SOURCES+=OCTET_STRING.o -S1AP_ASN_MODULE_HEADERS+=BIT_STRING.h -S1AP_ASN_MODULE_SOURCES+=BIT_STRING.o -S1AP_ASN_MODULE_SOURCES+=asn_codecs_prim.o -S1AP_ASN_MODULE_HEADERS+=asn_codecs_prim.h -S1AP_ASN_MODULE_HEADERS+=ber_tlv_length.h -S1AP_ASN_MODULE_SOURCES+=ber_tlv_length.o -S1AP_ASN_MODULE_HEADERS+=ber_tlv_tag.h -S1AP_ASN_MODULE_SOURCES+=ber_tlv_tag.o -S1AP_ASN_MODULE_HEADERS+=ber_decoder.h -S1AP_ASN_MODULE_SOURCES+=ber_decoder.o -S1AP_ASN_MODULE_HEADERS+=der_encoder.h -S1AP_ASN_MODULE_SOURCES+=der_encoder.o -S1AP_ASN_MODULE_HEADERS+=constr_TYPE.h -S1AP_ASN_MODULE_SOURCES+=constr_TYPE.o -S1AP_ASN_MODULE_HEADERS+=constraints.h -S1AP_ASN_MODULE_SOURCES+=constraints.o -S1AP_ASN_MODULE_HEADERS+=xer_support.h -S1AP_ASN_MODULE_SOURCES+=xer_support.o -S1AP_ASN_MODULE_HEADERS+=xer_decoder.h -S1AP_ASN_MODULE_SOURCES+=xer_decoder.o -S1AP_ASN_MODULE_HEADERS+=xer_encoder.h -S1AP_ASN_MODULE_SOURCES+=xer_encoder.o -S1AP_ASN_MODULE_HEADERS+=per_support.h -S1AP_ASN_MODULE_SOURCES+=per_support.o -S1AP_ASN_MODULE_HEADERS+=per_decoder.h -S1AP_ASN_MODULE_SOURCES+=per_decoder.o -S1AP_ASN_MODULE_HEADERS+=per_encoder.h -S1AP_ASN_MODULE_SOURCES+=per_encoder.o -S1AP_ASN_MODULE_HEADERS+=per_opentype.h -S1AP_ASN_MODULE_SOURCES+=per_opentype.o \ No newline at end of file diff --git a/openair3/OPENAIRMME/S1AP/Makefile.am b/openair3/OPENAIRMME/S1AP/Makefile.am deleted file mode 100644 index d01dfcbf2f..0000000000 --- a/openair3/OPENAIRMME/S1AP/Makefile.am +++ /dev/null @@ -1,31 +0,0 @@ -SUBDIRS = ./MESSAGES/ . - -AM_CFLAGS = \ - @ADD_CFLAGS@ \ - -I$(top_builddir)/S1AP \ - -I$(top_builddir)/S1AP/MESSAGES \ - -I$(top_srcdir)/INTERTASK_INTERFACE \ - -I$(top_srcdir)/SCTP \ - -I$(top_srcdir)/UTILS - -noinst_LTLIBRARIES = libs1ap.la -libs1ap_la_LDFLAGS = -all-static -libs1ap_la_LIBADD = ./MESSAGES/libs1apmessages.la - -libs1ap_la_SOURCES = \ - s1ap_common.h s1ap_common.c \ - s1ap_eNB_decoder.h s1ap_eNB_decoder.c \ - s1ap_eNB_encoder.h s1ap_eNB_encoder.c \ - s1ap_eNB_handlers.h s1ap_eNB_handlers.c \ - s1ap_mme_encoder.h s1ap_mme_encoder.c \ - s1ap_mme_decoder.h s1ap_mme_decoder.c \ - s1ap_mme_handlers.h s1ap_mme_handlers.c \ - s1ap_mme.h s1ap_mme.c \ - $(top_builddir)/S1AP/s1ap_decoder.c \ - $(top_builddir)/S1AP/s1ap_encoder.c \ - $(top_builddir)/S1AP/s1ap_ies_defs.h - -clean-local: - rm -f $(top_builddir)/S1AP/s1ap_ies_defs.h - rm -f $(top_builddir)/S1AP/s1ap_decoder.c - rm -f $(top_builddir)/S1AP/s1ap_encoder.c diff --git a/openair3/OPENAIRMME/S1AP/Makefile.in b/openair3/OPENAIRMME/S1AP/Makefile.in deleted file mode 100644 index 5873ccccae..0000000000 --- a/openair3/OPENAIRMME/S1AP/Makefile.in +++ /dev/null @@ -1,758 +0,0 @@ -# Makefile.in generated by automake 1.12 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = S1AP -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libs1ap_la_DEPENDENCIES = ./MESSAGES/libs1apmessages.la -am_libs1ap_la_OBJECTS = s1ap_common.lo s1ap_eNB_decoder.lo \ - s1ap_eNB_encoder.lo s1ap_eNB_handlers.lo s1ap_mme_encoder.lo \ - s1ap_mme_decoder.lo s1ap_mme_handlers.lo s1ap_mme.lo \ - s1ap_decoder.lo s1ap_encoder.lo -libs1ap_la_OBJECTS = $(am_libs1ap_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -libs1ap_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libs1ap_la_LDFLAGS) $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -SOURCES = $(libs1ap_la_SOURCES) -DIST_SOURCES = $(libs1ap_la_SOURCES) -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = \ - @ADD_CFLAGS@ \ - -I$(top_builddir)/S1AP \ - -I$(top_builddir)/S1AP/MESSAGES \ - -I$(top_srcdir)/INTERTASK_INTERFACE \ - -I$(top_srcdir)/SCTP \ - -I$(top_srcdir)/UTILS - -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASN1C_CHECK = @ASN1C_CHECK@ -ASN1DIR = @ASN1DIR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOXYGEN = @DOXYGEN@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -POW_LIB = @POW_LIB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -SUBDIRS = ./MESSAGES/ . -noinst_LTLIBRARIES = libs1ap.la -libs1ap_la_LDFLAGS = -all-static -libs1ap_la_LIBADD = ./MESSAGES/libs1apmessages.la -libs1ap_la_SOURCES = \ - s1ap_common.h s1ap_common.c \ - s1ap_eNB_decoder.h s1ap_eNB_decoder.c \ - s1ap_eNB_encoder.h s1ap_eNB_encoder.c \ - s1ap_eNB_handlers.h s1ap_eNB_handlers.c \ - s1ap_mme_encoder.h s1ap_mme_encoder.c \ - s1ap_mme_decoder.h s1ap_mme_decoder.c \ - s1ap_mme_handlers.h s1ap_mme_handlers.c \ - s1ap_mme.h s1ap_mme.c \ - $(top_builddir)/S1AP/s1ap_decoder.c \ - $(top_builddir)/S1AP/s1ap_encoder.c \ - $(top_builddir)/S1AP/s1ap_ies_defs.h - -all: all-recursive - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu S1AP/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu S1AP/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -libs1ap.la: $(libs1ap_la_OBJECTS) $(libs1ap_la_DEPENDENCIES) $(EXTRA_libs1ap_la_DEPENDENCIES) - $(AM_V_CCLD)$(libs1ap_la_LINK) $(libs1ap_la_OBJECTS) $(libs1ap_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_common.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_eNB_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_eNB_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_eNB_handlers.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_mme.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_mme_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_mme_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_mme_handlers.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -s1ap_decoder.lo: $(top_builddir)/S1AP/s1ap_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT s1ap_decoder.lo -MD -MP -MF $(DEPDIR)/s1ap_decoder.Tpo -c -o s1ap_decoder.lo `test -f '$(top_builddir)/S1AP/s1ap_decoder.c' || echo '$(srcdir)/'`$(top_builddir)/S1AP/s1ap_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/s1ap_decoder.Tpo $(DEPDIR)/s1ap_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_builddir)/S1AP/s1ap_decoder.c' object='s1ap_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o s1ap_decoder.lo `test -f '$(top_builddir)/S1AP/s1ap_decoder.c' || echo '$(srcdir)/'`$(top_builddir)/S1AP/s1ap_decoder.c - -s1ap_encoder.lo: $(top_builddir)/S1AP/s1ap_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT s1ap_encoder.lo -MD -MP -MF $(DEPDIR)/s1ap_encoder.Tpo -c -o s1ap_encoder.lo `test -f '$(top_builddir)/S1AP/s1ap_encoder.c' || echo '$(srcdir)/'`$(top_builddir)/S1AP/s1ap_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/s1ap_encoder.Tpo $(DEPDIR)/s1ap_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_builddir)/S1AP/s1ap_encoder.c' object='s1ap_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o s1ap_encoder.lo `test -f '$(top_builddir)/S1AP/s1ap_encoder.c' || echo '$(srcdir)/'`$(top_builddir)/S1AP/s1ap_encoder.c - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(RECURSIVE_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done -cscopelist-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile $(LTLIBRARIES) -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool clean-local \ - clean-noinstLTLIBRARIES mostlyclean-am - -distclean: distclean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \ - cscopelist-recursive ctags-recursive install-am install-strip \ - tags-recursive - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am check check-am clean clean-generic clean-libtool \ - clean-local clean-noinstLTLIBRARIES cscopelist \ - cscopelist-recursive ctags ctags-recursive distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am - - -clean-local: - rm -f $(top_builddir)/S1AP/s1ap_ies_defs.h - rm -f $(top_builddir)/S1AP/s1ap_decoder.c - rm -f $(top_builddir)/S1AP/s1ap_encoder.c - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/S1AP/Makefile.inc b/openair3/OPENAIRMME/S1AP/Makefile.inc deleted file mode 100644 index 437068d106..0000000000 --- a/openair3/OPENAIRMME/S1AP/Makefile.inc +++ /dev/null @@ -1,9 +0,0 @@ -S1AP_OBJS = $(OPENAIR2_DIR)/S1AP/s1ap_eNB.o -S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_common.o -S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_encoder.o -S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_decoder.o -S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_eNB_decoder.o -S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_eNB_encoder.o -S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_eNB_handlers.o - -S1AP_Incl = -I$(OPENAIR2_DIR)/S1AP -I$(OPENAIR2_DIR)/S1AP/MESSAGES diff --git a/openair3/OPENAIRMME/S1AP/s1ap_common.c b/openair3/OPENAIRMME/S1AP/s1ap_common.c deleted file mode 100644 index fb8c02a2ea..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_common.c +++ /dev/null @@ -1,163 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -/*! \file s1ap_common.c - * \brief s1ap procedures for both eNB and MME - * \author Sebastien ROUX <sebastien.roux@eurecom.fr> - * \date 2012 - * \version 0.1 - */ - -#include <stdint.h> - -#include "S1AP-PDU.h" - -#include "S1SetupRequest.h" -#include "UplinkNASTransport.h" - -#include "s1ap_common.h" - -int asn_debug = 0; -int asn1_xer_print = 0; - -ssize_t s1ap_generate_initiating_message( - uint8_t **buffer, - uint32_t *length, - e_ProcedureCode procedureCode, - Criticality_t criticality, - asn_TYPE_descriptor_t *td, - void *sptr) { - - S1AP_PDU_t pdu; - ssize_t encoded; - - memset(&pdu, 0, sizeof(S1AP_PDU_t)); - - pdu.present = S1AP_PDU_PR_initiatingMessage; - pdu.choice.initiatingMessage.procedureCode = procedureCode; - pdu.choice.initiatingMessage.criticality = criticality; - ANY_fromType_aper(&pdu.choice.initiatingMessage.value, td, sptr); - - if (asn1_xer_print) - xer_fprint(stdout,&asn_DEF_S1AP_PDU,(void*)&pdu); - - if ((encoded = aper_encode_to_new_buffer(&asn_DEF_S1AP_PDU, 0, &pdu, (void**)buffer)) < 0) { - return -1; - } - - *length = encoded; - return encoded; -} - -ssize_t s1ap_generate_successfull_outcome( - uint8_t **buffer, - uint32_t *length, - e_ProcedureCode procedureCode, - Criticality_t criticality, - asn_TYPE_descriptor_t *td, - void *sptr) { - - S1AP_PDU_t pdu; - ssize_t encoded; - - memset(&pdu, 0, sizeof(S1AP_PDU_t)); - - pdu.present = S1AP_PDU_PR_successfulOutcome; - pdu.choice.successfulOutcome.procedureCode = procedureCode; - pdu.choice.successfulOutcome.criticality = criticality; - ANY_fromType_aper(&pdu.choice.successfulOutcome.value, td, sptr); - - if ((encoded = aper_encode_to_new_buffer(&asn_DEF_S1AP_PDU, 0, &pdu, (void**)buffer)) < 0) { - return -1; - } - - *length = encoded; - - return encoded; -} - -ssize_t s1ap_generate_unsuccessfull_outcome( - uint8_t **buffer, - uint32_t *length, - e_ProcedureCode procedureCode, - Criticality_t criticality, - asn_TYPE_descriptor_t *td, - void *sptr) { - - S1AP_PDU_t pdu; - ssize_t encoded; - - memset(&pdu, 0, sizeof(S1AP_PDU_t)); - - pdu.present = S1AP_PDU_PR_unsuccessfulOutcome; - pdu.choice.successfulOutcome.procedureCode = procedureCode; - pdu.choice.successfulOutcome.criticality = criticality; - ANY_fromType_aper(&pdu.choice.successfulOutcome.value, td, sptr); - - if ((encoded = aper_encode_to_new_buffer(&asn_DEF_S1AP_PDU, 0, &pdu, (void**)buffer)) < 0) { - return -1; - } - - *length = encoded; - - return encoded; -} - -IE_t *s1ap_new_ie( - ProtocolIE_ID_t id, - Criticality_t criticality, - asn_TYPE_descriptor_t *type, - void *sptr) { - - IE_t *buff; - - if ((buff = malloc(sizeof(IE_t))) == NULL) { - // Possible error on malloc - return NULL; - } - memset((void*)buff, 0, sizeof(IE_t)); - - buff->id = id; - buff->criticality = criticality; - - ANY_fromType_aper(&buff->value, type, sptr); - - if (asn1_xer_print) - if (xer_fprint(stdout, &asn_DEF_IE, buff) < 0) { - free(buff); - return NULL; - } - - return buff; -} - -void s1ap_handle_criticality(e_Criticality criticality) { - -} diff --git a/openair3/OPENAIRMME/S1AP/s1ap_common.h b/openair3/OPENAIRMME/S1AP/s1ap_common.h deleted file mode 100644 index 38db9f29ab..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_common.h +++ /dev/null @@ -1,473 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#if HAVE_CONFIG_H_ -# include "config.h" -#endif - -#include "Criticality.h" -#include "Presence.h" -#include "PrivateIE-ID.h" -#include "ProcedureCode.h" -#include "ProtocolExtensionID.h" -#include "ProtocolIE-ID.h" -#include "TriggeringMessage.h" -#include "AllocationAndRetentionPriority.h" -#include "Bearers-SubjectToStatusTransfer-List.h" -#include "Bearers-SubjectToStatusTransfer-Item.h" -#include "BitRate.h" -#include "BPLMNs.h" -#include "BroadcastCompletedAreaList.h" -#include "Cause.h" -#include "CauseMisc.h" -#include "CauseProtocol.h" -#include "CauseRadioNetwork.h" -#include "CauseTransport.h" -#include "CauseNas.h" -#include "CellIdentity.h" -#include "CellID-Broadcast.h" -#include "CellID-Broadcast-Item.h" -#include "Cdma2000PDU.h" -#include "Cdma2000RATType.h" -#include "Cdma2000SectorID.h" -#include "Cdma2000HOStatus.h" -#include "Cdma2000HORequiredIndication.h" -#include "Cdma2000OneXSRVCCInfo.h" -#include "Cdma2000OneXMEID.h" -#include "Cdma2000OneXMSI.h" -#include "Cdma2000OneXPilot.h" -#include "Cdma2000OneXRAND.h" -#include "Cell-Size.h" -#include "CellType.h" -#include "CGI.h" -#include "CI.h" -#include "CNDomain.h" -#include "CSFallbackIndicator.h" -#include "CSG-Id.h" -#include "CSG-IdList.h" -#include "CSG-IdList-Item.h" -#include "COUNTvalue.h" -#include "CriticalityDiagnostics.h" -#include "CriticalityDiagnostics-IE-List.h" -#include "CriticalityDiagnostics-IE-Item.h" -#include "DataCodingScheme.h" -#include "DL-Forwarding.h" -#include "Direct-Forwarding-Path-Availability.h" -#include "ECGIList.h" -#include "EmergencyAreaIDList.h" -#include "EmergencyAreaID.h" -#include "EmergencyAreaID-Broadcast.h" -#include "EmergencyAreaID-Broadcast-Item.h" -#include "CompletedCellinEAI.h" -#include "CompletedCellinEAI-Item.h" -#include "ENB-ID.h" -#include "GERAN-Cell-ID.h" -#include "Global-ENB-ID.h" -#include "ENB-StatusTransfer-TransparentContainer.h" -#include "ENB-UE-S1AP-ID.h" -#include "ENBname.h" -#include "ENBX2TLAs.h" -#include "EncryptionAlgorithms.h" -#include "EPLMNs.h" -#include "EventType.h" -#include "E-RAB-ID.h" -#include "E-RABInformationList.h" -#include "E-RABInformationListItem.h" -#include "E-RABList.h" -#include "E-RABItem.h" -#include "E-RABLevelQoSParameters.h" -#include "EUTRAN-CGI.h" -#include "ExtendedRNC-ID.h" -#include "ForbiddenInterRATs.h" -#include "ForbiddenTAs.h" -#include "ForbiddenTAs-Item.h" -#include "ForbiddenTACs.h" -#include "ForbiddenLAs.h" -#include "ForbiddenLAs-Item.h" -#include "ForbiddenLACs.h" -#include "GBR-QosInformation.h" -#include "GTP-TEID.h" -#include "GUMMEI.h" -#include "HandoverRestrictionList.h" -#include "HandoverType.h" -#include "HFN.h" -#include "IMSI.h" -#include "IntegrityProtectionAlgorithms.h" -#include "InterfacesToTrace.h" -#include "LAC.h" -#include "LAI.h" -#include "LastVisitedCell-Item.h" -#include "LastVisitedEUTRANCellInformation.h" -#include "LastVisitedUTRANCellInformation.h" -#include "LastVisitedGERANCellInformation.h" -#include "L3-Information.h" -#include "MessageIdentifier.h" -#include "MMEname.h" -#include "MME-Group-ID.h" -#include "MME-Code.h" -#include "MME-UE-S1AP-ID.h" -#include "M-TMSI.h" -#include "MSClassmark2.h" -#include "MSClassmark3.h" -#include "NAS-PDU.h" -#include "NASSecurityParametersfromE-UTRAN.h" -#include "NASSecurityParameterstoE-UTRAN.h" -#include "NumberofBroadcastRequest.h" -#include "NumberOfBroadcasts.h" -#include "OldBSS-ToNewBSS-Information.h" -#include "OverloadAction.h" -#include "OverloadResponse.h" -#include "PagingDRX.h" -#include "PDCP-SN.h" -#include "PLMNidentity.h" -#include "Pre-emptionCapability.h" -#include "Pre-emptionVulnerability.h" -#include "PriorityLevel.h" -#include "QCI.h" -#include "ReceiveStatusofULPDCPSDUs.h" -#include "RelativeMMECapacity.h" -#include "RAC.h" -#include "RequestType.h" -#include "RIMTransfer.h" -#include "RIMInformation.h" -#include "RIMRoutingAddress.h" -#include "ReportArea.h" -#include "RepetitionPeriod.h" -#include "RNC-ID.h" -#include "RRC-Container.h" -#include "RRC-Establishment-Cause.h" -#include "SecurityKey.h" -#include "SecurityContext.h" -#include "SerialNumber.h" -#include "SONInformation.h" -#include "SONInformationRequest.h" -#include "SONInformationReply.h" -#include "SONConfigurationTransfer.h" -#include "Source-ToTarget-TransparentContainer.h" -#include "SourceBSS-ToTargetBSS-TransparentContainer.h" -#include "SourceeNB-ID.h" -#include "SRVCCOperationPossible.h" -#include "SRVCCHOIndication.h" -#include "SourceeNB-ToTargeteNB-TransparentContainer.h" -#include "SourceRNC-ToTargetRNC-TransparentContainer.h" -#include "ServedGUMMEIs.h" -#include "ServedGUMMEIsItem.h" -#include "ServedGroupIDs.h" -#include "ServedMMECs.h" -#include "ServedPLMNs.h" -#include "SubscriberProfileIDforRFP.h" -#include "SupportedTAs.h" -#include "SupportedTAs-Item.h" -#include "S-TMSI.h" -#include "TAC.h" -#include "TAIItem.h" -#include "TAIList.h" -#include "TAIListforWarning.h" -#include "TAI.h" -#include "TAI-Broadcast.h" -#include "TAI-Broadcast-Item.h" -#include "CompletedCellinTAI.h" -#include "CompletedCellinTAI-Item.h" -#include "TBCD-STRING.h" -#include "TargetID.h" -#include "TargeteNB-ID.h" -#include "TargetRNC-ID.h" -#include "TargeteNB-ToSourceeNB-TransparentContainer.h" -#include "Target-ToSource-TransparentContainer.h" -#include "TargetRNC-ToSourceRNC-TransparentContainer.h" -#include "TargetBSS-ToSourceBSS-TransparentContainer.h" -#include "TimeToWait.h" -#include "Time-UE-StayedInCell.h" -#include "TransportLayerAddress.h" -#include "TraceActivation.h" -#include "TraceDepth.h" -#include "E-UTRAN-Trace-ID.h" -#include "TypeOfError.h" -#include "UEAggregateMaximumBitrate.h" -#include "UE-S1AP-IDs.h" -#include "UE-S1AP-ID-pair.h" -#include "UE-associatedLogicalS1-ConnectionItem.h" -#include "UEIdentityIndexValue.h" -#include "UE-HistoryInformation.h" -#include "UEPagingID.h" -#include "UERadioCapability.h" -#include "UESecurityCapabilities.h" -#include "WarningAreaList.h" -#include "WarningType.h" -#include "WarningSecurityInfo.h" -#include "WarningMessageContents.h" -#include "X2TNLConfigurationInfo.h" -#include "S1AP-PDU.h" -#include "InitiatingMessage.h" -#include "SuccessfulOutcome.h" -#include "UnsuccessfulOutcome.h" -#include "HandoverRequired.h" -#include "HandoverCommand.h" -#include "HandoverNotify.h" -#include "HandoverPreparationFailure.h" -#include "HandoverRequest.h" -#include "HandoverRequestAcknowledge.h" -#include "HandoverFailure.h" -#include "PathSwitchRequest.h" -#include "PathSwitchRequestAcknowledge.h" -#include "PathSwitchRequestFailure.h" -#include "E-RABSetupRequest.h" -#include "E-RABSetupResponse.h" -#include "E-RABModifyRequest.h" -#include "E-RABModifyResponse.h" -#include "E-RABReleaseIndication.h" -#include "E-RABReleaseCommand.h" -#include "E-RABReleaseResponse.h" -#include "InitialContextSetupRequest.h" -#include "InitialContextSetupResponse.h" -#include "InitialContextSetupFailure.h" -#include "UEContextReleaseRequest.h" -#include "Paging.h" -#include "DownlinkNASTransport.h" -#include "InitialUEMessage.h" -#include "UplinkNASTransport.h" -#include "NASNonDeliveryIndication.h" -#include "HandoverCancel.h" -#include "HandoverCancelAcknowledge.h" -#include "Reset.h" -#include "ResetType.h" -#include "ResetAcknowledge.h" -#include "S1SetupResponse.h" -#include "S1SetupRequest.h" -#include "S1SetupFailure.h" -#include "ErrorIndication.h" -#include "ENBConfigurationUpdate.h" -#include "ENBConfigurationUpdateAcknowledge.h" -#include "ENBConfigurationUpdateFailure.h" -#include "MMEConfigurationUpdate.h" -#include "MMEConfigurationUpdateAcknowledge.h" -#include "MMEConfigurationUpdateFailure.h" -#include "DownlinkS1cdma2000tunneling.h" -#include "UplinkS1cdma2000tunneling.h" -#include "UEContextModificationRequest.h" -#include "UEContextModificationResponse.h" -#include "UEContextModificationFailure.h" -#include "UECapabilityInfoIndication.h" -#include "UEContextReleaseCommand.h" -#include "UEContextReleaseComplete.h" -#include "ENBStatusTransfer.h" -#include "MMEStatusTransfer.h" -#include "DeactivateTrace.h" -#include "TraceStart.h" -#include "TraceFailureIndication.h" -#include "CellTrafficTrace.h" -#include "LocationReportingControl.h" -#include "LocationReportingFailureIndication.h" -#include "LocationReport.h" -#include "OverloadStart.h" -#include "OverloadStop.h" -#include "WriteReplaceWarningRequest.h" -#include "WriteReplaceWarningResponse.h" -#include "ENBDirectInformationTransfer.h" -#include "MMEDirectInformationTransfer.h" -#include "ENBConfigurationTransfer.h" -#include "MMEConfigurationTransfer.h" -#include "PrivateMessage.h" -#include "Inter-SystemInformationTransferType.h" -#include "E-RABReleaseItemBearerRelComp.h" -#include "E-RABToBeSwitchedDLList.h" -#include "E-RABToBeSwitchedDLItem.h" -#include "E-RABToBeSwitchedULList.h" -#include "E-RABToBeSwitchedULItem.h" -#include "E-RABToBeSetupListBearerSUReq.h" -#include "E-RABToBeSetupItemBearerSUReq.h" -#include "E-RABDataForwardingList.h" -#include "E-RABDataForwardingItem.h" -#include "E-RABToBeSetupListHOReq.h" -#include "E-RABToBeSetupItemHOReq.h" -#include "E-RABAdmittedList.h" -#include "E-RABAdmittedItem.h" -#include "E-RABFailedtoSetupListHOReqAck.h" -#include "E-RABToBeSetupItemCtxtSUReq.h" -#include "E-RABToBeSetupListCtxtSUReq.h" -#include "E-RABSetupItemBearerSURes.h" -#include "E-RABSetupListBearerSURes.h" -#include "E-RABSetupItemCtxtSURes.h" -#include "E-RABSetupListCtxtSURes.h" -#include "E-RABReleaseListBearerRelComp.h" -#include "E-RABModifyItemBearerModRes.h" -#include "E-RABModifyListBearerModRes.h" -#include "E-RABFailedToSetupItemHOReqAck.h" -#include "E-RABFailedtoSetupListHOReqAck.h" -#include "E-RABToBeModifiedItemBearerModReq.h" -#include "E-RABToBeModifiedListBearerModReq.h" -#include "UE-associatedLogicalS1-ConnectionListResAck.h" -#include "IE.h" - -#if defined (UPDATE_RELEASE_9) -# include "BroadcastCancelledAreaList.h" -# include "CancelledCellinEAI.h" -# include "CancelledCellinEAI-Item.h" -# include "CancelledCellinTAI.h" -# include "CancelledCellinTAI-Item.h" -# include "CellAccessMode.h" -# include "CellID-Cancelled.h" -# include "CellID-Cancelled-Item.h" -# include "ConcurrentWarningMessageIndicator.h" -# include "CSGMembershipStatus.h" -# include "Data-Forwarding-Not-Possible.h" -# include "EmergencyAreaID-Cancelled.h" -# include "EmergencyAreaID-Cancelled-Item.h" -# include "E-RABList.h" -# include "EUTRANRoundTripDelayEstimationInfo.h" -# include "ExtendedRepetitionPeriod.h" -# include "LPPa-PDU.h" -# include "PS-ServiceNotAvailable.h" -# include "Routing-ID.h" -# include "StratumLevel.h" -# include "SynchronizationStatus.h" -# include "TimeSynchronizationInfo.h" -# include "TAI-Cancelled.h" -# include "TAI-Cancelled-Item.h" -# include "KillRequest.h" -# include "KillResponse.h" -# include "DownlinkUEAssociatedLPPaTransport.h" -# include "UplinkUEAssociatedLPPaTransport.h" -# include "DownlinkNonUEAssociatedLPPaTransport.h" -# include "UplinkNonUEAssociatedLPPaTransport.h" -#endif /* (UPDATE_RELEASE_9) */ - -#ifndef S1AP_COMMON_H_ -#define S1AP_COMMON_H_ - -/** @defgroup _s1ap_impl_ S1AP Layer Reference Implementation - * @ingroup _ref_implementation_ - * @{ - */ - -/* Checking version of ASN1C compiler */ -#if (ASN1C_ENVIRONMENT_VERSION < 923) -# error "You are compiling s1ap with the wrong version of ASN1C" -#endif - -#define S1AP_PORT 36412 - -#define TRUE 1 -#define FALSE 0 - -extern int asn_debug; -extern int asn1_xer_print; - -#if defined(ENB_MODE) -# include "log.h" -# define S1AP_ERROR(x, args...) LOG_E(S1AP, x, ##args) -# define S1AP_WARN(x, args...) LOG_W(S1AP, x, ##args) -# define S1AP_DEBUG(x, args...) LOG_D(S1AP, x, ##args) -#else -# define S1AP_ERROR(x, args...) do { fprintf(stdout, "[S1AP][E]"x, ##args); } while(0) -# define S1AP_WARN(x, args...) do { fprintf(stdout, "[S1AP][W]"x, ##args); } while(0) -# define S1AP_DEBUG(x, args...) do { fprintf(stdout, "[S1AP][D]"x, ##args); } while(0) -#endif - -//Forward declaration -struct s1ap_message_s; - -/** \brief Function callback prototype. - **/ -typedef int (*s1ap_message_decoded_callback)( - uint32_t assocId, - uint32_t stream, - struct s1ap_message_s *message); - -/** \brief Encode a successfull outcome message - \param buffer pointer to buffer in which data will be encoded - \param length pointer to the length of buffer - \param procedureCode Procedure code for the message - \param criticality Criticality of the message - \param td ASN1C type descriptor of the sptr - \param sptr Deferenced pointer to the structure to encode - @returns size in bytes encded on success or 0 on failure - **/ -ssize_t s1ap_generate_successfull_outcome( - uint8_t **buffer, - uint32_t *length, - e_ProcedureCode procedureCode, - Criticality_t criticality, - asn_TYPE_descriptor_t *td, - void *sptr); - -/** \brief Encode an initiating message - \param buffer pointer to buffer in which data will be encoded - \param length pointer to the length of buffer - \param procedureCode Procedure code for the message - \param criticality Criticality of the message - \param td ASN1C type descriptor of the sptr - \param sptr Deferenced pointer to the structure to encode - @returns size in bytes encded on success or 0 on failure - **/ -ssize_t s1ap_generate_initiating_message( - uint8_t **buffer, - uint32_t *length, - e_ProcedureCode procedureCode, - Criticality_t criticality, - asn_TYPE_descriptor_t *td, - void *sptr); - -/** \brief Encode an unsuccessfull outcome message - \param buffer pointer to buffer in which data will be encoded - \param length pointer to the length of buffer - \param procedureCode Procedure code for the message - \param criticality Criticality of the message - \param td ASN1C type descriptor of the sptr - \param sptr Deferenced pointer to the structure to encode - @returns size in bytes encded on success or 0 on failure - **/ -ssize_t s1ap_generate_unsuccessfull_outcome( - uint8_t **buffer, - uint32_t *length, - e_ProcedureCode procedureCode, - Criticality_t criticality, - asn_TYPE_descriptor_t *td, - void *sptr); - -/** \brief Generate a new IE - \param id Protocol ie id of the IE - \param criticality Criticality of the IE - \param type ASN1 type descriptor of the IE value - \param sptr Structure to be encoded in the value field - @returns a pointer to the newly created IE structure or NULL in case of failure - **/ -IE_t *s1ap_new_ie(ProtocolIE_ID_t id, - Criticality_t criticality, - asn_TYPE_descriptor_t *type, - void *sptr); - -/** \brief Handle criticality - \param criticality Criticality of the IE - @returns void - **/ -void s1ap_handle_criticality(e_Criticality criticality); - -#endif /* S1AP_COMMON_H_ */ diff --git a/openair3/OPENAIRMME/S1AP/s1ap_decoder.c b/openair3/OPENAIRMME/S1AP/s1ap_decoder.c deleted file mode 100644 index 3cffc47927..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_decoder.c +++ /dev/null @@ -1,6480 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -/******************************************************************************* - * This file had been created by asn1tostruct.py script v0.3 - * Please do not modify it directly. - * Created on: 2012-11-13 11:44:11.948325 - * from /homes/roux/trunk-clean/openair2/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn - ******************************************************************************/ -#include "s1ap_common.h" -#include "s1ap_ies_defs.h" - -int s1ap_decode_mmeconfigurationupdateies( - MMEConfigurationUpdateIEs_t *mmeConfigurationUpdateIEs, - ANY_t *any_p) { - - MMEConfigurationUpdate_t mMEConfigurationUpdate; - MMEConfigurationUpdate_t *mMEConfigurationUpdate_p = &mMEConfigurationUpdate; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(mmeConfigurationUpdateIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_MMEConfigurationUpdate, (void**)&mMEConfigurationUpdate_p); - - for (i = 0; i < mMEConfigurationUpdate_p->mmeConfigurationUpdate_ies.list.count; i++) { - IE_t *ie_p; - ie_p = mMEConfigurationUpdate_p->mmeConfigurationUpdate_ies.list.array[i]; - switch(ie_p->id) { - /* Optional field */ - case ProtocolIE_ID_id_MMEname: - { - MMEname_t mmEname; - MMEname_t *mmEname_p = &mmEname; - mmeConfigurationUpdateIEs->presenceMask |= MMECONFIGURATIONUPDATEIES_MMENAME_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MMEname, (void**)&mmEname_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mmEname failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MMEname, mmEname_p); - memcpy(&mmeConfigurationUpdateIEs->mmEname, mmEname_p, sizeof(MMEname_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_ServedGUMMEIs: - { - ServedGUMMEIs_t servedGUMMEIs; - ServedGUMMEIs_t *servedGUMMEIs_p = &servedGUMMEIs; - mmeConfigurationUpdateIEs->presenceMask |= MMECONFIGURATIONUPDATEIES_SERVEDGUMMEIS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ServedGUMMEIs, (void**)&servedGUMMEIs_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE servedGUMMEIs failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ServedGUMMEIs, servedGUMMEIs_p); - memcpy(&mmeConfigurationUpdateIEs->servedGUMMEIs, servedGUMMEIs_p, sizeof(ServedGUMMEIs_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_RelativeMMECapacity: - { - RelativeMMECapacity_t relativeMMECapacity; - RelativeMMECapacity_t *relativeMMECapacity_p = &relativeMMECapacity; - mmeConfigurationUpdateIEs->presenceMask |= MMECONFIGURATIONUPDATEIES_RELATIVEMMECAPACITY_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RelativeMMECapacity, (void**)&relativeMMECapacity_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE relativeMMECapacity failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_RelativeMMECapacity, relativeMMECapacity_p); - memcpy(&mmeConfigurationUpdateIEs->relativeMMECapacity, relativeMMECapacity_p, sizeof(RelativeMMECapacity_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message mmeconfigurationupdateies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_uecontextmodificationrequesties( - UEContextModificationRequestIEs_t *ueContextModificationRequestIEs, - ANY_t *any_p) { - - UEContextModificationRequest_t uEContextModificationRequest; - UEContextModificationRequest_t *uEContextModificationRequest_p = &uEContextModificationRequest; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(ueContextModificationRequestIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_UEContextModificationRequest, (void**)&uEContextModificationRequest_p); - - for (i = 0; i < uEContextModificationRequest_p->ueContextModificationRequest_ies.list.count; i++) { - IE_t *ie_p; - ie_p = uEContextModificationRequest_p->ueContextModificationRequest_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&ueContextModificationRequestIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&ueContextModificationRequestIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_SecurityKey: - { - SecurityKey_t securityKey; - SecurityKey_t *securityKey_p = &securityKey; - ueContextModificationRequestIEs->presenceMask |= UECONTEXTMODIFICATIONREQUESTIES_SECURITYKEY_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SecurityKey, (void**)&securityKey_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE securityKey failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_SecurityKey, securityKey_p); - memcpy(&ueContextModificationRequestIEs->securityKey, securityKey_p, sizeof(SecurityKey_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_SubscriberProfileIDforRFP: - { - SubscriberProfileIDforRFP_t subscriberProfileIDforRFP; - SubscriberProfileIDforRFP_t *subscriberProfileIDforRFP_p = &subscriberProfileIDforRFP; - ueContextModificationRequestIEs->presenceMask |= UECONTEXTMODIFICATIONREQUESTIES_SUBSCRIBERPROFILEIDFORRFP_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SubscriberProfileIDforRFP, (void**)&subscriberProfileIDforRFP_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE subscriberProfileIDforRFP failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_SubscriberProfileIDforRFP, subscriberProfileIDforRFP_p); - memcpy(&ueContextModificationRequestIEs->subscriberProfileIDforRFP, subscriberProfileIDforRFP_p, sizeof(SubscriberProfileIDforRFP_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_uEaggregateMaximumBitrate: - { - UEAggregateMaximumBitrate_t ueAggregateMaximumBitrate; - UEAggregateMaximumBitrate_t *ueAggregateMaximumBitrate_p = &ueAggregateMaximumBitrate; - ueContextModificationRequestIEs->presenceMask |= UECONTEXTMODIFICATIONREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UEAggregateMaximumBitrate, (void**)&ueAggregateMaximumBitrate_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE uEaggregateMaximumBitrate failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_UEAggregateMaximumBitrate, ueAggregateMaximumBitrate_p); - memcpy(&ueContextModificationRequestIEs->uEaggregateMaximumBitrate, ueAggregateMaximumBitrate_p, sizeof(UEAggregateMaximumBitrate_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CSFallbackIndicator: - { - CSFallbackIndicator_t csFallbackIndicator; - CSFallbackIndicator_t *csFallbackIndicator_p = &csFallbackIndicator; - ueContextModificationRequestIEs->presenceMask |= UECONTEXTMODIFICATIONREQUESTIES_CSFALLBACKINDICATOR_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSFallbackIndicator, (void**)&csFallbackIndicator_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE csFallbackIndicator failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CSFallbackIndicator, csFallbackIndicator_p); - memcpy(&ueContextModificationRequestIEs->csFallbackIndicator, csFallbackIndicator_p, sizeof(CSFallbackIndicator_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_UESecurityCapabilities: - { - UESecurityCapabilities_t ueSecurityCapabilities; - UESecurityCapabilities_t *ueSecurityCapabilities_p = &ueSecurityCapabilities; - ueContextModificationRequestIEs->presenceMask |= UECONTEXTMODIFICATIONREQUESTIES_UESECURITYCAPABILITIES_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UESecurityCapabilities, (void**)&ueSecurityCapabilities_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE ueSecurityCapabilities failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_UESecurityCapabilities, ueSecurityCapabilities_p); - memcpy(&ueContextModificationRequestIEs->ueSecurityCapabilities, ueSecurityCapabilities_p, sizeof(UESecurityCapabilities_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CSGMembershipStatus: - { - CSGMembershipStatus_t csgMembershipStatus; - CSGMembershipStatus_t *csgMembershipStatus_p = &csgMembershipStatus; - ueContextModificationRequestIEs->presenceMask |= UECONTEXTMODIFICATIONREQUESTIES_CSGMEMBERSHIPSTATUS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSGMembershipStatus, (void**)&csgMembershipStatus_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE csgMembershipStatus failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CSGMembershipStatus, csgMembershipStatus_p); - memcpy(&ueContextModificationRequestIEs->csgMembershipStatus, csgMembershipStatus_p, sizeof(CSGMembershipStatus_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_RegisteredLAI: - { - LAI_t lai; - LAI_t *lai_p = &lai; - ueContextModificationRequestIEs->presenceMask |= UECONTEXTMODIFICATIONREQUESTIES_LAI_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_LAI, (void**)&lai_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE registeredLAI failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_LAI, lai_p); - memcpy(&ueContextModificationRequestIEs->registeredLAI, lai_p, sizeof(LAI_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message uecontextmodificationrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_enbdirectinformationtransferies( - ENBDirectInformationTransferIEs_t *enbDirectInformationTransferIEs, - ANY_t *any_p) { - - ENBDirectInformationTransfer_t eNBDirectInformationTransfer; - ENBDirectInformationTransfer_t *eNBDirectInformationTransfer_p = &eNBDirectInformationTransfer; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(enbDirectInformationTransferIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_ENBDirectInformationTransfer, (void**)&eNBDirectInformationTransfer_p); - - for (i = 0; i < eNBDirectInformationTransfer_p->eNBDirectInformationTransfer_ies.list.count; i++) { - IE_t *ie_p; - ie_p = eNBDirectInformationTransfer_p->eNBDirectInformationTransfer_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_Inter_SystemInformationTransferTypeEDT: - { - Inter_SystemInformationTransferType_t interSystemInformationTransferType; - Inter_SystemInformationTransferType_t *interSystemInformationTransferType_p = &interSystemInformationTransferType; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Inter_SystemInformationTransferType, (void**)&interSystemInformationTransferType_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE inter_SystemInformationTransferTypeEDT failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Inter_SystemInformationTransferType, interSystemInformationTransferType_p); - memcpy(&enbDirectInformationTransferIEs->inter_SystemInformationTransferTypeEDT, interSystemInformationTransferType_p, sizeof(Inter_SystemInformationTransferType_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message enbdirectinformationtransferies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_resetacknowledgeies( - ResetAcknowledgeIEs_t *resetAcknowledgeIEs, - ANY_t *any_p) { - - ResetAcknowledge_t resetAcknowledge; - ResetAcknowledge_t *resetAcknowledge_p = &resetAcknowledge; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(resetAcknowledgeIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_ResetAcknowledge, (void**)&resetAcknowledge_p); - - for (i = 0; i < resetAcknowledge_p->resetAcknowledge_ies.list.count; i++) { - IE_t *ie_p; - ie_p = resetAcknowledge_p->resetAcknowledge_ies.list.array[i]; - switch(ie_p->id) { - /* Optional field */ - case ProtocolIE_ID_id_UE_associatedLogicalS1_ConnectionListResAck: - { - UE_associatedLogicalS1_ConnectionListResAck_t uEassociatedLogicalS1ConnectionListResAck; - UE_associatedLogicalS1_ConnectionListResAck_t *uEassociatedLogicalS1ConnectionListResAck_p = &uEassociatedLogicalS1ConnectionListResAck; - resetAcknowledgeIEs->presenceMask |= RESETACKNOWLEDGEIES_UE_ASSOCIATEDLOGICALS1_CONNECTIONLISTRESACK_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UE_associatedLogicalS1_ConnectionListResAck, (void**)&uEassociatedLogicalS1ConnectionListResAck_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE uE_associatedLogicalS1_ConnectionListResAck failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_UE_associatedLogicalS1_ConnectionListResAck, uEassociatedLogicalS1ConnectionListResAck_p); - memcpy(&resetAcknowledgeIEs->uE_associatedLogicalS1_ConnectionListResAck, uEassociatedLogicalS1ConnectionListResAck_p, sizeof(UE_associatedLogicalS1_ConnectionListResAck_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - resetAcknowledgeIEs->presenceMask |= RESETACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&resetAcknowledgeIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message resetacknowledgeies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_pagingies( - PagingIEs_t *pagingIEs, - ANY_t *any_p) { - - Paging_t paging; - Paging_t *paging_p = &paging; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(pagingIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_Paging, (void**)&paging_p); - - for (i = 0; i < paging_p->paging_ies.list.count; i++) { - IE_t *ie_p; - ie_p = paging_p->paging_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_UEIdentityIndexValue: - { - UEIdentityIndexValue_t ueIdentityIndexValue; - UEIdentityIndexValue_t *ueIdentityIndexValue_p = &ueIdentityIndexValue; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UEIdentityIndexValue, (void**)&ueIdentityIndexValue_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE ueIdentityIndexValue failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_UEIdentityIndexValue, ueIdentityIndexValue_p); - memcpy(&pagingIEs->ueIdentityIndexValue, ueIdentityIndexValue_p, sizeof(UEIdentityIndexValue_t)); - } break; - case ProtocolIE_ID_id_UEPagingID: - { - UEPagingID_t uePagingID; - UEPagingID_t *uePagingID_p = &uePagingID; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UEPagingID, (void**)&uePagingID_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE uePagingID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_UEPagingID, uePagingID_p); - memcpy(&pagingIEs->uePagingID, uePagingID_p, sizeof(UEPagingID_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_pagingDRX: - { - PagingDRX_t pagingDRX; - PagingDRX_t *pagingDRX_p = &pagingDRX; - pagingIEs->presenceMask |= PAGINGIES_PAGINGDRX_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_PagingDRX, (void**)&pagingDRX_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE pagingDRX failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_PagingDRX, pagingDRX_p); - memcpy(&pagingIEs->pagingDRX, pagingDRX_p, sizeof(PagingDRX_t)); - } break; - case ProtocolIE_ID_id_CNDomain: - { - CNDomain_t cnDomain; - CNDomain_t *cnDomain_p = &cnDomain; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CNDomain, (void**)&cnDomain_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cnDomain failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CNDomain, cnDomain_p); - memcpy(&pagingIEs->cnDomain, cnDomain_p, sizeof(CNDomain_t)); - } break; - case ProtocolIE_ID_id_TAIList: - { - TAIList_t taiList; - TAIList_t *taiList_p = &taiList; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TAIList, (void**)&taiList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE taiList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_TAIList, taiList_p); - memcpy(&pagingIEs->taiList, taiList_p, sizeof(TAIList_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CSG_IdList: - { - CSG_IdList_t csgIdList; - CSG_IdList_t *csgIdList_p = &csgIdList; - pagingIEs->presenceMask |= PAGINGIES_CSG_IDLIST_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSG_IdList, (void**)&csgIdList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE csG_IdList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CSG_IdList, csgIdList_p); - memcpy(&pagingIEs->csG_IdList, csgIdList_p, sizeof(CSG_IdList_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message pagingies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_pathswitchrequesties( - PathSwitchRequestIEs_t *pathSwitchRequestIEs, - ANY_t *any_p) { - - PathSwitchRequest_t pathSwitchRequest; - PathSwitchRequest_t *pathSwitchRequest_p = &pathSwitchRequest; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(pathSwitchRequestIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_PathSwitchRequest, (void**)&pathSwitchRequest_p); - - for (i = 0; i < pathSwitchRequest_p->pathSwitchRequest_ies.list.count; i++) { - IE_t *ie_p; - ie_p = pathSwitchRequest_p->pathSwitchRequest_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&pathSwitchRequestIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_E_RABToBeSwitchedDLList: - { - E_RABToBeSwitchedDLList_t erabToBeSwitchedDLList; - E_RABToBeSwitchedDLList_t *erabToBeSwitchedDLList_p = &erabToBeSwitchedDLList; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSwitchedDLList, (void**)&erabToBeSwitchedDLList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABToBeSwitchedDLList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABToBeSwitchedDLList, erabToBeSwitchedDLList_p); - memcpy(&pathSwitchRequestIEs->e_RABToBeSwitchedDLList, erabToBeSwitchedDLList_p, sizeof(E_RABToBeSwitchedDLList_t)); - } break; - case ProtocolIE_ID_id_SourceMME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE sourceMME_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&pathSwitchRequestIEs->sourceMME_UE_S1AP_ID, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_EUTRAN_CGI: - { - EUTRAN_CGI_t eutrancgi; - EUTRAN_CGI_t *eutrancgi_p = &eutrancgi; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_EUTRAN_CGI, (void**)&eutrancgi_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eutran_cgi failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_EUTRAN_CGI, eutrancgi_p); - memcpy(&pathSwitchRequestIEs->eutran_cgi, eutrancgi_p, sizeof(EUTRAN_CGI_t)); - } break; - case ProtocolIE_ID_id_TAI: - { - TAI_t tai; - TAI_t *tai_p = &tai; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TAI, (void**)&tai_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE tai failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_TAI, tai_p); - memcpy(&pathSwitchRequestIEs->tai, tai_p, sizeof(TAI_t)); - } break; - case ProtocolIE_ID_id_UESecurityCapabilities: - { - UESecurityCapabilities_t ueSecurityCapabilities; - UESecurityCapabilities_t *ueSecurityCapabilities_p = &ueSecurityCapabilities; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UESecurityCapabilities, (void**)&ueSecurityCapabilities_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE ueSecurityCapabilities failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_UESecurityCapabilities, ueSecurityCapabilities_p); - memcpy(&pathSwitchRequestIEs->ueSecurityCapabilities, ueSecurityCapabilities_p, sizeof(UESecurityCapabilities_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message pathswitchrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_deactivatetraceies( - DeactivateTraceIEs_t *deactivateTraceIEs, - ANY_t *any_p) { - - DeactivateTrace_t deactivateTrace; - DeactivateTrace_t *deactivateTrace_p = &deactivateTrace; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(deactivateTraceIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_DeactivateTrace, (void**)&deactivateTrace_p); - - for (i = 0; i < deactivateTrace_p->deactivateTrace_ies.list.count; i++) { - IE_t *ie_p; - ie_p = deactivateTrace_p->deactivateTrace_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&deactivateTraceIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&deactivateTraceIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_E_UTRAN_Trace_ID: - { - E_UTRAN_Trace_ID_t eutranTraceID; - E_UTRAN_Trace_ID_t *eutranTraceID_p = &eutranTraceID; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_UTRAN_Trace_ID, (void**)&eutranTraceID_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_UTRAN_Trace_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_UTRAN_Trace_ID, eutranTraceID_p); - memcpy(&deactivateTraceIEs->e_UTRAN_Trace_ID, eutranTraceID_p, sizeof(E_UTRAN_Trace_ID_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message deactivatetraceies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_locationreportingcontrolies( - LocationReportingControlIEs_t *locationReportingControlIEs, - ANY_t *any_p) { - - LocationReportingControl_t locationReportingControl; - LocationReportingControl_t *locationReportingControl_p = &locationReportingControl; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(locationReportingControlIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_LocationReportingControl, (void**)&locationReportingControl_p); - - for (i = 0; i < locationReportingControl_p->locationReportingControl_ies.list.count; i++) { - IE_t *ie_p; - ie_p = locationReportingControl_p->locationReportingControl_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&locationReportingControlIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&locationReportingControlIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_RequestType: - { - RequestType_t requestType; - RequestType_t *requestType_p = &requestType; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RequestType, (void**)&requestType_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE requestType failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_RequestType, requestType_p); - memcpy(&locationReportingControlIEs->requestType, requestType_p, sizeof(RequestType_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message locationreportingcontrolies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_enbconfigurationupdateacknowledgeies( - ENBConfigurationUpdateAcknowledgeIEs_t *enbConfigurationUpdateAcknowledgeIEs, - ANY_t *any_p) { - - ENBConfigurationUpdateAcknowledge_t eNBConfigurationUpdateAcknowledge; - ENBConfigurationUpdateAcknowledge_t *eNBConfigurationUpdateAcknowledge_p = &eNBConfigurationUpdateAcknowledge; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(enbConfigurationUpdateAcknowledgeIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_ENBConfigurationUpdateAcknowledge, (void**)&eNBConfigurationUpdateAcknowledge_p); - - for (i = 0; i < eNBConfigurationUpdateAcknowledge_p->eNBConfigurationUpdateAcknowledge_ies.list.count; i++) { - IE_t *ie_p; - ie_p = eNBConfigurationUpdateAcknowledge_p->eNBConfigurationUpdateAcknowledge_ies.list.array[i]; - switch(ie_p->id) { - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - enbConfigurationUpdateAcknowledgeIEs->presenceMask |= ENBCONFIGURATIONUPDATEACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&enbConfigurationUpdateAcknowledgeIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message enbconfigurationupdateacknowledgeies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_handoverfailureies( - HandoverFailureIEs_t *handoverFailureIEs, - ANY_t *any_p) { - - HandoverFailure_t handoverFailure; - HandoverFailure_t *handoverFailure_p = &handoverFailure; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(handoverFailureIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_HandoverFailure, (void**)&handoverFailure_p); - - for (i = 0; i < handoverFailure_p->handoverFailure_ies.list.count; i++) { - IE_t *ie_p; - ie_p = handoverFailure_p->handoverFailure_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&handoverFailureIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_Cause: - { - Cause_t cause; - Cause_t *cause_p = &cause; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cause, cause_p); - memcpy(&handoverFailureIEs->cause, cause_p, sizeof(Cause_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - handoverFailureIEs->presenceMask |= HANDOVERFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&handoverFailureIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message handoverfailureies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_locationreportingfailureindicationies( - LocationReportingFailureIndicationIEs_t *locationReportingFailureIndicationIEs, - ANY_t *any_p) { - - LocationReportingFailureIndication_t locationReportingFailureIndication; - LocationReportingFailureIndication_t *locationReportingFailureIndication_p = &locationReportingFailureIndication; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(locationReportingFailureIndicationIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_LocationReportingFailureIndication, (void**)&locationReportingFailureIndication_p); - - for (i = 0; i < locationReportingFailureIndication_p->locationReportingFailureIndication_ies.list.count; i++) { - IE_t *ie_p; - ie_p = locationReportingFailureIndication_p->locationReportingFailureIndication_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&locationReportingFailureIndicationIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&locationReportingFailureIndicationIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_Cause: - { - Cause_t cause; - Cause_t *cause_p = &cause; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cause, cause_p); - memcpy(&locationReportingFailureIndicationIEs->cause, cause_p, sizeof(Cause_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message locationreportingfailureindicationies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_downlinknastransporties( - DownlinkNASTransportIEs_t *downlinkNASTransportIEs, - ANY_t *any_p) { - - DownlinkNASTransport_t downlinkNASTransport; - DownlinkNASTransport_t *downlinkNASTransport_p = &downlinkNASTransport; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(downlinkNASTransportIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_DownlinkNASTransport, (void**)&downlinkNASTransport_p); - - for (i = 0; i < downlinkNASTransport_p->downlinkNASTransport_ies.list.count; i++) { - IE_t *ie_p; - ie_p = downlinkNASTransport_p->downlinkNASTransport_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&downlinkNASTransportIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&downlinkNASTransportIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_NAS_PDU: - { - NAS_PDU_t naspdu; - NAS_PDU_t *naspdu_p = &naspdu; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_NAS_PDU, (void**)&naspdu_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE nas_pdu failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_NAS_PDU, naspdu_p); - memcpy(&downlinkNASTransportIEs->nas_pdu, naspdu_p, sizeof(NAS_PDU_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_HandoverRestrictionList: - { - HandoverRestrictionList_t handoverRestrictionList; - HandoverRestrictionList_t *handoverRestrictionList_p = &handoverRestrictionList; - downlinkNASTransportIEs->presenceMask |= DOWNLINKNASTRANSPORTIES_HANDOVERRESTRICTIONLIST_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_HandoverRestrictionList, (void**)&handoverRestrictionList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE handoverRestrictionList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_HandoverRestrictionList, handoverRestrictionList_p); - memcpy(&downlinkNASTransportIEs->handoverRestrictionList, handoverRestrictionList_p, sizeof(HandoverRestrictionList_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message downlinknastransporties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_mmeconfigurationupdatefailureies( - MMEConfigurationUpdateFailureIEs_t *mmeConfigurationUpdateFailureIEs, - ANY_t *any_p) { - - MMEConfigurationUpdateFailure_t mMEConfigurationUpdateFailure; - MMEConfigurationUpdateFailure_t *mMEConfigurationUpdateFailure_p = &mMEConfigurationUpdateFailure; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(mmeConfigurationUpdateFailureIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_MMEConfigurationUpdateFailure, (void**)&mMEConfigurationUpdateFailure_p); - - for (i = 0; i < mMEConfigurationUpdateFailure_p->mmeConfigurationUpdateFailure_ies.list.count; i++) { - IE_t *ie_p; - ie_p = mMEConfigurationUpdateFailure_p->mmeConfigurationUpdateFailure_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_Cause: - { - Cause_t cause; - Cause_t *cause_p = &cause; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cause, cause_p); - memcpy(&mmeConfigurationUpdateFailureIEs->cause, cause_p, sizeof(Cause_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_TimeToWait: - { - TimeToWait_t timeToWait; - TimeToWait_t *timeToWait_p = &timeToWait; - mmeConfigurationUpdateFailureIEs->presenceMask |= MMECONFIGURATIONUPDATEFAILUREIES_TIMETOWAIT_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TimeToWait, (void**)&timeToWait_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE timeToWait failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_TimeToWait, timeToWait_p); - memcpy(&mmeConfigurationUpdateFailureIEs->timeToWait, timeToWait_p, sizeof(TimeToWait_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - mmeConfigurationUpdateFailureIEs->presenceMask |= MMECONFIGURATIONUPDATEFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&mmeConfigurationUpdateFailureIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message mmeconfigurationupdatefailureies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_uecontextreleasecompleteies( - UEContextReleaseCompleteIEs_t *ueContextReleaseCompleteIEs, - ANY_t *any_p) { - - UEContextReleaseComplete_t uEContextReleaseComplete; - UEContextReleaseComplete_t *uEContextReleaseComplete_p = &uEContextReleaseComplete; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(ueContextReleaseCompleteIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_UEContextReleaseComplete, (void**)&uEContextReleaseComplete_p); - - for (i = 0; i < uEContextReleaseComplete_p->ueContextReleaseComplete_ies.list.count; i++) { - IE_t *ie_p; - ie_p = uEContextReleaseComplete_p->ueContextReleaseComplete_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&ueContextReleaseCompleteIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&ueContextReleaseCompleteIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - ueContextReleaseCompleteIEs->presenceMask |= UECONTEXTRELEASECOMPLETEIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&ueContextReleaseCompleteIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message uecontextreleasecompleteies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_s1setupresponseies( - S1SetupResponseIEs_t *s1SetupResponseIEs, - ANY_t *any_p) { - - S1SetupResponse_t s1SetupResponse; - S1SetupResponse_t *s1SetupResponse_p = &s1SetupResponse; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(s1SetupResponseIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_S1SetupResponse, (void**)&s1SetupResponse_p); - - for (i = 0; i < s1SetupResponse_p->s1SetupResponse_ies.list.count; i++) { - IE_t *ie_p; - ie_p = s1SetupResponse_p->s1SetupResponse_ies.list.array[i]; - switch(ie_p->id) { - /* Optional field */ - case ProtocolIE_ID_id_MMEname: - { - MMEname_t mmEname; - MMEname_t *mmEname_p = &mmEname; - s1SetupResponseIEs->presenceMask |= S1SETUPRESPONSEIES_MMENAME_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MMEname, (void**)&mmEname_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mmEname failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MMEname, mmEname_p); - memcpy(&s1SetupResponseIEs->mmEname, mmEname_p, sizeof(MMEname_t)); - } break; - case ProtocolIE_ID_id_ServedGUMMEIs: - { - ServedGUMMEIs_t servedGUMMEIs; - ServedGUMMEIs_t *servedGUMMEIs_p = &servedGUMMEIs; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ServedGUMMEIs, (void**)&servedGUMMEIs_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE servedGUMMEIs failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ServedGUMMEIs, servedGUMMEIs_p); - memcpy(&s1SetupResponseIEs->servedGUMMEIs, servedGUMMEIs_p, sizeof(ServedGUMMEIs_t)); - } break; - case ProtocolIE_ID_id_RelativeMMECapacity: - { - RelativeMMECapacity_t relativeMMECapacity; - RelativeMMECapacity_t *relativeMMECapacity_p = &relativeMMECapacity; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RelativeMMECapacity, (void**)&relativeMMECapacity_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE relativeMMECapacity failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_RelativeMMECapacity, relativeMMECapacity_p); - memcpy(&s1SetupResponseIEs->relativeMMECapacity, relativeMMECapacity_p, sizeof(RelativeMMECapacity_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - s1SetupResponseIEs->presenceMask |= S1SETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&s1SetupResponseIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message s1setupresponseies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_handoverpreparationfailureies( - HandoverPreparationFailureIEs_t *handoverPreparationFailureIEs, - ANY_t *any_p) { - - HandoverPreparationFailure_t handoverPreparationFailure; - HandoverPreparationFailure_t *handoverPreparationFailure_p = &handoverPreparationFailure; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(handoverPreparationFailureIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_HandoverPreparationFailure, (void**)&handoverPreparationFailure_p); - - for (i = 0; i < handoverPreparationFailure_p->handoverPreparationFailure_ies.list.count; i++) { - IE_t *ie_p; - ie_p = handoverPreparationFailure_p->handoverPreparationFailure_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&handoverPreparationFailureIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&handoverPreparationFailureIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_Cause: - { - Cause_t cause; - Cause_t *cause_p = &cause; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cause, cause_p); - memcpy(&handoverPreparationFailureIEs->cause, cause_p, sizeof(Cause_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - handoverPreparationFailureIEs->presenceMask |= HANDOVERPREPARATIONFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&handoverPreparationFailureIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message handoverpreparationfailureies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_killresponseies( - KillResponseIEs_t *killResponseIEs, - ANY_t *any_p) { - - KillResponse_t killResponse; - KillResponse_t *killResponse_p = &killResponse; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(killResponseIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_KillResponse, (void**)&killResponse_p); - - for (i = 0; i < killResponse_p->killResponse_ies.list.count; i++) { - IE_t *ie_p; - ie_p = killResponse_p->killResponse_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MessageIdentifier: - { - MessageIdentifier_t messageIdentifier; - MessageIdentifier_t *messageIdentifier_p = &messageIdentifier; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MessageIdentifier, (void**)&messageIdentifier_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE messageIdentifier failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MessageIdentifier, messageIdentifier_p); - memcpy(&killResponseIEs->messageIdentifier, messageIdentifier_p, sizeof(MessageIdentifier_t)); - } break; - case ProtocolIE_ID_id_SerialNumber: - { - SerialNumber_t serialNumber; - SerialNumber_t *serialNumber_p = &serialNumber; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SerialNumber, (void**)&serialNumber_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE serialNumber failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_SerialNumber, serialNumber_p); - memcpy(&killResponseIEs->serialNumber, serialNumber_p, sizeof(SerialNumber_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_BroadcastCancelledAreaList: - { - BroadcastCancelledAreaList_t broadcastCancelledAreaList; - BroadcastCancelledAreaList_t *broadcastCancelledAreaList_p = &broadcastCancelledAreaList; - killResponseIEs->presenceMask |= KILLRESPONSEIES_BROADCASTCANCELLEDAREALIST_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_BroadcastCancelledAreaList, (void**)&broadcastCancelledAreaList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE broadcastCancelledAreaList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_BroadcastCancelledAreaList, broadcastCancelledAreaList_p); - memcpy(&killResponseIEs->broadcastCancelledAreaList, broadcastCancelledAreaList_p, sizeof(BroadcastCancelledAreaList_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - killResponseIEs->presenceMask |= KILLRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&killResponseIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message killresponseies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_uplinkueassociatedlppatransporties( - UplinkUEAssociatedLPPaTransportIEs_t *uplinkUEAssociatedLPPaTransportIEs, - ANY_t *any_p) { - - UplinkUEAssociatedLPPaTransport_t uplinkUEAssociatedLPPaTransport; - UplinkUEAssociatedLPPaTransport_t *uplinkUEAssociatedLPPaTransport_p = &uplinkUEAssociatedLPPaTransport; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(uplinkUEAssociatedLPPaTransportIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_UplinkUEAssociatedLPPaTransport, (void**)&uplinkUEAssociatedLPPaTransport_p); - - for (i = 0; i < uplinkUEAssociatedLPPaTransport_p->uplinkUEAssociatedLPPaTransport_ies.list.count; i++) { - IE_t *ie_p; - ie_p = uplinkUEAssociatedLPPaTransport_p->uplinkUEAssociatedLPPaTransport_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&uplinkUEAssociatedLPPaTransportIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&uplinkUEAssociatedLPPaTransportIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_Routing_ID: - { - Routing_ID_t routingID; - Routing_ID_t *routingID_p = &routingID; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Routing_ID, (void**)&routingID_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE routing_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Routing_ID, routingID_p); - memcpy(&uplinkUEAssociatedLPPaTransportIEs->routing_ID, routingID_p, sizeof(Routing_ID_t)); - } break; - case ProtocolIE_ID_id_LPPa_PDU: - { - LPPa_PDU_t lpPaPDU; - LPPa_PDU_t *lpPaPDU_p = &lpPaPDU; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_LPPa_PDU, (void**)&lpPaPDU_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE lpPa_PDU failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_LPPa_PDU, lpPaPDU_p); - memcpy(&uplinkUEAssociatedLPPaTransportIEs->lpPa_PDU, lpPaPDU_p, sizeof(LPPa_PDU_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message uplinkueassociatedlppatransporties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_enbconfigurationupdateies( - ENBConfigurationUpdateIEs_t *enbConfigurationUpdateIEs, - ANY_t *any_p) { - - ENBConfigurationUpdate_t eNBConfigurationUpdate; - ENBConfigurationUpdate_t *eNBConfigurationUpdate_p = &eNBConfigurationUpdate; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(enbConfigurationUpdateIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_ENBConfigurationUpdate, (void**)&eNBConfigurationUpdate_p); - - for (i = 0; i < eNBConfigurationUpdate_p->eNBConfigurationUpdate_ies.list.count; i++) { - IE_t *ie_p; - ie_p = eNBConfigurationUpdate_p->eNBConfigurationUpdate_ies.list.array[i]; - switch(ie_p->id) { - /* Optional field */ - case ProtocolIE_ID_id_eNBname: - { - ENBname_t enBname; - ENBname_t *enBname_p = &enBname; - enbConfigurationUpdateIEs->presenceMask |= ENBCONFIGURATIONUPDATEIES_ENBNAME_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENBname, (void**)&enBname_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNBname failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENBname, enBname_p); - memcpy(&enbConfigurationUpdateIEs->eNBname, enBname_p, sizeof(ENBname_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_SupportedTAs: - { - SupportedTAs_t supportedTAs; - SupportedTAs_t *supportedTAs_p = &supportedTAs; - enbConfigurationUpdateIEs->presenceMask |= ENBCONFIGURATIONUPDATEIES_SUPPORTEDTAS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SupportedTAs, (void**)&supportedTAs_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE supportedTAs failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_SupportedTAs, supportedTAs_p); - memcpy(&enbConfigurationUpdateIEs->supportedTAs, supportedTAs_p, sizeof(SupportedTAs_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CSG_IdList: - { - CSG_IdList_t csgIdList; - CSG_IdList_t *csgIdList_p = &csgIdList; - enbConfigurationUpdateIEs->presenceMask |= ENBCONFIGURATIONUPDATEIES_CSG_IDLIST_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSG_IdList, (void**)&csgIdList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE csG_IdList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CSG_IdList, csgIdList_p); - memcpy(&enbConfigurationUpdateIEs->csG_IdList, csgIdList_p, sizeof(CSG_IdList_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_DefaultPagingDRX: - { - PagingDRX_t pagingDRX; - PagingDRX_t *pagingDRX_p = &pagingDRX; - enbConfigurationUpdateIEs->presenceMask |= ENBCONFIGURATIONUPDATEIES_PAGINGDRX_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_PagingDRX, (void**)&pagingDRX_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE defaultPagingDRX failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_PagingDRX, pagingDRX_p); - memcpy(&enbConfigurationUpdateIEs->defaultPagingDRX, pagingDRX_p, sizeof(PagingDRX_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message enbconfigurationupdateies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_initialcontextsetuprequesties( - InitialContextSetupRequestIEs_t *initialContextSetupRequestIEs, - ANY_t *any_p) { - - InitialContextSetupRequest_t initialContextSetupRequest; - InitialContextSetupRequest_t *initialContextSetupRequest_p = &initialContextSetupRequest; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(initialContextSetupRequestIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_InitialContextSetupRequest, (void**)&initialContextSetupRequest_p); - - for (i = 0; i < initialContextSetupRequest_p->initialContextSetupRequest_ies.list.count; i++) { - IE_t *ie_p; - ie_p = initialContextSetupRequest_p->initialContextSetupRequest_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&initialContextSetupRequestIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&initialContextSetupRequestIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_uEaggregateMaximumBitrate: - { - UEAggregateMaximumBitrate_t ueAggregateMaximumBitrate; - UEAggregateMaximumBitrate_t *ueAggregateMaximumBitrate_p = &ueAggregateMaximumBitrate; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UEAggregateMaximumBitrate, (void**)&ueAggregateMaximumBitrate_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE uEaggregateMaximumBitrate failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_UEAggregateMaximumBitrate, ueAggregateMaximumBitrate_p); - memcpy(&initialContextSetupRequestIEs->uEaggregateMaximumBitrate, ueAggregateMaximumBitrate_p, sizeof(UEAggregateMaximumBitrate_t)); - } break; - case ProtocolIE_ID_id_E_RABToBeSetupListCtxtSUReq: - { - E_RABToBeSetupListCtxtSUReq_t erabToBeSetupListCtxtSUReq; - E_RABToBeSetupListCtxtSUReq_t *erabToBeSetupListCtxtSUReq_p = &erabToBeSetupListCtxtSUReq; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSetupListCtxtSUReq, (void**)&erabToBeSetupListCtxtSUReq_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABToBeSetupListCtxtSUReq failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABToBeSetupListCtxtSUReq, erabToBeSetupListCtxtSUReq_p); - memcpy(&initialContextSetupRequestIEs->e_RABToBeSetupListCtxtSUReq, erabToBeSetupListCtxtSUReq_p, sizeof(E_RABToBeSetupListCtxtSUReq_t)); - } break; - case ProtocolIE_ID_id_UESecurityCapabilities: - { - UESecurityCapabilities_t ueSecurityCapabilities; - UESecurityCapabilities_t *ueSecurityCapabilities_p = &ueSecurityCapabilities; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UESecurityCapabilities, (void**)&ueSecurityCapabilities_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE ueSecurityCapabilities failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_UESecurityCapabilities, ueSecurityCapabilities_p); - memcpy(&initialContextSetupRequestIEs->ueSecurityCapabilities, ueSecurityCapabilities_p, sizeof(UESecurityCapabilities_t)); - } break; - case ProtocolIE_ID_id_SecurityKey: - { - SecurityKey_t securityKey; - SecurityKey_t *securityKey_p = &securityKey; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SecurityKey, (void**)&securityKey_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE securityKey failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_SecurityKey, securityKey_p); - memcpy(&initialContextSetupRequestIEs->securityKey, securityKey_p, sizeof(SecurityKey_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_TraceActivation: - { - TraceActivation_t traceActivation; - TraceActivation_t *traceActivation_p = &traceActivation; - initialContextSetupRequestIEs->presenceMask |= INITIALCONTEXTSETUPREQUESTIES_TRACEACTIVATION_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TraceActivation, (void**)&traceActivation_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE traceActivation failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_TraceActivation, traceActivation_p); - memcpy(&initialContextSetupRequestIEs->traceActivation, traceActivation_p, sizeof(TraceActivation_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_HandoverRestrictionList: - { - HandoverRestrictionList_t handoverRestrictionList; - HandoverRestrictionList_t *handoverRestrictionList_p = &handoverRestrictionList; - initialContextSetupRequestIEs->presenceMask |= INITIALCONTEXTSETUPREQUESTIES_HANDOVERRESTRICTIONLIST_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_HandoverRestrictionList, (void**)&handoverRestrictionList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE handoverRestrictionList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_HandoverRestrictionList, handoverRestrictionList_p); - memcpy(&initialContextSetupRequestIEs->handoverRestrictionList, handoverRestrictionList_p, sizeof(HandoverRestrictionList_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_UERadioCapability: - { - UERadioCapability_t ueRadioCapability; - UERadioCapability_t *ueRadioCapability_p = &ueRadioCapability; - initialContextSetupRequestIEs->presenceMask |= INITIALCONTEXTSETUPREQUESTIES_UERADIOCAPABILITY_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UERadioCapability, (void**)&ueRadioCapability_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE ueRadioCapability failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_UERadioCapability, ueRadioCapability_p); - memcpy(&initialContextSetupRequestIEs->ueRadioCapability, ueRadioCapability_p, sizeof(UERadioCapability_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_SubscriberProfileIDforRFP: - { - SubscriberProfileIDforRFP_t subscriberProfileIDforRFP; - SubscriberProfileIDforRFP_t *subscriberProfileIDforRFP_p = &subscriberProfileIDforRFP; - initialContextSetupRequestIEs->presenceMask |= INITIALCONTEXTSETUPREQUESTIES_SUBSCRIBERPROFILEIDFORRFP_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SubscriberProfileIDforRFP, (void**)&subscriberProfileIDforRFP_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE subscriberProfileIDforRFP failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_SubscriberProfileIDforRFP, subscriberProfileIDforRFP_p); - memcpy(&initialContextSetupRequestIEs->subscriberProfileIDforRFP, subscriberProfileIDforRFP_p, sizeof(SubscriberProfileIDforRFP_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CSFallbackIndicator: - { - CSFallbackIndicator_t csFallbackIndicator; - CSFallbackIndicator_t *csFallbackIndicator_p = &csFallbackIndicator; - initialContextSetupRequestIEs->presenceMask |= INITIALCONTEXTSETUPREQUESTIES_CSFALLBACKINDICATOR_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSFallbackIndicator, (void**)&csFallbackIndicator_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE csFallbackIndicator failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CSFallbackIndicator, csFallbackIndicator_p); - memcpy(&initialContextSetupRequestIEs->csFallbackIndicator, csFallbackIndicator_p, sizeof(CSFallbackIndicator_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_SRVCCOperationPossible: - { - SRVCCOperationPossible_t srvccOperationPossible; - SRVCCOperationPossible_t *srvccOperationPossible_p = &srvccOperationPossible; - initialContextSetupRequestIEs->presenceMask |= INITIALCONTEXTSETUPREQUESTIES_SRVCCOPERATIONPOSSIBLE_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SRVCCOperationPossible, (void**)&srvccOperationPossible_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE srvccOperationPossible failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_SRVCCOperationPossible, srvccOperationPossible_p); - memcpy(&initialContextSetupRequestIEs->srvccOperationPossible, srvccOperationPossible_p, sizeof(SRVCCOperationPossible_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CSGMembershipStatus: - { - CSGMembershipStatus_t csgMembershipStatus; - CSGMembershipStatus_t *csgMembershipStatus_p = &csgMembershipStatus; - initialContextSetupRequestIEs->presenceMask |= INITIALCONTEXTSETUPREQUESTIES_CSGMEMBERSHIPSTATUS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSGMembershipStatus, (void**)&csgMembershipStatus_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE csgMembershipStatus failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CSGMembershipStatus, csgMembershipStatus_p); - memcpy(&initialContextSetupRequestIEs->csgMembershipStatus, csgMembershipStatus_p, sizeof(CSGMembershipStatus_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_RegisteredLAI: - { - LAI_t lai; - LAI_t *lai_p = &lai; - initialContextSetupRequestIEs->presenceMask |= INITIALCONTEXTSETUPREQUESTIES_LAI_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_LAI, (void**)&lai_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE registeredLAI failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_LAI, lai_p); - memcpy(&initialContextSetupRequestIEs->registeredLAI, lai_p, sizeof(LAI_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message initialcontextsetuprequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_mmedirectinformationtransferies( - MMEDirectInformationTransferIEs_t *mmeDirectInformationTransferIEs, - ANY_t *any_p) { - - MMEDirectInformationTransfer_t mMEDirectInformationTransfer; - MMEDirectInformationTransfer_t *mMEDirectInformationTransfer_p = &mMEDirectInformationTransfer; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(mmeDirectInformationTransferIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_MMEDirectInformationTransfer, (void**)&mMEDirectInformationTransfer_p); - - for (i = 0; i < mMEDirectInformationTransfer_p->mmeDirectInformationTransfer_ies.list.count; i++) { - IE_t *ie_p; - ie_p = mMEDirectInformationTransfer_p->mmeDirectInformationTransfer_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_Inter_SystemInformationTransferTypeMDT: - { - Inter_SystemInformationTransferType_t interSystemInformationTransferType; - Inter_SystemInformationTransferType_t *interSystemInformationTransferType_p = &interSystemInformationTransferType; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Inter_SystemInformationTransferType, (void**)&interSystemInformationTransferType_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE inter_SystemInformationTransferTypeMDT failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Inter_SystemInformationTransferType, interSystemInformationTransferType_p); - memcpy(&mmeDirectInformationTransferIEs->inter_SystemInformationTransferTypeMDT, interSystemInformationTransferType_p, sizeof(Inter_SystemInformationTransferType_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message mmedirectinformationtransferies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_uplinknonueassociatedlppatransporties( - UplinkNonUEAssociatedLPPaTransportIEs_t *uplinkNonUEAssociatedLPPaTransportIEs, - ANY_t *any_p) { - - UplinkNonUEAssociatedLPPaTransport_t uplinkNonUEAssociatedLPPaTransport; - UplinkNonUEAssociatedLPPaTransport_t *uplinkNonUEAssociatedLPPaTransport_p = &uplinkNonUEAssociatedLPPaTransport; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(uplinkNonUEAssociatedLPPaTransportIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_UplinkNonUEAssociatedLPPaTransport, (void**)&uplinkNonUEAssociatedLPPaTransport_p); - - for (i = 0; i < uplinkNonUEAssociatedLPPaTransport_p->uplinkNonUEAssociatedLPPaTransport_ies.list.count; i++) { - IE_t *ie_p; - ie_p = uplinkNonUEAssociatedLPPaTransport_p->uplinkNonUEAssociatedLPPaTransport_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_Routing_ID: - { - Routing_ID_t routingID; - Routing_ID_t *routingID_p = &routingID; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Routing_ID, (void**)&routingID_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE routing_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Routing_ID, routingID_p); - memcpy(&uplinkNonUEAssociatedLPPaTransportIEs->routing_ID, routingID_p, sizeof(Routing_ID_t)); - } break; - case ProtocolIE_ID_id_LPPa_PDU: - { - LPPa_PDU_t lpPaPDU; - LPPa_PDU_t *lpPaPDU_p = &lpPaPDU; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_LPPa_PDU, (void**)&lpPaPDU_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE lpPa_PDU failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_LPPa_PDU, lpPaPDU_p); - memcpy(&uplinkNonUEAssociatedLPPaTransportIEs->lpPa_PDU, lpPaPDU_p, sizeof(LPPa_PDU_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message uplinknonueassociatedlppatransporties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_reseties( - ResetIEs_t *resetIEs, - ANY_t *any_p) { - - Reset_t reset; - Reset_t *reset_p = &reset; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(resetIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_Reset, (void**)&reset_p); - - for (i = 0; i < reset_p->reset_ies.list.count; i++) { - IE_t *ie_p; - ie_p = reset_p->reset_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_Cause: - { - Cause_t cause; - Cause_t *cause_p = &cause; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cause, cause_p); - memcpy(&resetIEs->cause, cause_p, sizeof(Cause_t)); - } break; - case ProtocolIE_ID_id_ResetType: - { - ResetType_t resetType; - ResetType_t *resetType_p = &resetType; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ResetType, (void**)&resetType_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE resetType failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ResetType, resetType_p); - memcpy(&resetIEs->resetType, resetType_p, sizeof(ResetType_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message reseties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_uecontextreleasecommandies( - UEContextReleaseCommandIEs_t *ueContextReleaseCommandIEs, - ANY_t *any_p) { - - UEContextReleaseCommand_t uEContextReleaseCommand; - UEContextReleaseCommand_t *uEContextReleaseCommand_p = &uEContextReleaseCommand; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(ueContextReleaseCommandIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_UEContextReleaseCommand, (void**)&uEContextReleaseCommand_p); - - for (i = 0; i < uEContextReleaseCommand_p->ueContextReleaseCommand_ies.list.count; i++) { - IE_t *ie_p; - ie_p = uEContextReleaseCommand_p->ueContextReleaseCommand_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_UE_S1AP_IDs: - { - UE_S1AP_IDs_t ueS1APIDs; - UE_S1AP_IDs_t *ueS1APIDs_p = &ueS1APIDs; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UE_S1AP_IDs, (void**)&ueS1APIDs_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE uE_S1AP_IDs failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_UE_S1AP_IDs, ueS1APIDs_p); - memcpy(&ueContextReleaseCommandIEs->uE_S1AP_IDs, ueS1APIDs_p, sizeof(UE_S1AP_IDs_t)); - } break; - case ProtocolIE_ID_id_Cause: - { - Cause_t cause; - Cause_t *cause_p = &cause; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cause, cause_p); - memcpy(&ueContextReleaseCommandIEs->cause, cause_p, sizeof(Cause_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message uecontextreleasecommandies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_uecapabilityinfoindicationies( - UECapabilityInfoIndicationIEs_t *ueCapabilityInfoIndicationIEs, - ANY_t *any_p) { - - UECapabilityInfoIndication_t uECapabilityInfoIndication; - UECapabilityInfoIndication_t *uECapabilityInfoIndication_p = &uECapabilityInfoIndication; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(ueCapabilityInfoIndicationIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_UECapabilityInfoIndication, (void**)&uECapabilityInfoIndication_p); - - for (i = 0; i < uECapabilityInfoIndication_p->ueCapabilityInfoIndication_ies.list.count; i++) { - IE_t *ie_p; - ie_p = uECapabilityInfoIndication_p->ueCapabilityInfoIndication_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&ueCapabilityInfoIndicationIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&ueCapabilityInfoIndicationIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_UERadioCapability: - { - UERadioCapability_t ueRadioCapability; - UERadioCapability_t *ueRadioCapability_p = &ueRadioCapability; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UERadioCapability, (void**)&ueRadioCapability_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE ueRadioCapability failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_UERadioCapability, ueRadioCapability_p); - memcpy(&ueCapabilityInfoIndicationIEs->ueRadioCapability, ueRadioCapability_p, sizeof(UERadioCapability_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message uecapabilityinfoindicationies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_uplinks1cdma2000tunnelingies( - UplinkS1cdma2000tunnelingIEs_t *uplinkS1cdma2000tunnelingIEs, - ANY_t *any_p) { - - UplinkS1cdma2000tunneling_t uplinkS1cdma2000tunneling; - UplinkS1cdma2000tunneling_t *uplinkS1cdma2000tunneling_p = &uplinkS1cdma2000tunneling; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(uplinkS1cdma2000tunnelingIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_UplinkS1cdma2000tunneling, (void**)&uplinkS1cdma2000tunneling_p); - - for (i = 0; i < uplinkS1cdma2000tunneling_p->uplinkS1cdma2000tunneling_ies.list.count; i++) { - IE_t *ie_p; - ie_p = uplinkS1cdma2000tunneling_p->uplinkS1cdma2000tunneling_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&uplinkS1cdma2000tunnelingIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&uplinkS1cdma2000tunnelingIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_cdma2000RATType: - { - Cdma2000RATType_t cdma2000RATType; - Cdma2000RATType_t *cdma2000RATType_p = &cdma2000RATType; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000RATType, (void**)&cdma2000RATType_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cdma2000RATType failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cdma2000RATType, cdma2000RATType_p); - memcpy(&uplinkS1cdma2000tunnelingIEs->cdma2000RATType, cdma2000RATType_p, sizeof(Cdma2000RATType_t)); - } break; - case ProtocolIE_ID_id_cdma2000SectorID: - { - Cdma2000SectorID_t cdma2000SectorID; - Cdma2000SectorID_t *cdma2000SectorID_p = &cdma2000SectorID; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000SectorID, (void**)&cdma2000SectorID_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cdma2000SectorID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cdma2000SectorID, cdma2000SectorID_p); - memcpy(&uplinkS1cdma2000tunnelingIEs->cdma2000SectorID, cdma2000SectorID_p, sizeof(Cdma2000SectorID_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_cdma2000HORequiredIndication: - { - Cdma2000HORequiredIndication_t cdma2000HORequiredIndication; - Cdma2000HORequiredIndication_t *cdma2000HORequiredIndication_p = &cdma2000HORequiredIndication; - uplinkS1cdma2000tunnelingIEs->presenceMask |= UPLINKS1CDMA2000TUNNELINGIES_CDMA2000HOREQUIREDINDICATION_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000HORequiredIndication, (void**)&cdma2000HORequiredIndication_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cdma2000HORequiredIndication failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cdma2000HORequiredIndication, cdma2000HORequiredIndication_p); - memcpy(&uplinkS1cdma2000tunnelingIEs->cdma2000HORequiredIndication, cdma2000HORequiredIndication_p, sizeof(Cdma2000HORequiredIndication_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_cdma2000OneXSRVCCInfo: - { - Cdma2000OneXSRVCCInfo_t cdma2000OneXSRVCCInfo; - Cdma2000OneXSRVCCInfo_t *cdma2000OneXSRVCCInfo_p = &cdma2000OneXSRVCCInfo; - uplinkS1cdma2000tunnelingIEs->presenceMask |= UPLINKS1CDMA2000TUNNELINGIES_CDMA2000ONEXSRVCCINFO_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000OneXSRVCCInfo, (void**)&cdma2000OneXSRVCCInfo_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cdma2000OneXSRVCCInfo failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cdma2000OneXSRVCCInfo, cdma2000OneXSRVCCInfo_p); - memcpy(&uplinkS1cdma2000tunnelingIEs->cdma2000OneXSRVCCInfo, cdma2000OneXSRVCCInfo_p, sizeof(Cdma2000OneXSRVCCInfo_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_cdma2000OneXRAND: - { - Cdma2000OneXRAND_t cdma2000OneXRAND; - Cdma2000OneXRAND_t *cdma2000OneXRAND_p = &cdma2000OneXRAND; - uplinkS1cdma2000tunnelingIEs->presenceMask |= UPLINKS1CDMA2000TUNNELINGIES_CDMA2000ONEXRAND_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000OneXRAND, (void**)&cdma2000OneXRAND_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cdma2000OneXRAND failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cdma2000OneXRAND, cdma2000OneXRAND_p); - memcpy(&uplinkS1cdma2000tunnelingIEs->cdma2000OneXRAND, cdma2000OneXRAND_p, sizeof(Cdma2000OneXRAND_t)); - } break; - case ProtocolIE_ID_id_cdma2000PDU: - { - Cdma2000PDU_t cdma2000PDU; - Cdma2000PDU_t *cdma2000PDU_p = &cdma2000PDU; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000PDU, (void**)&cdma2000PDU_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cdma2000PDU failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cdma2000PDU, cdma2000PDU_p); - memcpy(&uplinkS1cdma2000tunnelingIEs->cdma2000PDU, cdma2000PDU_p, sizeof(Cdma2000PDU_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_EUTRANRoundTripDelayEstimationInfo: - { - EUTRANRoundTripDelayEstimationInfo_t eutranRoundTripDelayEstimationInfo; - EUTRANRoundTripDelayEstimationInfo_t *eutranRoundTripDelayEstimationInfo_p = &eutranRoundTripDelayEstimationInfo; - uplinkS1cdma2000tunnelingIEs->presenceMask |= UPLINKS1CDMA2000TUNNELINGIES_EUTRANROUNDTRIPDELAYESTIMATIONINFO_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_EUTRANRoundTripDelayEstimationInfo, (void**)&eutranRoundTripDelayEstimationInfo_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eutranRoundTripDelayEstimationInfo failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_EUTRANRoundTripDelayEstimationInfo, eutranRoundTripDelayEstimationInfo_p); - memcpy(&uplinkS1cdma2000tunnelingIEs->eutranRoundTripDelayEstimationInfo, eutranRoundTripDelayEstimationInfo_p, sizeof(EUTRANRoundTripDelayEstimationInfo_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message uplinks1cdma2000tunnelingies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_overloadstopies( - ANY_t *any_p) { - - OverloadStop_t overloadStop; - OverloadStop_t *overloadStop_p = &overloadStop; - int i, decoded = 0; - assert(any_p != NULL); - ANY_to_type_aper(any_p, &asn_DEF_OverloadStop, (void**)&overloadStop_p); - - for (i = 0; i < overloadStop_p->overloadStop_ies.list.count; i++) { - IE_t *ie_p; - ie_p = overloadStop_p->overloadStop_ies.list.array[i]; - switch(ie_p->id) { - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message overloadstopies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_writereplacewarningresponseies( - WriteReplaceWarningResponseIEs_t *writeReplaceWarningResponseIEs, - ANY_t *any_p) { - - WriteReplaceWarningResponse_t writeReplaceWarningResponse; - WriteReplaceWarningResponse_t *writeReplaceWarningResponse_p = &writeReplaceWarningResponse; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(writeReplaceWarningResponseIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_WriteReplaceWarningResponse, (void**)&writeReplaceWarningResponse_p); - - for (i = 0; i < writeReplaceWarningResponse_p->writeReplaceWarningResponse_ies.list.count; i++) { - IE_t *ie_p; - ie_p = writeReplaceWarningResponse_p->writeReplaceWarningResponse_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MessageIdentifier: - { - MessageIdentifier_t messageIdentifier; - MessageIdentifier_t *messageIdentifier_p = &messageIdentifier; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MessageIdentifier, (void**)&messageIdentifier_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE messageIdentifier failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MessageIdentifier, messageIdentifier_p); - memcpy(&writeReplaceWarningResponseIEs->messageIdentifier, messageIdentifier_p, sizeof(MessageIdentifier_t)); - } break; - case ProtocolIE_ID_id_SerialNumber: - { - SerialNumber_t serialNumber; - SerialNumber_t *serialNumber_p = &serialNumber; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SerialNumber, (void**)&serialNumber_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE serialNumber failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_SerialNumber, serialNumber_p); - memcpy(&writeReplaceWarningResponseIEs->serialNumber, serialNumber_p, sizeof(SerialNumber_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_BroadcastCompletedAreaList: - { - BroadcastCompletedAreaList_t broadcastCompletedAreaList; - BroadcastCompletedAreaList_t *broadcastCompletedAreaList_p = &broadcastCompletedAreaList; - writeReplaceWarningResponseIEs->presenceMask |= WRITEREPLACEWARNINGRESPONSEIES_BROADCASTCOMPLETEDAREALIST_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_BroadcastCompletedAreaList, (void**)&broadcastCompletedAreaList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE broadcastCompletedAreaList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_BroadcastCompletedAreaList, broadcastCompletedAreaList_p); - memcpy(&writeReplaceWarningResponseIEs->broadcastCompletedAreaList, broadcastCompletedAreaList_p, sizeof(BroadcastCompletedAreaList_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - writeReplaceWarningResponseIEs->presenceMask |= WRITEREPLACEWARNINGRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&writeReplaceWarningResponseIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message writereplacewarningresponseies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabreleasecommandies( - E_RABReleaseCommandIEs_t *e_RABReleaseCommandIEs, - ANY_t *any_p) { - - E_RABReleaseCommand_t e_RABReleaseCommand; - E_RABReleaseCommand_t *e_RABReleaseCommand_p = &e_RABReleaseCommand; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(e_RABReleaseCommandIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_E_RABReleaseCommand, (void**)&e_RABReleaseCommand_p); - - for (i = 0; i < e_RABReleaseCommand_p->e_RABReleaseCommand_ies.list.count; i++) { - IE_t *ie_p; - ie_p = e_RABReleaseCommand_p->e_RABReleaseCommand_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&e_RABReleaseCommandIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&e_RABReleaseCommandIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_uEaggregateMaximumBitrate: - { - UEAggregateMaximumBitrate_t ueAggregateMaximumBitrate; - UEAggregateMaximumBitrate_t *ueAggregateMaximumBitrate_p = &ueAggregateMaximumBitrate; - e_RABReleaseCommandIEs->presenceMask |= E_RABRELEASECOMMANDIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UEAggregateMaximumBitrate, (void**)&ueAggregateMaximumBitrate_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE uEaggregateMaximumBitrate failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_UEAggregateMaximumBitrate, ueAggregateMaximumBitrate_p); - memcpy(&e_RABReleaseCommandIEs->uEaggregateMaximumBitrate, ueAggregateMaximumBitrate_p, sizeof(UEAggregateMaximumBitrate_t)); - } break; - case ProtocolIE_ID_id_E_RABToBeReleasedList: - { - E_RABList_t erabList; - E_RABList_t *erabList_p = &erabList; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABList, (void**)&erabList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABToBeReleasedList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABList, erabList_p); - memcpy(&e_RABReleaseCommandIEs->e_RABToBeReleasedList, erabList_p, sizeof(E_RABList_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_NAS_PDU: - { - NAS_PDU_t naspdu; - NAS_PDU_t *naspdu_p = &naspdu; - e_RABReleaseCommandIEs->presenceMask |= E_RABRELEASECOMMANDIES_NAS_PDU_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_NAS_PDU, (void**)&naspdu_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE nas_pdu failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_NAS_PDU, naspdu_p); - memcpy(&e_RABReleaseCommandIEs->nas_pdu, naspdu_p, sizeof(NAS_PDU_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabreleasecommandies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_celltraffictraceies( - CellTrafficTraceIEs_t *cellTrafficTraceIEs, - ANY_t *any_p) { - - CellTrafficTrace_t cellTrafficTrace; - CellTrafficTrace_t *cellTrafficTrace_p = &cellTrafficTrace; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(cellTrafficTraceIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_CellTrafficTrace, (void**)&cellTrafficTrace_p); - - for (i = 0; i < cellTrafficTrace_p->cellTrafficTrace_ies.list.count; i++) { - IE_t *ie_p; - ie_p = cellTrafficTrace_p->cellTrafficTrace_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&cellTrafficTraceIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&cellTrafficTraceIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_E_UTRAN_Trace_ID: - { - E_UTRAN_Trace_ID_t eutranTraceID; - E_UTRAN_Trace_ID_t *eutranTraceID_p = &eutranTraceID; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_UTRAN_Trace_ID, (void**)&eutranTraceID_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_UTRAN_Trace_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_UTRAN_Trace_ID, eutranTraceID_p); - memcpy(&cellTrafficTraceIEs->e_UTRAN_Trace_ID, eutranTraceID_p, sizeof(E_UTRAN_Trace_ID_t)); - } break; - case ProtocolIE_ID_id_EUTRAN_CGI: - { - EUTRAN_CGI_t eutrancgi; - EUTRAN_CGI_t *eutrancgi_p = &eutrancgi; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_EUTRAN_CGI, (void**)&eutrancgi_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eutran_cgi failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_EUTRAN_CGI, eutrancgi_p); - memcpy(&cellTrafficTraceIEs->eutran_cgi, eutrancgi_p, sizeof(EUTRAN_CGI_t)); - } break; - case ProtocolIE_ID_id_TraceCollectionEntityIPAddress: - { - TransportLayerAddress_t transportLayerAddress; - TransportLayerAddress_t *transportLayerAddress_p = &transportLayerAddress; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TransportLayerAddress, (void**)&transportLayerAddress_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE traceCollectionEntityIPAddress failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_TransportLayerAddress, transportLayerAddress_p); - memcpy(&cellTrafficTraceIEs->traceCollectionEntityIPAddress, transportLayerAddress_p, sizeof(TransportLayerAddress_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message celltraffictraceies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_pathswitchrequestfailureies( - PathSwitchRequestFailureIEs_t *pathSwitchRequestFailureIEs, - ANY_t *any_p) { - - PathSwitchRequestFailure_t pathSwitchRequestFailure; - PathSwitchRequestFailure_t *pathSwitchRequestFailure_p = &pathSwitchRequestFailure; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(pathSwitchRequestFailureIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_PathSwitchRequestFailure, (void**)&pathSwitchRequestFailure_p); - - for (i = 0; i < pathSwitchRequestFailure_p->pathSwitchRequestFailure_ies.list.count; i++) { - IE_t *ie_p; - ie_p = pathSwitchRequestFailure_p->pathSwitchRequestFailure_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&pathSwitchRequestFailureIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&pathSwitchRequestFailureIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_Cause: - { - Cause_t cause; - Cause_t *cause_p = &cause; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cause, cause_p); - memcpy(&pathSwitchRequestFailureIEs->cause, cause_p, sizeof(Cause_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - pathSwitchRequestFailureIEs->presenceMask |= PATHSWITCHREQUESTFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&pathSwitchRequestFailureIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message pathswitchrequestfailureies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_initialcontextsetupresponseies( - InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs, - ANY_t *any_p) { - - InitialContextSetupResponse_t initialContextSetupResponse; - InitialContextSetupResponse_t *initialContextSetupResponse_p = &initialContextSetupResponse; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(initialContextSetupResponseIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_InitialContextSetupResponse, (void**)&initialContextSetupResponse_p); - - for (i = 0; i < initialContextSetupResponse_p->initialContextSetupResponse_ies.list.count; i++) { - IE_t *ie_p; - ie_p = initialContextSetupResponse_p->initialContextSetupResponse_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&initialContextSetupResponseIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&initialContextSetupResponseIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_E_RABSetupListCtxtSURes: - { - E_RABSetupListCtxtSURes_t erabSetupListCtxtSURes; - E_RABSetupListCtxtSURes_t *erabSetupListCtxtSURes_p = &erabSetupListCtxtSURes; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABSetupListCtxtSURes, (void**)&erabSetupListCtxtSURes_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABSetupListCtxtSURes failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABSetupListCtxtSURes, erabSetupListCtxtSURes_p); - memcpy(&initialContextSetupResponseIEs->e_RABSetupListCtxtSURes, erabSetupListCtxtSURes_p, sizeof(E_RABSetupListCtxtSURes_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_E_RABFailedToSetupListCtxtSURes: - { - E_RABList_t erabList; - E_RABList_t *erabList_p = &erabList; - initialContextSetupResponseIEs->presenceMask |= INITIALCONTEXTSETUPRESPONSEIES_E_RABLIST_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABList, (void**)&erabList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABFailedToSetupListCtxtSURes failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABList, erabList_p); - memcpy(&initialContextSetupResponseIEs->e_RABFailedToSetupListCtxtSURes, erabList_p, sizeof(E_RABList_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - initialContextSetupResponseIEs->presenceMask |= INITIALCONTEXTSETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&initialContextSetupResponseIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message initialcontextsetupresponseies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_mmestatustransferies( - MMEStatusTransferIEs_t *mmeStatusTransferIEs, - ANY_t *any_p) { - - MMEStatusTransfer_t mMEStatusTransfer; - MMEStatusTransfer_t *mMEStatusTransfer_p = &mMEStatusTransfer; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(mmeStatusTransferIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_MMEStatusTransfer, (void**)&mMEStatusTransfer_p); - - for (i = 0; i < mMEStatusTransfer_p->mmeStatusTransfer_ies.list.count; i++) { - IE_t *ie_p; - ie_p = mMEStatusTransfer_p->mmeStatusTransfer_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&mmeStatusTransferIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&mmeStatusTransferIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_StatusTransfer_TransparentContainer: - { - ENB_StatusTransfer_TransparentContainer_t enbStatusTransferTransparentContainer; - ENB_StatusTransfer_TransparentContainer_t *enbStatusTransferTransparentContainer_p = &enbStatusTransferTransparentContainer; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_StatusTransfer_TransparentContainer, (void**)&enbStatusTransferTransparentContainer_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_StatusTransfer_TransparentContainer failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_StatusTransfer_TransparentContainer, enbStatusTransferTransparentContainer_p); - memcpy(&mmeStatusTransferIEs->eNB_StatusTransfer_TransparentContainer, enbStatusTransferTransparentContainer_p, sizeof(ENB_StatusTransfer_TransparentContainer_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message mmestatustransferies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_s1setuprequesties( - S1SetupRequestIEs_t *s1SetupRequestIEs, - ANY_t *any_p) { - - S1SetupRequest_t s1SetupRequest; - S1SetupRequest_t *s1SetupRequest_p = &s1SetupRequest; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(s1SetupRequestIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_S1SetupRequest, (void**)&s1SetupRequest_p); - - for (i = 0; i < s1SetupRequest_p->s1SetupRequest_ies.list.count; i++) { - IE_t *ie_p; - ie_p = s1SetupRequest_p->s1SetupRequest_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_Global_ENB_ID: - { - Global_ENB_ID_t globalENBID; - Global_ENB_ID_t *globalENBID_p = &globalENBID; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Global_ENB_ID, (void**)&globalENBID_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE global_ENB_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Global_ENB_ID, globalENBID_p); - memcpy(&s1SetupRequestIEs->global_ENB_ID, globalENBID_p, sizeof(Global_ENB_ID_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_eNBname: - { - ENBname_t enBname; - ENBname_t *enBname_p = &enBname; - s1SetupRequestIEs->presenceMask |= S1SETUPREQUESTIES_ENBNAME_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENBname, (void**)&enBname_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNBname failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENBname, enBname_p); - memcpy(&s1SetupRequestIEs->eNBname, enBname_p, sizeof(ENBname_t)); - } break; - case ProtocolIE_ID_id_SupportedTAs: - { - SupportedTAs_t supportedTAs; - SupportedTAs_t *supportedTAs_p = &supportedTAs; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SupportedTAs, (void**)&supportedTAs_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE supportedTAs failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_SupportedTAs, supportedTAs_p); - memcpy(&s1SetupRequestIEs->supportedTAs, supportedTAs_p, sizeof(SupportedTAs_t)); - } break; - case ProtocolIE_ID_id_DefaultPagingDRX: - { - PagingDRX_t pagingDRX; - PagingDRX_t *pagingDRX_p = &pagingDRX; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_PagingDRX, (void**)&pagingDRX_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE defaultPagingDRX failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_PagingDRX, pagingDRX_p); - memcpy(&s1SetupRequestIEs->defaultPagingDRX, pagingDRX_p, sizeof(PagingDRX_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CSG_IdList: - { - CSG_IdList_t csgIdList; - CSG_IdList_t *csgIdList_p = &csgIdList; - s1SetupRequestIEs->presenceMask |= S1SETUPREQUESTIES_CSG_IDLIST_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSG_IdList, (void**)&csgIdList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE csG_IdList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CSG_IdList, csgIdList_p); - memcpy(&s1SetupRequestIEs->csG_IdList, csgIdList_p, sizeof(CSG_IdList_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message s1setuprequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_handoverrequiredies( - HandoverRequiredIEs_t *handoverRequiredIEs, - ANY_t *any_p) { - - HandoverRequired_t handoverRequired; - HandoverRequired_t *handoverRequired_p = &handoverRequired; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(handoverRequiredIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_HandoverRequired, (void**)&handoverRequired_p); - - for (i = 0; i < handoverRequired_p->handoverRequired_ies.list.count; i++) { - IE_t *ie_p; - ie_p = handoverRequired_p->handoverRequired_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&handoverRequiredIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&handoverRequiredIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_HandoverType: - { - HandoverType_t handoverType; - HandoverType_t *handoverType_p = &handoverType; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_HandoverType, (void**)&handoverType_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE handoverType failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_HandoverType, handoverType_p); - memcpy(&handoverRequiredIEs->handoverType, handoverType_p, sizeof(HandoverType_t)); - } break; - case ProtocolIE_ID_id_Cause: - { - Cause_t cause; - Cause_t *cause_p = &cause; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cause, cause_p); - memcpy(&handoverRequiredIEs->cause, cause_p, sizeof(Cause_t)); - } break; - case ProtocolIE_ID_id_TargetID: - { - TargetID_t targetID; - TargetID_t *targetID_p = &targetID; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TargetID, (void**)&targetID_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE targetID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_TargetID, targetID_p); - memcpy(&handoverRequiredIEs->targetID, targetID_p, sizeof(TargetID_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_Direct_Forwarding_Path_Availability: - { - Direct_Forwarding_Path_Availability_t directForwardingPathAvailability; - Direct_Forwarding_Path_Availability_t *directForwardingPathAvailability_p = &directForwardingPathAvailability; - handoverRequiredIEs->presenceMask |= HANDOVERREQUIREDIES_DIRECT_FORWARDING_PATH_AVAILABILITY_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Direct_Forwarding_Path_Availability, (void**)&directForwardingPathAvailability_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE direct_Forwarding_Path_Availability failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Direct_Forwarding_Path_Availability, directForwardingPathAvailability_p); - memcpy(&handoverRequiredIEs->direct_Forwarding_Path_Availability, directForwardingPathAvailability_p, sizeof(Direct_Forwarding_Path_Availability_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_SRVCCHOIndication: - { - SRVCCHOIndication_t srvcchoIndication; - SRVCCHOIndication_t *srvcchoIndication_p = &srvcchoIndication; - handoverRequiredIEs->presenceMask |= HANDOVERREQUIREDIES_SRVCCHOINDICATION_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SRVCCHOIndication, (void**)&srvcchoIndication_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE srvcchoIndication failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_SRVCCHOIndication, srvcchoIndication_p); - memcpy(&handoverRequiredIEs->srvcchoIndication, srvcchoIndication_p, sizeof(SRVCCHOIndication_t)); - } break; - case ProtocolIE_ID_id_Source_ToTarget_TransparentContainer: - { - Source_ToTarget_TransparentContainer_t sourceToTargetTransparentContainer; - Source_ToTarget_TransparentContainer_t *sourceToTargetTransparentContainer_p = &sourceToTargetTransparentContainer; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Source_ToTarget_TransparentContainer, (void**)&sourceToTargetTransparentContainer_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE source_ToTarget_TransparentContainer failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Source_ToTarget_TransparentContainer, sourceToTargetTransparentContainer_p); - memcpy(&handoverRequiredIEs->source_ToTarget_TransparentContainer, sourceToTargetTransparentContainer_p, sizeof(Source_ToTarget_TransparentContainer_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_Source_ToTarget_TransparentContainer_Secondary: - { - Source_ToTarget_TransparentContainer_t sourceToTargetTransparentContainer; - Source_ToTarget_TransparentContainer_t *sourceToTargetTransparentContainer_p = &sourceToTargetTransparentContainer; - handoverRequiredIEs->presenceMask |= HANDOVERREQUIREDIES_SOURCE_TOTARGET_TRANSPARENTCONTAINER_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Source_ToTarget_TransparentContainer, (void**)&sourceToTargetTransparentContainer_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE source_ToTarget_TransparentContainer_Secondary failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Source_ToTarget_TransparentContainer, sourceToTargetTransparentContainer_p); - memcpy(&handoverRequiredIEs->source_ToTarget_TransparentContainer_Secondary, sourceToTargetTransparentContainer_p, sizeof(Source_ToTarget_TransparentContainer_t)); - } break; - /* Conditional field */ - case ProtocolIE_ID_id_MSClassmark2: - { - MSClassmark2_t msClassmark2; - MSClassmark2_t *msClassmark2_p = &msClassmark2; - handoverRequiredIEs->presenceMask |= HANDOVERREQUIREDIES_MSCLASSMARK2_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MSClassmark2, (void**)&msClassmark2_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE msClassmark2 failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MSClassmark2, msClassmark2_p); - memcpy(&handoverRequiredIEs->msClassmark2, msClassmark2_p, sizeof(MSClassmark2_t)); - } break; - /* Conditional field */ - case ProtocolIE_ID_id_MSClassmark3: - { - MSClassmark3_t msClassmark3; - MSClassmark3_t *msClassmark3_p = &msClassmark3; - handoverRequiredIEs->presenceMask |= HANDOVERREQUIREDIES_MSCLASSMARK3_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MSClassmark3, (void**)&msClassmark3_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE msClassmark3 failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MSClassmark3, msClassmark3_p); - memcpy(&handoverRequiredIEs->msClassmark3, msClassmark3_p, sizeof(MSClassmark3_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CSG_Id: - { - CSG_Id_t csgId; - CSG_Id_t *csgId_p = &csgId; - handoverRequiredIEs->presenceMask |= HANDOVERREQUIREDIES_CSG_ID_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSG_Id, (void**)&csgId_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE csG_Id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CSG_Id, csgId_p); - memcpy(&handoverRequiredIEs->csG_Id, csgId_p, sizeof(CSG_Id_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CellAccessMode: - { - CellAccessMode_t cellAccessMode; - CellAccessMode_t *cellAccessMode_p = &cellAccessMode; - handoverRequiredIEs->presenceMask |= HANDOVERREQUIREDIES_CELLACCESSMODE_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CellAccessMode, (void**)&cellAccessMode_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cellAccessMode failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CellAccessMode, cellAccessMode_p); - memcpy(&handoverRequiredIEs->cellAccessMode, cellAccessMode_p, sizeof(CellAccessMode_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_PS_ServiceNotAvailable: - { - PS_ServiceNotAvailable_t psServiceNotAvailable; - PS_ServiceNotAvailable_t *psServiceNotAvailable_p = &psServiceNotAvailable; - handoverRequiredIEs->presenceMask |= HANDOVERREQUIREDIES_PS_SERVICENOTAVAILABLE_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_PS_ServiceNotAvailable, (void**)&psServiceNotAvailable_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE pS_ServiceNotAvailable failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_PS_ServiceNotAvailable, psServiceNotAvailable_p); - memcpy(&handoverRequiredIEs->pS_ServiceNotAvailable, psServiceNotAvailable_p, sizeof(PS_ServiceNotAvailable_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message handoverrequiredies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_uplinknastransporties( - UplinkNASTransportIEs_t *uplinkNASTransportIEs, - ANY_t *any_p) { - - UplinkNASTransport_t uplinkNASTransport; - UplinkNASTransport_t *uplinkNASTransport_p = &uplinkNASTransport; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(uplinkNASTransportIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_UplinkNASTransport, (void**)&uplinkNASTransport_p); - - for (i = 0; i < uplinkNASTransport_p->uplinkNASTransport_ies.list.count; i++) { - IE_t *ie_p; - ie_p = uplinkNASTransport_p->uplinkNASTransport_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&uplinkNASTransportIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&uplinkNASTransportIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_NAS_PDU: - { - NAS_PDU_t naspdu; - NAS_PDU_t *naspdu_p = &naspdu; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_NAS_PDU, (void**)&naspdu_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE nas_pdu failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_NAS_PDU, naspdu_p); - memcpy(&uplinkNASTransportIEs->nas_pdu, naspdu_p, sizeof(NAS_PDU_t)); - } break; - case ProtocolIE_ID_id_EUTRAN_CGI: - { - EUTRAN_CGI_t eutrancgi; - EUTRAN_CGI_t *eutrancgi_p = &eutrancgi; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_EUTRAN_CGI, (void**)&eutrancgi_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eutran_cgi failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_EUTRAN_CGI, eutrancgi_p); - memcpy(&uplinkNASTransportIEs->eutran_cgi, eutrancgi_p, sizeof(EUTRAN_CGI_t)); - } break; - case ProtocolIE_ID_id_TAI: - { - TAI_t tai; - TAI_t *tai_p = &tai; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TAI, (void**)&tai_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE tai failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_TAI, tai_p); - memcpy(&uplinkNASTransportIEs->tai, tai_p, sizeof(TAI_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message uplinknastransporties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_locationreporties( - LocationReportIEs_t *locationReportIEs, - ANY_t *any_p) { - - LocationReport_t locationReport; - LocationReport_t *locationReport_p = &locationReport; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(locationReportIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_LocationReport, (void**)&locationReport_p); - - for (i = 0; i < locationReport_p->locationReport_ies.list.count; i++) { - IE_t *ie_p; - ie_p = locationReport_p->locationReport_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&locationReportIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&locationReportIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_EUTRAN_CGI: - { - EUTRAN_CGI_t eutrancgi; - EUTRAN_CGI_t *eutrancgi_p = &eutrancgi; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_EUTRAN_CGI, (void**)&eutrancgi_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eutran_cgi failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_EUTRAN_CGI, eutrancgi_p); - memcpy(&locationReportIEs->eutran_cgi, eutrancgi_p, sizeof(EUTRAN_CGI_t)); - } break; - case ProtocolIE_ID_id_TAI: - { - TAI_t tai; - TAI_t *tai_p = &tai; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TAI, (void**)&tai_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE tai failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_TAI, tai_p); - memcpy(&locationReportIEs->tai, tai_p, sizeof(TAI_t)); - } break; - case ProtocolIE_ID_id_RequestType: - { - RequestType_t requestType; - RequestType_t *requestType_p = &requestType; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RequestType, (void**)&requestType_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE requestType failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_RequestType, requestType_p); - memcpy(&locationReportIEs->requestType, requestType_p, sizeof(RequestType_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message locationreporties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_uecontextmodificationfailureies( - UEContextModificationFailureIEs_t *ueContextModificationFailureIEs, - ANY_t *any_p) { - - UEContextModificationFailure_t uEContextModificationFailure; - UEContextModificationFailure_t *uEContextModificationFailure_p = &uEContextModificationFailure; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(ueContextModificationFailureIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_UEContextModificationFailure, (void**)&uEContextModificationFailure_p); - - for (i = 0; i < uEContextModificationFailure_p->ueContextModificationFailure_ies.list.count; i++) { - IE_t *ie_p; - ie_p = uEContextModificationFailure_p->ueContextModificationFailure_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&ueContextModificationFailureIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&ueContextModificationFailureIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_Cause: - { - Cause_t cause; - Cause_t *cause_p = &cause; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cause, cause_p); - memcpy(&ueContextModificationFailureIEs->cause, cause_p, sizeof(Cause_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - ueContextModificationFailureIEs->presenceMask |= UECONTEXTMODIFICATIONFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&ueContextModificationFailureIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message uecontextmodificationfailureies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_enbconfigurationtransferies( - ENBConfigurationTransferIEs_t *enbConfigurationTransferIEs, - ANY_t *any_p) { - - ENBConfigurationTransfer_t eNBConfigurationTransfer; - ENBConfigurationTransfer_t *eNBConfigurationTransfer_p = &eNBConfigurationTransfer; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(enbConfigurationTransferIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_ENBConfigurationTransfer, (void**)&eNBConfigurationTransfer_p); - - for (i = 0; i < eNBConfigurationTransfer_p->eNBConfigurationTransfer_ies.list.count; i++) { - IE_t *ie_p; - ie_p = eNBConfigurationTransfer_p->eNBConfigurationTransfer_ies.list.array[i]; - switch(ie_p->id) { - /* Optional field */ - case ProtocolIE_ID_id_SONConfigurationTransferECT: - { - SONConfigurationTransfer_t sonConfigurationTransfer; - SONConfigurationTransfer_t *sonConfigurationTransfer_p = &sonConfigurationTransfer; - enbConfigurationTransferIEs->presenceMask |= ENBCONFIGURATIONTRANSFERIES_SONCONFIGURATIONTRANSFER_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SONConfigurationTransfer, (void**)&sonConfigurationTransfer_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE sonConfigurationTransferECT failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_SONConfigurationTransfer, sonConfigurationTransfer_p); - memcpy(&enbConfigurationTransferIEs->sonConfigurationTransferECT, sonConfigurationTransfer_p, sizeof(SONConfigurationTransfer_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message enbconfigurationtransferies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_downlinknonueassociatedlppatransporties( - DownlinkNonUEAssociatedLPPaTransportIEs_t *downlinkNonUEAssociatedLPPaTransportIEs, - ANY_t *any_p) { - - DownlinkNonUEAssociatedLPPaTransport_t downlinkNonUEAssociatedLPPaTransport; - DownlinkNonUEAssociatedLPPaTransport_t *downlinkNonUEAssociatedLPPaTransport_p = &downlinkNonUEAssociatedLPPaTransport; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(downlinkNonUEAssociatedLPPaTransportIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_DownlinkNonUEAssociatedLPPaTransport, (void**)&downlinkNonUEAssociatedLPPaTransport_p); - - for (i = 0; i < downlinkNonUEAssociatedLPPaTransport_p->downlinkNonUEAssociatedLPPaTransport_ies.list.count; i++) { - IE_t *ie_p; - ie_p = downlinkNonUEAssociatedLPPaTransport_p->downlinkNonUEAssociatedLPPaTransport_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_Routing_ID: - { - Routing_ID_t routingID; - Routing_ID_t *routingID_p = &routingID; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Routing_ID, (void**)&routingID_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE routing_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Routing_ID, routingID_p); - memcpy(&downlinkNonUEAssociatedLPPaTransportIEs->routing_ID, routingID_p, sizeof(Routing_ID_t)); - } break; - case ProtocolIE_ID_id_LPPa_PDU: - { - LPPa_PDU_t lpPaPDU; - LPPa_PDU_t *lpPaPDU_p = &lpPaPDU; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_LPPa_PDU, (void**)&lpPaPDU_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE lpPa_PDU failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_LPPa_PDU, lpPaPDU_p); - memcpy(&downlinkNonUEAssociatedLPPaTransportIEs->lpPa_PDU, lpPaPDU_p, sizeof(LPPa_PDU_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message downlinknonueassociatedlppatransporties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_initialuemessageies( - InitialUEMessageIEs_t *initialUEMessageIEs, - ANY_t *any_p) { - - InitialUEMessage_t initialUEMessage; - InitialUEMessage_t *initialUEMessage_p = &initialUEMessage; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(initialUEMessageIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_InitialUEMessage, (void**)&initialUEMessage_p); - - for (i = 0; i < initialUEMessage_p->initialUEMessage_ies.list.count; i++) { - IE_t *ie_p; - ie_p = initialUEMessage_p->initialUEMessage_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&initialUEMessageIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_NAS_PDU: - { - NAS_PDU_t naspdu; - NAS_PDU_t *naspdu_p = &naspdu; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_NAS_PDU, (void**)&naspdu_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE nas_pdu failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_NAS_PDU, naspdu_p); - memcpy(&initialUEMessageIEs->nas_pdu, naspdu_p, sizeof(NAS_PDU_t)); - } break; - case ProtocolIE_ID_id_TAI: - { - TAI_t tai; - TAI_t *tai_p = &tai; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TAI, (void**)&tai_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE tai failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_TAI, tai_p); - memcpy(&initialUEMessageIEs->tai, tai_p, sizeof(TAI_t)); - } break; - case ProtocolIE_ID_id_EUTRAN_CGI: - { - EUTRAN_CGI_t eutrancgi; - EUTRAN_CGI_t *eutrancgi_p = &eutrancgi; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_EUTRAN_CGI, (void**)&eutrancgi_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eutran_cgi failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_EUTRAN_CGI, eutrancgi_p); - memcpy(&initialUEMessageIEs->eutran_cgi, eutrancgi_p, sizeof(EUTRAN_CGI_t)); - } break; - case ProtocolIE_ID_id_RRC_Establishment_Cause: - { - RRC_Establishment_Cause_t rrcEstablishmentCause; - RRC_Establishment_Cause_t *rrcEstablishmentCause_p = &rrcEstablishmentCause; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RRC_Establishment_Cause, (void**)&rrcEstablishmentCause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE rrC_Establishment_Cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_RRC_Establishment_Cause, rrcEstablishmentCause_p); - memcpy(&initialUEMessageIEs->rrC_Establishment_Cause, rrcEstablishmentCause_p, sizeof(RRC_Establishment_Cause_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_S_TMSI: - { - S_TMSI_t stmsi; - S_TMSI_t *stmsi_p = &stmsi; - initialUEMessageIEs->presenceMask |= INITIALUEMESSAGEIES_S_TMSI_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_S_TMSI, (void**)&stmsi_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE s_tmsi failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_S_TMSI, stmsi_p); - memcpy(&initialUEMessageIEs->s_tmsi, stmsi_p, sizeof(S_TMSI_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CSG_Id: - { - CSG_Id_t csgId; - CSG_Id_t *csgId_p = &csgId; - initialUEMessageIEs->presenceMask |= INITIALUEMESSAGEIES_CSG_ID_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSG_Id, (void**)&csgId_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE csG_Id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CSG_Id, csgId_p); - memcpy(&initialUEMessageIEs->csG_Id, csgId_p, sizeof(CSG_Id_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_GUMMEI_ID: - { - GUMMEI_t gummei; - GUMMEI_t *gummei_p = &gummei; - initialUEMessageIEs->presenceMask |= INITIALUEMESSAGEIES_GUMMEI_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_GUMMEI, (void**)&gummei_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE gummei_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_GUMMEI, gummei_p); - memcpy(&initialUEMessageIEs->gummei_id, gummei_p, sizeof(GUMMEI_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CellAccessMode: - { - CellAccessMode_t cellAccessMode; - CellAccessMode_t *cellAccessMode_p = &cellAccessMode; - initialUEMessageIEs->presenceMask |= INITIALUEMESSAGEIES_CELLACCESSMODE_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CellAccessMode, (void**)&cellAccessMode_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cellAccessMode failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CellAccessMode, cellAccessMode_p); - memcpy(&initialUEMessageIEs->cellAccessMode, cellAccessMode_p, sizeof(CellAccessMode_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message initialuemessageies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabsetupresponseies( - E_RABSetupResponseIEs_t *e_RABSetupResponseIEs, - ANY_t *any_p) { - - E_RABSetupResponse_t e_RABSetupResponse; - E_RABSetupResponse_t *e_RABSetupResponse_p = &e_RABSetupResponse; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(e_RABSetupResponseIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_E_RABSetupResponse, (void**)&e_RABSetupResponse_p); - - for (i = 0; i < e_RABSetupResponse_p->e_RABSetupResponse_ies.list.count; i++) { - IE_t *ie_p; - ie_p = e_RABSetupResponse_p->e_RABSetupResponse_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&e_RABSetupResponseIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&e_RABSetupResponseIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_E_RABSetupListBearerSURes: - { - E_RABSetupListBearerSURes_t erabSetupListBearerSURes; - E_RABSetupListBearerSURes_t *erabSetupListBearerSURes_p = &erabSetupListBearerSURes; - e_RABSetupResponseIEs->presenceMask |= E_RABSETUPRESPONSEIES_E_RABSETUPLISTBEARERSURES_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABSetupListBearerSURes, (void**)&erabSetupListBearerSURes_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABSetupListBearerSURes failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABSetupListBearerSURes, erabSetupListBearerSURes_p); - memcpy(&e_RABSetupResponseIEs->e_RABSetupListBearerSURes, erabSetupListBearerSURes_p, sizeof(E_RABSetupListBearerSURes_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_E_RABFailedToSetupListBearerSURes: - { - E_RABList_t erabList; - E_RABList_t *erabList_p = &erabList; - e_RABSetupResponseIEs->presenceMask |= E_RABSETUPRESPONSEIES_E_RABLIST_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABList, (void**)&erabList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABFailedToSetupListBearerSURes failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABList, erabList_p); - memcpy(&e_RABSetupResponseIEs->e_RABFailedToSetupListBearerSURes, erabList_p, sizeof(E_RABList_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - e_RABSetupResponseIEs->presenceMask |= E_RABSETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&e_RABSetupResponseIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabsetupresponseies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_pathswitchrequestacknowledgeies( - PathSwitchRequestAcknowledgeIEs_t *pathSwitchRequestAcknowledgeIEs, - ANY_t *any_p) { - - PathSwitchRequestAcknowledge_t pathSwitchRequestAcknowledge; - PathSwitchRequestAcknowledge_t *pathSwitchRequestAcknowledge_p = &pathSwitchRequestAcknowledge; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(pathSwitchRequestAcknowledgeIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_PathSwitchRequestAcknowledge, (void**)&pathSwitchRequestAcknowledge_p); - - for (i = 0; i < pathSwitchRequestAcknowledge_p->pathSwitchRequestAcknowledge_ies.list.count; i++) { - IE_t *ie_p; - ie_p = pathSwitchRequestAcknowledge_p->pathSwitchRequestAcknowledge_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&pathSwitchRequestAcknowledgeIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&pathSwitchRequestAcknowledgeIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_uEaggregateMaximumBitrate: - { - UEAggregateMaximumBitrate_t ueAggregateMaximumBitrate; - UEAggregateMaximumBitrate_t *ueAggregateMaximumBitrate_p = &ueAggregateMaximumBitrate; - pathSwitchRequestAcknowledgeIEs->presenceMask |= PATHSWITCHREQUESTACKNOWLEDGEIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UEAggregateMaximumBitrate, (void**)&ueAggregateMaximumBitrate_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE uEaggregateMaximumBitrate failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_UEAggregateMaximumBitrate, ueAggregateMaximumBitrate_p); - memcpy(&pathSwitchRequestAcknowledgeIEs->uEaggregateMaximumBitrate, ueAggregateMaximumBitrate_p, sizeof(UEAggregateMaximumBitrate_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_E_RABToBeSwitchedULList: - { - E_RABToBeSwitchedULList_t erabToBeSwitchedULList; - E_RABToBeSwitchedULList_t *erabToBeSwitchedULList_p = &erabToBeSwitchedULList; - pathSwitchRequestAcknowledgeIEs->presenceMask |= PATHSWITCHREQUESTACKNOWLEDGEIES_E_RABTOBESWITCHEDULLIST_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSwitchedULList, (void**)&erabToBeSwitchedULList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABToBeSwitchedULList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABToBeSwitchedULList, erabToBeSwitchedULList_p); - memcpy(&pathSwitchRequestAcknowledgeIEs->e_RABToBeSwitchedULList, erabToBeSwitchedULList_p, sizeof(E_RABToBeSwitchedULList_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_E_RABToBeReleasedList: - { - E_RABList_t erabList; - E_RABList_t *erabList_p = &erabList; - pathSwitchRequestAcknowledgeIEs->presenceMask |= PATHSWITCHREQUESTACKNOWLEDGEIES_E_RABLIST_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABList, (void**)&erabList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABToBeReleasedList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABList, erabList_p); - memcpy(&pathSwitchRequestAcknowledgeIEs->e_RABToBeReleasedList, erabList_p, sizeof(E_RABList_t)); - } break; - case ProtocolIE_ID_id_SecurityContext: - { - SecurityContext_t securityContext; - SecurityContext_t *securityContext_p = &securityContext; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SecurityContext, (void**)&securityContext_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE securityContext failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_SecurityContext, securityContext_p); - memcpy(&pathSwitchRequestAcknowledgeIEs->securityContext, securityContext_p, sizeof(SecurityContext_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - pathSwitchRequestAcknowledgeIEs->presenceMask |= PATHSWITCHREQUESTACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&pathSwitchRequestAcknowledgeIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message pathswitchrequestacknowledgeies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_overloadstarties( - OverloadStartIEs_t *overloadStartIEs, - ANY_t *any_p) { - - OverloadStart_t overloadStart; - OverloadStart_t *overloadStart_p = &overloadStart; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(overloadStartIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_OverloadStart, (void**)&overloadStart_p); - - for (i = 0; i < overloadStart_p->overloadStart_ies.list.count; i++) { - IE_t *ie_p; - ie_p = overloadStart_p->overloadStart_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_OverloadResponse: - { - OverloadResponse_t overloadResponse; - OverloadResponse_t *overloadResponse_p = &overloadResponse; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_OverloadResponse, (void**)&overloadResponse_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE overloadResponse failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_OverloadResponse, overloadResponse_p); - memcpy(&overloadStartIEs->overloadResponse, overloadResponse_p, sizeof(OverloadResponse_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message overloadstarties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_nasnondeliveryindicationies( - NASNonDeliveryIndicationIEs_t *nasNonDeliveryIndicationIEs, - ANY_t *any_p) { - - NASNonDeliveryIndication_t nASNonDeliveryIndication; - NASNonDeliveryIndication_t *nASNonDeliveryIndication_p = &nASNonDeliveryIndication; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(nasNonDeliveryIndicationIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_NASNonDeliveryIndication, (void**)&nASNonDeliveryIndication_p); - - for (i = 0; i < nASNonDeliveryIndication_p->nasNonDeliveryIndication_ies.list.count; i++) { - IE_t *ie_p; - ie_p = nASNonDeliveryIndication_p->nasNonDeliveryIndication_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&nasNonDeliveryIndicationIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&nasNonDeliveryIndicationIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_NAS_PDU: - { - NAS_PDU_t naspdu; - NAS_PDU_t *naspdu_p = &naspdu; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_NAS_PDU, (void**)&naspdu_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE nas_pdu failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_NAS_PDU, naspdu_p); - memcpy(&nasNonDeliveryIndicationIEs->nas_pdu, naspdu_p, sizeof(NAS_PDU_t)); - } break; - case ProtocolIE_ID_id_Cause: - { - Cause_t cause; - Cause_t *cause_p = &cause; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cause, cause_p); - memcpy(&nasNonDeliveryIndicationIEs->cause, cause_p, sizeof(Cause_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message nasnondeliveryindicationies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_handovercancelacknowledgeies( - HandoverCancelAcknowledgeIEs_t *handoverCancelAcknowledgeIEs, - ANY_t *any_p) { - - HandoverCancelAcknowledge_t handoverCancelAcknowledge; - HandoverCancelAcknowledge_t *handoverCancelAcknowledge_p = &handoverCancelAcknowledge; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(handoverCancelAcknowledgeIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_HandoverCancelAcknowledge, (void**)&handoverCancelAcknowledge_p); - - for (i = 0; i < handoverCancelAcknowledge_p->handoverCancelAcknowledge_ies.list.count; i++) { - IE_t *ie_p; - ie_p = handoverCancelAcknowledge_p->handoverCancelAcknowledge_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&handoverCancelAcknowledgeIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&handoverCancelAcknowledgeIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - handoverCancelAcknowledgeIEs->presenceMask |= HANDOVERCANCELACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&handoverCancelAcknowledgeIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message handovercancelacknowledgeies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_enbstatustransferies( - ENBStatusTransferIEs_t *enbStatusTransferIEs, - ANY_t *any_p) { - - ENBStatusTransfer_t eNBStatusTransfer; - ENBStatusTransfer_t *eNBStatusTransfer_p = &eNBStatusTransfer; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(enbStatusTransferIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_ENBStatusTransfer, (void**)&eNBStatusTransfer_p); - - for (i = 0; i < eNBStatusTransfer_p->eNBStatusTransfer_ies.list.count; i++) { - IE_t *ie_p; - ie_p = eNBStatusTransfer_p->eNBStatusTransfer_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&enbStatusTransferIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&enbStatusTransferIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_StatusTransfer_TransparentContainer: - { - ENB_StatusTransfer_TransparentContainer_t enbStatusTransferTransparentContainer; - ENB_StatusTransfer_TransparentContainer_t *enbStatusTransferTransparentContainer_p = &enbStatusTransferTransparentContainer; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_StatusTransfer_TransparentContainer, (void**)&enbStatusTransferTransparentContainer_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_StatusTransfer_TransparentContainer failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_StatusTransfer_TransparentContainer, enbStatusTransferTransparentContainer_p); - memcpy(&enbStatusTransferIEs->eNB_StatusTransfer_TransparentContainer, enbStatusTransferTransparentContainer_p, sizeof(ENB_StatusTransfer_TransparentContainer_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message enbstatustransferies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_handovercancelies( - HandoverCancelIEs_t *handoverCancelIEs, - ANY_t *any_p) { - - HandoverCancel_t handoverCancel; - HandoverCancel_t *handoverCancel_p = &handoverCancel; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(handoverCancelIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_HandoverCancel, (void**)&handoverCancel_p); - - for (i = 0; i < handoverCancel_p->handoverCancel_ies.list.count; i++) { - IE_t *ie_p; - ie_p = handoverCancel_p->handoverCancel_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&handoverCancelIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&handoverCancelIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_Cause: - { - Cause_t cause; - Cause_t *cause_p = &cause; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cause, cause_p); - memcpy(&handoverCancelIEs->cause, cause_p, sizeof(Cause_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message handovercancelies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabreleaseresponseies( - E_RABReleaseResponseIEs_t *e_RABReleaseResponseIEs, - ANY_t *any_p) { - - E_RABReleaseResponse_t e_RABReleaseResponse; - E_RABReleaseResponse_t *e_RABReleaseResponse_p = &e_RABReleaseResponse; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(e_RABReleaseResponseIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_E_RABReleaseResponse, (void**)&e_RABReleaseResponse_p); - - for (i = 0; i < e_RABReleaseResponse_p->e_RABReleaseResponse_ies.list.count; i++) { - IE_t *ie_p; - ie_p = e_RABReleaseResponse_p->e_RABReleaseResponse_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&e_RABReleaseResponseIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&e_RABReleaseResponseIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_E_RABReleaseListBearerRelComp: - { - E_RABReleaseListBearerRelComp_t erabReleaseListBearerRelComp; - E_RABReleaseListBearerRelComp_t *erabReleaseListBearerRelComp_p = &erabReleaseListBearerRelComp; - e_RABReleaseResponseIEs->presenceMask |= E_RABRELEASERESPONSEIES_E_RABRELEASELISTBEARERRELCOMP_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABReleaseListBearerRelComp, (void**)&erabReleaseListBearerRelComp_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABReleaseListBearerRelComp failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABReleaseListBearerRelComp, erabReleaseListBearerRelComp_p); - memcpy(&e_RABReleaseResponseIEs->e_RABReleaseListBearerRelComp, erabReleaseListBearerRelComp_p, sizeof(E_RABReleaseListBearerRelComp_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_E_RABFailedToReleaseList: - { - E_RABList_t erabList; - E_RABList_t *erabList_p = &erabList; - e_RABReleaseResponseIEs->presenceMask |= E_RABRELEASERESPONSEIES_E_RABLIST_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABList, (void**)&erabList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABFailedToReleaseList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABList, erabList_p); - memcpy(&e_RABReleaseResponseIEs->e_RABFailedToReleaseList, erabList_p, sizeof(E_RABList_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - e_RABReleaseResponseIEs->presenceMask |= E_RABRELEASERESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&e_RABReleaseResponseIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabreleaseresponseies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_uecontextreleaserequesties( - UEContextReleaseRequestIEs_t *ueContextReleaseRequestIEs, - ANY_t *any_p) { - - UEContextReleaseRequest_t uEContextReleaseRequest; - UEContextReleaseRequest_t *uEContextReleaseRequest_p = &uEContextReleaseRequest; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(ueContextReleaseRequestIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_UEContextReleaseRequest, (void**)&uEContextReleaseRequest_p); - - for (i = 0; i < uEContextReleaseRequest_p->ueContextReleaseRequest_ies.list.count; i++) { - IE_t *ie_p; - ie_p = uEContextReleaseRequest_p->ueContextReleaseRequest_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&ueContextReleaseRequestIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&ueContextReleaseRequestIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_Cause: - { - Cause_t cause; - Cause_t *cause_p = &cause; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cause, cause_p); - memcpy(&ueContextReleaseRequestIEs->cause, cause_p, sizeof(Cause_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message uecontextreleaserequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_tracestarties( - TraceStartIEs_t *traceStartIEs, - ANY_t *any_p) { - - TraceStart_t traceStart; - TraceStart_t *traceStart_p = &traceStart; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(traceStartIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_TraceStart, (void**)&traceStart_p); - - for (i = 0; i < traceStart_p->traceStart_ies.list.count; i++) { - IE_t *ie_p; - ie_p = traceStart_p->traceStart_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&traceStartIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&traceStartIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_TraceActivation: - { - TraceActivation_t traceActivation; - TraceActivation_t *traceActivation_p = &traceActivation; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TraceActivation, (void**)&traceActivation_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE traceActivation failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_TraceActivation, traceActivation_p); - memcpy(&traceStartIEs->traceActivation, traceActivation_p, sizeof(TraceActivation_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message tracestarties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_mmeconfigurationtransferies( - MMEConfigurationTransferIEs_t *mmeConfigurationTransferIEs, - ANY_t *any_p) { - - MMEConfigurationTransfer_t mMEConfigurationTransfer; - MMEConfigurationTransfer_t *mMEConfigurationTransfer_p = &mMEConfigurationTransfer; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(mmeConfigurationTransferIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_MMEConfigurationTransfer, (void**)&mMEConfigurationTransfer_p); - - for (i = 0; i < mMEConfigurationTransfer_p->mmeConfigurationTransfer_ies.list.count; i++) { - IE_t *ie_p; - ie_p = mMEConfigurationTransfer_p->mmeConfigurationTransfer_ies.list.array[i]; - switch(ie_p->id) { - /* Optional field */ - case ProtocolIE_ID_id_SONConfigurationTransferMCT: - { - SONConfigurationTransfer_t sonConfigurationTransfer; - SONConfigurationTransfer_t *sonConfigurationTransfer_p = &sonConfigurationTransfer; - mmeConfigurationTransferIEs->presenceMask |= MMECONFIGURATIONTRANSFERIES_SONCONFIGURATIONTRANSFER_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SONConfigurationTransfer, (void**)&sonConfigurationTransfer_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE sonConfigurationTransferMCT failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_SONConfigurationTransfer, sonConfigurationTransfer_p); - memcpy(&mmeConfigurationTransferIEs->sonConfigurationTransferMCT, sonConfigurationTransfer_p, sizeof(SONConfigurationTransfer_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message mmeconfigurationtransferies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_tracefailureindicationies( - TraceFailureIndicationIEs_t *traceFailureIndicationIEs, - ANY_t *any_p) { - - TraceFailureIndication_t traceFailureIndication; - TraceFailureIndication_t *traceFailureIndication_p = &traceFailureIndication; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(traceFailureIndicationIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_TraceFailureIndication, (void**)&traceFailureIndication_p); - - for (i = 0; i < traceFailureIndication_p->traceFailureIndication_ies.list.count; i++) { - IE_t *ie_p; - ie_p = traceFailureIndication_p->traceFailureIndication_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&traceFailureIndicationIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&traceFailureIndicationIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_E_UTRAN_Trace_ID: - { - E_UTRAN_Trace_ID_t eutranTraceID; - E_UTRAN_Trace_ID_t *eutranTraceID_p = &eutranTraceID; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_UTRAN_Trace_ID, (void**)&eutranTraceID_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_UTRAN_Trace_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_UTRAN_Trace_ID, eutranTraceID_p); - memcpy(&traceFailureIndicationIEs->e_UTRAN_Trace_ID, eutranTraceID_p, sizeof(E_UTRAN_Trace_ID_t)); - } break; - case ProtocolIE_ID_id_Cause: - { - Cause_t cause; - Cause_t *cause_p = &cause; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cause, cause_p); - memcpy(&traceFailureIndicationIEs->cause, cause_p, sizeof(Cause_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message tracefailureindicationies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_initialcontextsetupfailureies( - InitialContextSetupFailureIEs_t *initialContextSetupFailureIEs, - ANY_t *any_p) { - - InitialContextSetupFailure_t initialContextSetupFailure; - InitialContextSetupFailure_t *initialContextSetupFailure_p = &initialContextSetupFailure; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(initialContextSetupFailureIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_InitialContextSetupFailure, (void**)&initialContextSetupFailure_p); - - for (i = 0; i < initialContextSetupFailure_p->initialContextSetupFailure_ies.list.count; i++) { - IE_t *ie_p; - ie_p = initialContextSetupFailure_p->initialContextSetupFailure_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&initialContextSetupFailureIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&initialContextSetupFailureIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_Cause: - { - Cause_t cause; - Cause_t *cause_p = &cause; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cause, cause_p); - memcpy(&initialContextSetupFailureIEs->cause, cause_p, sizeof(Cause_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - initialContextSetupFailureIEs->presenceMask |= INITIALCONTEXTSETUPFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&initialContextSetupFailureIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message initialcontextsetupfailureies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_errorindicationies( - ErrorIndicationIEs_t *errorIndicationIEs, - ANY_t *any_p) { - - ErrorIndication_t errorIndication; - ErrorIndication_t *errorIndication_p = &errorIndication; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(errorIndicationIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_ErrorIndication, (void**)&errorIndication_p); - - for (i = 0; i < errorIndication_p->errorIndication_ies.list.count; i++) { - IE_t *ie_p; - ie_p = errorIndication_p->errorIndication_ies.list.array[i]; - switch(ie_p->id) { - /* Optional field */ - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - errorIndicationIEs->presenceMask |= ERRORINDICATIONIES_MME_UE_S1AP_ID_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&errorIndicationIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - errorIndicationIEs->presenceMask |= ERRORINDICATIONIES_ENB_UE_S1AP_ID_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&errorIndicationIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_Cause: - { - Cause_t cause; - Cause_t *cause_p = &cause; - errorIndicationIEs->presenceMask |= ERRORINDICATIONIES_CAUSE_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cause, cause_p); - memcpy(&errorIndicationIEs->cause, cause_p, sizeof(Cause_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - errorIndicationIEs->presenceMask |= ERRORINDICATIONIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&errorIndicationIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message errorindicationies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_handovernotifyies( - HandoverNotifyIEs_t *handoverNotifyIEs, - ANY_t *any_p) { - - HandoverNotify_t handoverNotify; - HandoverNotify_t *handoverNotify_p = &handoverNotify; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(handoverNotifyIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_HandoverNotify, (void**)&handoverNotify_p); - - for (i = 0; i < handoverNotify_p->handoverNotify_ies.list.count; i++) { - IE_t *ie_p; - ie_p = handoverNotify_p->handoverNotify_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&handoverNotifyIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&handoverNotifyIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_EUTRAN_CGI: - { - EUTRAN_CGI_t eutrancgi; - EUTRAN_CGI_t *eutrancgi_p = &eutrancgi; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_EUTRAN_CGI, (void**)&eutrancgi_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eutran_cgi failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_EUTRAN_CGI, eutrancgi_p); - memcpy(&handoverNotifyIEs->eutran_cgi, eutrancgi_p, sizeof(EUTRAN_CGI_t)); - } break; - case ProtocolIE_ID_id_TAI: - { - TAI_t tai; - TAI_t *tai_p = &tai; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TAI, (void**)&tai_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE tai failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_TAI, tai_p); - memcpy(&handoverNotifyIEs->tai, tai_p, sizeof(TAI_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message handovernotifyies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_downlinks1cdma2000tunnelingies( - DownlinkS1cdma2000tunnelingIEs_t *downlinkS1cdma2000tunnelingIEs, - ANY_t *any_p) { - - DownlinkS1cdma2000tunneling_t downlinkS1cdma2000tunneling; - DownlinkS1cdma2000tunneling_t *downlinkS1cdma2000tunneling_p = &downlinkS1cdma2000tunneling; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(downlinkS1cdma2000tunnelingIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_DownlinkS1cdma2000tunneling, (void**)&downlinkS1cdma2000tunneling_p); - - for (i = 0; i < downlinkS1cdma2000tunneling_p->downlinkS1cdma2000tunneling_ies.list.count; i++) { - IE_t *ie_p; - ie_p = downlinkS1cdma2000tunneling_p->downlinkS1cdma2000tunneling_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&downlinkS1cdma2000tunnelingIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&downlinkS1cdma2000tunnelingIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_E_RABSubjecttoDataForwardingList: - { - E_RABDataForwardingList_t erabDataForwardingList; - E_RABDataForwardingList_t *erabDataForwardingList_p = &erabDataForwardingList; - downlinkS1cdma2000tunnelingIEs->presenceMask |= DOWNLINKS1CDMA2000TUNNELINGIES_E_RABDATAFORWARDINGLIST_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABDataForwardingList, (void**)&erabDataForwardingList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABSubjecttoDataForwardingList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABDataForwardingList, erabDataForwardingList_p); - memcpy(&downlinkS1cdma2000tunnelingIEs->e_RABSubjecttoDataForwardingList, erabDataForwardingList_p, sizeof(E_RABDataForwardingList_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_cdma2000HOStatus: - { - Cdma2000HOStatus_t cdma2000HOStatus; - Cdma2000HOStatus_t *cdma2000HOStatus_p = &cdma2000HOStatus; - downlinkS1cdma2000tunnelingIEs->presenceMask |= DOWNLINKS1CDMA2000TUNNELINGIES_CDMA2000HOSTATUS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000HOStatus, (void**)&cdma2000HOStatus_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cdma2000HOStatus failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cdma2000HOStatus, cdma2000HOStatus_p); - memcpy(&downlinkS1cdma2000tunnelingIEs->cdma2000HOStatus, cdma2000HOStatus_p, sizeof(Cdma2000HOStatus_t)); - } break; - case ProtocolIE_ID_id_cdma2000RATType: - { - Cdma2000RATType_t cdma2000RATType; - Cdma2000RATType_t *cdma2000RATType_p = &cdma2000RATType; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000RATType, (void**)&cdma2000RATType_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cdma2000RATType failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cdma2000RATType, cdma2000RATType_p); - memcpy(&downlinkS1cdma2000tunnelingIEs->cdma2000RATType, cdma2000RATType_p, sizeof(Cdma2000RATType_t)); - } break; - case ProtocolIE_ID_id_cdma2000PDU: - { - Cdma2000PDU_t cdma2000PDU; - Cdma2000PDU_t *cdma2000PDU_p = &cdma2000PDU; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000PDU, (void**)&cdma2000PDU_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cdma2000PDU failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cdma2000PDU, cdma2000PDU_p); - memcpy(&downlinkS1cdma2000tunnelingIEs->cdma2000PDU, cdma2000PDU_p, sizeof(Cdma2000PDU_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message downlinks1cdma2000tunnelingies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_mmeconfigurationupdateacknowledgeies( - MMEConfigurationUpdateAcknowledgeIEs_t *mmeConfigurationUpdateAcknowledgeIEs, - ANY_t *any_p) { - - MMEConfigurationUpdateAcknowledge_t mMEConfigurationUpdateAcknowledge; - MMEConfigurationUpdateAcknowledge_t *mMEConfigurationUpdateAcknowledge_p = &mMEConfigurationUpdateAcknowledge; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(mmeConfigurationUpdateAcknowledgeIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_MMEConfigurationUpdateAcknowledge, (void**)&mMEConfigurationUpdateAcknowledge_p); - - for (i = 0; i < mMEConfigurationUpdateAcknowledge_p->mmeConfigurationUpdateAcknowledge_ies.list.count; i++) { - IE_t *ie_p; - ie_p = mMEConfigurationUpdateAcknowledge_p->mmeConfigurationUpdateAcknowledge_ies.list.array[i]; - switch(ie_p->id) { - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - mmeConfigurationUpdateAcknowledgeIEs->presenceMask |= MMECONFIGURATIONUPDATEACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&mmeConfigurationUpdateAcknowledgeIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message mmeconfigurationupdateacknowledgeies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_handoverrequestacknowledgeies( - HandoverRequestAcknowledgeIEs_t *handoverRequestAcknowledgeIEs, - ANY_t *any_p) { - - HandoverRequestAcknowledge_t handoverRequestAcknowledge; - HandoverRequestAcknowledge_t *handoverRequestAcknowledge_p = &handoverRequestAcknowledge; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(handoverRequestAcknowledgeIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_HandoverRequestAcknowledge, (void**)&handoverRequestAcknowledge_p); - - for (i = 0; i < handoverRequestAcknowledge_p->handoverRequestAcknowledge_ies.list.count; i++) { - IE_t *ie_p; - ie_p = handoverRequestAcknowledge_p->handoverRequestAcknowledge_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&handoverRequestAcknowledgeIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&handoverRequestAcknowledgeIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_E_RABAdmittedList: - { - E_RABAdmittedList_t erabAdmittedList; - E_RABAdmittedList_t *erabAdmittedList_p = &erabAdmittedList; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABAdmittedList, (void**)&erabAdmittedList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABAdmittedList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABAdmittedList, erabAdmittedList_p); - memcpy(&handoverRequestAcknowledgeIEs->e_RABAdmittedList, erabAdmittedList_p, sizeof(E_RABAdmittedList_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_E_RABFailedToSetupListHOReqAck: - { - E_RABFailedtoSetupListHOReqAck_t erabFailedtoSetupListHOReqAck; - E_RABFailedtoSetupListHOReqAck_t *erabFailedtoSetupListHOReqAck_p = &erabFailedtoSetupListHOReqAck; - handoverRequestAcknowledgeIEs->presenceMask |= HANDOVERREQUESTACKNOWLEDGEIES_E_RABFAILEDTOSETUPLISTHOREQACK_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABFailedtoSetupListHOReqAck, (void**)&erabFailedtoSetupListHOReqAck_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABFailedToSetupListHOReqAck failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABFailedtoSetupListHOReqAck, erabFailedtoSetupListHOReqAck_p); - memcpy(&handoverRequestAcknowledgeIEs->e_RABFailedToSetupListHOReqAck, erabFailedtoSetupListHOReqAck_p, sizeof(E_RABFailedtoSetupListHOReqAck_t)); - } break; - case ProtocolIE_ID_id_Target_ToSource_TransparentContainer: - { - Target_ToSource_TransparentContainer_t targetToSourceTransparentContainer; - Target_ToSource_TransparentContainer_t *targetToSourceTransparentContainer_p = &targetToSourceTransparentContainer; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Target_ToSource_TransparentContainer, (void**)&targetToSourceTransparentContainer_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE target_ToSource_TransparentContainer failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Target_ToSource_TransparentContainer, targetToSourceTransparentContainer_p); - memcpy(&handoverRequestAcknowledgeIEs->target_ToSource_TransparentContainer, targetToSourceTransparentContainer_p, sizeof(Target_ToSource_TransparentContainer_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CSG_Id: - { - CSG_Id_t csgId; - CSG_Id_t *csgId_p = &csgId; - handoverRequestAcknowledgeIEs->presenceMask |= HANDOVERREQUESTACKNOWLEDGEIES_CSG_ID_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSG_Id, (void**)&csgId_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE csG_Id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CSG_Id, csgId_p); - memcpy(&handoverRequestAcknowledgeIEs->csG_Id, csgId_p, sizeof(CSG_Id_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - handoverRequestAcknowledgeIEs->presenceMask |= HANDOVERREQUESTACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&handoverRequestAcknowledgeIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message handoverrequestacknowledgeies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabsetuprequesties( - E_RABSetupRequestIEs_t *e_RABSetupRequestIEs, - ANY_t *any_p) { - - E_RABSetupRequest_t e_RABSetupRequest; - E_RABSetupRequest_t *e_RABSetupRequest_p = &e_RABSetupRequest; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(e_RABSetupRequestIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_E_RABSetupRequest, (void**)&e_RABSetupRequest_p); - - for (i = 0; i < e_RABSetupRequest_p->e_RABSetupRequest_ies.list.count; i++) { - IE_t *ie_p; - ie_p = e_RABSetupRequest_p->e_RABSetupRequest_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&e_RABSetupRequestIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&e_RABSetupRequestIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_uEaggregateMaximumBitrate: - { - UEAggregateMaximumBitrate_t ueAggregateMaximumBitrate; - UEAggregateMaximumBitrate_t *ueAggregateMaximumBitrate_p = &ueAggregateMaximumBitrate; - e_RABSetupRequestIEs->presenceMask |= E_RABSETUPREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UEAggregateMaximumBitrate, (void**)&ueAggregateMaximumBitrate_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE uEaggregateMaximumBitrate failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_UEAggregateMaximumBitrate, ueAggregateMaximumBitrate_p); - memcpy(&e_RABSetupRequestIEs->uEaggregateMaximumBitrate, ueAggregateMaximumBitrate_p, sizeof(UEAggregateMaximumBitrate_t)); - } break; - case ProtocolIE_ID_id_E_RABToBeSetupListBearerSUReq: - { - E_RABToBeSetupListBearerSUReq_t erabToBeSetupListBearerSUReq; - E_RABToBeSetupListBearerSUReq_t *erabToBeSetupListBearerSUReq_p = &erabToBeSetupListBearerSUReq; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSetupListBearerSUReq, (void**)&erabToBeSetupListBearerSUReq_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABToBeSetupListBearerSUReq failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABToBeSetupListBearerSUReq, erabToBeSetupListBearerSUReq_p); - memcpy(&e_RABSetupRequestIEs->e_RABToBeSetupListBearerSUReq, erabToBeSetupListBearerSUReq_p, sizeof(E_RABToBeSetupListBearerSUReq_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabsetuprequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_downlinkueassociatedlppatransporties( - DownlinkUEAssociatedLPPaTransportIEs_t *downlinkUEAssociatedLPPaTransportIEs, - ANY_t *any_p) { - - DownlinkUEAssociatedLPPaTransport_t downlinkUEAssociatedLPPaTransport; - DownlinkUEAssociatedLPPaTransport_t *downlinkUEAssociatedLPPaTransport_p = &downlinkUEAssociatedLPPaTransport; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(downlinkUEAssociatedLPPaTransportIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_DownlinkUEAssociatedLPPaTransport, (void**)&downlinkUEAssociatedLPPaTransport_p); - - for (i = 0; i < downlinkUEAssociatedLPPaTransport_p->downlinkUEAssociatedLPPaTransport_ies.list.count; i++) { - IE_t *ie_p; - ie_p = downlinkUEAssociatedLPPaTransport_p->downlinkUEAssociatedLPPaTransport_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&downlinkUEAssociatedLPPaTransportIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&downlinkUEAssociatedLPPaTransportIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_Routing_ID: - { - Routing_ID_t routingID; - Routing_ID_t *routingID_p = &routingID; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Routing_ID, (void**)&routingID_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE routing_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Routing_ID, routingID_p); - memcpy(&downlinkUEAssociatedLPPaTransportIEs->routing_ID, routingID_p, sizeof(Routing_ID_t)); - } break; - case ProtocolIE_ID_id_LPPa_PDU: - { - LPPa_PDU_t lpPaPDU; - LPPa_PDU_t *lpPaPDU_p = &lpPaPDU; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_LPPa_PDU, (void**)&lpPaPDU_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE lpPa_PDU failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_LPPa_PDU, lpPaPDU_p); - memcpy(&downlinkUEAssociatedLPPaTransportIEs->lpPa_PDU, lpPaPDU_p, sizeof(LPPa_PDU_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message downlinkueassociatedlppatransporties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_killrequesties( - KillRequestIEs_t *killRequestIEs, - ANY_t *any_p) { - - KillRequest_t killRequest; - KillRequest_t *killRequest_p = &killRequest; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(killRequestIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_KillRequest, (void**)&killRequest_p); - - for (i = 0; i < killRequest_p->killRequest_ies.list.count; i++) { - IE_t *ie_p; - ie_p = killRequest_p->killRequest_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MessageIdentifier: - { - MessageIdentifier_t messageIdentifier; - MessageIdentifier_t *messageIdentifier_p = &messageIdentifier; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MessageIdentifier, (void**)&messageIdentifier_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE messageIdentifier failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MessageIdentifier, messageIdentifier_p); - memcpy(&killRequestIEs->messageIdentifier, messageIdentifier_p, sizeof(MessageIdentifier_t)); - } break; - case ProtocolIE_ID_id_SerialNumber: - { - SerialNumber_t serialNumber; - SerialNumber_t *serialNumber_p = &serialNumber; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SerialNumber, (void**)&serialNumber_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE serialNumber failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_SerialNumber, serialNumber_p); - memcpy(&killRequestIEs->serialNumber, serialNumber_p, sizeof(SerialNumber_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_WarningAreaList: - { - WarningAreaList_t warningAreaList; - WarningAreaList_t *warningAreaList_p = &warningAreaList; - killRequestIEs->presenceMask |= KILLREQUESTIES_WARNINGAREALIST_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_WarningAreaList, (void**)&warningAreaList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE warningAreaList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_WarningAreaList, warningAreaList_p); - memcpy(&killRequestIEs->warningAreaList, warningAreaList_p, sizeof(WarningAreaList_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message killrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabmodifyresponseies( - E_RABModifyResponseIEs_t *e_RABModifyResponseIEs, - ANY_t *any_p) { - - E_RABModifyResponse_t e_RABModifyResponse; - E_RABModifyResponse_t *e_RABModifyResponse_p = &e_RABModifyResponse; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(e_RABModifyResponseIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_E_RABModifyResponse, (void**)&e_RABModifyResponse_p); - - for (i = 0; i < e_RABModifyResponse_p->e_RABModifyResponse_ies.list.count; i++) { - IE_t *ie_p; - ie_p = e_RABModifyResponse_p->e_RABModifyResponse_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&e_RABModifyResponseIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&e_RABModifyResponseIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_E_RABModifyListBearerModRes: - { - E_RABModifyListBearerModRes_t erabModifyListBearerModRes; - E_RABModifyListBearerModRes_t *erabModifyListBearerModRes_p = &erabModifyListBearerModRes; - e_RABModifyResponseIEs->presenceMask |= E_RABMODIFYRESPONSEIES_E_RABMODIFYLISTBEARERMODRES_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABModifyListBearerModRes, (void**)&erabModifyListBearerModRes_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABModifyListBearerModRes failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABModifyListBearerModRes, erabModifyListBearerModRes_p); - memcpy(&e_RABModifyResponseIEs->e_RABModifyListBearerModRes, erabModifyListBearerModRes_p, sizeof(E_RABModifyListBearerModRes_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_E_RABFailedToModifyList: - { - E_RABList_t erabList; - E_RABList_t *erabList_p = &erabList; - e_RABModifyResponseIEs->presenceMask |= E_RABMODIFYRESPONSEIES_E_RABLIST_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABList, (void**)&erabList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABFailedToModifyList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABList, erabList_p); - memcpy(&e_RABModifyResponseIEs->e_RABFailedToModifyList, erabList_p, sizeof(E_RABList_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - e_RABModifyResponseIEs->presenceMask |= E_RABMODIFYRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&e_RABModifyResponseIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyresponseies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabreleaseindicationies( - E_RABReleaseIndicationIEs_t *e_RABReleaseIndicationIEs, - ANY_t *any_p) { - - E_RABReleaseIndication_t e_RABReleaseIndication; - E_RABReleaseIndication_t *e_RABReleaseIndication_p = &e_RABReleaseIndication; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(e_RABReleaseIndicationIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_E_RABReleaseIndication, (void**)&e_RABReleaseIndication_p); - - for (i = 0; i < e_RABReleaseIndication_p->e_RABReleaseIndication_ies.list.count; i++) { - IE_t *ie_p; - ie_p = e_RABReleaseIndication_p->e_RABReleaseIndication_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&e_RABReleaseIndicationIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&e_RABReleaseIndicationIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_E_RABReleasedList: - { - E_RABList_t erabList; - E_RABList_t *erabList_p = &erabList; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABList, (void**)&erabList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABReleasedList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABList, erabList_p); - memcpy(&e_RABReleaseIndicationIEs->e_RABReleasedList, erabList_p, sizeof(E_RABList_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabreleaseindicationies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_enbconfigurationupdatefailureies( - ENBConfigurationUpdateFailureIEs_t *enbConfigurationUpdateFailureIEs, - ANY_t *any_p) { - - ENBConfigurationUpdateFailure_t eNBConfigurationUpdateFailure; - ENBConfigurationUpdateFailure_t *eNBConfigurationUpdateFailure_p = &eNBConfigurationUpdateFailure; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(enbConfigurationUpdateFailureIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_ENBConfigurationUpdateFailure, (void**)&eNBConfigurationUpdateFailure_p); - - for (i = 0; i < eNBConfigurationUpdateFailure_p->eNBConfigurationUpdateFailure_ies.list.count; i++) { - IE_t *ie_p; - ie_p = eNBConfigurationUpdateFailure_p->eNBConfigurationUpdateFailure_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_Cause: - { - Cause_t cause; - Cause_t *cause_p = &cause; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cause, cause_p); - memcpy(&enbConfigurationUpdateFailureIEs->cause, cause_p, sizeof(Cause_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_TimeToWait: - { - TimeToWait_t timeToWait; - TimeToWait_t *timeToWait_p = &timeToWait; - enbConfigurationUpdateFailureIEs->presenceMask |= ENBCONFIGURATIONUPDATEFAILUREIES_TIMETOWAIT_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TimeToWait, (void**)&timeToWait_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE timeToWait failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_TimeToWait, timeToWait_p); - memcpy(&enbConfigurationUpdateFailureIEs->timeToWait, timeToWait_p, sizeof(TimeToWait_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - enbConfigurationUpdateFailureIEs->presenceMask |= ENBCONFIGURATIONUPDATEFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&enbConfigurationUpdateFailureIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message enbconfigurationupdatefailureies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_writereplacewarningrequesties( - WriteReplaceWarningRequestIEs_t *writeReplaceWarningRequestIEs, - ANY_t *any_p) { - - WriteReplaceWarningRequest_t writeReplaceWarningRequest; - WriteReplaceWarningRequest_t *writeReplaceWarningRequest_p = &writeReplaceWarningRequest; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(writeReplaceWarningRequestIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_WriteReplaceWarningRequest, (void**)&writeReplaceWarningRequest_p); - - for (i = 0; i < writeReplaceWarningRequest_p->writeReplaceWarningRequest_ies.list.count; i++) { - IE_t *ie_p; - ie_p = writeReplaceWarningRequest_p->writeReplaceWarningRequest_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MessageIdentifier: - { - MessageIdentifier_t messageIdentifier; - MessageIdentifier_t *messageIdentifier_p = &messageIdentifier; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MessageIdentifier, (void**)&messageIdentifier_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE messageIdentifier failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MessageIdentifier, messageIdentifier_p); - memcpy(&writeReplaceWarningRequestIEs->messageIdentifier, messageIdentifier_p, sizeof(MessageIdentifier_t)); - } break; - case ProtocolIE_ID_id_SerialNumber: - { - SerialNumber_t serialNumber; - SerialNumber_t *serialNumber_p = &serialNumber; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SerialNumber, (void**)&serialNumber_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE serialNumber failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_SerialNumber, serialNumber_p); - memcpy(&writeReplaceWarningRequestIEs->serialNumber, serialNumber_p, sizeof(SerialNumber_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_WarningAreaList: - { - WarningAreaList_t warningAreaList; - WarningAreaList_t *warningAreaList_p = &warningAreaList; - writeReplaceWarningRequestIEs->presenceMask |= WRITEREPLACEWARNINGREQUESTIES_WARNINGAREALIST_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_WarningAreaList, (void**)&warningAreaList_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE warningAreaList failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_WarningAreaList, warningAreaList_p); - memcpy(&writeReplaceWarningRequestIEs->warningAreaList, warningAreaList_p, sizeof(WarningAreaList_t)); - } break; - case ProtocolIE_ID_id_RepetitionPeriod: - { - RepetitionPeriod_t repetitionPeriod; - RepetitionPeriod_t *repetitionPeriod_p = &repetitionPeriod; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RepetitionPeriod, (void**)&repetitionPeriod_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE repetitionPeriod failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_RepetitionPeriod, repetitionPeriod_p); - memcpy(&writeReplaceWarningRequestIEs->repetitionPeriod, repetitionPeriod_p, sizeof(RepetitionPeriod_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_ExtendedRepetitionPeriod: - { - ExtendedRepetitionPeriod_t extendedRepetitionPeriod; - ExtendedRepetitionPeriod_t *extendedRepetitionPeriod_p = &extendedRepetitionPeriod; - writeReplaceWarningRequestIEs->presenceMask |= WRITEREPLACEWARNINGREQUESTIES_EXTENDEDREPETITIONPERIOD_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ExtendedRepetitionPeriod, (void**)&extendedRepetitionPeriod_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE extendedRepetitionPeriod failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ExtendedRepetitionPeriod, extendedRepetitionPeriod_p); - memcpy(&writeReplaceWarningRequestIEs->extendedRepetitionPeriod, extendedRepetitionPeriod_p, sizeof(ExtendedRepetitionPeriod_t)); - } break; - case ProtocolIE_ID_id_NumberofBroadcastRequest: - { - NumberofBroadcastRequest_t numberofBroadcastRequest; - NumberofBroadcastRequest_t *numberofBroadcastRequest_p = &numberofBroadcastRequest; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_NumberofBroadcastRequest, (void**)&numberofBroadcastRequest_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE numberofBroadcastRequest failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_NumberofBroadcastRequest, numberofBroadcastRequest_p); - memcpy(&writeReplaceWarningRequestIEs->numberofBroadcastRequest, numberofBroadcastRequest_p, sizeof(NumberofBroadcastRequest_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_WarningType: - { - WarningType_t warningType; - WarningType_t *warningType_p = &warningType; - writeReplaceWarningRequestIEs->presenceMask |= WRITEREPLACEWARNINGREQUESTIES_WARNINGTYPE_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_WarningType, (void**)&warningType_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE warningType failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_WarningType, warningType_p); - memcpy(&writeReplaceWarningRequestIEs->warningType, warningType_p, sizeof(WarningType_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_WarningSecurityInfo: - { - WarningSecurityInfo_t warningSecurityInfo; - WarningSecurityInfo_t *warningSecurityInfo_p = &warningSecurityInfo; - writeReplaceWarningRequestIEs->presenceMask |= WRITEREPLACEWARNINGREQUESTIES_WARNINGSECURITYINFO_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_WarningSecurityInfo, (void**)&warningSecurityInfo_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE warningSecurityInfo failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_WarningSecurityInfo, warningSecurityInfo_p); - memcpy(&writeReplaceWarningRequestIEs->warningSecurityInfo, warningSecurityInfo_p, sizeof(WarningSecurityInfo_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_DataCodingScheme: - { - DataCodingScheme_t dataCodingScheme; - DataCodingScheme_t *dataCodingScheme_p = &dataCodingScheme; - writeReplaceWarningRequestIEs->presenceMask |= WRITEREPLACEWARNINGREQUESTIES_DATACODINGSCHEME_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_DataCodingScheme, (void**)&dataCodingScheme_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE dataCodingScheme failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_DataCodingScheme, dataCodingScheme_p); - memcpy(&writeReplaceWarningRequestIEs->dataCodingScheme, dataCodingScheme_p, sizeof(DataCodingScheme_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_WarningMessageContents: - { - WarningMessageContents_t warningMessageContents; - WarningMessageContents_t *warningMessageContents_p = &warningMessageContents; - writeReplaceWarningRequestIEs->presenceMask |= WRITEREPLACEWARNINGREQUESTIES_WARNINGMESSAGECONTENTS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_WarningMessageContents, (void**)&warningMessageContents_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE warningMessageContents failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_WarningMessageContents, warningMessageContents_p); - memcpy(&writeReplaceWarningRequestIEs->warningMessageContents, warningMessageContents_p, sizeof(WarningMessageContents_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_ConcurrentWarningMessageIndicator: - { - ConcurrentWarningMessageIndicator_t concurrentWarningMessageIndicator; - ConcurrentWarningMessageIndicator_t *concurrentWarningMessageIndicator_p = &concurrentWarningMessageIndicator; - writeReplaceWarningRequestIEs->presenceMask |= WRITEREPLACEWARNINGREQUESTIES_CONCURRENTWARNINGMESSAGEINDICATOR_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ConcurrentWarningMessageIndicator, (void**)&concurrentWarningMessageIndicator_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE concurrentWarningMessageIndicator failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ConcurrentWarningMessageIndicator, concurrentWarningMessageIndicator_p); - memcpy(&writeReplaceWarningRequestIEs->concurrentWarningMessageIndicator, concurrentWarningMessageIndicator_p, sizeof(ConcurrentWarningMessageIndicator_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message writereplacewarningrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_s1setupfailureies( - S1SetupFailureIEs_t *s1SetupFailureIEs, - ANY_t *any_p) { - - S1SetupFailure_t s1SetupFailure; - S1SetupFailure_t *s1SetupFailure_p = &s1SetupFailure; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(s1SetupFailureIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_S1SetupFailure, (void**)&s1SetupFailure_p); - - for (i = 0; i < s1SetupFailure_p->s1SetupFailure_ies.list.count; i++) { - IE_t *ie_p; - ie_p = s1SetupFailure_p->s1SetupFailure_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_Cause: - { - Cause_t cause; - Cause_t *cause_p = &cause; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE cause failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Cause, cause_p); - memcpy(&s1SetupFailureIEs->cause, cause_p, sizeof(Cause_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_TimeToWait: - { - TimeToWait_t timeToWait; - TimeToWait_t *timeToWait_p = &timeToWait; - s1SetupFailureIEs->presenceMask |= S1SETUPFAILUREIES_TIMETOWAIT_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TimeToWait, (void**)&timeToWait_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE timeToWait failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_TimeToWait, timeToWait_p); - memcpy(&s1SetupFailureIEs->timeToWait, timeToWait_p, sizeof(TimeToWait_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_CriticalityDiagnostics: - { - CriticalityDiagnostics_t criticalityDiagnostics; - CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics; - s1SetupFailureIEs->presenceMask |= S1SETUPFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p); - memcpy(&s1SetupFailureIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message s1setupfailureies", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabmodifyrequesties( - E_RABModifyRequestIEs_t *e_RABModifyRequestIEs, - ANY_t *any_p) { - - E_RABModifyRequest_t e_RABModifyRequest; - E_RABModifyRequest_t *e_RABModifyRequest_p = &e_RABModifyRequest; - int i, decoded = 0; - int tempDecoded = 0; - assert(any_p != NULL); - assert(e_RABModifyRequestIEs != NULL); - - ANY_to_type_aper(any_p, &asn_DEF_E_RABModifyRequest, (void**)&e_RABModifyRequest_p); - - for (i = 0; i < e_RABModifyRequest_p->e_RABModifyRequest_ies.list.count; i++) { - IE_t *ie_p; - ie_p = e_RABModifyRequest_p->e_RABModifyRequest_ies.list.array[i]; - switch(ie_p->id) { - case ProtocolIE_ID_id_MME_UE_S1AP_ID: - { - MME_UE_S1AP_ID_t mmeues1apid; - MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p); - memcpy(&e_RABModifyRequestIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t)); - } break; - case ProtocolIE_ID_id_eNB_UE_S1AP_ID: - { - ENB_UE_S1AP_ID_t enbues1apid; - ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p); - memcpy(&e_RABModifyRequestIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t)); - } break; - /* Optional field */ - case ProtocolIE_ID_id_uEaggregateMaximumBitrate: - { - UEAggregateMaximumBitrate_t ueAggregateMaximumBitrate; - UEAggregateMaximumBitrate_t *ueAggregateMaximumBitrate_p = &ueAggregateMaximumBitrate; - e_RABModifyRequestIEs->presenceMask |= E_RABMODIFYREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UEAggregateMaximumBitrate, (void**)&ueAggregateMaximumBitrate_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE uEaggregateMaximumBitrate failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_UEAggregateMaximumBitrate, ueAggregateMaximumBitrate_p); - memcpy(&e_RABModifyRequestIEs->uEaggregateMaximumBitrate, ueAggregateMaximumBitrate_p, sizeof(UEAggregateMaximumBitrate_t)); - } break; - case ProtocolIE_ID_id_E_RABToBeModifiedListBearerModReq: - { - E_RABToBeModifiedListBearerModReq_t erabToBeModifiedListBearerModReq; - E_RABToBeModifiedListBearerModReq_t *erabToBeModifiedListBearerModReq_p = &erabToBeModifiedListBearerModReq; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeModifiedListBearerModReq, (void**)&erabToBeModifiedListBearerModReq_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABToBeModifiedListBearerModReq failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABToBeModifiedListBearerModReq, erabToBeModifiedListBearerModReq_p); - memcpy(&e_RABModifyRequestIEs->e_RABToBeModifiedListBearerModReq, erabToBeModifiedListBearerModReq_p, sizeof(E_RABToBeModifiedListBearerModReq_t)); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabtobesetuplistbearersureq( - E_RABToBeSetupListBearerSUReqIEs_t *e_RABToBeSetupListBearerSUReqIEs, - E_RABToBeSetupListBearerSUReq_t *e_RABToBeSetupListBearerSUReq) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < e_RABToBeSetupListBearerSUReq->list.count; i++) { - IE_t *ie_p = e_RABToBeSetupListBearerSUReq->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_E_RABToBeSetupItemBearerSUReq: - { - E_RABToBeSetupItemBearerSUReq_t *erabToBeSetupItemBearerSUReq_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSetupItemBearerSUReq, (void**)&erabToBeSetupItemBearerSUReq_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABToBeSetupItemBearerSUReq failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABToBeSetupItemBearerSUReq, erabToBeSetupItemBearerSUReq_p); - ASN_SEQUENCE_ADD(&e_RABToBeSetupListBearerSUReqIEs->e_RABToBeSetupItemBearerSUReq, erabToBeSetupItemBearerSUReq_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_ue_associatedlogicals1_connectionlistresack( - UE_associatedLogicalS1_ConnectionListResAckIEs_t *uE_associatedLogicalS1_ConnectionListResAckIEs, - UE_associatedLogicalS1_ConnectionListResAck_t *uE_associatedLogicalS1_ConnectionListResAck) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < uE_associatedLogicalS1_ConnectionListResAck->list.count; i++) { - IE_t *ie_p = uE_associatedLogicalS1_ConnectionListResAck->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_UE_associatedLogicalS1_ConnectionItem: - { - UE_associatedLogicalS1_ConnectionItem_t *uEassociatedLogicalS1ConnectionItem_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UE_associatedLogicalS1_ConnectionItem, (void**)&uEassociatedLogicalS1ConnectionItem_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE uE_associatedLogicalS1_ConnectionItem failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_UE_associatedLogicalS1_ConnectionItem, uEassociatedLogicalS1ConnectionItem_p); - ASN_SEQUENCE_ADD(&uE_associatedLogicalS1_ConnectionListResAckIEs->uE_associatedLogicalS1_ConnectionItemResAck, uEassociatedLogicalS1ConnectionItem_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_tailist( - TAIListIEs_t *taiListIEs, - TAIList_t *taiList) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < taiList->list.count; i++) { - IE_t *ie_p = taiList->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_TAIItem: - { - TAIItem_t *taiItem_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TAIItem, (void**)&taiItem_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE taiItem failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_TAIItem, taiItem_p); - ASN_SEQUENCE_ADD(&taiListIEs->taiItem, taiItem_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabadmittedlist( - E_RABAdmittedListIEs_t *e_RABAdmittedListIEs, - E_RABAdmittedList_t *e_RABAdmittedList) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < e_RABAdmittedList->list.count; i++) { - IE_t *ie_p = e_RABAdmittedList->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_E_RABAdmittedItem: - { - E_RABAdmittedItem_t *erabAdmittedItem_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABAdmittedItem, (void**)&erabAdmittedItem_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABAdmittedItem failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABAdmittedItem, erabAdmittedItem_p); - ASN_SEQUENCE_ADD(&e_RABAdmittedListIEs->e_RABAdmittedItem, erabAdmittedItem_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rablist( - E_RABListIEs_t *e_RABListIEs, - E_RABList_t *e_RABList) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < e_RABList->list.count; i++) { - IE_t *ie_p = e_RABList->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_E_RABItem: - { - E_RABItem_t *erabItem_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABItem, (void**)&erabItem_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABItem failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABItem, erabItem_p); - ASN_SEQUENCE_ADD(&e_RABListIEs->e_RABItem, erabItem_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabtobesetuplisthoreq( - E_RABToBeSetupListHOReqIEs_t *e_RABToBeSetupListHOReqIEs, - E_RABToBeSetupListHOReq_t *e_RABToBeSetupListHOReq) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < e_RABToBeSetupListHOReq->list.count; i++) { - IE_t *ie_p = e_RABToBeSetupListHOReq->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_E_RABToBeSetupItemHOReq: - { - E_RABToBeSetupItemHOReq_t *erabToBeSetupItemHOReq_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSetupItemHOReq, (void**)&erabToBeSetupItemHOReq_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABToBeSetupItemHOReq failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABToBeSetupItemHOReq, erabToBeSetupItemHOReq_p); - ASN_SEQUENCE_ADD(&e_RABToBeSetupListHOReqIEs->e_RABToBeSetupItemHOReq, erabToBeSetupItemHOReq_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabsetuplistbearersures( - E_RABSetupListBearerSUResIEs_t *e_RABSetupListBearerSUResIEs, - E_RABSetupListBearerSURes_t *e_RABSetupListBearerSURes) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < e_RABSetupListBearerSURes->list.count; i++) { - IE_t *ie_p = e_RABSetupListBearerSURes->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_E_RABSetupItemBearerSURes: - { - E_RABSetupItemBearerSURes_t *erabSetupItemBearerSURes_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABSetupItemBearerSURes, (void**)&erabSetupItemBearerSURes_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABSetupItemBearerSURes failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABSetupItemBearerSURes, erabSetupItemBearerSURes_p); - ASN_SEQUENCE_ADD(&e_RABSetupListBearerSUResIEs->e_RABSetupItemBearerSURes, erabSetupItemBearerSURes_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabtobesetuplistctxtsureq( - E_RABToBeSetupListCtxtSUReqIEs_t *e_RABToBeSetupListCtxtSUReqIEs, - E_RABToBeSetupListCtxtSUReq_t *e_RABToBeSetupListCtxtSUReq) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < e_RABToBeSetupListCtxtSUReq->list.count; i++) { - IE_t *ie_p = e_RABToBeSetupListCtxtSUReq->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_E_RABToBeSetupItemCtxtSUReq: - { - E_RABToBeSetupItemCtxtSUReq_t *erabToBeSetupItemCtxtSUReq_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSetupItemCtxtSUReq, (void**)&erabToBeSetupItemCtxtSUReq_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABToBeSetupItemCtxtSUReq failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABToBeSetupItemCtxtSUReq, erabToBeSetupItemCtxtSUReq_p); - ASN_SEQUENCE_ADD(&e_RABToBeSetupListCtxtSUReqIEs->e_RABToBeSetupItemCtxtSUReq, erabToBeSetupItemCtxtSUReq_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabsetuplistctxtsures( - E_RABSetupListCtxtSUResIEs_t *e_RABSetupListCtxtSUResIEs, - E_RABSetupListCtxtSURes_t *e_RABSetupListCtxtSURes) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < e_RABSetupListCtxtSURes->list.count; i++) { - IE_t *ie_p = e_RABSetupListCtxtSURes->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_E_RABSetupItemCtxtSURes: - { - E_RABSetupItemCtxtSURes_t *erabSetupItemCtxtSURes_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABSetupItemCtxtSURes, (void**)&erabSetupItemCtxtSURes_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABSetupItemCtxtSURes failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABSetupItemCtxtSURes, erabSetupItemCtxtSURes_p); - ASN_SEQUENCE_ADD(&e_RABSetupListCtxtSUResIEs->e_RABSetupItemCtxtSURes, erabSetupItemCtxtSURes_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabinformationlist( - E_RABInformationListIEs_t *e_RABInformationListIEs, - E_RABInformationList_t *e_RABInformationList) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < e_RABInformationList->list.count; i++) { - IE_t *ie_p = e_RABInformationList->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_E_RABInformationListItem: - { - E_RABInformationListItem_t *erabInformationListItem_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABInformationListItem, (void**)&erabInformationListItem_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABInformationListItem failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABInformationListItem, erabInformationListItem_p); - ASN_SEQUENCE_ADD(&e_RABInformationListIEs->e_RABInformationItem, erabInformationListItem_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabreleaselistbearerrelcomp( - E_RABReleaseListBearerRelCompIEs_t *e_RABReleaseListBearerRelCompIEs, - E_RABReleaseListBearerRelComp_t *e_RABReleaseListBearerRelComp) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < e_RABReleaseListBearerRelComp->list.count; i++) { - IE_t *ie_p = e_RABReleaseListBearerRelComp->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_E_RABReleaseItemBearerRelComp: - { - E_RABReleaseItemBearerRelComp_t *erabReleaseItemBearerRelComp_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABReleaseItemBearerRelComp, (void**)&erabReleaseItemBearerRelComp_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABReleaseItemBearerRelComp failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABReleaseItemBearerRelComp, erabReleaseItemBearerRelComp_p); - ASN_SEQUENCE_ADD(&e_RABReleaseListBearerRelCompIEs->e_RABReleaseItemBearerRelComp, erabReleaseItemBearerRelComp_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabtobemodifiedlistbearermodreq( - E_RABToBeModifiedListBearerModReqIEs_t *e_RABToBeModifiedListBearerModReqIEs, - E_RABToBeModifiedListBearerModReq_t *e_RABToBeModifiedListBearerModReq) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < e_RABToBeModifiedListBearerModReq->list.count; i++) { - IE_t *ie_p = e_RABToBeModifiedListBearerModReq->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_E_RABToBeModifiedItemBearerModReq: - { - E_RABToBeModifiedItemBearerModReq_t *erabToBeModifiedItemBearerModReq_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeModifiedItemBearerModReq, (void**)&erabToBeModifiedItemBearerModReq_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABToBeModifiedItemBearerModReq failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABToBeModifiedItemBearerModReq, erabToBeModifiedItemBearerModReq_p); - ASN_SEQUENCE_ADD(&e_RABToBeModifiedListBearerModReqIEs->e_RABToBeModifiedItemBearerModReq, erabToBeModifiedItemBearerModReq_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabtobeswitcheddllist( - E_RABToBeSwitchedDLListIEs_t *e_RABToBeSwitchedDLListIEs, - E_RABToBeSwitchedDLList_t *e_RABToBeSwitchedDLList) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < e_RABToBeSwitchedDLList->list.count; i++) { - IE_t *ie_p = e_RABToBeSwitchedDLList->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_E_RABToBeSwitchedDLItem: - { - E_RABToBeSwitchedDLItem_t *erabToBeSwitchedDLItem_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSwitchedDLItem, (void**)&erabToBeSwitchedDLItem_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABToBeSwitchedDLItem failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABToBeSwitchedDLItem, erabToBeSwitchedDLItem_p); - ASN_SEQUENCE_ADD(&e_RABToBeSwitchedDLListIEs->e_RABToBeSwitchedDLItem, erabToBeSwitchedDLItem_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_bearers_subjecttostatustransfer_list( - Bearers_SubjectToStatusTransfer_ListIEs_t *bearers_SubjectToStatusTransfer_ListIEs, - Bearers_SubjectToStatusTransfer_List_t *bearers_SubjectToStatusTransfer_List) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < bearers_SubjectToStatusTransfer_List->list.count; i++) { - IE_t *ie_p = bearers_SubjectToStatusTransfer_List->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_Bearers_SubjectToStatusTransfer_Item: - { - Bearers_SubjectToStatusTransfer_Item_t *bearersSubjectToStatusTransferItem_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Bearers_SubjectToStatusTransfer_Item, (void**)&bearersSubjectToStatusTransferItem_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE bearers_SubjectToStatusTransfer_Item failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_Bearers_SubjectToStatusTransfer_Item, bearersSubjectToStatusTransferItem_p); - ASN_SEQUENCE_ADD(&bearers_SubjectToStatusTransfer_ListIEs->bearers_SubjectToStatusTransfer_Item, bearersSubjectToStatusTransferItem_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabtobeswitchedullist( - E_RABToBeSwitchedULListIEs_t *e_RABToBeSwitchedULListIEs, - E_RABToBeSwitchedULList_t *e_RABToBeSwitchedULList) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < e_RABToBeSwitchedULList->list.count; i++) { - IE_t *ie_p = e_RABToBeSwitchedULList->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_E_RABToBeSwitchedULItem: - { - E_RABToBeSwitchedULItem_t *erabToBeSwitchedULItem_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSwitchedULItem, (void**)&erabToBeSwitchedULItem_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABToBeSwitchedULItem failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABToBeSwitchedULItem, erabToBeSwitchedULItem_p); - ASN_SEQUENCE_ADD(&e_RABToBeSwitchedULListIEs->e_RABToBeSwitchedULItem, erabToBeSwitchedULItem_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabdataforwardinglist( - E_RABDataForwardingListIEs_t *e_RABDataForwardingListIEs, - E_RABDataForwardingList_t *e_RABDataForwardingList) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < e_RABDataForwardingList->list.count; i++) { - IE_t *ie_p = e_RABDataForwardingList->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_E_RABDataForwardingItem: - { - E_RABDataForwardingItem_t *erabDataForwardingItem_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABDataForwardingItem, (void**)&erabDataForwardingItem_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABDataForwardingItem failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABDataForwardingItem, erabDataForwardingItem_p); - ASN_SEQUENCE_ADD(&e_RABDataForwardingListIEs->e_RABDataForwardingItem, erabDataForwardingItem_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabmodifylistbearermodres( - E_RABModifyListBearerModResIEs_t *e_RABModifyListBearerModResIEs, - E_RABModifyListBearerModRes_t *e_RABModifyListBearerModRes) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < e_RABModifyListBearerModRes->list.count; i++) { - IE_t *ie_p = e_RABModifyListBearerModRes->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_E_RABModifyItemBearerModRes: - { - E_RABModifyItemBearerModRes_t *erabModifyItemBearerModRes_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABModifyItemBearerModRes, (void**)&erabModifyItemBearerModRes_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABModifyItemBearerModRes failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABModifyItemBearerModRes, erabModifyItemBearerModRes_p); - ASN_SEQUENCE_ADD(&e_RABModifyListBearerModResIEs->e_RABModifyItemBearerModRes, erabModifyItemBearerModRes_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_ue_associatedlogicals1_connectionlistres( - UE_associatedLogicalS1_ConnectionListResIEs_t *uE_associatedLogicalS1_ConnectionListResIEs, - UE_associatedLogicalS1_ConnectionListRes_t *uE_associatedLogicalS1_ConnectionListRes) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < uE_associatedLogicalS1_ConnectionListRes->list.count; i++) { - IE_t *ie_p = uE_associatedLogicalS1_ConnectionListRes->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_UE_associatedLogicalS1_ConnectionItem: - { - UE_associatedLogicalS1_ConnectionItem_t *uEassociatedLogicalS1ConnectionItem_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UE_associatedLogicalS1_ConnectionItem, (void**)&uEassociatedLogicalS1ConnectionItem_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE uE_associatedLogicalS1_ConnectionItem failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_UE_associatedLogicalS1_ConnectionItem, uEassociatedLogicalS1ConnectionItem_p); - ASN_SEQUENCE_ADD(&uE_associatedLogicalS1_ConnectionListResIEs->uE_associatedLogicalS1_ConnectionItemRes, uEassociatedLogicalS1ConnectionItem_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - -int s1ap_decode_e_rabfailedtosetuplisthoreqack( - E_RABFailedtoSetupListHOReqAckIEs_t *e_RABFailedtoSetupListHOReqAckIEs, - E_RABFailedtoSetupListHOReqAck_t *e_RABFailedtoSetupListHOReqAck) { - - int i, decoded = 0; - int tempDecoded = 0; - - for (i = 0; i < e_RABFailedtoSetupListHOReqAck->list.count; i++) { - IE_t *ie_p = e_RABFailedtoSetupListHOReqAck->list.array[i]; - switch (ie_p->id) { - case ProtocolIE_ID_id_E_RABFailedtoSetupItemHOReqAck: - { - E_RABFailedToSetupItemHOReqAck_t *erabFailedToSetupItemHOReqAck_p; - tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABFailedToSetupItemHOReqAck, (void**)&erabFailedToSetupItemHOReqAck_p); - if (tempDecoded < 0) { - S1AP_DEBUG("Decoding of IE e_RABFailedtoSetupItemHOReqAck failed"); - return -1; - } - decoded += tempDecoded; - if (asn1_xer_print) - xer_fprint(stdout, &asn_DEF_E_RABFailedToSetupItemHOReqAck, erabFailedToSetupItemHOReqAck_p); - ASN_SEQUENCE_ADD(&e_RABFailedtoSetupListHOReqAckIEs->e_RABFailedtoSetupItemHOReqAck, erabFailedToSetupItemHOReqAck_p); - } break; - default: - S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id); - return -1; - } - } - return decoded; -} - diff --git a/openair3/OPENAIRMME/S1AP/s1ap_eNB.c b/openair3/OPENAIRMME/S1AP/s1ap_eNB.c deleted file mode 100644 index 669038972a..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_eNB.c +++ /dev/null @@ -1,249 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -/*! \file s1ap_eNB.c - * \brief s1ap procedures for eNB - * \author Sebastien ROUX <sebastien.roux@eurecom.fr> - * \date 2012 - * \version 0.1 - */ - -#include <string.h> -#include <assert.h> - -#include "sctp_primitives_client.h" -// #include "s1ap_common.h" -#include "s1ap_eNB.h" -#include "s1ap_ies_defs.h" - -static struct s1ap_eNB_description_s *eNB_list_head = NULL; -static struct s1ap_eNB_description_s *eNB_list_tail = NULL; -static uint32_t nb_eNB = 0; - -struct s1ap_eNB_description_s* s1ap_eNB_add_new(void) { - - struct s1ap_eNB_description_s* eNB_ref; - if ((eNB_ref = malloc(sizeof(struct s1ap_eNB_description_s))) == NULL) - return NULL; - if (eNB_list_head == NULL) { - eNB_list_head = eNB_list_tail = eNB_ref; - eNB_ref->next_eNB = NULL; - eNB_ref->previous_eNB = NULL; - } else { - eNB_list_tail->next_eNB = eNB_ref; - eNB_ref->previous_eNB = eNB_list_tail; - eNB_ref->next_eNB = NULL; - eNB_list_tail = eNB_ref; - } - /* Initializing UE related data */ - eNB_ref->nb_ue = 0; - eNB_ref->ue_list_head = NULL; - eNB_ref->ue_list_tail = NULL; - - nb_eNB++; - return eNB_ref; -} - -struct s1ap_eNB_description_s* s1ap_get_eNB_assoc_id(uint32_t assocId) { - struct s1ap_eNB_description_s* eNB_ref; - - eNB_ref = eNB_list_head; - - while(eNB_ref != NULL) { - if (eNB_ref->assocId == assocId) - return eNB_ref; - eNB_ref = eNB_ref->next_eNB; - } - return NULL; -} - -struct s1ap_eNB_description_s* s1ap_get_eNB_eNB_id(uint8_t eNB_id) { - struct s1ap_eNB_description_s* eNB_ref; - - eNB_ref = eNB_list_head; - - while(eNB_ref != NULL) { - if (eNB_ref->eNB_id == eNB_id) - return eNB_ref; - eNB_ref = eNB_ref->next_eNB; - } - return NULL; -} - -struct s1ap_eNB_UE_description_s *s1ap_UE_add_new(struct s1ap_eNB_description_s *eNB_ref) { - struct s1ap_eNB_UE_description_s *ue_ref; - - if (eNB_ref == NULL) return NULL; - - ue_ref = malloc(sizeof(struct s1ap_eNB_UE_description_s)); - if (ue_ref == NULL) return NULL; - /* No UE in list */ - if (eNB_ref->ue_list_head == NULL) { - eNB_ref->ue_list_head = eNB_ref->ue_list_tail = ue_ref; - ue_ref->next_ue = NULL; - ue_ref->previous_ue = NULL; - } - ue_ref->eNB = eNB_ref; - eNB_ref->nb_ue ++; - return ue_ref; -} - -struct s1ap_eNB_UE_description_s *s1ap_get_ue_id_pair(uint8_t eNB_id, uint8_t ue_id) { - struct s1ap_eNB_description_s* eNB_ref; - struct s1ap_eNB_UE_description_s* ue_ref; - - if ((eNB_ref = s1ap_get_eNB_eNB_id(eNB_id)) == NULL) return NULL; - for (ue_ref = eNB_ref->ue_list_head; ue_ref; ue_ref->next_ue) { - if (ue_ref->eNB_UE_s1ap_id == ue_id) - break; - } - return ue_ref; -} - -struct s1ap_eNB_UE_description_s *s1ap_get_ue_assoc_id_eNB_ue_s1ap_id( - uint32_t assoc_id, - uint32_t eNB_ue_s1ap_id) { - - struct s1ap_eNB_description_s* eNB_ref; - struct s1ap_eNB_UE_description_s* ue_ref; - - if ((eNB_ref = s1ap_get_eNB_assoc_id(assoc_id)) == NULL) return NULL; - - ue_ref = eNB_ref->ue_list_head; - - while(ue_ref != NULL) { - if (ue_ref->eNB_UE_s1ap_id == eNB_ue_s1ap_id) return ue_ref; - ue_ref = ue_ref->next_ue; - } - /* Not found -> return NULL */ - return NULL; -} - -int s1ap_sctp_connected_callback(void *args, uint32_t assocId, uint32_t instreams, uint32_t outstreams) { - - struct s1ap_eNB_description_s* eNB_ref; - - if ((eNB_ref = s1ap_eNB_add_new()) == NULL) - return; - - eNB_ref->eNB_id = *((uint8_t*)args); - eNB_ref->assocId = assocId; - eNB_ref->instreams = instreams; - eNB_ref->outstreams = outstreams; - eNB_ref->state = S1AP_ENB_STATE_DECONNECTED; - /* First usable stream for UE associated signalling */ - eNB_ref->nextstream = 1; - if (s1ap_eNB_generate_s1_setup_request(eNB_ref) < 0) { - S1AP_ERROR("[eNB %02d] Failed to encode S1 Setup Request\n", eNB_ref->eNB_id); - return -1; - } - /* Waiting for the response from MME */ - while ((volatile)(eNB_ref->state) & S1AP_ENB_STATE_WAITING) { - } - return 0; -} - -/* Function called every time we received something on SCTP */ -int s1ap_sctp_recv_callback(uint32_t assocId, uint32_t stream, uint8_t *buffer, uint32_t length) { - s1ap_message message; - - if (s1ap_eNB_decode_pdu(&message, buffer, length) < 0) - return -1; - return s1ap_eNB_handle_message(assocId, stream, &message); -} - -int s1ap_eNB_new_data_request(uint8_t eNB_id, uint8_t ue_id, uint8_t *buffer, uint32_t length) { - s1ap_message message; - struct s1ap_eNB_UE_description_s *ue_ref; - struct s1ap_eNB_description_s *eNB_ref; - - /* If we don't found the eNB as S1 associated, this may indicate that no S1 Setup Request has been sent, - * or S1 Setup has failed. - */ - if ((eNB_ref = s1ap_get_eNB_eNB_id(eNB_id)) == NULL) { - S1AP_ERROR("This eNB (%d) has no known S1 association with any MME\n", eNB_id); - return -1; - } - - ///TODO: Check if eNB is associated to a MME - - /* Searching for UE in eNB. - * If we failed founding it, request a new initial UE message to MME. - */ - if ((ue_ref = s1ap_get_ue_id_pair(eNB_id, ue_id)) == NULL) { - if ((ue_ref = s1ap_UE_add_new(eNB_ref)) == NULL) { - /* We failed to allocate a new UE in list */ - S1AP_ERROR("Failed to allocate new UE description for UE %d attached to eNB %d\n", - ue_id, eNB_id); - return -1; - } - ue_ref->eNB_UE_s1ap_id = ue_id; - /* MME UE S1AP ID is allocated by MME, waiting for Initial Context Setup Request Message - * before setting it. - */ - ue_ref->mme_UE_s1ap_id = 0; - ue_ref->eNB->nextstream++; - /* Do we reached max number of output streams ?. - * If so wrap to 1. - */ - if (ue_ref->eNB->nextstream == ue_ref->eNB->outstreams) - ue_ref->eNB->nextstream = 1; - - /* Set the output stream that will be used for this UE */ - ue_ref->stream_send = ue_ref->eNB->nextstream; - - S1AP_ERROR("Sending Initial UE message for UE %d on eNB %d\n", - ue_id, eNB_id); - - return s1ap_eNB_generate_initial_ue_message(ue_ref, buffer, length); - } else { - /* UE is already associated to a valid Context. - * Consider request as Uplink NAS transport. - */ - S1AP_ERROR("Sending Uplink NAS transport message for UE %d on eNB %d\n", - ue_id, eNB_id); - return s1ap_eNB_generate_uplink_nas_transport(ue_ref, buffer, length); - } -} - -int s1ap_eNB_init(const char *mme_ip_address, const uint8_t eNB_id) { - uint8_t args = eNB_id; - if (sctp_connect_to_remote_host( - mme_ip_address, 36412, &args, - s1ap_sctp_connected_callback, - s1ap_sctp_recv_callback) < 0) - { - S1AP_ERROR("[eNB %02d] Failed to setup SCTP\n", eNB_id); - return -1; - } - - S1AP_DEBUG("[eNB %02d] successfully connected to MME\n", eNB_id); - return 0; -} diff --git a/openair3/OPENAIRMME/S1AP/s1ap_eNB.h b/openair3/OPENAIRMME/S1AP/s1ap_eNB.h deleted file mode 100644 index 7961b86473..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_eNB.h +++ /dev/null @@ -1,140 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <stdint.h> - -#ifndef S1AP_ENB_H_ -#define S1AP_ENB_H_ - -/** @defgroup _s1ap_impl_ S1AP Layer Reference Implementation - * @ingroup _ref_implementation_ - * @{ - */ - -typedef struct s1ap_eNB_config_s { - char *ip_address; - uint8_t present; - uint8_t eNB_instance_id; -} s1ap_eNB_config_t; - -struct s1ap_e_rab_level_qos_parameter { - uint8_t qci; - //TODO: be completed -}; - -enum s1ap_ip_addr_e { - S1AP_ADDR_IPV4 = 0x1, ///< IP address is only IPv4 - S1AP_ADDR_IPV6 = 0x2, ///< IP address is only IPv6 - S1AP_ADDR_IPV4_IPV6 = 0x3, ///< IP address present IPv4 and IPv6 -}; - -struct s1ap_ip_addr_s { - enum s1ap_ip_addr_e ip_addr_present; - uint8_t ipv4_addr[4]; ///< IPv4 address = 32bits - uint8_t ipv6_addr[8]; ///< IPv6 address = 128bits -}; - -struct s1ap_ue_e_rab_description_s { - struct s1ap_ue_e_rab_description_s *next_e_rab; - - uint8_t e_rab_id; ///< E-RAB Id - uint8_t gtp_teid[4]; ///< GTP-Tunnel Endpoint Identifier - struct s1ap_e_rab_level_qos_parameter qos_parameter; ///< E-RAB QOS level parameter - struct s1ap_ip_addr_s ip_addr; -}; - -struct s1ap_eNB_UE_description_s { - struct s1ap_eNB_UE_description_s *next_ue; - struct s1ap_eNB_UE_description_s *previous_ue; - - struct s1ap_eNB_description_s *eNB; ///< Quick reference to eNB this UE is attached to - - uint32_t eNB_UE_s1ap_id; - uint32_t mme_UE_s1ap_id; - uint32_t stream_recv; - uint32_t stream_send; - - /** \brief Maximum aggregate bitrates - * @{ */ - uint64_t maximum_bit_rate_downlink; ///< Downlink bitrate - uint64_t maximum_bit_rate_uplink; ///< Uplink bitrate - /* @} */ - - /** \brief UE security capabilities - * @{ */ - uint16_t encryptions_algorithms; ///< = 0, only EEA0 supported. = 1/2 128-EEA 1/2 supported - uint16_t integrity_algorithms; ///< = 1, 128-EIA1 supported, = 2 128-EIA2 supported - /* @} */ - - uint8_t security_key[32]; ///KeNB security key - - /** \brief E-RAB parameters - * @{ */ - struct s1ap_ue_e_rab_description_s *e_rab_list_head; ///< List of E-RAB setup-ed for UE - uint8_t nb_of_e_rabs; ///< Number of E-RAB - /* @} */ -}; - -struct s1ap_eNB_description_s { - struct s1ap_eNB_description_s *next_eNB; - struct s1ap_eNB_description_s *previous_eNB; - - struct s1ap_eNB_UE_description_s *ue_list_head; - struct s1ap_eNB_UE_description_s *ue_list_tail; - uint32_t nb_ue; - - uint8_t eNB_id; - uint8_t state; - uint32_t assocId; - uint32_t instreams; - uint32_t outstreams; - uint32_t nextstream; ///< First usable stream for UE associated signalling -} s1ap_eNB_description_t; - -enum s1ap_eNB_state_s{ - S1AP_ENB_STATE_DECONNECTED = 0x0, - S1AP_ENB_STATE_WAITING = 0x1, - S1AP_ENB_STATE_CONNECTED = 0x2, - S1AP_ENB_STATE_MAX = S1AP_ENB_STATE_CONNECTED, -} s1ap_eNB_state_t; - -int s1ap_eNB_init(const char *mme_ip_address, const uint8_t eNB_id); - -struct s1ap_eNB_description_s* s1ap_eNB_add_new(void); -struct s1ap_eNB_description_s* s1ap_get_eNB_assoc_id(uint32_t assocId); -struct s1ap_eNB_description_s* s1ap_get_eNB_eNB_id(uint8_t eNB_id); - -struct s1ap_eNB_UE_description_s *s1ap_UE_add_new(struct s1ap_eNB_description_s *eNB_ref); -struct s1ap_eNB_UE_description_s *s1ap_get_ue_id_pair(uint8_t eNB_id, uint8_t ue_id); -struct s1ap_eNB_UE_description_s *s1ap_get_ue_assoc_id_eNB_ue_s1ap_id( - uint32_t assoc_id, - uint32_t eNB_ue_s1ap_id); - -#endif /* S1AP_ENB_H_ */ diff --git a/openair3/OPENAIRMME/S1AP/s1ap_eNB_decoder.c b/openair3/OPENAIRMME/S1AP/s1ap_eNB_decoder.c deleted file mode 100644 index 74828a886c..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_eNB_decoder.c +++ /dev/null @@ -1,112 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <stdio.h> - -#include "s1ap_common.h" -#include "s1ap_ies_defs.h" -#include "s1ap_eNB_decoder.h" - -static int s1ap_eNB_decode_initiating_message(s1ap_message *message, InitiatingMessage_t *initiating_p) { - assert(initiating_p != NULL); - message->procedureCode = initiating_p->procedureCode; - switch(initiating_p->procedureCode) { - case ProcedureCode_id_downlinkNASTransport: - return s1ap_decode_downlinknastransporties(&message->msg.downlinkNASTransportIEs, &initiating_p->value); - case ProcedureCode_id_InitialContextSetup: - return s1ap_decode_initialcontextsetuprequesties(&message->msg.initialContextSetupRequestIEs, &initiating_p->value); - default: - S1AP_DEBUG("Unknown procedure ID (%d) for initiating message\n", (int)initiating_p->procedureCode); - break; - } - return -1; -} - -static int s1ap_eNB_decode_successful_outcome(s1ap_message *message, SuccessfulOutcome_t *successfullOutcome_p) { - assert(successfullOutcome_p != NULL); - message->procedureCode = successfullOutcome_p->procedureCode; - switch(successfullOutcome_p->procedureCode) { - case ProcedureCode_id_S1Setup: - return s1ap_decode_s1setupresponseies(&message->msg.s1SetupResponseIEs, &successfullOutcome_p->value); - default: - S1AP_DEBUG("Unknown procedure ID (%d) for successfull outcome message\n", (int)successfullOutcome_p->procedureCode); - break; - } - return -1; -} - -static int s1ap_eNB_decode_unsuccessful_outcome(s1ap_message *message, UnsuccessfulOutcome_t *unSuccessfullOutcome_p) { - assert(unSuccessfullOutcome_p != NULL); - message->procedureCode = unSuccessfullOutcome_p->procedureCode; - switch(unSuccessfullOutcome_p->procedureCode) { -// case ProcedureCode_id_S1Setup: -// return decodeS1SetupFailure(message, &unSuccessfullOutcome_p->value); - default: - S1AP_DEBUG("Unknown procedure ID (%d) for unsuccessfull outcome message\n", (int)unSuccessfullOutcome_p->procedureCode); - break; - } - return -1; -} - -int s1ap_eNB_decode_pdu(s1ap_message *message, uint8_t *buffer, uint32_t length) { - S1AP_PDU_t pdu; - S1AP_PDU_t *pdu_p = &pdu; - asn_dec_rval_t dec_ret; - - assert(buffer != NULL); - - memset((void *)pdu_p, 0, sizeof(S1AP_PDU_t)); - - dec_ret = aper_decode(NULL, - &asn_DEF_S1AP_PDU, - (void**)&pdu_p, - buffer, - length, - 0, - 0); - - if (dec_ret.code != RC_OK) - return -1; - - message->direction = pdu_p->present; - - switch(pdu_p->present) { - case S1AP_PDU_PR_initiatingMessage: - return s1ap_eNB_decode_initiating_message(message, &pdu_p->choice.initiatingMessage); - case S1AP_PDU_PR_successfulOutcome: - return s1ap_eNB_decode_successful_outcome(message, &pdu_p->choice.successfulOutcome); - case S1AP_PDU_PR_unsuccessfulOutcome: - return s1ap_eNB_decode_unsuccessful_outcome(message, &pdu_p->choice.unsuccessfulOutcome); - default: - S1AP_DEBUG("Unknown presence (%d) or not implemented\n", (int)pdu_p->present); - break; - } - return -1; -} diff --git a/openair3/OPENAIRMME/S1AP/s1ap_eNB_decoder.h b/openair3/OPENAIRMME/S1AP/s1ap_eNB_decoder.h deleted file mode 100644 index 27240d3ff3..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_eNB_decoder.h +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <stdint.h> -#include "s1ap_ies_defs.h" - -#ifndef S1AP_ENB_DECODER_H_ -#define S1AP_ENB_DECODER_H_ - -int s1ap_eNB_decode_pdu(s1ap_message *message, uint8_t *buffer, uint32_t length); - -#endif /* S1AP_ENB_DECODER_H_ */ diff --git a/openair3/OPENAIRMME/S1AP/s1ap_eNB_encoder.c b/openair3/OPENAIRMME/S1AP/s1ap_eNB_encoder.c deleted file mode 100644 index 7a0170aec0..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_eNB_encoder.c +++ /dev/null @@ -1,184 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <stdint.h> - -#include "s1ap_common.h" -#include "s1ap_ies_defs.h" -#include "s1ap_eNB.h" -#include "s1ap_eNB_encoder.h" - -#include "sctp_primitives_client.h" - -int s1ap_eNB_encode_initial_ue_message(InitialUEMessageIEs_t *initialUEmessageIEs_p, - uint8_t **buffer, - uint32_t *length) { - InitialUEMessage_t initialUEMessage; - InitialUEMessage_t *initialUEMessage_p = &initialUEMessage; - - memset((void *)initialUEMessage_p, 0, sizeof(InitialUEMessage_t)); - - if (s1ap_encode_initialuemessageies(initialUEMessage_p, initialUEmessageIEs_p) < 0) - return -1; - - return s1ap_generate_initiating_message(buffer, - length, - ProcedureCode_id_initialUEMessage, - Criticality_reject, - &asn_DEF_InitialUEMessage, - initialUEMessage_p); -} - -int s1ap_eNB_encode_s1_setup_request(S1SetupRequestIEs_t *s1SetupRequestIEs, - uint8_t **buffer, - uint32_t *length) { - S1SetupRequest_t s1SetupRequest; - S1SetupRequest_t *s1SetupRequest_p = &s1SetupRequest; - - memset((void *)s1SetupRequest_p, 0, sizeof(S1SetupRequest_t)); - - if (s1ap_encode_s1setuprequesties(s1SetupRequest_p, s1SetupRequestIEs) < 0) - return -1; - - return s1ap_generate_initiating_message(buffer, - length, - ProcedureCode_id_S1Setup, - Criticality_reject, - &asn_DEF_S1SetupRequest, - s1SetupRequest_p); -} - -int s1ap_eNB_generate_initial_ue_message(struct s1ap_eNB_UE_description_s *ue_ref, - uint8_t *nas_pdu, - uint32_t nas_len) { - InitialUEMessageIEs_t initialUEmessageIEs; - InitialUEMessageIEs_t *initialUEmessageIEs_p = &initialUEmessageIEs; - uint8_t *buffer; - uint32_t len; - - char tac[] = { 0x00, 0x01 }; - uint8_t id[] = { 0x03, 0x56, 0xf0, 0xd8 }; - char identity[] = { 0x02, 0x08, 0x34 }; - - memset((void *)initialUEmessageIEs_p, 0, sizeof(InitialUEMessageIEs_t)); - - initialUEmessageIEs.eNB_UE_S1AP_ID = ue_ref->eNB_UE_s1ap_id; - initialUEmessageIEs.nas_pdu.buf = nas_pdu; - initialUEmessageIEs.nas_pdu.size = nas_len; - - initialUEmessageIEs.tai.tAC.buf = (uint8_t*)tac; - initialUEmessageIEs.tai.tAC.size = 2; - initialUEmessageIEs.tai.pLMNidentity.buf = (uint8_t*)identity; - initialUEmessageIEs.tai.pLMNidentity.size = 3; - initialUEmessageIEs.eutran_cgi.pLMNidentity.buf = (uint8_t*)identity; - initialUEmessageIEs.eutran_cgi.pLMNidentity.size = 3; - initialUEmessageIEs.eutran_cgi.cell_ID.buf = (uint8_t*)id; - initialUEmessageIEs.eutran_cgi.cell_ID.size = 4; - initialUEmessageIEs.eutran_cgi.cell_ID.bits_unused = 4; - - initialUEmessageIEs.rrC_Establishment_Cause = RRC_Establishment_Cause_mo_Data; - - if (s1ap_eNB_encode_initial_ue_message(initialUEmessageIEs_p, &buffer, &len) < 0) { - if (buffer != NULL) free(buffer); - return -1; - } - /* Send encoded message over sctp */ - return sctp_send_msg(ue_ref->eNB->assocId, ue_ref->stream_send, buffer, len); -} - -int s1ap_eNB_encode_initial_context_setup_response(InitialContextSetupResponseIEs_t *sptr, - uint8_t **buffer, - uint32_t *length) { - InitialContextSetupResponse_t initial; - InitialContextSetupResponse_t *initial_p = &initial; - - memset((void *)initial_p, 0, sizeof(InitialContextSetupResponse_t)); - - if (s1ap_encode_initialcontextsetupresponseies(initial_p, sptr) < 0) - return -1; - - return s1ap_generate_successfull_outcome(buffer, - length, - ProcedureCode_id_InitialContextSetup, - Criticality_reject, - &asn_DEF_InitialContextSetupResponse, - initial_p); -} - -int s1ap_eNB_generate_uplink_nas_transport(struct s1ap_eNB_UE_description_s *ue_ref, - uint8_t *nas_pdu, - uint32_t nas_len) { - - return 0; -} - -int s1ap_eNB_generate_s1_setup_request(struct s1ap_eNB_description_s* eNB_ref) { - - SupportedTAs_Item_t ta; - PLMNidentity_t plmnIdentity; - S1SetupRequestIEs_t s1SetupRequest; - - char tac[] = { 0x00, 0x01 }; - char identity[] = { 0x02, 0x08, 0x34 }; - char eNBname[150]; - int eNBnameLength = 0; - uint8_t *buffer; - uint32_t len; - - if (eNB_ref == NULL) return -1; - - memset((void *)&s1SetupRequest, 0, sizeof(S1SetupRequestIEs_t)); - s1SetupRequest.global_ENB_ID.eNB_ID.present = ENB_ID_PR_macroENB_ID; - s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.buf = calloc(1,3); - s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.buf[0] = eNB_ref->eNB_id; - s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.size = 3; - s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.bits_unused = 4; - OCTET_STRING_fromBuf(&s1SetupRequest.global_ENB_ID.pLMNidentity, identity, 3); - - eNBnameLength = sprintf(eNBname, "eNB %d Eurecom", eNB_ref->eNB_id); - if (eNBnameLength > 0) { - s1SetupRequest.presenceMask |= S1SETUPREQUESTIES_ENBNAME_PRESENT; - OCTET_STRING_fromBuf(&s1SetupRequest.eNBname, eNBname, eNBnameLength); - } - - memset((void *)&ta, 0, sizeof(SupportedTAs_Item_t)); - memset((void *)&plmnIdentity, 0, sizeof(PLMNidentity_t)); - OCTET_STRING_fromBuf(&ta.tAC, tac, 2); - OCTET_STRING_fromBuf(&plmnIdentity, identity, 3); - ASN_SEQUENCE_ADD(&ta.broadcastPLMNs, &plmnIdentity); - ASN_SEQUENCE_ADD(&s1SetupRequest.supportedTAs, &ta); - - s1SetupRequest.defaultPagingDRX = PagingDRX_v64; - - if (s1ap_eNB_encode_s1_setup_request(&s1SetupRequest, &buffer, &len) < 0) - return -1; - eNB_ref->state |= S1AP_ENB_STATE_WAITING; - return sctp_send_msg(eNB_ref->assocId, 0, buffer, len); -} diff --git a/openair3/OPENAIRMME/S1AP/s1ap_eNB_encoder.h b/openair3/OPENAIRMME/S1AP/s1ap_eNB_encoder.h deleted file mode 100644 index 844fd4da35..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_eNB_encoder.h +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#ifndef S1AP_ENB_ENCODER_H_ -#define S1AP_ENB_ENCODER_H_ - -int s1ap_eNB_generate_s1_setup_request(struct s1ap_eNB_description_s* eNB_ref); - -int s1ap_eNB_generate_initial_ue_message(struct s1ap_eNB_UE_description_s *ue_ref, - uint8_t *nas_pdu, - uint32_t nas_len); - -int s1ap_eNB_encode_initial_ue_message(InitialUEMessageIEs_t *initialUEmessageIEs_p, - uint8_t **buffer, - uint32_t *length); - -int s1ap_eNB_encode_initial_context_setup_response(InitialContextSetupResponseIEs_t *sptr, - uint8_t **buffer, - uint32_t *length); - -int s1ap_eNB_encode_s1_setup_request(S1SetupRequestIEs_t *s1SetupRequestIEs, - uint8_t **buffer, - uint32_t *length); - -int s1ap_eNB_generate_uplink_nas_transport(struct s1ap_eNB_UE_description_s *ue_ref, - uint8_t *nas_pdu, - uint32_t nas_len); - -#endif /* S1AP_ENB_ENCODER_H_ */ diff --git a/openair3/OPENAIRMME/S1AP/s1ap_eNB_handlers.c b/openair3/OPENAIRMME/S1AP/s1ap_eNB_handlers.c deleted file mode 100644 index 1e9204fcb1..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_eNB_handlers.c +++ /dev/null @@ -1,233 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include "s1ap_common.h" -#include "s1ap_ies_defs.h" -#include "s1ap_eNB.h" -#include "s1ap_eNB_handlers.h" - -//Forward declaration -struct s1ap_message_s; - -/* Handlers matrix. Only eNB related procedure present here */ -s1ap_message_decoded_callback messages_callback[][3] = { - { 0, 0, 0 }, /* HandoverPreparation */ - { 0, 0, 0 }, /* HandoverResourceAllocation */ - { 0, 0, 0 }, /* HandoverNotification */ - { 0, 0, 0 }, /* PathSwitchRequest */ - { 0, 0, 0 }, /* HandoverCancel */ - { 0, 0, 0 }, /* E_RABSetup */ - { 0, 0, 0 }, /* E_RABModify */ - { 0, 0, 0 }, /* E_RABRelease */ - { 0, 0, 0 }, /* E_RABReleaseIndication */ - { s1ap_eNB_handle_initial_context_setup, 0, 0 }, /* InitialContextSetup */ - { 0, 0, 0 }, /* Paging */ - { s1ap_eNB_handle_downlink_nas_transport, 0, 0 }, /* downlinkNASTransport */ - { 0, 0, 0 }, /* initialUEMessage */ - { 0, 0, 0 }, /* uplinkNASTransport */ - { 0, 0, 0 }, /* Reset */ - { 0, 0, 0 }, /* ErrorIndication */ - { 0, 0, 0 }, /* NASNonDeliveryIndication */ - { 0, s1ap_eNB_handle_s1_setup_response, s1ap_eNB_handle_s1_setup_failure }, /* S1Setup */ - { 0, 0, 0 }, /* UEContextReleaseRequest */ - { 0, 0, 0 }, /* DownlinkS1cdma2000tunneling */ - { 0, 0, 0 }, /* UplinkS1cdma2000tunneling */ - { 0, 0, 0 }, /* UEContextModification */ - { 0, 0, 0 }, /* UECapabilityInfoIndication*/ - { 0, 0, 0 }, /* UEContextRelease*/ - { 0, 0, 0 }, /* eNBStatusTransfer*/ - { 0, 0, 0 }, /* MMEStatusTransfer*/ - { 0, 0, 0 }, /* DeactivateTrace*/ - { 0, 0, 0 }, /* TraceStart*/ - { 0, 0, 0 }, /* TraceFailureIndication*/ - { 0, 0, 0 }, /* ENBConfigurationUpdate*/ - { 0, 0, 0 }, /* MMEConfigurationUpdate*/ - { 0, 0, 0 }, /* LocationReportingControl*/ - { 0, 0, 0 }, /* LocationReportingFailureIndication*/ - { 0, 0, 0 }, /* LocationReport*/ - { 0, 0, 0 }, /* OverloadStart*/ - { 0, 0, 0 }, /* OverloadStop*/ - { 0, 0, 0 }, /* WriteReplaceWarning*/ - { 0, 0, 0 }, /* eNBDirectInformationTransfer*/ - { 0, 0, 0 }, /* MMEDirectInformationTransfer*/ - { 0, 0, 0 }, /* PrivateMessage*/ - { 0, 0, 0 }, /* eNBConfigurationTransfer*/ - { 0, 0, 0 }, /* MMEConfigurationTransfer*/ - { 0, 0, 0 }, /* CellTrafficTrace */ -}; - -static const char *direction2String[] = { - "", /* Nothing */ - "Originating message", /* originating message */ - "Successfull outcome", /* successfull outcome */ - "UnSuccessfull outcome", /* successfull outcome */ -}; - -int s1ap_eNB_handle_message(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) { - /* Checking procedure Code and direction of message */ - if (message->procedureCode > sizeof(messages_callback) / (3 * sizeof(s1ap_message_decoded_callback)) - || (message->direction > S1AP_PDU_PR_unsuccessfulOutcome)) { - S1AP_ERROR("[SCTP %d] Either procedureCode %d or direction %d exceed expected\n", - assocId, message->procedureCode, message->direction); - return -1; - } - /* No handler present. - * This can mean not implemented or no procedure for eNB (wrong direction). - */ - if (messages_callback[message->procedureCode][message->direction-1] == NULL) { - S1AP_ERROR("[SCTP %d] No handler for procedureCode %d in %s\n", - assocId, message->procedureCode, - direction2String[message->direction]); - return -2; - } - - /* Calling the right handler */ - return (*messages_callback[message->procedureCode][message->direction-1])(assocId, stream, message); -} - -int s1ap_eNB_handle_s1_setup_response(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) { - - S1SetupResponseIEs_t *s1SetupResponse_p; - struct s1ap_eNB_description_s* eNB_ref; - - s1SetupResponse_p = &message->msg.s1SetupResponseIEs; - - /* S1 Setup Response == Non UE-related procedure -> stream 0 */ - if (stream != 0) { - S1AP_ERROR("[SCTP %d] Received s1 setup response on stream != 0 (%d)\n", assocId, stream); - return -1; - } - if ((eNB_ref = s1ap_get_eNB_assoc_id(assocId)) == NULL) { - S1AP_ERROR("[SCTP %d] No eNB with this assocId\n", assocId); - return -1; - } - eNB_ref->state = S1AP_ENB_STATE_CONNECTED; - return 0; -} - -int s1ap_eNB_handle_s1_setup_failure(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) { - - S1SetupFailureIEs_t *s1SetupFailure_p; - struct s1ap_eNB_description_s* eNB_ref; - - s1SetupFailure_p = &message->msg.s1SetupFailureIEs; - - /* S1 Setup Response == Non UE-related procedure -> stream 0 */ -// if (stream != 0) { -// S1AP_ERROR("[SCTP %d] Received s1 setup failure on stream != 0 (%d)\n", assocId, stream); -// return -1; -// } -// if ((eNB_ref = s1ap_get_eNB_assoc_id(assocId)) == NULL) { -// S1AP_ERROR("[SCTP %d] No eNB with this assocId\n", assocId); -// return -1; -// } -// eNB_ref->state = S1AP_ENB_STATE_CONNECTED; - return 0; -} - -int s1ap_eNB_handle_initial_context_setup(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) { - - InitialContextSetupRequestIEs_t *initialContextSetupRequest_p; - struct s1ap_eNB_UE_description_s* ue_ref; - int i; - - initialContextSetupRequest_p = &message->msg.initialContextSetupRequestIEs; - - S1AP_DEBUG("[SCTP %d] Received initial context setup request\n", assocId); - - if ((ue_ref = s1ap_get_ue_assoc_id_eNB_ue_s1ap_id(assocId, initialContextSetupRequest_p->eNB_UE_S1AP_ID)) == NULL) { - S1AP_ERROR("[SCTP %d] No UE context known for eNB UE S1AP ID %d\n", - assocId, (int)initialContextSetupRequest_p->eNB_UE_S1AP_ID); - //TODO: Send failure - return -1; - } - - if (stream == 0) { - S1AP_WARN("[SCTP %d] Received UE related signalling on stream 0\n", assocId); - } - - /* The recv stream will be checked every time we received a UE signalling message on SCTP interface. */ - ue_ref->stream_recv = stream; - /* This is the first time we receive the MME UE S1AP ID for the UE, store it and use it as UE identifier over MME */ - ue_ref->mme_UE_s1ap_id = initialContextSetupRequest_p->mme_ue_s1ap_id; - - /* Store aggregate bitrates as defined in TS 36413 #8.3.1.2. - * Bitrates are expressed in bits/seconds and maximum value is 10Gbits/s - * so use of 64bits integer is mandatory. - */ - asn_INTEGER2uint64(&initialContextSetupRequest_p->uEaggregateMaximumBitrate.uEaggregateMaximumBitRateDL, &ue_ref->maximum_bit_rate_downlink); - asn_INTEGER2uint64(&initialContextSetupRequest_p->uEaggregateMaximumBitrate.uEaggregateMaximumBitRateUL, &ue_ref->maximum_bit_rate_uplink); - /* Store UE security capabilities */ - ue_ref->encryptions_algorithms = *(uint16_t*)(&initialContextSetupRequest_p->ueSecurityCapabilities.encryptionAlgorithms.buf[0]); - ue_ref->integrity_algorithms = *(uint16_t*)(&initialContextSetupRequest_p->ueSecurityCapabilities.integrityProtectionAlgorithms.buf[0]); - /* Store the security key. Will be used for RRC security mode command. - * Security key = 256bits. - */ - memcpy((void*)&ue_ref->security_key, (void*)initialContextSetupRequest_p->securityKey.buf, 32); -#if defined(ENB_MODE) - //TODO: init E-RAB configuration procedure -// for (i = 0; i < initialContextSetupRequest_p->e_RABToBeSetupListCtxtSUReq.list.count; i++) { -// uint8_t *nas_pdu = NULL; -// uint32_t nas_length = 0; -// NAS_PDU_t *nas_PDU; -// E_RABToBeSetupItemBearerSUReqIEs_t e_RABToBeSetupItemBearerSUReqIEs; -// -// s1ap_decode_e_rabtobesetupitembearersureqies(&e_RABToBeSetupItemBearerSUReqIEs, -// initialContextSetupRequest_p->e_RABToBeSetupListCtxtSUReq.list.array[i]); -// -// nas_PDU = &e_RABToBeSetupItemBearerSUReqIEs.e_RABToBeSetupItemBearerSUReq.nAS_PDU; -// -// if (nas_PDU != NULL) { -// nas_pdu = nas_PDU->buf; -// nas_length = nas_PDU->size; -// } -// rrc_eNB_generate_RRCConnectionReconfiguration(ue_ref->eNB->eNB_id, 0, ue_ref->eNB_UE_s1ap_id, nas_pdu, nas_length); -// } -#endif - //TODO: forward E-RAB param to RRC - return 0; -} - -int s1ap_eNB_handle_downlink_nas_transport(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) { - - DownlinkNASTransportIEs_t *downlinkNASTransport_p; - struct s1ap_eNB_description_s* eNB_ref; - - downlinkNASTransport_p = &message->msg.downlinkNASTransportIEs; - - S1AP_DEBUG("[SCTP %d] Received downlink NAS transport\n", assocId); - - if (stream == 0) { - S1AP_WARN("[SCTP %d] Received UE related signalling on stream 0\n", assocId); - } - - //Forward to RRC - return 0; -} diff --git a/openair3/OPENAIRMME/S1AP/s1ap_eNB_handlers.h b/openair3/OPENAIRMME/S1AP/s1ap_eNB_handlers.h deleted file mode 100644 index 01f07e2fff..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_eNB_handlers.h +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include "s1ap_ies_defs.h" - -#ifndef S1AP_ENB_HANDLERS_H_ -#define S1AP_ENB_HANDLERS_H_ - -int s1ap_eNB_handle_s1_setup_response(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message); - -int s1ap_eNB_handle_s1_setup_failure(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message); - -int s1ap_eNB_handle_initial_context_setup(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message); - -int s1ap_eNB_handle_downlink_nas_transport(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message); - -#endif /* S1AP_ENB_HANDLERS_H_ */ diff --git a/openair3/OPENAIRMME/S1AP/s1ap_encoder.c b/openair3/OPENAIRMME/S1AP/s1ap_encoder.c deleted file mode 100644 index 9a9c581128..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_encoder.c +++ /dev/null @@ -1,3720 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -/******************************************************************************* - * This file had been created by asn1tostruct.py script v0.3 - * Please do not modify it directly. - * Created on: 2012-11-13 11:44:11.998347 - * from /homes/roux/trunk-clean/openair2/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn - ******************************************************************************/ -#include "s1ap_common.h" -#include "s1ap_ies_defs.h" - -int s1ap_encode_mmeconfigurationupdateies( - MMEConfigurationUpdate_t *mmeConfigurationUpdate, - MMEConfigurationUpdateIEs_t *mmeConfigurationUpdateIEs) { - - IE_t *ie; - - /* Optional field */ - if ((mmeConfigurationUpdateIEs->presenceMask & MMECONFIGURATIONUPDATEIES_MMENAME_PRESENT) - == MMECONFIGURATIONUPDATEIES_MMENAME_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MMEname, - Criticality_ignore, - &asn_DEF_MMEname, - &mmeConfigurationUpdateIEs->mmEname)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&mmeConfigurationUpdate->mmeConfigurationUpdate_ies.list, ie); - } - - /* Optional field */ - if ((mmeConfigurationUpdateIEs->presenceMask & MMECONFIGURATIONUPDATEIES_SERVEDGUMMEIS_PRESENT) - == MMECONFIGURATIONUPDATEIES_SERVEDGUMMEIS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_ServedGUMMEIs, - Criticality_reject, - &asn_DEF_ServedGUMMEIs, - &mmeConfigurationUpdateIEs->servedGUMMEIs)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&mmeConfigurationUpdate->mmeConfigurationUpdate_ies.list, ie); - } - - /* Optional field */ - if ((mmeConfigurationUpdateIEs->presenceMask & MMECONFIGURATIONUPDATEIES_RELATIVEMMECAPACITY_PRESENT) - == MMECONFIGURATIONUPDATEIES_RELATIVEMMECAPACITY_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_RelativeMMECapacity, - Criticality_reject, - &asn_DEF_RelativeMMECapacity, - &mmeConfigurationUpdateIEs->relativeMMECapacity)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&mmeConfigurationUpdate->mmeConfigurationUpdate_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_uecontextmodificationrequesties( - UEContextModificationRequest_t *ueContextModificationRequest, - UEContextModificationRequestIEs_t *ueContextModificationRequestIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &ueContextModificationRequestIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &ueContextModificationRequestIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie); - - /* Optional field */ - if ((ueContextModificationRequestIEs->presenceMask & UECONTEXTMODIFICATIONREQUESTIES_SECURITYKEY_PRESENT) - == UECONTEXTMODIFICATIONREQUESTIES_SECURITYKEY_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SecurityKey, - Criticality_reject, - &asn_DEF_SecurityKey, - &ueContextModificationRequestIEs->securityKey)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie); - } - - /* Optional field */ - if ((ueContextModificationRequestIEs->presenceMask & UECONTEXTMODIFICATIONREQUESTIES_SUBSCRIBERPROFILEIDFORRFP_PRESENT) - == UECONTEXTMODIFICATIONREQUESTIES_SUBSCRIBERPROFILEIDFORRFP_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SubscriberProfileIDforRFP, - Criticality_ignore, - &asn_DEF_SubscriberProfileIDforRFP, - &ueContextModificationRequestIEs->subscriberProfileIDforRFP)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie); - } - - /* Optional field */ - if ((ueContextModificationRequestIEs->presenceMask & UECONTEXTMODIFICATIONREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT) - == UECONTEXTMODIFICATIONREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_uEaggregateMaximumBitrate, - Criticality_ignore, - &asn_DEF_UEAggregateMaximumBitrate, - &ueContextModificationRequestIEs->uEaggregateMaximumBitrate)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie); - } - - /* Optional field */ - if ((ueContextModificationRequestIEs->presenceMask & UECONTEXTMODIFICATIONREQUESTIES_CSFALLBACKINDICATOR_PRESENT) - == UECONTEXTMODIFICATIONREQUESTIES_CSFALLBACKINDICATOR_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSFallbackIndicator, - Criticality_reject, - &asn_DEF_CSFallbackIndicator, - &ueContextModificationRequestIEs->csFallbackIndicator)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie); - } - - /* Optional field */ - if ((ueContextModificationRequestIEs->presenceMask & UECONTEXTMODIFICATIONREQUESTIES_UESECURITYCAPABILITIES_PRESENT) - == UECONTEXTMODIFICATIONREQUESTIES_UESECURITYCAPABILITIES_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UESecurityCapabilities, - Criticality_reject, - &asn_DEF_UESecurityCapabilities, - &ueContextModificationRequestIEs->ueSecurityCapabilities)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie); - } - - /* Optional field */ - if ((ueContextModificationRequestIEs->presenceMask & UECONTEXTMODIFICATIONREQUESTIES_CSGMEMBERSHIPSTATUS_PRESENT) - == UECONTEXTMODIFICATIONREQUESTIES_CSGMEMBERSHIPSTATUS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSGMembershipStatus, - Criticality_ignore, - &asn_DEF_CSGMembershipStatus, - &ueContextModificationRequestIEs->csgMembershipStatus)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie); - } - - /* Optional field */ - if ((ueContextModificationRequestIEs->presenceMask & UECONTEXTMODIFICATIONREQUESTIES_LAI_PRESENT) - == UECONTEXTMODIFICATIONREQUESTIES_LAI_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_RegisteredLAI, - Criticality_ignore, - &asn_DEF_LAI, - &ueContextModificationRequestIEs->registeredLAI)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_enbdirectinformationtransferies( - ENBDirectInformationTransfer_t *eNBDirectInformationTransfer, - ENBDirectInformationTransferIEs_t *enbDirectInformationTransferIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Inter_SystemInformationTransferTypeEDT, - Criticality_reject, - &asn_DEF_Inter_SystemInformationTransferType, - &enbDirectInformationTransferIEs->inter_SystemInformationTransferTypeEDT)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&eNBDirectInformationTransfer->eNBDirectInformationTransfer_ies.list, ie); - - return 0; -} - -int s1ap_encode_resetacknowledgeies( - ResetAcknowledge_t *resetAcknowledge, - ResetAcknowledgeIEs_t *resetAcknowledgeIEs) { - - IE_t *ie; - - /* Optional field */ - if ((resetAcknowledgeIEs->presenceMask & RESETACKNOWLEDGEIES_UE_ASSOCIATEDLOGICALS1_CONNECTIONLISTRESACK_PRESENT) - == RESETACKNOWLEDGEIES_UE_ASSOCIATEDLOGICALS1_CONNECTIONLISTRESACK_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UE_associatedLogicalS1_ConnectionListResAck, - Criticality_ignore, - &asn_DEF_UE_associatedLogicalS1_ConnectionListResAck, - &resetAcknowledgeIEs->uE_associatedLogicalS1_ConnectionListResAck)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&resetAcknowledge->resetAcknowledge_ies.list, ie); - } - - /* Optional field */ - if ((resetAcknowledgeIEs->presenceMask & RESETACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) - == RESETACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &resetAcknowledgeIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&resetAcknowledge->resetAcknowledge_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_pagingies( - Paging_t *paging, - PagingIEs_t *pagingIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UEIdentityIndexValue, - Criticality_ignore, - &asn_DEF_UEIdentityIndexValue, - &pagingIEs->ueIdentityIndexValue)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&paging->paging_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UEPagingID, - Criticality_ignore, - &asn_DEF_UEPagingID, - &pagingIEs->uePagingID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&paging->paging_ies.list, ie); - - /* Optional field */ - if ((pagingIEs->presenceMask & PAGINGIES_PAGINGDRX_PRESENT) - == PAGINGIES_PAGINGDRX_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_pagingDRX, - Criticality_ignore, - &asn_DEF_PagingDRX, - &pagingIEs->pagingDRX)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&paging->paging_ies.list, ie); - } - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CNDomain, - Criticality_ignore, - &asn_DEF_CNDomain, - &pagingIEs->cnDomain)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&paging->paging_ies.list, ie); - - TAIList_t taiList; - - memset(&taiList, 0, sizeof(TAIList_t)); - - if (s1ap_encode_tailist(&taiList, &pagingIEs->taiList) < 0) return -1; - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TAIList, - Criticality_ignore, - &asn_DEF_TAIList, - &taiList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&paging->paging_ies.list, ie); - - /* Optional field */ - if ((pagingIEs->presenceMask & PAGINGIES_CSG_IDLIST_PRESENT) - == PAGINGIES_CSG_IDLIST_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSG_IdList, - Criticality_ignore, - &asn_DEF_CSG_IdList, - &pagingIEs->csG_IdList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&paging->paging_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_pathswitchrequesties( - PathSwitchRequest_t *pathSwitchRequest, - PathSwitchRequestIEs_t *pathSwitchRequestIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &pathSwitchRequestIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&pathSwitchRequest->pathSwitchRequest_ies.list, ie); - - E_RABToBeSwitchedDLList_t e_RABToBeSwitchedDLList; - - memset(&e_RABToBeSwitchedDLList, 0, sizeof(E_RABToBeSwitchedDLList_t)); - - if (s1ap_encode_e_rabtobeswitcheddllist(&e_RABToBeSwitchedDLList, &pathSwitchRequestIEs->e_RABToBeSwitchedDLList) < 0) return -1; - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSwitchedDLList, - Criticality_reject, - &asn_DEF_E_RABToBeSwitchedDLList, - &e_RABToBeSwitchedDLList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&pathSwitchRequest->pathSwitchRequest_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SourceMME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &pathSwitchRequestIEs->sourceMME_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&pathSwitchRequest->pathSwitchRequest_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_EUTRAN_CGI, - Criticality_ignore, - &asn_DEF_EUTRAN_CGI, - &pathSwitchRequestIEs->eutran_cgi)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&pathSwitchRequest->pathSwitchRequest_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TAI, - Criticality_ignore, - &asn_DEF_TAI, - &pathSwitchRequestIEs->tai)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&pathSwitchRequest->pathSwitchRequest_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UESecurityCapabilities, - Criticality_ignore, - &asn_DEF_UESecurityCapabilities, - &pathSwitchRequestIEs->ueSecurityCapabilities)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&pathSwitchRequest->pathSwitchRequest_ies.list, ie); - - return 0; -} - -int s1ap_encode_deactivatetraceies( - DeactivateTrace_t *deactivateTrace, - DeactivateTraceIEs_t *deactivateTraceIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &deactivateTraceIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&deactivateTrace->deactivateTrace_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &deactivateTraceIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&deactivateTrace->deactivateTrace_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_UTRAN_Trace_ID, - Criticality_ignore, - &asn_DEF_E_UTRAN_Trace_ID, - &deactivateTraceIEs->e_UTRAN_Trace_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&deactivateTrace->deactivateTrace_ies.list, ie); - - return 0; -} - -int s1ap_encode_locationreportingcontrolies( - LocationReportingControl_t *locationReportingControl, - LocationReportingControlIEs_t *locationReportingControlIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &locationReportingControlIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&locationReportingControl->locationReportingControl_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &locationReportingControlIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&locationReportingControl->locationReportingControl_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_RequestType, - Criticality_ignore, - &asn_DEF_RequestType, - &locationReportingControlIEs->requestType)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&locationReportingControl->locationReportingControl_ies.list, ie); - - return 0; -} - -int s1ap_encode_enbconfigurationupdateacknowledgeies( - ENBConfigurationUpdateAcknowledge_t *eNBConfigurationUpdateAcknowledge, - ENBConfigurationUpdateAcknowledgeIEs_t *enbConfigurationUpdateAcknowledgeIEs) { - - IE_t *ie; - - /* Optional field */ - if ((enbConfigurationUpdateAcknowledgeIEs->presenceMask & ENBCONFIGURATIONUPDATEACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) - == ENBCONFIGURATIONUPDATEACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &enbConfigurationUpdateAcknowledgeIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&eNBConfigurationUpdateAcknowledge->eNBConfigurationUpdateAcknowledge_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_handoverfailureies( - HandoverFailure_t *handoverFailure, - HandoverFailureIEs_t *handoverFailureIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_MME_UE_S1AP_ID, - &handoverFailureIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverFailure->handoverFailure_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause, - Criticality_ignore, - &asn_DEF_Cause, - &handoverFailureIEs->cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverFailure->handoverFailure_ies.list, ie); - - /* Optional field */ - if ((handoverFailureIEs->presenceMask & HANDOVERFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) - == HANDOVERFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &handoverFailureIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverFailure->handoverFailure_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_locationreportingfailureindicationies( - LocationReportingFailureIndication_t *locationReportingFailureIndication, - LocationReportingFailureIndicationIEs_t *locationReportingFailureIndicationIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &locationReportingFailureIndicationIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&locationReportingFailureIndication->locationReportingFailureIndication_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &locationReportingFailureIndicationIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&locationReportingFailureIndication->locationReportingFailureIndication_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause, - Criticality_ignore, - &asn_DEF_Cause, - &locationReportingFailureIndicationIEs->cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&locationReportingFailureIndication->locationReportingFailureIndication_ies.list, ie); - - return 0; -} - -int s1ap_encode_downlinknastransporties( - DownlinkNASTransport_t *downlinkNASTransport, - DownlinkNASTransportIEs_t *downlinkNASTransportIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &downlinkNASTransportIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&downlinkNASTransport->downlinkNASTransport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &downlinkNASTransportIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&downlinkNASTransport->downlinkNASTransport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_NAS_PDU, - Criticality_reject, - &asn_DEF_NAS_PDU, - &downlinkNASTransportIEs->nas_pdu)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&downlinkNASTransport->downlinkNASTransport_ies.list, ie); - - /* Optional field */ - if ((downlinkNASTransportIEs->presenceMask & DOWNLINKNASTRANSPORTIES_HANDOVERRESTRICTIONLIST_PRESENT) - == DOWNLINKNASTRANSPORTIES_HANDOVERRESTRICTIONLIST_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_HandoverRestrictionList, - Criticality_ignore, - &asn_DEF_HandoverRestrictionList, - &downlinkNASTransportIEs->handoverRestrictionList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&downlinkNASTransport->downlinkNASTransport_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_mmeconfigurationupdatefailureies( - MMEConfigurationUpdateFailure_t *mmeConfigurationUpdateFailure, - MMEConfigurationUpdateFailureIEs_t *mmeConfigurationUpdateFailureIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause, - Criticality_ignore, - &asn_DEF_Cause, - &mmeConfigurationUpdateFailureIEs->cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&mmeConfigurationUpdateFailure->mmeConfigurationUpdateFailure_ies.list, ie); - - /* Optional field */ - if ((mmeConfigurationUpdateFailureIEs->presenceMask & MMECONFIGURATIONUPDATEFAILUREIES_TIMETOWAIT_PRESENT) - == MMECONFIGURATIONUPDATEFAILUREIES_TIMETOWAIT_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TimeToWait, - Criticality_ignore, - &asn_DEF_TimeToWait, - &mmeConfigurationUpdateFailureIEs->timeToWait)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&mmeConfigurationUpdateFailure->mmeConfigurationUpdateFailure_ies.list, ie); - } - - /* Optional field */ - if ((mmeConfigurationUpdateFailureIEs->presenceMask & MMECONFIGURATIONUPDATEFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) - == MMECONFIGURATIONUPDATEFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &mmeConfigurationUpdateFailureIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&mmeConfigurationUpdateFailure->mmeConfigurationUpdateFailure_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_uecontextreleasecompleteies( - UEContextReleaseComplete_t *ueContextReleaseComplete, - UEContextReleaseCompleteIEs_t *ueContextReleaseCompleteIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_MME_UE_S1AP_ID, - &ueContextReleaseCompleteIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextReleaseComplete->ueContextReleaseComplete_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_ENB_UE_S1AP_ID, - &ueContextReleaseCompleteIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextReleaseComplete->ueContextReleaseComplete_ies.list, ie); - - /* Optional field */ - if ((ueContextReleaseCompleteIEs->presenceMask & UECONTEXTRELEASECOMPLETEIES_CRITICALITYDIAGNOSTICS_PRESENT) - == UECONTEXTRELEASECOMPLETEIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &ueContextReleaseCompleteIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextReleaseComplete->ueContextReleaseComplete_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_s1setupresponseies( - S1SetupResponse_t *s1SetupResponse, - S1SetupResponseIEs_t *s1SetupResponseIEs) { - - IE_t *ie; - - /* Optional field */ - if ((s1SetupResponseIEs->presenceMask & S1SETUPRESPONSEIES_MMENAME_PRESENT) - == S1SETUPRESPONSEIES_MMENAME_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MMEname, - Criticality_ignore, - &asn_DEF_MMEname, - &s1SetupResponseIEs->mmEname)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&s1SetupResponse->s1SetupResponse_ies.list, ie); - } - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_ServedGUMMEIs, - Criticality_reject, - &asn_DEF_ServedGUMMEIs, - &s1SetupResponseIEs->servedGUMMEIs)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&s1SetupResponse->s1SetupResponse_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_RelativeMMECapacity, - Criticality_ignore, - &asn_DEF_RelativeMMECapacity, - &s1SetupResponseIEs->relativeMMECapacity)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&s1SetupResponse->s1SetupResponse_ies.list, ie); - - /* Optional field */ - if ((s1SetupResponseIEs->presenceMask & S1SETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) - == S1SETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &s1SetupResponseIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&s1SetupResponse->s1SetupResponse_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_handoverpreparationfailureies( - HandoverPreparationFailure_t *handoverPreparationFailure, - HandoverPreparationFailureIEs_t *handoverPreparationFailureIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_MME_UE_S1AP_ID, - &handoverPreparationFailureIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverPreparationFailure->handoverPreparationFailure_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_ENB_UE_S1AP_ID, - &handoverPreparationFailureIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverPreparationFailure->handoverPreparationFailure_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause, - Criticality_ignore, - &asn_DEF_Cause, - &handoverPreparationFailureIEs->cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverPreparationFailure->handoverPreparationFailure_ies.list, ie); - - /* Optional field */ - if ((handoverPreparationFailureIEs->presenceMask & HANDOVERPREPARATIONFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) - == HANDOVERPREPARATIONFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &handoverPreparationFailureIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverPreparationFailure->handoverPreparationFailure_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_killresponseies( - KillResponse_t *killResponse, - KillResponseIEs_t *killResponseIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MessageIdentifier, - Criticality_reject, - &asn_DEF_MessageIdentifier, - &killResponseIEs->messageIdentifier)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&killResponse->killResponse_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SerialNumber, - Criticality_reject, - &asn_DEF_SerialNumber, - &killResponseIEs->serialNumber)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&killResponse->killResponse_ies.list, ie); - - /* Optional field */ - if ((killResponseIEs->presenceMask & KILLRESPONSEIES_BROADCASTCANCELLEDAREALIST_PRESENT) - == KILLRESPONSEIES_BROADCASTCANCELLEDAREALIST_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_BroadcastCancelledAreaList, - Criticality_ignore, - &asn_DEF_BroadcastCancelledAreaList, - &killResponseIEs->broadcastCancelledAreaList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&killResponse->killResponse_ies.list, ie); - } - - /* Optional field */ - if ((killResponseIEs->presenceMask & KILLRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) - == KILLRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &killResponseIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&killResponse->killResponse_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_uplinkueassociatedlppatransporties( - UplinkUEAssociatedLPPaTransport_t *uplinkUEAssociatedLPPaTransport, - UplinkUEAssociatedLPPaTransportIEs_t *uplinkUEAssociatedLPPaTransportIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &uplinkUEAssociatedLPPaTransportIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkUEAssociatedLPPaTransport->uplinkUEAssociatedLPPaTransport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &uplinkUEAssociatedLPPaTransportIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkUEAssociatedLPPaTransport->uplinkUEAssociatedLPPaTransport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Routing_ID, - Criticality_reject, - &asn_DEF_Routing_ID, - &uplinkUEAssociatedLPPaTransportIEs->routing_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkUEAssociatedLPPaTransport->uplinkUEAssociatedLPPaTransport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_LPPa_PDU, - Criticality_reject, - &asn_DEF_LPPa_PDU, - &uplinkUEAssociatedLPPaTransportIEs->lpPa_PDU)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkUEAssociatedLPPaTransport->uplinkUEAssociatedLPPaTransport_ies.list, ie); - - return 0; -} - -int s1ap_encode_enbconfigurationupdateies( - ENBConfigurationUpdate_t *eNBConfigurationUpdate, - ENBConfigurationUpdateIEs_t *enbConfigurationUpdateIEs) { - - IE_t *ie; - - /* Optional field */ - if ((enbConfigurationUpdateIEs->presenceMask & ENBCONFIGURATIONUPDATEIES_ENBNAME_PRESENT) - == ENBCONFIGURATIONUPDATEIES_ENBNAME_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNBname, - Criticality_ignore, - &asn_DEF_ENBname, - &enbConfigurationUpdateIEs->eNBname)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&eNBConfigurationUpdate->eNBConfigurationUpdate_ies.list, ie); - } - - /* Optional field */ - if ((enbConfigurationUpdateIEs->presenceMask & ENBCONFIGURATIONUPDATEIES_SUPPORTEDTAS_PRESENT) - == ENBCONFIGURATIONUPDATEIES_SUPPORTEDTAS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SupportedTAs, - Criticality_reject, - &asn_DEF_SupportedTAs, - &enbConfigurationUpdateIEs->supportedTAs)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&eNBConfigurationUpdate->eNBConfigurationUpdate_ies.list, ie); - } - - /* Optional field */ - if ((enbConfigurationUpdateIEs->presenceMask & ENBCONFIGURATIONUPDATEIES_CSG_IDLIST_PRESENT) - == ENBCONFIGURATIONUPDATEIES_CSG_IDLIST_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSG_IdList, - Criticality_reject, - &asn_DEF_CSG_IdList, - &enbConfigurationUpdateIEs->csG_IdList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&eNBConfigurationUpdate->eNBConfigurationUpdate_ies.list, ie); - } - - /* Optional field */ - if ((enbConfigurationUpdateIEs->presenceMask & ENBCONFIGURATIONUPDATEIES_PAGINGDRX_PRESENT) - == ENBCONFIGURATIONUPDATEIES_PAGINGDRX_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_DefaultPagingDRX, - Criticality_ignore, - &asn_DEF_PagingDRX, - &enbConfigurationUpdateIEs->defaultPagingDRX)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&eNBConfigurationUpdate->eNBConfigurationUpdate_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_initialcontextsetuprequesties( - InitialContextSetupRequest_t *initialContextSetupRequest, - InitialContextSetupRequestIEs_t *initialContextSetupRequestIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &initialContextSetupRequestIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &initialContextSetupRequestIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_uEaggregateMaximumBitrate, - Criticality_reject, - &asn_DEF_UEAggregateMaximumBitrate, - &initialContextSetupRequestIEs->uEaggregateMaximumBitrate)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie); - - E_RABToBeSetupListCtxtSUReq_t e_RABToBeSetupListCtxtSUReq; - - memset(&e_RABToBeSetupListCtxtSUReq, 0, sizeof(E_RABToBeSetupListCtxtSUReq_t)); - - if (s1ap_encode_e_rabtobesetuplistctxtsureq(&e_RABToBeSetupListCtxtSUReq, &initialContextSetupRequestIEs->e_RABToBeSetupListCtxtSUReq) < 0) return -1; - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSetupListCtxtSUReq, - Criticality_reject, - &asn_DEF_E_RABToBeSetupListCtxtSUReq, - &e_RABToBeSetupListCtxtSUReq)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UESecurityCapabilities, - Criticality_reject, - &asn_DEF_UESecurityCapabilities, - &initialContextSetupRequestIEs->ueSecurityCapabilities)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SecurityKey, - Criticality_reject, - &asn_DEF_SecurityKey, - &initialContextSetupRequestIEs->securityKey)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie); - - /* Optional field */ - if ((initialContextSetupRequestIEs->presenceMask & INITIALCONTEXTSETUPREQUESTIES_TRACEACTIVATION_PRESENT) - == INITIALCONTEXTSETUPREQUESTIES_TRACEACTIVATION_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TraceActivation, - Criticality_ignore, - &asn_DEF_TraceActivation, - &initialContextSetupRequestIEs->traceActivation)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie); - } - - /* Optional field */ - if ((initialContextSetupRequestIEs->presenceMask & INITIALCONTEXTSETUPREQUESTIES_HANDOVERRESTRICTIONLIST_PRESENT) - == INITIALCONTEXTSETUPREQUESTIES_HANDOVERRESTRICTIONLIST_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_HandoverRestrictionList, - Criticality_ignore, - &asn_DEF_HandoverRestrictionList, - &initialContextSetupRequestIEs->handoverRestrictionList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie); - } - - /* Optional field */ - if ((initialContextSetupRequestIEs->presenceMask & INITIALCONTEXTSETUPREQUESTIES_UERADIOCAPABILITY_PRESENT) - == INITIALCONTEXTSETUPREQUESTIES_UERADIOCAPABILITY_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UERadioCapability, - Criticality_ignore, - &asn_DEF_UERadioCapability, - &initialContextSetupRequestIEs->ueRadioCapability)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie); - } - - /* Optional field */ - if ((initialContextSetupRequestIEs->presenceMask & INITIALCONTEXTSETUPREQUESTIES_SUBSCRIBERPROFILEIDFORRFP_PRESENT) - == INITIALCONTEXTSETUPREQUESTIES_SUBSCRIBERPROFILEIDFORRFP_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SubscriberProfileIDforRFP, - Criticality_ignore, - &asn_DEF_SubscriberProfileIDforRFP, - &initialContextSetupRequestIEs->subscriberProfileIDforRFP)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie); - } - - /* Optional field */ - if ((initialContextSetupRequestIEs->presenceMask & INITIALCONTEXTSETUPREQUESTIES_CSFALLBACKINDICATOR_PRESENT) - == INITIALCONTEXTSETUPREQUESTIES_CSFALLBACKINDICATOR_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSFallbackIndicator, - Criticality_reject, - &asn_DEF_CSFallbackIndicator, - &initialContextSetupRequestIEs->csFallbackIndicator)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie); - } - - /* Optional field */ - if ((initialContextSetupRequestIEs->presenceMask & INITIALCONTEXTSETUPREQUESTIES_SRVCCOPERATIONPOSSIBLE_PRESENT) - == INITIALCONTEXTSETUPREQUESTIES_SRVCCOPERATIONPOSSIBLE_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SRVCCOperationPossible, - Criticality_ignore, - &asn_DEF_SRVCCOperationPossible, - &initialContextSetupRequestIEs->srvccOperationPossible)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie); - } - - /* Optional field */ - if ((initialContextSetupRequestIEs->presenceMask & INITIALCONTEXTSETUPREQUESTIES_CSGMEMBERSHIPSTATUS_PRESENT) - == INITIALCONTEXTSETUPREQUESTIES_CSGMEMBERSHIPSTATUS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSGMembershipStatus, - Criticality_ignore, - &asn_DEF_CSGMembershipStatus, - &initialContextSetupRequestIEs->csgMembershipStatus)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie); - } - - /* Optional field */ - if ((initialContextSetupRequestIEs->presenceMask & INITIALCONTEXTSETUPREQUESTIES_LAI_PRESENT) - == INITIALCONTEXTSETUPREQUESTIES_LAI_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_RegisteredLAI, - Criticality_ignore, - &asn_DEF_LAI, - &initialContextSetupRequestIEs->registeredLAI)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_mmedirectinformationtransferies( - MMEDirectInformationTransfer_t *mmeDirectInformationTransfer, - MMEDirectInformationTransferIEs_t *mmeDirectInformationTransferIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Inter_SystemInformationTransferTypeMDT, - Criticality_reject, - &asn_DEF_Inter_SystemInformationTransferType, - &mmeDirectInformationTransferIEs->inter_SystemInformationTransferTypeMDT)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&mmeDirectInformationTransfer->mmeDirectInformationTransfer_ies.list, ie); - - return 0; -} - -int s1ap_encode_uplinknonueassociatedlppatransporties( - UplinkNonUEAssociatedLPPaTransport_t *uplinkNonUEAssociatedLPPaTransport, - UplinkNonUEAssociatedLPPaTransportIEs_t *uplinkNonUEAssociatedLPPaTransportIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Routing_ID, - Criticality_reject, - &asn_DEF_Routing_ID, - &uplinkNonUEAssociatedLPPaTransportIEs->routing_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkNonUEAssociatedLPPaTransport->uplinkNonUEAssociatedLPPaTransport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_LPPa_PDU, - Criticality_reject, - &asn_DEF_LPPa_PDU, - &uplinkNonUEAssociatedLPPaTransportIEs->lpPa_PDU)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkNonUEAssociatedLPPaTransport->uplinkNonUEAssociatedLPPaTransport_ies.list, ie); - - return 0; -} - -int s1ap_encode_reseties( - Reset_t *reset, - ResetIEs_t *resetIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause, - Criticality_ignore, - &asn_DEF_Cause, - &resetIEs->cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&reset->reset_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_ResetType, - Criticality_reject, - &asn_DEF_ResetType, - &resetIEs->resetType)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&reset->reset_ies.list, ie); - - return 0; -} - -int s1ap_encode_uecontextreleasecommandies( - UEContextReleaseCommand_t *ueContextReleaseCommand, - UEContextReleaseCommandIEs_t *ueContextReleaseCommandIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UE_S1AP_IDs, - Criticality_reject, - &asn_DEF_UE_S1AP_IDs, - &ueContextReleaseCommandIEs->uE_S1AP_IDs)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextReleaseCommand->ueContextReleaseCommand_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause, - Criticality_ignore, - &asn_DEF_Cause, - &ueContextReleaseCommandIEs->cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextReleaseCommand->ueContextReleaseCommand_ies.list, ie); - - return 0; -} - -int s1ap_encode_uecapabilityinfoindicationies( - UECapabilityInfoIndication_t *ueCapabilityInfoIndication, - UECapabilityInfoIndicationIEs_t *ueCapabilityInfoIndicationIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &ueCapabilityInfoIndicationIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueCapabilityInfoIndication->ueCapabilityInfoIndication_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &ueCapabilityInfoIndicationIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueCapabilityInfoIndication->ueCapabilityInfoIndication_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UERadioCapability, - Criticality_ignore, - &asn_DEF_UERadioCapability, - &ueCapabilityInfoIndicationIEs->ueRadioCapability)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueCapabilityInfoIndication->ueCapabilityInfoIndication_ies.list, ie); - - return 0; -} - -int s1ap_encode_uplinks1cdma2000tunnelingies( - UplinkS1cdma2000tunneling_t *uplinkS1cdma2000tunneling, - UplinkS1cdma2000tunnelingIEs_t *uplinkS1cdma2000tunnelingIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &uplinkS1cdma2000tunnelingIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &uplinkS1cdma2000tunnelingIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000RATType, - Criticality_reject, - &asn_DEF_Cdma2000RATType, - &uplinkS1cdma2000tunnelingIEs->cdma2000RATType)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000SectorID, - Criticality_reject, - &asn_DEF_Cdma2000SectorID, - &uplinkS1cdma2000tunnelingIEs->cdma2000SectorID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie); - - /* Optional field */ - if ((uplinkS1cdma2000tunnelingIEs->presenceMask & UPLINKS1CDMA2000TUNNELINGIES_CDMA2000HOREQUIREDINDICATION_PRESENT) - == UPLINKS1CDMA2000TUNNELINGIES_CDMA2000HOREQUIREDINDICATION_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000HORequiredIndication, - Criticality_ignore, - &asn_DEF_Cdma2000HORequiredIndication, - &uplinkS1cdma2000tunnelingIEs->cdma2000HORequiredIndication)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie); - } - - /* Optional field */ - if ((uplinkS1cdma2000tunnelingIEs->presenceMask & UPLINKS1CDMA2000TUNNELINGIES_CDMA2000ONEXSRVCCINFO_PRESENT) - == UPLINKS1CDMA2000TUNNELINGIES_CDMA2000ONEXSRVCCINFO_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000OneXSRVCCInfo, - Criticality_reject, - &asn_DEF_Cdma2000OneXSRVCCInfo, - &uplinkS1cdma2000tunnelingIEs->cdma2000OneXSRVCCInfo)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie); - } - - /* Optional field */ - if ((uplinkS1cdma2000tunnelingIEs->presenceMask & UPLINKS1CDMA2000TUNNELINGIES_CDMA2000ONEXRAND_PRESENT) - == UPLINKS1CDMA2000TUNNELINGIES_CDMA2000ONEXRAND_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000OneXRAND, - Criticality_reject, - &asn_DEF_Cdma2000OneXRAND, - &uplinkS1cdma2000tunnelingIEs->cdma2000OneXRAND)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie); - } - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000PDU, - Criticality_reject, - &asn_DEF_Cdma2000PDU, - &uplinkS1cdma2000tunnelingIEs->cdma2000PDU)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie); - - /* Optional field */ - if ((uplinkS1cdma2000tunnelingIEs->presenceMask & UPLINKS1CDMA2000TUNNELINGIES_EUTRANROUNDTRIPDELAYESTIMATIONINFO_PRESENT) - == UPLINKS1CDMA2000TUNNELINGIES_EUTRANROUNDTRIPDELAYESTIMATIONINFO_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_EUTRANRoundTripDelayEstimationInfo, - Criticality_ignore, - &asn_DEF_EUTRANRoundTripDelayEstimationInfo, - &uplinkS1cdma2000tunnelingIEs->eutranRoundTripDelayEstimationInfo)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_writereplacewarningresponseies( - WriteReplaceWarningResponse_t *writeReplaceWarningResponse, - WriteReplaceWarningResponseIEs_t *writeReplaceWarningResponseIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MessageIdentifier, - Criticality_reject, - &asn_DEF_MessageIdentifier, - &writeReplaceWarningResponseIEs->messageIdentifier)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&writeReplaceWarningResponse->writeReplaceWarningResponse_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SerialNumber, - Criticality_reject, - &asn_DEF_SerialNumber, - &writeReplaceWarningResponseIEs->serialNumber)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&writeReplaceWarningResponse->writeReplaceWarningResponse_ies.list, ie); - - /* Optional field */ - if ((writeReplaceWarningResponseIEs->presenceMask & WRITEREPLACEWARNINGRESPONSEIES_BROADCASTCOMPLETEDAREALIST_PRESENT) - == WRITEREPLACEWARNINGRESPONSEIES_BROADCASTCOMPLETEDAREALIST_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_BroadcastCompletedAreaList, - Criticality_ignore, - &asn_DEF_BroadcastCompletedAreaList, - &writeReplaceWarningResponseIEs->broadcastCompletedAreaList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&writeReplaceWarningResponse->writeReplaceWarningResponse_ies.list, ie); - } - - /* Optional field */ - if ((writeReplaceWarningResponseIEs->presenceMask & WRITEREPLACEWARNINGRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) - == WRITEREPLACEWARNINGRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &writeReplaceWarningResponseIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&writeReplaceWarningResponse->writeReplaceWarningResponse_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_e_rabreleasecommandies( - E_RABReleaseCommand_t *e_RABReleaseCommand, - E_RABReleaseCommandIEs_t *e_RABReleaseCommandIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &e_RABReleaseCommandIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABReleaseCommand->e_RABReleaseCommand_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &e_RABReleaseCommandIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABReleaseCommand->e_RABReleaseCommand_ies.list, ie); - - /* Optional field */ - if ((e_RABReleaseCommandIEs->presenceMask & E_RABRELEASECOMMANDIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT) - == E_RABRELEASECOMMANDIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_uEaggregateMaximumBitrate, - Criticality_reject, - &asn_DEF_UEAggregateMaximumBitrate, - &e_RABReleaseCommandIEs->uEaggregateMaximumBitrate)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABReleaseCommand->e_RABReleaseCommand_ies.list, ie); - } - - E_RABList_t e_RABToBeReleasedList; - - memset(&e_RABToBeReleasedList, 0, sizeof(E_RABList_t)); - - if (s1ap_encode_e_rablist(&e_RABToBeReleasedList, &e_RABReleaseCommandIEs->e_RABToBeReleasedList) < 0) return -1; - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeReleasedList, - Criticality_ignore, - &asn_DEF_E_RABList, - &e_RABToBeReleasedList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABReleaseCommand->e_RABReleaseCommand_ies.list, ie); - - /* Optional field */ - if ((e_RABReleaseCommandIEs->presenceMask & E_RABRELEASECOMMANDIES_NAS_PDU_PRESENT) - == E_RABRELEASECOMMANDIES_NAS_PDU_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_NAS_PDU, - Criticality_ignore, - &asn_DEF_NAS_PDU, - &e_RABReleaseCommandIEs->nas_pdu)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABReleaseCommand->e_RABReleaseCommand_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_celltraffictraceies( - CellTrafficTrace_t *cellTrafficTrace, - CellTrafficTraceIEs_t *cellTrafficTraceIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &cellTrafficTraceIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&cellTrafficTrace->cellTrafficTrace_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &cellTrafficTraceIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&cellTrafficTrace->cellTrafficTrace_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_UTRAN_Trace_ID, - Criticality_ignore, - &asn_DEF_E_UTRAN_Trace_ID, - &cellTrafficTraceIEs->e_UTRAN_Trace_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&cellTrafficTrace->cellTrafficTrace_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_EUTRAN_CGI, - Criticality_ignore, - &asn_DEF_EUTRAN_CGI, - &cellTrafficTraceIEs->eutran_cgi)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&cellTrafficTrace->cellTrafficTrace_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TraceCollectionEntityIPAddress, - Criticality_ignore, - &asn_DEF_TransportLayerAddress, - &cellTrafficTraceIEs->traceCollectionEntityIPAddress)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&cellTrafficTrace->cellTrafficTrace_ies.list, ie); - - return 0; -} - -int s1ap_encode_pathswitchrequestfailureies( - PathSwitchRequestFailure_t *pathSwitchRequestFailure, - PathSwitchRequestFailureIEs_t *pathSwitchRequestFailureIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_MME_UE_S1AP_ID, - &pathSwitchRequestFailureIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&pathSwitchRequestFailure->pathSwitchRequestFailure_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_ENB_UE_S1AP_ID, - &pathSwitchRequestFailureIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&pathSwitchRequestFailure->pathSwitchRequestFailure_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause, - Criticality_ignore, - &asn_DEF_Cause, - &pathSwitchRequestFailureIEs->cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&pathSwitchRequestFailure->pathSwitchRequestFailure_ies.list, ie); - - /* Optional field */ - if ((pathSwitchRequestFailureIEs->presenceMask & PATHSWITCHREQUESTFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) - == PATHSWITCHREQUESTFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &pathSwitchRequestFailureIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&pathSwitchRequestFailure->pathSwitchRequestFailure_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_initialcontextsetupresponseies( - InitialContextSetupResponse_t *initialContextSetupResponse, - InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_MME_UE_S1AP_ID, - &initialContextSetupResponseIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupResponse->initialContextSetupResponse_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_ENB_UE_S1AP_ID, - &initialContextSetupResponseIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupResponse->initialContextSetupResponse_ies.list, ie); - - E_RABSetupListCtxtSURes_t e_RABSetupListCtxtSURes; - - memset(&e_RABSetupListCtxtSURes, 0, sizeof(E_RABSetupListCtxtSURes_t)); - - if (s1ap_encode_e_rabsetuplistctxtsures(&e_RABSetupListCtxtSURes, &initialContextSetupResponseIEs->e_RABSetupListCtxtSURes) < 0) return -1; - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABSetupListCtxtSURes, - Criticality_ignore, - &asn_DEF_E_RABSetupListCtxtSURes, - &e_RABSetupListCtxtSURes)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupResponse->initialContextSetupResponse_ies.list, ie); - - /* Optional field */ - if ((initialContextSetupResponseIEs->presenceMask & INITIALCONTEXTSETUPRESPONSEIES_E_RABLIST_PRESENT) - == INITIALCONTEXTSETUPRESPONSEIES_E_RABLIST_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABFailedToSetupListCtxtSURes, - Criticality_ignore, - &asn_DEF_E_RABList, - &initialContextSetupResponseIEs->e_RABFailedToSetupListCtxtSURes)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupResponse->initialContextSetupResponse_ies.list, ie); - } - - /* Optional field */ - if ((initialContextSetupResponseIEs->presenceMask & INITIALCONTEXTSETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) - == INITIALCONTEXTSETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &initialContextSetupResponseIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupResponse->initialContextSetupResponse_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_mmestatustransferies( - MMEStatusTransfer_t *mmeStatusTransfer, - MMEStatusTransferIEs_t *mmeStatusTransferIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &mmeStatusTransferIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&mmeStatusTransfer->mmeStatusTransfer_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &mmeStatusTransferIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&mmeStatusTransfer->mmeStatusTransfer_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_StatusTransfer_TransparentContainer, - Criticality_reject, - &asn_DEF_ENB_StatusTransfer_TransparentContainer, - &mmeStatusTransferIEs->eNB_StatusTransfer_TransparentContainer)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&mmeStatusTransfer->mmeStatusTransfer_ies.list, ie); - - return 0; -} - -int s1ap_encode_s1setuprequesties( - S1SetupRequest_t *s1SetupRequest, - S1SetupRequestIEs_t *s1SetupRequestIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Global_ENB_ID, - Criticality_reject, - &asn_DEF_Global_ENB_ID, - &s1SetupRequestIEs->global_ENB_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&s1SetupRequest->s1SetupRequest_ies.list, ie); - - /* Optional field */ - if ((s1SetupRequestIEs->presenceMask & S1SETUPREQUESTIES_ENBNAME_PRESENT) - == S1SETUPREQUESTIES_ENBNAME_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNBname, - Criticality_ignore, - &asn_DEF_ENBname, - &s1SetupRequestIEs->eNBname)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&s1SetupRequest->s1SetupRequest_ies.list, ie); - } - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SupportedTAs, - Criticality_reject, - &asn_DEF_SupportedTAs, - &s1SetupRequestIEs->supportedTAs)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&s1SetupRequest->s1SetupRequest_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_DefaultPagingDRX, - Criticality_ignore, - &asn_DEF_PagingDRX, - &s1SetupRequestIEs->defaultPagingDRX)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&s1SetupRequest->s1SetupRequest_ies.list, ie); - - /* Optional field */ - if ((s1SetupRequestIEs->presenceMask & S1SETUPREQUESTIES_CSG_IDLIST_PRESENT) - == S1SETUPREQUESTIES_CSG_IDLIST_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSG_IdList, - Criticality_reject, - &asn_DEF_CSG_IdList, - &s1SetupRequestIEs->csG_IdList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&s1SetupRequest->s1SetupRequest_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_handoverrequiredies( - HandoverRequired_t *handoverRequired, - HandoverRequiredIEs_t *handoverRequiredIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &handoverRequiredIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &handoverRequiredIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_HandoverType, - Criticality_reject, - &asn_DEF_HandoverType, - &handoverRequiredIEs->handoverType)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause, - Criticality_ignore, - &asn_DEF_Cause, - &handoverRequiredIEs->cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TargetID, - Criticality_reject, - &asn_DEF_TargetID, - &handoverRequiredIEs->targetID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie); - - /* Optional field */ - if ((handoverRequiredIEs->presenceMask & HANDOVERREQUIREDIES_DIRECT_FORWARDING_PATH_AVAILABILITY_PRESENT) - == HANDOVERREQUIREDIES_DIRECT_FORWARDING_PATH_AVAILABILITY_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Direct_Forwarding_Path_Availability, - Criticality_ignore, - &asn_DEF_Direct_Forwarding_Path_Availability, - &handoverRequiredIEs->direct_Forwarding_Path_Availability)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie); - } - - /* Optional field */ - if ((handoverRequiredIEs->presenceMask & HANDOVERREQUIREDIES_SRVCCHOINDICATION_PRESENT) - == HANDOVERREQUIREDIES_SRVCCHOINDICATION_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SRVCCHOIndication, - Criticality_reject, - &asn_DEF_SRVCCHOIndication, - &handoverRequiredIEs->srvcchoIndication)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie); - } - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Source_ToTarget_TransparentContainer, - Criticality_reject, - &asn_DEF_Source_ToTarget_TransparentContainer, - &handoverRequiredIEs->source_ToTarget_TransparentContainer)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie); - - /* Optional field */ - if ((handoverRequiredIEs->presenceMask & HANDOVERREQUIREDIES_SOURCE_TOTARGET_TRANSPARENTCONTAINER_PRESENT) - == HANDOVERREQUIREDIES_SOURCE_TOTARGET_TRANSPARENTCONTAINER_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Source_ToTarget_TransparentContainer_Secondary, - Criticality_reject, - &asn_DEF_Source_ToTarget_TransparentContainer, - &handoverRequiredIEs->source_ToTarget_TransparentContainer_Secondary)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie); - } - - /* Conditional field */ - if ((handoverRequiredIEs->presenceMask & HANDOVERREQUIREDIES_MSCLASSMARK2_PRESENT) - == HANDOVERREQUIREDIES_MSCLASSMARK2_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MSClassmark2, - Criticality_reject, - &asn_DEF_MSClassmark2, - &handoverRequiredIEs->msClassmark2)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie); - } - - /* Conditional field */ - if ((handoverRequiredIEs->presenceMask & HANDOVERREQUIREDIES_MSCLASSMARK3_PRESENT) - == HANDOVERREQUIREDIES_MSCLASSMARK3_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MSClassmark3, - Criticality_ignore, - &asn_DEF_MSClassmark3, - &handoverRequiredIEs->msClassmark3)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie); - } - - /* Optional field */ - if ((handoverRequiredIEs->presenceMask & HANDOVERREQUIREDIES_CSG_ID_PRESENT) - == HANDOVERREQUIREDIES_CSG_ID_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSG_Id, - Criticality_reject, - &asn_DEF_CSG_Id, - &handoverRequiredIEs->csG_Id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie); - } - - /* Optional field */ - if ((handoverRequiredIEs->presenceMask & HANDOVERREQUIREDIES_CELLACCESSMODE_PRESENT) - == HANDOVERREQUIREDIES_CELLACCESSMODE_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CellAccessMode, - Criticality_reject, - &asn_DEF_CellAccessMode, - &handoverRequiredIEs->cellAccessMode)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie); - } - - /* Optional field */ - if ((handoverRequiredIEs->presenceMask & HANDOVERREQUIREDIES_PS_SERVICENOTAVAILABLE_PRESENT) - == HANDOVERREQUIREDIES_PS_SERVICENOTAVAILABLE_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_PS_ServiceNotAvailable, - Criticality_ignore, - &asn_DEF_PS_ServiceNotAvailable, - &handoverRequiredIEs->pS_ServiceNotAvailable)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_uplinknastransporties( - UplinkNASTransport_t *uplinkNASTransport, - UplinkNASTransportIEs_t *uplinkNASTransportIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &uplinkNASTransportIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkNASTransport->uplinkNASTransport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &uplinkNASTransportIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkNASTransport->uplinkNASTransport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_NAS_PDU, - Criticality_reject, - &asn_DEF_NAS_PDU, - &uplinkNASTransportIEs->nas_pdu)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkNASTransport->uplinkNASTransport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_EUTRAN_CGI, - Criticality_ignore, - &asn_DEF_EUTRAN_CGI, - &uplinkNASTransportIEs->eutran_cgi)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkNASTransport->uplinkNASTransport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TAI, - Criticality_ignore, - &asn_DEF_TAI, - &uplinkNASTransportIEs->tai)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uplinkNASTransport->uplinkNASTransport_ies.list, ie); - - return 0; -} - -int s1ap_encode_locationreporties( - LocationReport_t *locationReport, - LocationReportIEs_t *locationReportIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &locationReportIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&locationReport->locationReport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &locationReportIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&locationReport->locationReport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_EUTRAN_CGI, - Criticality_ignore, - &asn_DEF_EUTRAN_CGI, - &locationReportIEs->eutran_cgi)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&locationReport->locationReport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TAI, - Criticality_ignore, - &asn_DEF_TAI, - &locationReportIEs->tai)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&locationReport->locationReport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_RequestType, - Criticality_ignore, - &asn_DEF_RequestType, - &locationReportIEs->requestType)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&locationReport->locationReport_ies.list, ie); - - return 0; -} - -int s1ap_encode_uecontextmodificationfailureies( - UEContextModificationFailure_t *ueContextModificationFailure, - UEContextModificationFailureIEs_t *ueContextModificationFailureIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_MME_UE_S1AP_ID, - &ueContextModificationFailureIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextModificationFailure->ueContextModificationFailure_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_ENB_UE_S1AP_ID, - &ueContextModificationFailureIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextModificationFailure->ueContextModificationFailure_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause, - Criticality_ignore, - &asn_DEF_Cause, - &ueContextModificationFailureIEs->cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextModificationFailure->ueContextModificationFailure_ies.list, ie); - - /* Optional field */ - if ((ueContextModificationFailureIEs->presenceMask & UECONTEXTMODIFICATIONFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) - == UECONTEXTMODIFICATIONFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &ueContextModificationFailureIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextModificationFailure->ueContextModificationFailure_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_enbconfigurationtransferies( - ENBConfigurationTransfer_t *eNBConfigurationTransfer, - ENBConfigurationTransferIEs_t *enbConfigurationTransferIEs) { - - IE_t *ie; - - /* Optional field */ - if ((enbConfigurationTransferIEs->presenceMask & ENBCONFIGURATIONTRANSFERIES_SONCONFIGURATIONTRANSFER_PRESENT) - == ENBCONFIGURATIONTRANSFERIES_SONCONFIGURATIONTRANSFER_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SONConfigurationTransferECT, - Criticality_ignore, - &asn_DEF_SONConfigurationTransfer, - &enbConfigurationTransferIEs->sonConfigurationTransferECT)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&eNBConfigurationTransfer->eNBConfigurationTransfer_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_downlinknonueassociatedlppatransporties( - DownlinkNonUEAssociatedLPPaTransport_t *downlinkNonUEAssociatedLPPaTransport, - DownlinkNonUEAssociatedLPPaTransportIEs_t *downlinkNonUEAssociatedLPPaTransportIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Routing_ID, - Criticality_reject, - &asn_DEF_Routing_ID, - &downlinkNonUEAssociatedLPPaTransportIEs->routing_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&downlinkNonUEAssociatedLPPaTransport->downlinkNonUEAssociatedLPPaTransport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_LPPa_PDU, - Criticality_reject, - &asn_DEF_LPPa_PDU, - &downlinkNonUEAssociatedLPPaTransportIEs->lpPa_PDU)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&downlinkNonUEAssociatedLPPaTransport->downlinkNonUEAssociatedLPPaTransport_ies.list, ie); - - return 0; -} - -int s1ap_encode_initialuemessageies( - InitialUEMessage_t *initialUEMessage, - InitialUEMessageIEs_t *initialUEMessageIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &initialUEMessageIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_NAS_PDU, - Criticality_reject, - &asn_DEF_NAS_PDU, - &initialUEMessageIEs->nas_pdu)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TAI, - Criticality_reject, - &asn_DEF_TAI, - &initialUEMessageIEs->tai)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_EUTRAN_CGI, - Criticality_ignore, - &asn_DEF_EUTRAN_CGI, - &initialUEMessageIEs->eutran_cgi)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_RRC_Establishment_Cause, - Criticality_ignore, - &asn_DEF_RRC_Establishment_Cause, - &initialUEMessageIEs->rrC_Establishment_Cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie); - - /* Optional field */ - if ((initialUEMessageIEs->presenceMask & INITIALUEMESSAGEIES_S_TMSI_PRESENT) - == INITIALUEMESSAGEIES_S_TMSI_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_S_TMSI, - Criticality_reject, - &asn_DEF_S_TMSI, - &initialUEMessageIEs->s_tmsi)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie); - } - - /* Optional field */ - if ((initialUEMessageIEs->presenceMask & INITIALUEMESSAGEIES_CSG_ID_PRESENT) - == INITIALUEMESSAGEIES_CSG_ID_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSG_Id, - Criticality_reject, - &asn_DEF_CSG_Id, - &initialUEMessageIEs->csG_Id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie); - } - - /* Optional field */ - if ((initialUEMessageIEs->presenceMask & INITIALUEMESSAGEIES_GUMMEI_PRESENT) - == INITIALUEMESSAGEIES_GUMMEI_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_GUMMEI_ID, - Criticality_reject, - &asn_DEF_GUMMEI, - &initialUEMessageIEs->gummei_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie); - } - - /* Optional field */ - if ((initialUEMessageIEs->presenceMask & INITIALUEMESSAGEIES_CELLACCESSMODE_PRESENT) - == INITIALUEMESSAGEIES_CELLACCESSMODE_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CellAccessMode, - Criticality_reject, - &asn_DEF_CellAccessMode, - &initialUEMessageIEs->cellAccessMode)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_e_rabsetupresponseies( - E_RABSetupResponse_t *e_RABSetupResponse, - E_RABSetupResponseIEs_t *e_RABSetupResponseIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_MME_UE_S1AP_ID, - &e_RABSetupResponseIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABSetupResponse->e_RABSetupResponse_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_ENB_UE_S1AP_ID, - &e_RABSetupResponseIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABSetupResponse->e_RABSetupResponse_ies.list, ie); - - /* Optional field */ - if ((e_RABSetupResponseIEs->presenceMask & E_RABSETUPRESPONSEIES_E_RABSETUPLISTBEARERSURES_PRESENT) - == E_RABSETUPRESPONSEIES_E_RABSETUPLISTBEARERSURES_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABSetupListBearerSURes, - Criticality_ignore, - &asn_DEF_E_RABSetupListBearerSURes, - &e_RABSetupResponseIEs->e_RABSetupListBearerSURes)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABSetupResponse->e_RABSetupResponse_ies.list, ie); - } - - /* Optional field */ - if ((e_RABSetupResponseIEs->presenceMask & E_RABSETUPRESPONSEIES_E_RABLIST_PRESENT) - == E_RABSETUPRESPONSEIES_E_RABLIST_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABFailedToSetupListBearerSURes, - Criticality_ignore, - &asn_DEF_E_RABList, - &e_RABSetupResponseIEs->e_RABFailedToSetupListBearerSURes)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABSetupResponse->e_RABSetupResponse_ies.list, ie); - } - - /* Optional field */ - if ((e_RABSetupResponseIEs->presenceMask & E_RABSETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) - == E_RABSETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &e_RABSetupResponseIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABSetupResponse->e_RABSetupResponse_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_pathswitchrequestacknowledgeies( - PathSwitchRequestAcknowledge_t *pathSwitchRequestAcknowledge, - PathSwitchRequestAcknowledgeIEs_t *pathSwitchRequestAcknowledgeIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_MME_UE_S1AP_ID, - &pathSwitchRequestAcknowledgeIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&pathSwitchRequestAcknowledge->pathSwitchRequestAcknowledge_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_ENB_UE_S1AP_ID, - &pathSwitchRequestAcknowledgeIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&pathSwitchRequestAcknowledge->pathSwitchRequestAcknowledge_ies.list, ie); - - /* Optional field */ - if ((pathSwitchRequestAcknowledgeIEs->presenceMask & PATHSWITCHREQUESTACKNOWLEDGEIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT) - == PATHSWITCHREQUESTACKNOWLEDGEIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_uEaggregateMaximumBitrate, - Criticality_ignore, - &asn_DEF_UEAggregateMaximumBitrate, - &pathSwitchRequestAcknowledgeIEs->uEaggregateMaximumBitrate)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&pathSwitchRequestAcknowledge->pathSwitchRequestAcknowledge_ies.list, ie); - } - - /* Optional field */ - if ((pathSwitchRequestAcknowledgeIEs->presenceMask & PATHSWITCHREQUESTACKNOWLEDGEIES_E_RABTOBESWITCHEDULLIST_PRESENT) - == PATHSWITCHREQUESTACKNOWLEDGEIES_E_RABTOBESWITCHEDULLIST_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSwitchedULList, - Criticality_ignore, - &asn_DEF_E_RABToBeSwitchedULList, - &pathSwitchRequestAcknowledgeIEs->e_RABToBeSwitchedULList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&pathSwitchRequestAcknowledge->pathSwitchRequestAcknowledge_ies.list, ie); - } - - /* Optional field */ - if ((pathSwitchRequestAcknowledgeIEs->presenceMask & PATHSWITCHREQUESTACKNOWLEDGEIES_E_RABLIST_PRESENT) - == PATHSWITCHREQUESTACKNOWLEDGEIES_E_RABLIST_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeReleasedList, - Criticality_ignore, - &asn_DEF_E_RABList, - &pathSwitchRequestAcknowledgeIEs->e_RABToBeReleasedList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&pathSwitchRequestAcknowledge->pathSwitchRequestAcknowledge_ies.list, ie); - } - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SecurityContext, - Criticality_reject, - &asn_DEF_SecurityContext, - &pathSwitchRequestAcknowledgeIEs->securityContext)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&pathSwitchRequestAcknowledge->pathSwitchRequestAcknowledge_ies.list, ie); - - /* Optional field */ - if ((pathSwitchRequestAcknowledgeIEs->presenceMask & PATHSWITCHREQUESTACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) - == PATHSWITCHREQUESTACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &pathSwitchRequestAcknowledgeIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&pathSwitchRequestAcknowledge->pathSwitchRequestAcknowledge_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_overloadstarties( - OverloadStart_t *overloadStart, - OverloadStartIEs_t *overloadStartIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_OverloadResponse, - Criticality_reject, - &asn_DEF_OverloadResponse, - &overloadStartIEs->overloadResponse)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&overloadStart->overloadStart_ies.list, ie); - - return 0; -} - -int s1ap_encode_nasnondeliveryindicationies( - NASNonDeliveryIndication_t *nasNonDeliveryIndication, - NASNonDeliveryIndicationIEs_t *nasNonDeliveryIndicationIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &nasNonDeliveryIndicationIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&nasNonDeliveryIndication->nasNonDeliveryIndication_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &nasNonDeliveryIndicationIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&nasNonDeliveryIndication->nasNonDeliveryIndication_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_NAS_PDU, - Criticality_ignore, - &asn_DEF_NAS_PDU, - &nasNonDeliveryIndicationIEs->nas_pdu)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&nasNonDeliveryIndication->nasNonDeliveryIndication_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause, - Criticality_ignore, - &asn_DEF_Cause, - &nasNonDeliveryIndicationIEs->cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&nasNonDeliveryIndication->nasNonDeliveryIndication_ies.list, ie); - - return 0; -} - -int s1ap_encode_handovercancelacknowledgeies( - HandoverCancelAcknowledge_t *handoverCancelAcknowledge, - HandoverCancelAcknowledgeIEs_t *handoverCancelAcknowledgeIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_MME_UE_S1AP_ID, - &handoverCancelAcknowledgeIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverCancelAcknowledge->handoverCancelAcknowledge_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_ENB_UE_S1AP_ID, - &handoverCancelAcknowledgeIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverCancelAcknowledge->handoverCancelAcknowledge_ies.list, ie); - - /* Optional field */ - if ((handoverCancelAcknowledgeIEs->presenceMask & HANDOVERCANCELACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) - == HANDOVERCANCELACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &handoverCancelAcknowledgeIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverCancelAcknowledge->handoverCancelAcknowledge_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_enbstatustransferies( - ENBStatusTransfer_t *eNBStatusTransfer, - ENBStatusTransferIEs_t *enbStatusTransferIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &enbStatusTransferIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&eNBStatusTransfer->eNBStatusTransfer_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &enbStatusTransferIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&eNBStatusTransfer->eNBStatusTransfer_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_StatusTransfer_TransparentContainer, - Criticality_reject, - &asn_DEF_ENB_StatusTransfer_TransparentContainer, - &enbStatusTransferIEs->eNB_StatusTransfer_TransparentContainer)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&eNBStatusTransfer->eNBStatusTransfer_ies.list, ie); - - return 0; -} - -int s1ap_encode_handovercancelies( - HandoverCancel_t *handoverCancel, - HandoverCancelIEs_t *handoverCancelIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &handoverCancelIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverCancel->handoverCancel_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &handoverCancelIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverCancel->handoverCancel_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause, - Criticality_ignore, - &asn_DEF_Cause, - &handoverCancelIEs->cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverCancel->handoverCancel_ies.list, ie); - - return 0; -} - -int s1ap_encode_e_rabreleaseresponseies( - E_RABReleaseResponse_t *e_RABReleaseResponse, - E_RABReleaseResponseIEs_t *e_RABReleaseResponseIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_MME_UE_S1AP_ID, - &e_RABReleaseResponseIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABReleaseResponse->e_RABReleaseResponse_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_ENB_UE_S1AP_ID, - &e_RABReleaseResponseIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABReleaseResponse->e_RABReleaseResponse_ies.list, ie); - - /* Optional field */ - if ((e_RABReleaseResponseIEs->presenceMask & E_RABRELEASERESPONSEIES_E_RABRELEASELISTBEARERRELCOMP_PRESENT) - == E_RABRELEASERESPONSEIES_E_RABRELEASELISTBEARERRELCOMP_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABReleaseListBearerRelComp, - Criticality_ignore, - &asn_DEF_E_RABReleaseListBearerRelComp, - &e_RABReleaseResponseIEs->e_RABReleaseListBearerRelComp)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABReleaseResponse->e_RABReleaseResponse_ies.list, ie); - } - - /* Optional field */ - if ((e_RABReleaseResponseIEs->presenceMask & E_RABRELEASERESPONSEIES_E_RABLIST_PRESENT) - == E_RABRELEASERESPONSEIES_E_RABLIST_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABFailedToReleaseList, - Criticality_ignore, - &asn_DEF_E_RABList, - &e_RABReleaseResponseIEs->e_RABFailedToReleaseList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABReleaseResponse->e_RABReleaseResponse_ies.list, ie); - } - - /* Optional field */ - if ((e_RABReleaseResponseIEs->presenceMask & E_RABRELEASERESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) - == E_RABRELEASERESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &e_RABReleaseResponseIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABReleaseResponse->e_RABReleaseResponse_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_uecontextreleaserequesties( - UEContextReleaseRequest_t *ueContextReleaseRequest, - UEContextReleaseRequestIEs_t *ueContextReleaseRequestIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &ueContextReleaseRequestIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextReleaseRequest->ueContextReleaseRequest_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &ueContextReleaseRequestIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextReleaseRequest->ueContextReleaseRequest_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause, - Criticality_ignore, - &asn_DEF_Cause, - &ueContextReleaseRequestIEs->cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&ueContextReleaseRequest->ueContextReleaseRequest_ies.list, ie); - - return 0; -} - -int s1ap_encode_tracestarties( - TraceStart_t *traceStart, - TraceStartIEs_t *traceStartIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &traceStartIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&traceStart->traceStart_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &traceStartIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&traceStart->traceStart_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TraceActivation, - Criticality_ignore, - &asn_DEF_TraceActivation, - &traceStartIEs->traceActivation)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&traceStart->traceStart_ies.list, ie); - - return 0; -} - -int s1ap_encode_mmeconfigurationtransferies( - MMEConfigurationTransfer_t *mmeConfigurationTransfer, - MMEConfigurationTransferIEs_t *mmeConfigurationTransferIEs) { - - IE_t *ie; - - /* Optional field */ - if ((mmeConfigurationTransferIEs->presenceMask & MMECONFIGURATIONTRANSFERIES_SONCONFIGURATIONTRANSFER_PRESENT) - == MMECONFIGURATIONTRANSFERIES_SONCONFIGURATIONTRANSFER_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SONConfigurationTransferMCT, - Criticality_ignore, - &asn_DEF_SONConfigurationTransfer, - &mmeConfigurationTransferIEs->sonConfigurationTransferMCT)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&mmeConfigurationTransfer->mmeConfigurationTransfer_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_tracefailureindicationies( - TraceFailureIndication_t *traceFailureIndication, - TraceFailureIndicationIEs_t *traceFailureIndicationIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &traceFailureIndicationIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&traceFailureIndication->traceFailureIndication_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &traceFailureIndicationIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&traceFailureIndication->traceFailureIndication_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_UTRAN_Trace_ID, - Criticality_ignore, - &asn_DEF_E_UTRAN_Trace_ID, - &traceFailureIndicationIEs->e_UTRAN_Trace_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&traceFailureIndication->traceFailureIndication_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause, - Criticality_ignore, - &asn_DEF_Cause, - &traceFailureIndicationIEs->cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&traceFailureIndication->traceFailureIndication_ies.list, ie); - - return 0; -} - -int s1ap_encode_initialcontextsetupfailureies( - InitialContextSetupFailure_t *initialContextSetupFailure, - InitialContextSetupFailureIEs_t *initialContextSetupFailureIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_MME_UE_S1AP_ID, - &initialContextSetupFailureIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupFailure->initialContextSetupFailure_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_ENB_UE_S1AP_ID, - &initialContextSetupFailureIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupFailure->initialContextSetupFailure_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause, - Criticality_ignore, - &asn_DEF_Cause, - &initialContextSetupFailureIEs->cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupFailure->initialContextSetupFailure_ies.list, ie); - - /* Optional field */ - if ((initialContextSetupFailureIEs->presenceMask & INITIALCONTEXTSETUPFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) - == INITIALCONTEXTSETUPFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &initialContextSetupFailureIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&initialContextSetupFailure->initialContextSetupFailure_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_errorindicationies( - ErrorIndication_t *errorIndication, - ErrorIndicationIEs_t *errorIndicationIEs) { - - IE_t *ie; - - /* Optional field */ - if ((errorIndicationIEs->presenceMask & ERRORINDICATIONIES_MME_UE_S1AP_ID_PRESENT) - == ERRORINDICATIONIES_MME_UE_S1AP_ID_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_MME_UE_S1AP_ID, - &errorIndicationIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&errorIndication->errorIndication_ies.list, ie); - } - - /* Optional field */ - if ((errorIndicationIEs->presenceMask & ERRORINDICATIONIES_ENB_UE_S1AP_ID_PRESENT) - == ERRORINDICATIONIES_ENB_UE_S1AP_ID_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_ENB_UE_S1AP_ID, - &errorIndicationIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&errorIndication->errorIndication_ies.list, ie); - } - - /* Optional field */ - if ((errorIndicationIEs->presenceMask & ERRORINDICATIONIES_CAUSE_PRESENT) - == ERRORINDICATIONIES_CAUSE_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause, - Criticality_ignore, - &asn_DEF_Cause, - &errorIndicationIEs->cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&errorIndication->errorIndication_ies.list, ie); - } - - /* Optional field */ - if ((errorIndicationIEs->presenceMask & ERRORINDICATIONIES_CRITICALITYDIAGNOSTICS_PRESENT) - == ERRORINDICATIONIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &errorIndicationIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&errorIndication->errorIndication_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_handovernotifyies( - HandoverNotify_t *handoverNotify, - HandoverNotifyIEs_t *handoverNotifyIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &handoverNotifyIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverNotify->handoverNotify_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &handoverNotifyIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverNotify->handoverNotify_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_EUTRAN_CGI, - Criticality_ignore, - &asn_DEF_EUTRAN_CGI, - &handoverNotifyIEs->eutran_cgi)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverNotify->handoverNotify_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TAI, - Criticality_ignore, - &asn_DEF_TAI, - &handoverNotifyIEs->tai)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverNotify->handoverNotify_ies.list, ie); - - return 0; -} - -int s1ap_encode_downlinks1cdma2000tunnelingies( - DownlinkS1cdma2000tunneling_t *downlinkS1cdma2000tunneling, - DownlinkS1cdma2000tunnelingIEs_t *downlinkS1cdma2000tunnelingIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &downlinkS1cdma2000tunnelingIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&downlinkS1cdma2000tunneling->downlinkS1cdma2000tunneling_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &downlinkS1cdma2000tunnelingIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&downlinkS1cdma2000tunneling->downlinkS1cdma2000tunneling_ies.list, ie); - - /* Optional field */ - if ((downlinkS1cdma2000tunnelingIEs->presenceMask & DOWNLINKS1CDMA2000TUNNELINGIES_E_RABDATAFORWARDINGLIST_PRESENT) - == DOWNLINKS1CDMA2000TUNNELINGIES_E_RABDATAFORWARDINGLIST_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABSubjecttoDataForwardingList, - Criticality_ignore, - &asn_DEF_E_RABDataForwardingList, - &downlinkS1cdma2000tunnelingIEs->e_RABSubjecttoDataForwardingList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&downlinkS1cdma2000tunneling->downlinkS1cdma2000tunneling_ies.list, ie); - } - - /* Optional field */ - if ((downlinkS1cdma2000tunnelingIEs->presenceMask & DOWNLINKS1CDMA2000TUNNELINGIES_CDMA2000HOSTATUS_PRESENT) - == DOWNLINKS1CDMA2000TUNNELINGIES_CDMA2000HOSTATUS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000HOStatus, - Criticality_ignore, - &asn_DEF_Cdma2000HOStatus, - &downlinkS1cdma2000tunnelingIEs->cdma2000HOStatus)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&downlinkS1cdma2000tunneling->downlinkS1cdma2000tunneling_ies.list, ie); - } - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000RATType, - Criticality_reject, - &asn_DEF_Cdma2000RATType, - &downlinkS1cdma2000tunnelingIEs->cdma2000RATType)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&downlinkS1cdma2000tunneling->downlinkS1cdma2000tunneling_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000PDU, - Criticality_reject, - &asn_DEF_Cdma2000PDU, - &downlinkS1cdma2000tunnelingIEs->cdma2000PDU)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&downlinkS1cdma2000tunneling->downlinkS1cdma2000tunneling_ies.list, ie); - - return 0; -} - -int s1ap_encode_mmeconfigurationupdateacknowledgeies( - MMEConfigurationUpdateAcknowledge_t *mmeConfigurationUpdateAcknowledge, - MMEConfigurationUpdateAcknowledgeIEs_t *mmeConfigurationUpdateAcknowledgeIEs) { - - IE_t *ie; - - /* Optional field */ - if ((mmeConfigurationUpdateAcknowledgeIEs->presenceMask & MMECONFIGURATIONUPDATEACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) - == MMECONFIGURATIONUPDATEACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &mmeConfigurationUpdateAcknowledgeIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&mmeConfigurationUpdateAcknowledge->mmeConfigurationUpdateAcknowledge_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_handoverrequestacknowledgeies( - HandoverRequestAcknowledge_t *handoverRequestAcknowledge, - HandoverRequestAcknowledgeIEs_t *handoverRequestAcknowledgeIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_MME_UE_S1AP_ID, - &handoverRequestAcknowledgeIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequestAcknowledge->handoverRequestAcknowledge_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_ENB_UE_S1AP_ID, - &handoverRequestAcknowledgeIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequestAcknowledge->handoverRequestAcknowledge_ies.list, ie); - - E_RABAdmittedList_t e_RABAdmittedList; - - memset(&e_RABAdmittedList, 0, sizeof(E_RABAdmittedList_t)); - - if (s1ap_encode_e_rabadmittedlist(&e_RABAdmittedList, &handoverRequestAcknowledgeIEs->e_RABAdmittedList) < 0) return -1; - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABAdmittedList, - Criticality_ignore, - &asn_DEF_E_RABAdmittedList, - &e_RABAdmittedList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequestAcknowledge->handoverRequestAcknowledge_ies.list, ie); - - /* Optional field */ - if ((handoverRequestAcknowledgeIEs->presenceMask & HANDOVERREQUESTACKNOWLEDGEIES_E_RABFAILEDTOSETUPLISTHOREQACK_PRESENT) - == HANDOVERREQUESTACKNOWLEDGEIES_E_RABFAILEDTOSETUPLISTHOREQACK_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABFailedToSetupListHOReqAck, - Criticality_ignore, - &asn_DEF_E_RABFailedtoSetupListHOReqAck, - &handoverRequestAcknowledgeIEs->e_RABFailedToSetupListHOReqAck)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequestAcknowledge->handoverRequestAcknowledge_ies.list, ie); - } - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Target_ToSource_TransparentContainer, - Criticality_reject, - &asn_DEF_Target_ToSource_TransparentContainer, - &handoverRequestAcknowledgeIEs->target_ToSource_TransparentContainer)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequestAcknowledge->handoverRequestAcknowledge_ies.list, ie); - - /* Optional field */ - if ((handoverRequestAcknowledgeIEs->presenceMask & HANDOVERREQUESTACKNOWLEDGEIES_CSG_ID_PRESENT) - == HANDOVERREQUESTACKNOWLEDGEIES_CSG_ID_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSG_Id, - Criticality_ignore, - &asn_DEF_CSG_Id, - &handoverRequestAcknowledgeIEs->csG_Id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequestAcknowledge->handoverRequestAcknowledge_ies.list, ie); - } - - /* Optional field */ - if ((handoverRequestAcknowledgeIEs->presenceMask & HANDOVERREQUESTACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) - == HANDOVERREQUESTACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &handoverRequestAcknowledgeIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&handoverRequestAcknowledge->handoverRequestAcknowledge_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_e_rabsetuprequesties( - E_RABSetupRequest_t *e_RABSetupRequest, - E_RABSetupRequestIEs_t *e_RABSetupRequestIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &e_RABSetupRequestIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABSetupRequest->e_RABSetupRequest_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &e_RABSetupRequestIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABSetupRequest->e_RABSetupRequest_ies.list, ie); - - /* Optional field */ - if ((e_RABSetupRequestIEs->presenceMask & E_RABSETUPREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT) - == E_RABSETUPREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_uEaggregateMaximumBitrate, - Criticality_reject, - &asn_DEF_UEAggregateMaximumBitrate, - &e_RABSetupRequestIEs->uEaggregateMaximumBitrate)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABSetupRequest->e_RABSetupRequest_ies.list, ie); - } - - E_RABToBeSetupListBearerSUReq_t e_RABToBeSetupListBearerSUReq; - - memset(&e_RABToBeSetupListBearerSUReq, 0, sizeof(E_RABToBeSetupListBearerSUReq_t)); - - if (s1ap_encode_e_rabtobesetuplistbearersureq(&e_RABToBeSetupListBearerSUReq, &e_RABSetupRequestIEs->e_RABToBeSetupListBearerSUReq) < 0) return -1; - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSetupListBearerSUReq, - Criticality_reject, - &asn_DEF_E_RABToBeSetupListBearerSUReq, - &e_RABToBeSetupListBearerSUReq)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABSetupRequest->e_RABSetupRequest_ies.list, ie); - - return 0; -} - -int s1ap_encode_downlinkueassociatedlppatransporties( - DownlinkUEAssociatedLPPaTransport_t *downlinkUEAssociatedLPPaTransport, - DownlinkUEAssociatedLPPaTransportIEs_t *downlinkUEAssociatedLPPaTransportIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &downlinkUEAssociatedLPPaTransportIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&downlinkUEAssociatedLPPaTransport->downlinkUEAssociatedLPPaTransport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &downlinkUEAssociatedLPPaTransportIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&downlinkUEAssociatedLPPaTransport->downlinkUEAssociatedLPPaTransport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Routing_ID, - Criticality_reject, - &asn_DEF_Routing_ID, - &downlinkUEAssociatedLPPaTransportIEs->routing_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&downlinkUEAssociatedLPPaTransport->downlinkUEAssociatedLPPaTransport_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_LPPa_PDU, - Criticality_reject, - &asn_DEF_LPPa_PDU, - &downlinkUEAssociatedLPPaTransportIEs->lpPa_PDU)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&downlinkUEAssociatedLPPaTransport->downlinkUEAssociatedLPPaTransport_ies.list, ie); - - return 0; -} - -int s1ap_encode_killrequesties( - KillRequest_t *killRequest, - KillRequestIEs_t *killRequestIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MessageIdentifier, - Criticality_reject, - &asn_DEF_MessageIdentifier, - &killRequestIEs->messageIdentifier)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&killRequest->killRequest_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SerialNumber, - Criticality_reject, - &asn_DEF_SerialNumber, - &killRequestIEs->serialNumber)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&killRequest->killRequest_ies.list, ie); - - /* Optional field */ - if ((killRequestIEs->presenceMask & KILLREQUESTIES_WARNINGAREALIST_PRESENT) - == KILLREQUESTIES_WARNINGAREALIST_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_WarningAreaList, - Criticality_ignore, - &asn_DEF_WarningAreaList, - &killRequestIEs->warningAreaList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&killRequest->killRequest_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_e_rabmodifyresponseies( - E_RABModifyResponse_t *e_RABModifyResponse, - E_RABModifyResponseIEs_t *e_RABModifyResponseIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_MME_UE_S1AP_ID, - &e_RABModifyResponseIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABModifyResponse->e_RABModifyResponse_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_ignore, - &asn_DEF_ENB_UE_S1AP_ID, - &e_RABModifyResponseIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABModifyResponse->e_RABModifyResponse_ies.list, ie); - - /* Optional field */ - if ((e_RABModifyResponseIEs->presenceMask & E_RABMODIFYRESPONSEIES_E_RABMODIFYLISTBEARERMODRES_PRESENT) - == E_RABMODIFYRESPONSEIES_E_RABMODIFYLISTBEARERMODRES_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABModifyListBearerModRes, - Criticality_ignore, - &asn_DEF_E_RABModifyListBearerModRes, - &e_RABModifyResponseIEs->e_RABModifyListBearerModRes)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABModifyResponse->e_RABModifyResponse_ies.list, ie); - } - - /* Optional field */ - if ((e_RABModifyResponseIEs->presenceMask & E_RABMODIFYRESPONSEIES_E_RABLIST_PRESENT) - == E_RABMODIFYRESPONSEIES_E_RABLIST_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABFailedToModifyList, - Criticality_ignore, - &asn_DEF_E_RABList, - &e_RABModifyResponseIEs->e_RABFailedToModifyList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABModifyResponse->e_RABModifyResponse_ies.list, ie); - } - - /* Optional field */ - if ((e_RABModifyResponseIEs->presenceMask & E_RABMODIFYRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) - == E_RABMODIFYRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &e_RABModifyResponseIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABModifyResponse->e_RABModifyResponse_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_e_rabreleaseindicationies( - E_RABReleaseIndication_t *e_RABReleaseIndication, - E_RABReleaseIndicationIEs_t *e_RABReleaseIndicationIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &e_RABReleaseIndicationIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABReleaseIndication->e_RABReleaseIndication_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &e_RABReleaseIndicationIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABReleaseIndication->e_RABReleaseIndication_ies.list, ie); - - E_RABList_t e_RABReleasedList; - - memset(&e_RABReleasedList, 0, sizeof(E_RABList_t)); - - if (s1ap_encode_e_rablist(&e_RABReleasedList, &e_RABReleaseIndicationIEs->e_RABReleasedList) < 0) return -1; - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABReleasedList, - Criticality_ignore, - &asn_DEF_E_RABList, - &e_RABReleasedList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABReleaseIndication->e_RABReleaseIndication_ies.list, ie); - - return 0; -} - -int s1ap_encode_enbconfigurationupdatefailureies( - ENBConfigurationUpdateFailure_t *eNBConfigurationUpdateFailure, - ENBConfigurationUpdateFailureIEs_t *enbConfigurationUpdateFailureIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause, - Criticality_ignore, - &asn_DEF_Cause, - &enbConfigurationUpdateFailureIEs->cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&eNBConfigurationUpdateFailure->eNBConfigurationUpdateFailure_ies.list, ie); - - /* Optional field */ - if ((enbConfigurationUpdateFailureIEs->presenceMask & ENBCONFIGURATIONUPDATEFAILUREIES_TIMETOWAIT_PRESENT) - == ENBCONFIGURATIONUPDATEFAILUREIES_TIMETOWAIT_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TimeToWait, - Criticality_ignore, - &asn_DEF_TimeToWait, - &enbConfigurationUpdateFailureIEs->timeToWait)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&eNBConfigurationUpdateFailure->eNBConfigurationUpdateFailure_ies.list, ie); - } - - /* Optional field */ - if ((enbConfigurationUpdateFailureIEs->presenceMask & ENBCONFIGURATIONUPDATEFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) - == ENBCONFIGURATIONUPDATEFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &enbConfigurationUpdateFailureIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&eNBConfigurationUpdateFailure->eNBConfigurationUpdateFailure_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_writereplacewarningrequesties( - WriteReplaceWarningRequest_t *writeReplaceWarningRequest, - WriteReplaceWarningRequestIEs_t *writeReplaceWarningRequestIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MessageIdentifier, - Criticality_reject, - &asn_DEF_MessageIdentifier, - &writeReplaceWarningRequestIEs->messageIdentifier)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SerialNumber, - Criticality_reject, - &asn_DEF_SerialNumber, - &writeReplaceWarningRequestIEs->serialNumber)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie); - - /* Optional field */ - if ((writeReplaceWarningRequestIEs->presenceMask & WRITEREPLACEWARNINGREQUESTIES_WARNINGAREALIST_PRESENT) - == WRITEREPLACEWARNINGREQUESTIES_WARNINGAREALIST_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_WarningAreaList, - Criticality_ignore, - &asn_DEF_WarningAreaList, - &writeReplaceWarningRequestIEs->warningAreaList)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie); - } - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_RepetitionPeriod, - Criticality_reject, - &asn_DEF_RepetitionPeriod, - &writeReplaceWarningRequestIEs->repetitionPeriod)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie); - - /* Optional field */ - if ((writeReplaceWarningRequestIEs->presenceMask & WRITEREPLACEWARNINGREQUESTIES_EXTENDEDREPETITIONPERIOD_PRESENT) - == WRITEREPLACEWARNINGREQUESTIES_EXTENDEDREPETITIONPERIOD_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_ExtendedRepetitionPeriod, - Criticality_reject, - &asn_DEF_ExtendedRepetitionPeriod, - &writeReplaceWarningRequestIEs->extendedRepetitionPeriod)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie); - } - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_NumberofBroadcastRequest, - Criticality_reject, - &asn_DEF_NumberofBroadcastRequest, - &writeReplaceWarningRequestIEs->numberofBroadcastRequest)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie); - - /* Optional field */ - if ((writeReplaceWarningRequestIEs->presenceMask & WRITEREPLACEWARNINGREQUESTIES_WARNINGTYPE_PRESENT) - == WRITEREPLACEWARNINGREQUESTIES_WARNINGTYPE_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_WarningType, - Criticality_ignore, - &asn_DEF_WarningType, - &writeReplaceWarningRequestIEs->warningType)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie); - } - - /* Optional field */ - if ((writeReplaceWarningRequestIEs->presenceMask & WRITEREPLACEWARNINGREQUESTIES_WARNINGSECURITYINFO_PRESENT) - == WRITEREPLACEWARNINGREQUESTIES_WARNINGSECURITYINFO_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_WarningSecurityInfo, - Criticality_ignore, - &asn_DEF_WarningSecurityInfo, - &writeReplaceWarningRequestIEs->warningSecurityInfo)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie); - } - - /* Optional field */ - if ((writeReplaceWarningRequestIEs->presenceMask & WRITEREPLACEWARNINGREQUESTIES_DATACODINGSCHEME_PRESENT) - == WRITEREPLACEWARNINGREQUESTIES_DATACODINGSCHEME_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_DataCodingScheme, - Criticality_ignore, - &asn_DEF_DataCodingScheme, - &writeReplaceWarningRequestIEs->dataCodingScheme)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie); - } - - /* Optional field */ - if ((writeReplaceWarningRequestIEs->presenceMask & WRITEREPLACEWARNINGREQUESTIES_WARNINGMESSAGECONTENTS_PRESENT) - == WRITEREPLACEWARNINGREQUESTIES_WARNINGMESSAGECONTENTS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_WarningMessageContents, - Criticality_ignore, - &asn_DEF_WarningMessageContents, - &writeReplaceWarningRequestIEs->warningMessageContents)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie); - } - - /* Optional field */ - if ((writeReplaceWarningRequestIEs->presenceMask & WRITEREPLACEWARNINGREQUESTIES_CONCURRENTWARNINGMESSAGEINDICATOR_PRESENT) - == WRITEREPLACEWARNINGREQUESTIES_CONCURRENTWARNINGMESSAGEINDICATOR_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_ConcurrentWarningMessageIndicator, - Criticality_reject, - &asn_DEF_ConcurrentWarningMessageIndicator, - &writeReplaceWarningRequestIEs->concurrentWarningMessageIndicator)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_s1setupfailureies( - S1SetupFailure_t *s1SetupFailure, - S1SetupFailureIEs_t *s1SetupFailureIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause, - Criticality_ignore, - &asn_DEF_Cause, - &s1SetupFailureIEs->cause)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&s1SetupFailure->s1SetupFailure_ies.list, ie); - - /* Optional field */ - if ((s1SetupFailureIEs->presenceMask & S1SETUPFAILUREIES_TIMETOWAIT_PRESENT) - == S1SETUPFAILUREIES_TIMETOWAIT_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TimeToWait, - Criticality_ignore, - &asn_DEF_TimeToWait, - &s1SetupFailureIEs->timeToWait)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&s1SetupFailure->s1SetupFailure_ies.list, ie); - } - - /* Optional field */ - if ((s1SetupFailureIEs->presenceMask & S1SETUPFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) - == S1SETUPFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics, - Criticality_ignore, - &asn_DEF_CriticalityDiagnostics, - &s1SetupFailureIEs->criticalityDiagnostics)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&s1SetupFailure->s1SetupFailure_ies.list, ie); - } - - return 0; -} - -int s1ap_encode_e_rabmodifyrequesties( - E_RABModifyRequest_t *e_RABModifyRequest, - E_RABModifyRequestIEs_t *e_RABModifyRequestIEs) { - - IE_t *ie; - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_MME_UE_S1AP_ID, - &e_RABModifyRequestIEs->mme_ue_s1ap_id)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABModifyRequest->e_RABModifyRequest_ies.list, ie); - - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID, - Criticality_reject, - &asn_DEF_ENB_UE_S1AP_ID, - &e_RABModifyRequestIEs->eNB_UE_S1AP_ID)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABModifyRequest->e_RABModifyRequest_ies.list, ie); - - /* Optional field */ - if ((e_RABModifyRequestIEs->presenceMask & E_RABMODIFYREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT) - == E_RABMODIFYREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_uEaggregateMaximumBitrate, - Criticality_reject, - &asn_DEF_UEAggregateMaximumBitrate, - &e_RABModifyRequestIEs->uEaggregateMaximumBitrate)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABModifyRequest->e_RABModifyRequest_ies.list, ie); - } - - E_RABToBeModifiedListBearerModReq_t e_RABToBeModifiedListBearerModReq; - - memset(&e_RABToBeModifiedListBearerModReq, 0, sizeof(E_RABToBeModifiedListBearerModReq_t)); - - if (s1ap_encode_e_rabtobemodifiedlistbearermodreq(&e_RABToBeModifiedListBearerModReq, &e_RABModifyRequestIEs->e_RABToBeModifiedListBearerModReq) < 0) return -1; - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeModifiedListBearerModReq, - Criticality_reject, - &asn_DEF_E_RABToBeModifiedListBearerModReq, - &e_RABToBeModifiedListBearerModReq)) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABModifyRequest->e_RABModifyRequest_ies.list, ie); - - return 0; -} - -int s1ap_encode_e_rabtobesetuplistbearersureq( - E_RABToBeSetupListBearerSUReq_t *e_RABToBeSetupListBearerSUReq, - E_RABToBeSetupListBearerSUReqIEs_t *e_RABToBeSetupListBearerSUReqIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < e_RABToBeSetupListBearerSUReqIEs->e_RABToBeSetupItemBearerSUReq.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSetupItemBearerSUReq, - Criticality_reject, - &asn_DEF_E_RABToBeSetupItemBearerSUReq, - e_RABToBeSetupListBearerSUReqIEs->e_RABToBeSetupItemBearerSUReq.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABToBeSetupListBearerSUReq->list, ie); - } - return 0; -} - -int s1ap_encode_ue_associatedlogicals1_connectionlistresack( - UE_associatedLogicalS1_ConnectionListResAck_t *uE_associatedLogicalS1_ConnectionListResAck, - UE_associatedLogicalS1_ConnectionListResAckIEs_t *uE_associatedLogicalS1_ConnectionListResAckIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < uE_associatedLogicalS1_ConnectionListResAckIEs->uE_associatedLogicalS1_ConnectionItemResAck.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UE_associatedLogicalS1_ConnectionItem, - Criticality_ignore, - &asn_DEF_UE_associatedLogicalS1_ConnectionItem, - uE_associatedLogicalS1_ConnectionListResAckIEs->uE_associatedLogicalS1_ConnectionItemResAck.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uE_associatedLogicalS1_ConnectionListResAck->list, ie); - } - return 0; -} - -int s1ap_encode_tailist( - TAIList_t *taiList, - TAIListIEs_t *taiListIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < taiListIEs->taiItem.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TAIItem, - Criticality_ignore, - &asn_DEF_TAIItem, - taiListIEs->taiItem.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&taiList->list, ie); - } - return 0; -} - -int s1ap_encode_e_rabadmittedlist( - E_RABAdmittedList_t *e_RABAdmittedList, - E_RABAdmittedListIEs_t *e_RABAdmittedListIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < e_RABAdmittedListIEs->e_RABAdmittedItem.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABAdmittedItem, - Criticality_ignore, - &asn_DEF_E_RABAdmittedItem, - e_RABAdmittedListIEs->e_RABAdmittedItem.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABAdmittedList->list, ie); - } - return 0; -} - -int s1ap_encode_e_rablist( - E_RABList_t *e_RABList, - E_RABListIEs_t *e_RABListIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < e_RABListIEs->e_RABItem.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABItem, - Criticality_ignore, - &asn_DEF_E_RABItem, - e_RABListIEs->e_RABItem.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABList->list, ie); - } - return 0; -} - -int s1ap_encode_e_rabtobesetuplisthoreq( - E_RABToBeSetupListHOReq_t *e_RABToBeSetupListHOReq, - E_RABToBeSetupListHOReqIEs_t *e_RABToBeSetupListHOReqIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < e_RABToBeSetupListHOReqIEs->e_RABToBeSetupItemHOReq.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSetupItemHOReq, - Criticality_reject, - &asn_DEF_E_RABToBeSetupItemHOReq, - e_RABToBeSetupListHOReqIEs->e_RABToBeSetupItemHOReq.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABToBeSetupListHOReq->list, ie); - } - return 0; -} - -int s1ap_encode_e_rabsetuplistbearersures( - E_RABSetupListBearerSURes_t *e_RABSetupListBearerSURes, - E_RABSetupListBearerSUResIEs_t *e_RABSetupListBearerSUResIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < e_RABSetupListBearerSUResIEs->e_RABSetupItemBearerSURes.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABSetupItemBearerSURes, - Criticality_ignore, - &asn_DEF_E_RABSetupItemBearerSURes, - e_RABSetupListBearerSUResIEs->e_RABSetupItemBearerSURes.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABSetupListBearerSURes->list, ie); - } - return 0; -} - -int s1ap_encode_e_rabtobesetuplistctxtsureq( - E_RABToBeSetupListCtxtSUReq_t *e_RABToBeSetupListCtxtSUReq, - E_RABToBeSetupListCtxtSUReqIEs_t *e_RABToBeSetupListCtxtSUReqIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < e_RABToBeSetupListCtxtSUReqIEs->e_RABToBeSetupItemCtxtSUReq.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSetupItemCtxtSUReq, - Criticality_reject, - &asn_DEF_E_RABToBeSetupItemCtxtSUReq, - e_RABToBeSetupListCtxtSUReqIEs->e_RABToBeSetupItemCtxtSUReq.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABToBeSetupListCtxtSUReq->list, ie); - } - return 0; -} - -int s1ap_encode_e_rabsetuplistctxtsures( - E_RABSetupListCtxtSURes_t *e_RABSetupListCtxtSURes, - E_RABSetupListCtxtSUResIEs_t *e_RABSetupListCtxtSUResIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < e_RABSetupListCtxtSUResIEs->e_RABSetupItemCtxtSURes.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABSetupItemCtxtSURes, - Criticality_ignore, - &asn_DEF_E_RABSetupItemCtxtSURes, - e_RABSetupListCtxtSUResIEs->e_RABSetupItemCtxtSURes.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABSetupListCtxtSURes->list, ie); - } - return 0; -} - -int s1ap_encode_e_rabinformationlist( - E_RABInformationList_t *e_RABInformationList, - E_RABInformationListIEs_t *e_RABInformationListIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < e_RABInformationListIEs->e_RABInformationItem.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABInformationListItem, - Criticality_ignore, - &asn_DEF_E_RABInformationListItem, - e_RABInformationListIEs->e_RABInformationItem.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABInformationList->list, ie); - } - return 0; -} - -int s1ap_encode_e_rabreleaselistbearerrelcomp( - E_RABReleaseListBearerRelComp_t *e_RABReleaseListBearerRelComp, - E_RABReleaseListBearerRelCompIEs_t *e_RABReleaseListBearerRelCompIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < e_RABReleaseListBearerRelCompIEs->e_RABReleaseItemBearerRelComp.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABReleaseItemBearerRelComp, - Criticality_ignore, - &asn_DEF_E_RABReleaseItemBearerRelComp, - e_RABReleaseListBearerRelCompIEs->e_RABReleaseItemBearerRelComp.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABReleaseListBearerRelComp->list, ie); - } - return 0; -} - -int s1ap_encode_e_rabtobemodifiedlistbearermodreq( - E_RABToBeModifiedListBearerModReq_t *e_RABToBeModifiedListBearerModReq, - E_RABToBeModifiedListBearerModReqIEs_t *e_RABToBeModifiedListBearerModReqIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < e_RABToBeModifiedListBearerModReqIEs->e_RABToBeModifiedItemBearerModReq.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeModifiedItemBearerModReq, - Criticality_reject, - &asn_DEF_E_RABToBeModifiedItemBearerModReq, - e_RABToBeModifiedListBearerModReqIEs->e_RABToBeModifiedItemBearerModReq.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABToBeModifiedListBearerModReq->list, ie); - } - return 0; -} - -int s1ap_encode_e_rabtobeswitcheddllist( - E_RABToBeSwitchedDLList_t *e_RABToBeSwitchedDLList, - E_RABToBeSwitchedDLListIEs_t *e_RABToBeSwitchedDLListIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < e_RABToBeSwitchedDLListIEs->e_RABToBeSwitchedDLItem.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSwitchedDLItem, - Criticality_reject, - &asn_DEF_E_RABToBeSwitchedDLItem, - e_RABToBeSwitchedDLListIEs->e_RABToBeSwitchedDLItem.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABToBeSwitchedDLList->list, ie); - } - return 0; -} - -int s1ap_encode_bearers_subjecttostatustransfer_list( - Bearers_SubjectToStatusTransfer_List_t *bearers_SubjectToStatusTransfer_List, - Bearers_SubjectToStatusTransfer_ListIEs_t *bearers_SubjectToStatusTransfer_ListIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < bearers_SubjectToStatusTransfer_ListIEs->bearers_SubjectToStatusTransfer_Item.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Bearers_SubjectToStatusTransfer_Item, - Criticality_ignore, - &asn_DEF_Bearers_SubjectToStatusTransfer_Item, - bearers_SubjectToStatusTransfer_ListIEs->bearers_SubjectToStatusTransfer_Item.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&bearers_SubjectToStatusTransfer_List->list, ie); - } - return 0; -} - -int s1ap_encode_e_rabtobeswitchedullist( - E_RABToBeSwitchedULList_t *e_RABToBeSwitchedULList, - E_RABToBeSwitchedULListIEs_t *e_RABToBeSwitchedULListIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < e_RABToBeSwitchedULListIEs->e_RABToBeSwitchedULItem.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSwitchedULItem, - Criticality_ignore, - &asn_DEF_E_RABToBeSwitchedULItem, - e_RABToBeSwitchedULListIEs->e_RABToBeSwitchedULItem.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABToBeSwitchedULList->list, ie); - } - return 0; -} - -int s1ap_encode_e_rabdataforwardinglist( - E_RABDataForwardingList_t *e_RABDataForwardingList, - E_RABDataForwardingListIEs_t *e_RABDataForwardingListIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < e_RABDataForwardingListIEs->e_RABDataForwardingItem.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABDataForwardingItem, - Criticality_ignore, - &asn_DEF_E_RABDataForwardingItem, - e_RABDataForwardingListIEs->e_RABDataForwardingItem.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABDataForwardingList->list, ie); - } - return 0; -} - -int s1ap_encode_e_rabmodifylistbearermodres( - E_RABModifyListBearerModRes_t *e_RABModifyListBearerModRes, - E_RABModifyListBearerModResIEs_t *e_RABModifyListBearerModResIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < e_RABModifyListBearerModResIEs->e_RABModifyItemBearerModRes.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABModifyItemBearerModRes, - Criticality_ignore, - &asn_DEF_E_RABModifyItemBearerModRes, - e_RABModifyListBearerModResIEs->e_RABModifyItemBearerModRes.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABModifyListBearerModRes->list, ie); - } - return 0; -} - -int s1ap_encode_ue_associatedlogicals1_connectionlistres( - UE_associatedLogicalS1_ConnectionListRes_t *uE_associatedLogicalS1_ConnectionListRes, - UE_associatedLogicalS1_ConnectionListResIEs_t *uE_associatedLogicalS1_ConnectionListResIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < uE_associatedLogicalS1_ConnectionListResIEs->uE_associatedLogicalS1_ConnectionItemRes.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UE_associatedLogicalS1_ConnectionItem, - Criticality_reject, - &asn_DEF_UE_associatedLogicalS1_ConnectionItem, - uE_associatedLogicalS1_ConnectionListResIEs->uE_associatedLogicalS1_ConnectionItemRes.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&uE_associatedLogicalS1_ConnectionListRes->list, ie); - } - return 0; -} - -int s1ap_encode_e_rabfailedtosetuplisthoreqack( - E_RABFailedtoSetupListHOReqAck_t *e_RABFailedtoSetupListHOReqAck, - E_RABFailedtoSetupListHOReqAckIEs_t *e_RABFailedtoSetupListHOReqAckIEs) { - - int i; - IE_t *ie; - - for (i = 0; i < e_RABFailedtoSetupListHOReqAckIEs->e_RABFailedtoSetupItemHOReqAck.count; i++) { - if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABFailedtoSetupItemHOReqAck, - Criticality_ignore, - &asn_DEF_E_RABFailedToSetupItemHOReqAck, - e_RABFailedtoSetupListHOReqAckIEs->e_RABFailedtoSetupItemHOReqAck.array[i])) == NULL) { - return -1; - } - ASN_SEQUENCE_ADD(&e_RABFailedtoSetupListHOReqAck->list, ie); - } - return 0; -} - diff --git a/openair3/OPENAIRMME/S1AP/s1ap_ies_defs.h b/openair3/OPENAIRMME/S1AP/s1ap_ies_defs.h deleted file mode 100644 index 9ea55ed28e..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_ies_defs.h +++ /dev/null @@ -1,2321 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -/******************************************************************************* - * This file had been created by asn1tostruct.py script v0.3 - * Please do not modify it directly. - * Created on: 2012-11-13 11:44:11.921370 - * from /homes/roux/trunk-clean/openair2/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn - ******************************************************************************/ -#include "s1ap_common.h" - -#ifndef S1AP_IES_DEFS_H_ -#define S1AP_IES_DEFS_H_ - -typedef struct E_RABToBeSetupListBearerSUReqIEs_s { - A_SEQUENCE_OF(struct E_RABToBeSetupItemBearerSUReq_s) e_RABToBeSetupItemBearerSUReq; -} E_RABToBeSetupListBearerSUReqIEs_t; - -typedef struct UE_associatedLogicalS1_ConnectionListResAckIEs_s { - A_SEQUENCE_OF(struct UE_associatedLogicalS1_ConnectionItemResAck_s) uE_associatedLogicalS1_ConnectionItemResAck; -} UE_associatedLogicalS1_ConnectionListResAckIEs_t; - -typedef struct TAIListIEs_s { - A_SEQUENCE_OF(struct TAIItem_s) taiItem; -} TAIListIEs_t; - -typedef struct E_RABAdmittedListIEs_s { - A_SEQUENCE_OF(struct E_RABAdmittedItem_s) e_RABAdmittedItem; -} E_RABAdmittedListIEs_t; - -typedef struct E_RABListIEs_s { - A_SEQUENCE_OF(struct E_RABItem_s) e_RABItem; -} E_RABListIEs_t; - -typedef struct E_RABToBeSetupListHOReqIEs_s { - A_SEQUENCE_OF(struct E_RABToBeSetupItemHOReq_s) e_RABToBeSetupItemHOReq; -} E_RABToBeSetupListHOReqIEs_t; - -typedef struct E_RABSetupListBearerSUResIEs_s { - A_SEQUENCE_OF(struct E_RABSetupItemBearerSURes_s) e_RABSetupItemBearerSURes; -} E_RABSetupListBearerSUResIEs_t; - -typedef struct E_RABToBeSetupListCtxtSUReqIEs_s { - A_SEQUENCE_OF(struct E_RABToBeSetupItemCtxtSUReq_s) e_RABToBeSetupItemCtxtSUReq; -} E_RABToBeSetupListCtxtSUReqIEs_t; - -typedef struct E_RABSetupListCtxtSUResIEs_s { - A_SEQUENCE_OF(struct E_RABSetupItemCtxtSURes_s) e_RABSetupItemCtxtSURes; -} E_RABSetupListCtxtSUResIEs_t; - -typedef struct E_RABInformationListIEs_s { - A_SEQUENCE_OF(struct E_RABInformationItem_s) e_RABInformationItem; -} E_RABInformationListIEs_t; - -typedef struct E_RABReleaseListBearerRelCompIEs_s { - A_SEQUENCE_OF(struct E_RABReleaseItemBearerRelComp_s) e_RABReleaseItemBearerRelComp; -} E_RABReleaseListBearerRelCompIEs_t; - -typedef struct E_RABToBeModifiedListBearerModReqIEs_s { - A_SEQUENCE_OF(struct E_RABToBeModifiedItemBearerModReq_s) e_RABToBeModifiedItemBearerModReq; -} E_RABToBeModifiedListBearerModReqIEs_t; - -typedef struct E_RABToBeSwitchedDLListIEs_s { - A_SEQUENCE_OF(struct E_RABToBeSwitchedDLItem_s) e_RABToBeSwitchedDLItem; -} E_RABToBeSwitchedDLListIEs_t; - -typedef struct Bearers_SubjectToStatusTransfer_ListIEs_s { - A_SEQUENCE_OF(struct Bearers_SubjectToStatusTransfer_Item_s) bearers_SubjectToStatusTransfer_Item; -} Bearers_SubjectToStatusTransfer_ListIEs_t; - -typedef struct E_RABToBeSwitchedULListIEs_s { - A_SEQUENCE_OF(struct E_RABToBeSwitchedULItem_s) e_RABToBeSwitchedULItem; -} E_RABToBeSwitchedULListIEs_t; - -typedef struct E_RABDataForwardingListIEs_s { - A_SEQUENCE_OF(struct E_RABDataForwardingItem_s) e_RABDataForwardingItem; -} E_RABDataForwardingListIEs_t; - -typedef struct E_RABModifyListBearerModResIEs_s { - A_SEQUENCE_OF(struct E_RABModifyItemBearerModRes_s) e_RABModifyItemBearerModRes; -} E_RABModifyListBearerModResIEs_t; - -typedef struct UE_associatedLogicalS1_ConnectionListResIEs_s { - A_SEQUENCE_OF(struct UE_associatedLogicalS1_ConnectionItemRes_s) uE_associatedLogicalS1_ConnectionItemRes; -} UE_associatedLogicalS1_ConnectionListResIEs_t; - -typedef struct E_RABFailedtoSetupListHOReqAckIEs_s { - A_SEQUENCE_OF(struct E_RABFailedtoSetupItemHOReqAck_s) e_RABFailedtoSetupItemHOReqAck; -} E_RABFailedtoSetupListHOReqAckIEs_t; - -#define MMECONFIGURATIONUPDATEIES_MMENAME_PRESENT (1 << 0) -#define MMECONFIGURATIONUPDATEIES_SERVEDGUMMEIS_PRESENT (1 << 1) -#define MMECONFIGURATIONUPDATEIES_RELATIVEMMECAPACITY_PRESENT (1 << 2) - -typedef struct MMEConfigurationUpdateIEs_s { - uint16_t presenceMask; - MMEname_t mmEname; ///< Optional field - ServedGUMMEIs_t servedGUMMEIs; ///< Optional field - RelativeMMECapacity_t relativeMMECapacity; ///< Optional field -} MMEConfigurationUpdateIEs_t; - -#define UECONTEXTMODIFICATIONREQUESTIES_SECURITYKEY_PRESENT (1 << 0) -#define UECONTEXTMODIFICATIONREQUESTIES_SUBSCRIBERPROFILEIDFORRFP_PRESENT (1 << 1) -#define UECONTEXTMODIFICATIONREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT (1 << 2) -#define UECONTEXTMODIFICATIONREQUESTIES_CSFALLBACKINDICATOR_PRESENT (1 << 3) -#define UECONTEXTMODIFICATIONREQUESTIES_UESECURITYCAPABILITIES_PRESENT (1 << 4) -#define UECONTEXTMODIFICATIONREQUESTIES_CSGMEMBERSHIPSTATUS_PRESENT (1 << 5) -#define UECONTEXTMODIFICATIONREQUESTIES_LAI_PRESENT (1 << 6) - -typedef struct UEContextModificationRequestIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - SecurityKey_t securityKey; ///< Optional field - SubscriberProfileIDforRFP_t subscriberProfileIDforRFP; ///< Optional field - UEAggregateMaximumBitrate_t uEaggregateMaximumBitrate; ///< Optional field - CSFallbackIndicator_t csFallbackIndicator; ///< Optional field - UESecurityCapabilities_t ueSecurityCapabilities; ///< Optional field - CSGMembershipStatus_t csgMembershipStatus; ///< Optional field - LAI_t registeredLAI; ///< Optional field -} UEContextModificationRequestIEs_t; - -typedef struct E_RABToBeSetupItemBearerSUReqIEs_s { - E_RABToBeSetupItemBearerSUReq_t e_RABToBeSetupItemBearerSUReq; -} E_RABToBeSetupItemBearerSUReqIEs_t; - -typedef struct ENBDirectInformationTransferIEs_s { - Inter_SystemInformationTransferType_t inter_SystemInformationTransferTypeEDT; -} ENBDirectInformationTransferIEs_t; - -typedef struct UE_associatedLogicalS1_ConnectionItemResAck_s { - UE_associatedLogicalS1_ConnectionItem_t uE_associatedLogicalS1_ConnectionItem; -} UE_associatedLogicalS1_ConnectionItemResAck_t; - -#define RESETACKNOWLEDGEIES_UE_ASSOCIATEDLOGICALS1_CONNECTIONLISTRESACK_PRESENT (1 << 0) -#define RESETACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 1) - -typedef struct ResetAcknowledgeIEs_s { - uint16_t presenceMask; - UE_associatedLogicalS1_ConnectionListResAckIEs_t uE_associatedLogicalS1_ConnectionListResAck; ///< Optional field - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} ResetAcknowledgeIEs_t; - -#define PAGINGIES_PAGINGDRX_PRESENT (1 << 0) -#define PAGINGIES_CSG_IDLIST_PRESENT (1 << 1) - -typedef struct PagingIEs_s { - uint16_t presenceMask; - UEIdentityIndexValue_t ueIdentityIndexValue; - UEPagingID_t uePagingID; - PagingDRX_t pagingDRX; ///< Optional field - CNDomain_t cnDomain; - TAIListIEs_t taiList; - CSG_IdList_t csG_IdList; ///< Optional field -} PagingIEs_t; - -typedef struct PathSwitchRequestIEs_s { - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - E_RABToBeSwitchedDLListIEs_t e_RABToBeSwitchedDLList; - MME_UE_S1AP_ID_t sourceMME_UE_S1AP_ID; - EUTRAN_CGI_t eutran_cgi; - TAI_t tai; - UESecurityCapabilities_t ueSecurityCapabilities; -} PathSwitchRequestIEs_t; - -typedef struct DeactivateTraceIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - E_UTRAN_Trace_ID_t e_UTRAN_Trace_ID; -} DeactivateTraceIEs_t; - -typedef struct LocationReportingControlIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - RequestType_t requestType; -} LocationReportingControlIEs_t; - -#define ENBCONFIGURATIONUPDATEACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0) - -typedef struct ENBConfigurationUpdateAcknowledgeIEs_s { - uint16_t presenceMask; - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} ENBConfigurationUpdateAcknowledgeIEs_t; - -#define HANDOVERFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0) - -typedef struct HandoverFailureIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - Cause_t cause; - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} HandoverFailureIEs_t; - -typedef struct LocationReportingFailureIndicationIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - Cause_t cause; -} LocationReportingFailureIndicationIEs_t; - -#define DOWNLINKNASTRANSPORTIES_HANDOVERRESTRICTIONLIST_PRESENT (1 << 0) - -typedef struct DownlinkNASTransportIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - NAS_PDU_t nas_pdu; - HandoverRestrictionList_t handoverRestrictionList; ///< Optional field -} DownlinkNASTransportIEs_t; - -#define MMECONFIGURATIONUPDATEFAILUREIES_TIMETOWAIT_PRESENT (1 << 0) -#define MMECONFIGURATIONUPDATEFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 1) - -typedef struct MMEConfigurationUpdateFailureIEs_s { - uint16_t presenceMask; - Cause_t cause; - TimeToWait_t timeToWait; ///< Optional field - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} MMEConfigurationUpdateFailureIEs_t; - -typedef struct TAIItemIEs_s { - TAIItem_t taiItem; -} TAIItemIEs_t; - -#define UECONTEXTRELEASECOMPLETEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0) - -typedef struct UEContextReleaseCompleteIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} UEContextReleaseCompleteIEs_t; - -#define S1SETUPRESPONSEIES_MMENAME_PRESENT (1 << 0) -#define S1SETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 1) - -typedef struct S1SetupResponseIEs_s { - uint16_t presenceMask; - MMEname_t mmEname; ///< Optional field - ServedGUMMEIs_t servedGUMMEIs; - RelativeMMECapacity_t relativeMMECapacity; - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} S1SetupResponseIEs_t; - -#define HANDOVERPREPARATIONFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0) - -typedef struct HandoverPreparationFailureIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - Cause_t cause; - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} HandoverPreparationFailureIEs_t; - -typedef struct E_RABAdmittedItemIEs_s { - E_RABAdmittedItem_t e_RABAdmittedItem; -} E_RABAdmittedItemIEs_t; - -#define KILLRESPONSEIES_BROADCASTCANCELLEDAREALIST_PRESENT (1 << 0) -#define KILLRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 1) - -typedef struct KillResponseIEs_s { - uint16_t presenceMask; - MessageIdentifier_t messageIdentifier; - SerialNumber_t serialNumber; - BroadcastCancelledAreaList_t broadcastCancelledAreaList; ///< Optional field - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} KillResponseIEs_t; - -typedef struct UplinkUEAssociatedLPPaTransportIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - Routing_ID_t routing_ID; - LPPa_PDU_t lpPa_PDU; -} UplinkUEAssociatedLPPaTransportIEs_t; - -#define ENBCONFIGURATIONUPDATEIES_ENBNAME_PRESENT (1 << 0) -#define ENBCONFIGURATIONUPDATEIES_SUPPORTEDTAS_PRESENT (1 << 1) -#define ENBCONFIGURATIONUPDATEIES_CSG_IDLIST_PRESENT (1 << 2) -#define ENBCONFIGURATIONUPDATEIES_PAGINGDRX_PRESENT (1 << 3) - -typedef struct ENBConfigurationUpdateIEs_s { - uint16_t presenceMask; - ENBname_t eNBname; ///< Optional field - SupportedTAs_t supportedTAs; ///< Optional field - CSG_IdList_t csG_IdList; ///< Optional field - PagingDRX_t defaultPagingDRX; ///< Optional field -} ENBConfigurationUpdateIEs_t; - -#define INITIALCONTEXTSETUPREQUESTIES_TRACEACTIVATION_PRESENT (1 << 0) -#define INITIALCONTEXTSETUPREQUESTIES_HANDOVERRESTRICTIONLIST_PRESENT (1 << 1) -#define INITIALCONTEXTSETUPREQUESTIES_UERADIOCAPABILITY_PRESENT (1 << 2) -#define INITIALCONTEXTSETUPREQUESTIES_SUBSCRIBERPROFILEIDFORRFP_PRESENT (1 << 3) -#define INITIALCONTEXTSETUPREQUESTIES_CSFALLBACKINDICATOR_PRESENT (1 << 4) -#define INITIALCONTEXTSETUPREQUESTIES_SRVCCOPERATIONPOSSIBLE_PRESENT (1 << 5) -#define INITIALCONTEXTSETUPREQUESTIES_CSGMEMBERSHIPSTATUS_PRESENT (1 << 6) -#define INITIALCONTEXTSETUPREQUESTIES_LAI_PRESENT (1 << 7) - -typedef struct InitialContextSetupRequestIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - UEAggregateMaximumBitrate_t uEaggregateMaximumBitrate; - E_RABToBeSetupListCtxtSUReqIEs_t e_RABToBeSetupListCtxtSUReq; - UESecurityCapabilities_t ueSecurityCapabilities; - SecurityKey_t securityKey; - TraceActivation_t traceActivation; ///< Optional field - HandoverRestrictionList_t handoverRestrictionList; ///< Optional field - UERadioCapability_t ueRadioCapability; ///< Optional field - SubscriberProfileIDforRFP_t subscriberProfileIDforRFP; ///< Optional field - CSFallbackIndicator_t csFallbackIndicator; ///< Optional field - SRVCCOperationPossible_t srvccOperationPossible; ///< Optional field - CSGMembershipStatus_t csgMembershipStatus; ///< Optional field - LAI_t registeredLAI; ///< Optional field -} InitialContextSetupRequestIEs_t; - -typedef struct MMEDirectInformationTransferIEs_s { - Inter_SystemInformationTransferType_t inter_SystemInformationTransferTypeMDT; -} MMEDirectInformationTransferIEs_t; - -typedef struct E_RABItemIEs_s { - E_RABItem_t e_RABItem; -} E_RABItemIEs_t; - -typedef struct UplinkNonUEAssociatedLPPaTransportIEs_s { - Routing_ID_t routing_ID; - LPPa_PDU_t lpPa_PDU; -} UplinkNonUEAssociatedLPPaTransportIEs_t; - -typedef struct ResetIEs_s { - Cause_t cause; - ResetType_t resetType; -} ResetIEs_t; - -typedef struct UEContextReleaseCommandIEs_s { - UE_S1AP_IDs_t uE_S1AP_IDs; - Cause_t cause; -} UEContextReleaseCommandIEs_t; - -typedef struct UECapabilityInfoIndicationIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - UERadioCapability_t ueRadioCapability; -} UECapabilityInfoIndicationIEs_t; - -#define UPLINKS1CDMA2000TUNNELINGIES_CDMA2000HOREQUIREDINDICATION_PRESENT (1 << 0) -#define UPLINKS1CDMA2000TUNNELINGIES_CDMA2000ONEXSRVCCINFO_PRESENT (1 << 1) -#define UPLINKS1CDMA2000TUNNELINGIES_CDMA2000ONEXRAND_PRESENT (1 << 2) -#define UPLINKS1CDMA2000TUNNELINGIES_EUTRANROUNDTRIPDELAYESTIMATIONINFO_PRESENT (1 << 3) - -typedef struct UplinkS1cdma2000tunnelingIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - Cdma2000RATType_t cdma2000RATType; - Cdma2000SectorID_t cdma2000SectorID; - Cdma2000HORequiredIndication_t cdma2000HORequiredIndication; ///< Optional field - Cdma2000OneXSRVCCInfo_t cdma2000OneXSRVCCInfo; ///< Optional field - Cdma2000OneXRAND_t cdma2000OneXRAND; ///< Optional field - Cdma2000PDU_t cdma2000PDU; - EUTRANRoundTripDelayEstimationInfo_t eutranRoundTripDelayEstimationInfo; ///< Optional field -} UplinkS1cdma2000tunnelingIEs_t; - -typedef struct E_RABToBeSetupItemHOReqIEs_s { - E_RABToBeSetupItemHOReq_t e_RABToBeSetupItemHOReq; -} E_RABToBeSetupItemHOReqIEs_t; - -#define WRITEREPLACEWARNINGRESPONSEIES_BROADCASTCOMPLETEDAREALIST_PRESENT (1 << 0) -#define WRITEREPLACEWARNINGRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 1) - -typedef struct WriteReplaceWarningResponseIEs_s { - uint16_t presenceMask; - MessageIdentifier_t messageIdentifier; - SerialNumber_t serialNumber; - BroadcastCompletedAreaList_t broadcastCompletedAreaList; ///< Optional field - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} WriteReplaceWarningResponseIEs_t; - -#define E_RABRELEASECOMMANDIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT (1 << 0) -#define E_RABRELEASECOMMANDIES_NAS_PDU_PRESENT (1 << 1) - -typedef struct E_RABReleaseCommandIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - UEAggregateMaximumBitrate_t uEaggregateMaximumBitrate; ///< Optional field - E_RABListIEs_t e_RABToBeReleasedList; - NAS_PDU_t nas_pdu; ///< Optional field -} E_RABReleaseCommandIEs_t; - -typedef struct CellTrafficTraceIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - E_UTRAN_Trace_ID_t e_UTRAN_Trace_ID; - EUTRAN_CGI_t eutran_cgi; - TransportLayerAddress_t traceCollectionEntityIPAddress; -} CellTrafficTraceIEs_t; - -typedef struct E_RABSetupItemBearerSUResIEs_s { - E_RABSetupItemBearerSURes_t e_RABSetupItemBearerSURes; -} E_RABSetupItemBearerSUResIEs_t; - -typedef struct E_RABToBeSetupItemCtxtSUReqIEs_s { - E_RABToBeSetupItemCtxtSUReq_t e_RABToBeSetupItemCtxtSUReq; -} E_RABToBeSetupItemCtxtSUReqIEs_t; - -#define PATHSWITCHREQUESTFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0) - -typedef struct PathSwitchRequestFailureIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - Cause_t cause; - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} PathSwitchRequestFailureIEs_t; - -typedef struct E_RABSetupItemCtxtSUResIEs_s { - E_RABSetupItemCtxtSURes_t e_RABSetupItemCtxtSURes; -} E_RABSetupItemCtxtSUResIEs_t; - -typedef struct E_RABInformationItemIEs_s { - E_RABInformationListItem_t e_RABInformationListItem; -} E_RABInformationItemIEs_t; - -#define INITIALCONTEXTSETUPRESPONSEIES_E_RABLIST_PRESENT (1 << 0) -#define INITIALCONTEXTSETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 1) - -typedef struct InitialContextSetupResponseIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - E_RABSetupListCtxtSUResIEs_t e_RABSetupListCtxtSURes; - E_RABListIEs_t e_RABFailedToSetupListCtxtSURes; ///< Optional field - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} InitialContextSetupResponseIEs_t; - -typedef struct MMEStatusTransferIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - ENB_StatusTransfer_TransparentContainer_t eNB_StatusTransfer_TransparentContainer; -} MMEStatusTransferIEs_t; - -#define S1SETUPREQUESTIES_ENBNAME_PRESENT (1 << 0) -#define S1SETUPREQUESTIES_CSG_IDLIST_PRESENT (1 << 1) - -typedef struct S1SetupRequestIEs_s { - uint16_t presenceMask; - Global_ENB_ID_t global_ENB_ID; - ENBname_t eNBname; ///< Optional field - SupportedTAs_t supportedTAs; - PagingDRX_t defaultPagingDRX; - CSG_IdList_t csG_IdList; ///< Optional field -} S1SetupRequestIEs_t; - -#define HANDOVERREQUIREDIES_DIRECT_FORWARDING_PATH_AVAILABILITY_PRESENT (1 << 0) -#define HANDOVERREQUIREDIES_SRVCCHOINDICATION_PRESENT (1 << 1) -#define HANDOVERREQUIREDIES_SOURCE_TOTARGET_TRANSPARENTCONTAINER_PRESENT (1 << 2) -#define HANDOVERREQUIREDIES_MSCLASSMARK2_PRESENT (1 << 3) -#define HANDOVERREQUIREDIES_MSCLASSMARK3_PRESENT (1 << 4) -#define HANDOVERREQUIREDIES_CSG_ID_PRESENT (1 << 5) -#define HANDOVERREQUIREDIES_CELLACCESSMODE_PRESENT (1 << 6) -#define HANDOVERREQUIREDIES_PS_SERVICENOTAVAILABLE_PRESENT (1 << 7) - -typedef struct HandoverRequiredIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - HandoverType_t handoverType; - Cause_t cause; - TargetID_t targetID; - Direct_Forwarding_Path_Availability_t direct_Forwarding_Path_Availability; ///< Optional field - SRVCCHOIndication_t srvcchoIndication; ///< Optional field - Source_ToTarget_TransparentContainer_t source_ToTarget_TransparentContainer; - Source_ToTarget_TransparentContainer_t source_ToTarget_TransparentContainer_Secondary; ///< Optional field - MSClassmark2_t msClassmark2; ///< Conditional field - MSClassmark3_t msClassmark3; ///< Conditional field - CSG_Id_t csG_Id; ///< Optional field - CellAccessMode_t cellAccessMode; ///< Optional field - PS_ServiceNotAvailable_t pS_ServiceNotAvailable; ///< Optional field -} HandoverRequiredIEs_t; - -typedef struct UplinkNASTransportIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - NAS_PDU_t nas_pdu; - EUTRAN_CGI_t eutran_cgi; - TAI_t tai; -} UplinkNASTransportIEs_t; - -typedef struct LocationReportIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - EUTRAN_CGI_t eutran_cgi; - TAI_t tai; - RequestType_t requestType; -} LocationReportIEs_t; - -#define UECONTEXTMODIFICATIONFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0) - -typedef struct UEContextModificationFailureIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - Cause_t cause; - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} UEContextModificationFailureIEs_t; - -#define ENBCONFIGURATIONTRANSFERIES_SONCONFIGURATIONTRANSFER_PRESENT (1 << 0) - -typedef struct ENBConfigurationTransferIEs_s { - uint16_t presenceMask; - SONConfigurationTransfer_t sonConfigurationTransferECT; ///< Optional field -} ENBConfigurationTransferIEs_t; - -typedef struct DownlinkNonUEAssociatedLPPaTransportIEs_s { - Routing_ID_t routing_ID; - LPPa_PDU_t lpPa_PDU; -} DownlinkNonUEAssociatedLPPaTransportIEs_t; - -#define INITIALUEMESSAGEIES_S_TMSI_PRESENT (1 << 0) -#define INITIALUEMESSAGEIES_CSG_ID_PRESENT (1 << 1) -#define INITIALUEMESSAGEIES_GUMMEI_PRESENT (1 << 2) -#define INITIALUEMESSAGEIES_CELLACCESSMODE_PRESENT (1 << 3) - -typedef struct InitialUEMessageIEs_s { - uint16_t presenceMask; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - NAS_PDU_t nas_pdu; - TAI_t tai; - EUTRAN_CGI_t eutran_cgi; - RRC_Establishment_Cause_t rrC_Establishment_Cause; - S_TMSI_t s_tmsi; ///< Optional field - CSG_Id_t csG_Id; ///< Optional field - GUMMEI_t gummei_id; ///< Optional field - CellAccessMode_t cellAccessMode; ///< Optional field -} InitialUEMessageIEs_t; - -#define E_RABSETUPRESPONSEIES_E_RABSETUPLISTBEARERSURES_PRESENT (1 << 0) -#define E_RABSETUPRESPONSEIES_E_RABLIST_PRESENT (1 << 1) -#define E_RABSETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 2) - -typedef struct E_RABSetupResponseIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - E_RABSetupListBearerSUResIEs_t e_RABSetupListBearerSURes; ///< Optional field - E_RABListIEs_t e_RABFailedToSetupListBearerSURes; ///< Optional field - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} E_RABSetupResponseIEs_t; - -#define PATHSWITCHREQUESTACKNOWLEDGEIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT (1 << 0) -#define PATHSWITCHREQUESTACKNOWLEDGEIES_E_RABTOBESWITCHEDULLIST_PRESENT (1 << 1) -#define PATHSWITCHREQUESTACKNOWLEDGEIES_E_RABLIST_PRESENT (1 << 2) -#define PATHSWITCHREQUESTACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 3) - -typedef struct PathSwitchRequestAcknowledgeIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - UEAggregateMaximumBitrate_t uEaggregateMaximumBitrate; ///< Optional field - E_RABToBeSwitchedULListIEs_t e_RABToBeSwitchedULList; ///< Optional field - E_RABListIEs_t e_RABToBeReleasedList; ///< Optional field - SecurityContext_t securityContext; - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} PathSwitchRequestAcknowledgeIEs_t; - -typedef struct E_RABReleaseItemBearerRelCompIEs_s { - E_RABReleaseItemBearerRelComp_t e_RABReleaseItemBearerRelComp; -} E_RABReleaseItemBearerRelCompIEs_t; - -typedef struct OverloadStartIEs_s { - OverloadResponse_t overloadResponse; -} OverloadStartIEs_t; - -typedef struct NASNonDeliveryIndicationIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - NAS_PDU_t nas_pdu; - Cause_t cause; -} NASNonDeliveryIndicationIEs_t; - -#define HANDOVERCANCELACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0) - -typedef struct HandoverCancelAcknowledgeIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} HandoverCancelAcknowledgeIEs_t; - -typedef struct ENBStatusTransferIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - ENB_StatusTransfer_TransparentContainer_t eNB_StatusTransfer_TransparentContainer; -} ENBStatusTransferIEs_t; - -typedef struct HandoverCancelIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - Cause_t cause; -} HandoverCancelIEs_t; - -typedef struct E_RABToBeModifiedItemBearerModReqIEs_s { - E_RABToBeModifiedItemBearerModReq_t e_RABToBeModifiedItemBearerModReq; -} E_RABToBeModifiedItemBearerModReqIEs_t; - -#define E_RABRELEASERESPONSEIES_E_RABRELEASELISTBEARERRELCOMP_PRESENT (1 << 0) -#define E_RABRELEASERESPONSEIES_E_RABLIST_PRESENT (1 << 1) -#define E_RABRELEASERESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 2) - -typedef struct E_RABReleaseResponseIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - E_RABReleaseListBearerRelCompIEs_t e_RABReleaseListBearerRelComp; ///< Optional field - E_RABListIEs_t e_RABFailedToReleaseList; ///< Optional field - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} E_RABReleaseResponseIEs_t; - -typedef struct UEContextReleaseRequestIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - Cause_t cause; -} UEContextReleaseRequestIEs_t; - -typedef struct TraceStartIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - TraceActivation_t traceActivation; -} TraceStartIEs_t; - -#define MMECONFIGURATIONTRANSFERIES_SONCONFIGURATIONTRANSFER_PRESENT (1 << 0) - -typedef struct MMEConfigurationTransferIEs_s { - uint16_t presenceMask; - SONConfigurationTransfer_t sonConfigurationTransferMCT; ///< Optional field -} MMEConfigurationTransferIEs_t; - -typedef struct TraceFailureIndicationIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - E_UTRAN_Trace_ID_t e_UTRAN_Trace_ID; - Cause_t cause; -} TraceFailureIndicationIEs_t; - -#define INITIALCONTEXTSETUPFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0) - -typedef struct InitialContextSetupFailureIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - Cause_t cause; - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} InitialContextSetupFailureIEs_t; - -#define ERRORINDICATIONIES_MME_UE_S1AP_ID_PRESENT (1 << 0) -#define ERRORINDICATIONIES_ENB_UE_S1AP_ID_PRESENT (1 << 1) -#define ERRORINDICATIONIES_CAUSE_PRESENT (1 << 2) -#define ERRORINDICATIONIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 3) - -typedef struct ErrorIndicationIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; ///< Optional field - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; ///< Optional field - Cause_t cause; ///< Optional field - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} ErrorIndicationIEs_t; - -typedef struct HandoverNotifyIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - EUTRAN_CGI_t eutran_cgi; - TAI_t tai; -} HandoverNotifyIEs_t; - -#define DOWNLINKS1CDMA2000TUNNELINGIES_E_RABDATAFORWARDINGLIST_PRESENT (1 << 0) -#define DOWNLINKS1CDMA2000TUNNELINGIES_CDMA2000HOSTATUS_PRESENT (1 << 1) - -typedef struct DownlinkS1cdma2000tunnelingIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - E_RABDataForwardingListIEs_t e_RABSubjecttoDataForwardingList; ///< Optional field - Cdma2000HOStatus_t cdma2000HOStatus; ///< Optional field - Cdma2000RATType_t cdma2000RATType; - Cdma2000PDU_t cdma2000PDU; -} DownlinkS1cdma2000tunnelingIEs_t; - -#define MMECONFIGURATIONUPDATEACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0) - -typedef struct MMEConfigurationUpdateAcknowledgeIEs_s { - uint16_t presenceMask; - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} MMEConfigurationUpdateAcknowledgeIEs_t; - -#define HANDOVERREQUESTACKNOWLEDGEIES_E_RABFAILEDTOSETUPLISTHOREQACK_PRESENT (1 << 0) -#define HANDOVERREQUESTACKNOWLEDGEIES_CSG_ID_PRESENT (1 << 1) -#define HANDOVERREQUESTACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 2) - -typedef struct HandoverRequestAcknowledgeIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - E_RABAdmittedListIEs_t e_RABAdmittedList; - E_RABFailedtoSetupListHOReqAckIEs_t e_RABFailedToSetupListHOReqAck; ///< Optional field - Target_ToSource_TransparentContainer_t target_ToSource_TransparentContainer; - CSG_Id_t csG_Id; ///< Optional field - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} HandoverRequestAcknowledgeIEs_t; - -#define E_RABSETUPREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT (1 << 0) - -typedef struct E_RABSetupRequestIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - UEAggregateMaximumBitrate_t uEaggregateMaximumBitrate; ///< Optional field - E_RABToBeSetupListBearerSUReqIEs_t e_RABToBeSetupListBearerSUReq; -} E_RABSetupRequestIEs_t; - -typedef struct E_RABToBeSwitchedDLItemIEs_s { - E_RABToBeSwitchedDLItem_t e_RABToBeSwitchedDLItem; -} E_RABToBeSwitchedDLItemIEs_t; - -typedef struct Bearers_SubjectToStatusTransfer_ItemIEs_s { - Bearers_SubjectToStatusTransfer_Item_t bearers_SubjectToStatusTransfer_Item; -} Bearers_SubjectToStatusTransfer_ItemIEs_t; - -typedef struct DownlinkUEAssociatedLPPaTransportIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - Routing_ID_t routing_ID; - LPPa_PDU_t lpPa_PDU; -} DownlinkUEAssociatedLPPaTransportIEs_t; - -#define KILLREQUESTIES_WARNINGAREALIST_PRESENT (1 << 0) - -typedef struct KillRequestIEs_s { - uint16_t presenceMask; - MessageIdentifier_t messageIdentifier; - SerialNumber_t serialNumber; - WarningAreaList_t warningAreaList; ///< Optional field -} KillRequestIEs_t; - -typedef struct E_RABToBeSwitchedULItemIEs_s { - E_RABToBeSwitchedULItem_t e_RABToBeSwitchedULItem; -} E_RABToBeSwitchedULItemIEs_t; - -#define E_RABMODIFYRESPONSEIES_E_RABMODIFYLISTBEARERMODRES_PRESENT (1 << 0) -#define E_RABMODIFYRESPONSEIES_E_RABLIST_PRESENT (1 << 1) -#define E_RABMODIFYRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 2) - -typedef struct E_RABModifyResponseIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - E_RABModifyListBearerModResIEs_t e_RABModifyListBearerModRes; ///< Optional field - E_RABListIEs_t e_RABFailedToModifyList; ///< Optional field - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} E_RABModifyResponseIEs_t; - -typedef struct E_RABDataForwardingItemIEs_s { - E_RABDataForwardingItem_t e_RABDataForwardingItem; -} E_RABDataForwardingItemIEs_t; - -typedef struct E_RABReleaseIndicationIEs_s { - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - E_RABListIEs_t e_RABReleasedList; -} E_RABReleaseIndicationIEs_t; - -#define ENBCONFIGURATIONUPDATEFAILUREIES_TIMETOWAIT_PRESENT (1 << 0) -#define ENBCONFIGURATIONUPDATEFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 1) - -typedef struct ENBConfigurationUpdateFailureIEs_s { - uint16_t presenceMask; - Cause_t cause; - TimeToWait_t timeToWait; ///< Optional field - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} ENBConfigurationUpdateFailureIEs_t; - -#define WRITEREPLACEWARNINGREQUESTIES_WARNINGAREALIST_PRESENT (1 << 0) -#define WRITEREPLACEWARNINGREQUESTIES_EXTENDEDREPETITIONPERIOD_PRESENT (1 << 1) -#define WRITEREPLACEWARNINGREQUESTIES_WARNINGTYPE_PRESENT (1 << 2) -#define WRITEREPLACEWARNINGREQUESTIES_WARNINGSECURITYINFO_PRESENT (1 << 3) -#define WRITEREPLACEWARNINGREQUESTIES_DATACODINGSCHEME_PRESENT (1 << 4) -#define WRITEREPLACEWARNINGREQUESTIES_WARNINGMESSAGECONTENTS_PRESENT (1 << 5) -#define WRITEREPLACEWARNINGREQUESTIES_CONCURRENTWARNINGMESSAGEINDICATOR_PRESENT (1 << 6) - -typedef struct WriteReplaceWarningRequestIEs_s { - uint16_t presenceMask; - MessageIdentifier_t messageIdentifier; - SerialNumber_t serialNumber; - WarningAreaList_t warningAreaList; ///< Optional field - RepetitionPeriod_t repetitionPeriod; - ExtendedRepetitionPeriod_t extendedRepetitionPeriod; ///< Optional field - NumberofBroadcastRequest_t numberofBroadcastRequest; - WarningType_t warningType; ///< Optional field - WarningSecurityInfo_t warningSecurityInfo; ///< Optional field - DataCodingScheme_t dataCodingScheme; ///< Optional field - WarningMessageContents_t warningMessageContents; ///< Optional field - ConcurrentWarningMessageIndicator_t concurrentWarningMessageIndicator; ///< Optional field -} WriteReplaceWarningRequestIEs_t; - -typedef struct E_RABModifyItemBearerModResIEs_s { - E_RABModifyItemBearerModRes_t e_RABModifyItemBearerModRes; -} E_RABModifyItemBearerModResIEs_t; - -typedef struct UE_associatedLogicalS1_ConnectionItemRes_s { - UE_associatedLogicalS1_ConnectionItem_t uE_associatedLogicalS1_ConnectionItem; -} UE_associatedLogicalS1_ConnectionItemRes_t; - -typedef struct E_RABFailedtoSetupItemHOReqAckIEs_s { - E_RABFailedToSetupItemHOReqAck_t e_RABFailedtoSetupItemHOReqAck; -} E_RABFailedtoSetupItemHOReqAckIEs_t; - -#define S1SETUPFAILUREIES_TIMETOWAIT_PRESENT (1 << 0) -#define S1SETUPFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 1) - -typedef struct S1SetupFailureIEs_s { - uint16_t presenceMask; - Cause_t cause; - TimeToWait_t timeToWait; ///< Optional field - CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field -} S1SetupFailureIEs_t; - -#define E_RABMODIFYREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT (1 << 0) - -typedef struct E_RABModifyRequestIEs_s { - uint16_t presenceMask; - MME_UE_S1AP_ID_t mme_ue_s1ap_id; - ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; - UEAggregateMaximumBitrate_t uEaggregateMaximumBitrate; ///< Optional field - E_RABToBeModifiedListBearerModReqIEs_t e_RABToBeModifiedListBearerModReq; -} E_RABModifyRequestIEs_t; - -typedef struct s1ap_message_s { - uint8_t procedureCode; - uint8_t criticality; - uint8_t direction; - union { - MMEConfigurationUpdateIEs_t mmeConfigurationUpdateIEs; - UEContextModificationRequestIEs_t ueContextModificationRequestIEs; - ENBDirectInformationTransferIEs_t enbDirectInformationTransferIEs; - ResetAcknowledgeIEs_t resetAcknowledgeIEs; - PagingIEs_t pagingIEs; - PathSwitchRequestIEs_t pathSwitchRequestIEs; - DeactivateTraceIEs_t deactivateTraceIEs; - LocationReportingControlIEs_t locationReportingControlIEs; - ENBConfigurationUpdateAcknowledgeIEs_t enbConfigurationUpdateAcknowledgeIEs; - HandoverFailureIEs_t handoverFailureIEs; - LocationReportingFailureIndicationIEs_t locationReportingFailureIndicationIEs; - DownlinkNASTransportIEs_t downlinkNASTransportIEs; - MMEConfigurationUpdateFailureIEs_t mmeConfigurationUpdateFailureIEs; - UEContextReleaseCompleteIEs_t ueContextReleaseCompleteIEs; - S1SetupResponseIEs_t s1SetupResponseIEs; - HandoverPreparationFailureIEs_t handoverPreparationFailureIEs; - KillResponseIEs_t killResponseIEs; - UplinkUEAssociatedLPPaTransportIEs_t uplinkUEAssociatedLPPaTransportIEs; - ENBConfigurationUpdateIEs_t enbConfigurationUpdateIEs; - InitialContextSetupRequestIEs_t initialContextSetupRequestIEs; - MMEDirectInformationTransferIEs_t mmeDirectInformationTransferIEs; - UplinkNonUEAssociatedLPPaTransportIEs_t uplinkNonUEAssociatedLPPaTransportIEs; - ResetIEs_t resetIEs; - UEContextReleaseCommandIEs_t ueContextReleaseCommandIEs; - UECapabilityInfoIndicationIEs_t ueCapabilityInfoIndicationIEs; - UplinkS1cdma2000tunnelingIEs_t uplinkS1cdma2000tunnelingIEs; - WriteReplaceWarningResponseIEs_t writeReplaceWarningResponseIEs; - E_RABReleaseCommandIEs_t e_RABReleaseCommandIEs; - CellTrafficTraceIEs_t cellTrafficTraceIEs; - PathSwitchRequestFailureIEs_t pathSwitchRequestFailureIEs; - InitialContextSetupResponseIEs_t initialContextSetupResponseIEs; - MMEStatusTransferIEs_t mmeStatusTransferIEs; - S1SetupRequestIEs_t s1SetupRequestIEs; - HandoverRequiredIEs_t handoverRequiredIEs; - UplinkNASTransportIEs_t uplinkNASTransportIEs; - LocationReportIEs_t locationReportIEs; - UEContextModificationFailureIEs_t ueContextModificationFailureIEs; - ENBConfigurationTransferIEs_t enbConfigurationTransferIEs; - DownlinkNonUEAssociatedLPPaTransportIEs_t downlinkNonUEAssociatedLPPaTransportIEs; - InitialUEMessageIEs_t initialUEMessageIEs; - E_RABSetupResponseIEs_t e_RABSetupResponseIEs; - PathSwitchRequestAcknowledgeIEs_t pathSwitchRequestAcknowledgeIEs; - OverloadStartIEs_t overloadStartIEs; - NASNonDeliveryIndicationIEs_t nasNonDeliveryIndicationIEs; - HandoverCancelAcknowledgeIEs_t handoverCancelAcknowledgeIEs; - ENBStatusTransferIEs_t enbStatusTransferIEs; - HandoverCancelIEs_t handoverCancelIEs; - E_RABReleaseResponseIEs_t e_RABReleaseResponseIEs; - UEContextReleaseRequestIEs_t ueContextReleaseRequestIEs; - TraceStartIEs_t traceStartIEs; - MMEConfigurationTransferIEs_t mmeConfigurationTransferIEs; - TraceFailureIndicationIEs_t traceFailureIndicationIEs; - InitialContextSetupFailureIEs_t initialContextSetupFailureIEs; - ErrorIndicationIEs_t errorIndicationIEs; - HandoverNotifyIEs_t handoverNotifyIEs; - DownlinkS1cdma2000tunnelingIEs_t downlinkS1cdma2000tunnelingIEs; - MMEConfigurationUpdateAcknowledgeIEs_t mmeConfigurationUpdateAcknowledgeIEs; - HandoverRequestAcknowledgeIEs_t handoverRequestAcknowledgeIEs; - E_RABSetupRequestIEs_t e_RABSetupRequestIEs; - DownlinkUEAssociatedLPPaTransportIEs_t downlinkUEAssociatedLPPaTransportIEs; - KillRequestIEs_t killRequestIEs; - E_RABModifyResponseIEs_t e_RABModifyResponseIEs; - E_RABReleaseIndicationIEs_t e_RABReleaseIndicationIEs; - ENBConfigurationUpdateFailureIEs_t enbConfigurationUpdateFailureIEs; - WriteReplaceWarningRequestIEs_t writeReplaceWarningRequestIEs; - S1SetupFailureIEs_t s1SetupFailureIEs; - E_RABModifyRequestIEs_t e_RABModifyRequestIEs; - } msg; -} s1ap_message; - -/** \brief Decode function for MMEConfigurationUpdateIEs ies. - * \param mmeConfigurationUpdateIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_mmeconfigurationupdateies( - MMEConfigurationUpdateIEs_t *mmeConfigurationUpdateIEs, - ANY_t *any_p); - -/** \brief Encode function for MMEConfigurationUpdateIEs ies. - * \param mmeConfigurationUpdate Pointer to the ASN1 structure. - * \param mmeConfigurationUpdateIEs Pointer to the IES structure. - **/ -int s1ap_encode_mmeconfigurationupdateies( - MMEConfigurationUpdate_t *mmeConfigurationUpdate, - MMEConfigurationUpdateIEs_t *mmeConfigurationUpdateIEs); - -/** \brief Decode function for UEContextModificationRequestIEs ies. - * \param ueContextModificationRequestIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_uecontextmodificationrequesties( - UEContextModificationRequestIEs_t *ueContextModificationRequestIEs, - ANY_t *any_p); - -/** \brief Encode function for UEContextModificationRequestIEs ies. - * \param ueContextModificationRequest Pointer to the ASN1 structure. - * \param ueContextModificationRequestIEs Pointer to the IES structure. - **/ -int s1ap_encode_uecontextmodificationrequesties( - UEContextModificationRequest_t *ueContextModificationRequest, - UEContextModificationRequestIEs_t *ueContextModificationRequestIEs); - -/** \brief Decode function for ENBDirectInformationTransferIEs ies. - * \param enbDirectInformationTransferIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_enbdirectinformationtransferies( - ENBDirectInformationTransferIEs_t *enbDirectInformationTransferIEs, - ANY_t *any_p); - -/** \brief Encode function for ENBDirectInformationTransferIEs ies. - * \param eNBDirectInformationTransfer Pointer to the ASN1 structure. - * \param enbDirectInformationTransferIEs Pointer to the IES structure. - **/ -int s1ap_encode_enbdirectinformationtransferies( - ENBDirectInformationTransfer_t *eNBDirectInformationTransfer, - ENBDirectInformationTransferIEs_t *enbDirectInformationTransferIEs); - -/** \brief Decode function for ResetAcknowledgeIEs ies. - * \param resetAcknowledgeIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_resetacknowledgeies( - ResetAcknowledgeIEs_t *resetAcknowledgeIEs, - ANY_t *any_p); - -/** \brief Encode function for ResetAcknowledgeIEs ies. - * \param resetAcknowledge Pointer to the ASN1 structure. - * \param resetAcknowledgeIEs Pointer to the IES structure. - **/ -int s1ap_encode_resetacknowledgeies( - ResetAcknowledge_t *resetAcknowledge, - ResetAcknowledgeIEs_t *resetAcknowledgeIEs); - -/** \brief Decode function for PagingIEs ies. - * \param pagingIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_pagingies( - PagingIEs_t *pagingIEs, - ANY_t *any_p); - -/** \brief Encode function for PagingIEs ies. - * \param paging Pointer to the ASN1 structure. - * \param pagingIEs Pointer to the IES structure. - **/ -int s1ap_encode_pagingies( - Paging_t *paging, - PagingIEs_t *pagingIEs); - -/** \brief Decode function for PathSwitchRequestIEs ies. - * \param pathSwitchRequestIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_pathswitchrequesties( - PathSwitchRequestIEs_t *pathSwitchRequestIEs, - ANY_t *any_p); - -/** \brief Encode function for PathSwitchRequestIEs ies. - * \param pathSwitchRequest Pointer to the ASN1 structure. - * \param pathSwitchRequestIEs Pointer to the IES structure. - **/ -int s1ap_encode_pathswitchrequesties( - PathSwitchRequest_t *pathSwitchRequest, - PathSwitchRequestIEs_t *pathSwitchRequestIEs); - -/** \brief Decode function for DeactivateTraceIEs ies. - * \param deactivateTraceIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_deactivatetraceies( - DeactivateTraceIEs_t *deactivateTraceIEs, - ANY_t *any_p); - -/** \brief Encode function for DeactivateTraceIEs ies. - * \param deactivateTrace Pointer to the ASN1 structure. - * \param deactivateTraceIEs Pointer to the IES structure. - **/ -int s1ap_encode_deactivatetraceies( - DeactivateTrace_t *deactivateTrace, - DeactivateTraceIEs_t *deactivateTraceIEs); - -/** \brief Decode function for LocationReportingControlIEs ies. - * \param locationReportingControlIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_locationreportingcontrolies( - LocationReportingControlIEs_t *locationReportingControlIEs, - ANY_t *any_p); - -/** \brief Encode function for LocationReportingControlIEs ies. - * \param locationReportingControl Pointer to the ASN1 structure. - * \param locationReportingControlIEs Pointer to the IES structure. - **/ -int s1ap_encode_locationreportingcontrolies( - LocationReportingControl_t *locationReportingControl, - LocationReportingControlIEs_t *locationReportingControlIEs); - -/** \brief Decode function for ENBConfigurationUpdateAcknowledgeIEs ies. - * \param enbConfigurationUpdateAcknowledgeIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_enbconfigurationupdateacknowledgeies( - ENBConfigurationUpdateAcknowledgeIEs_t *enbConfigurationUpdateAcknowledgeIEs, - ANY_t *any_p); - -/** \brief Encode function for ENBConfigurationUpdateAcknowledgeIEs ies. - * \param eNBConfigurationUpdateAcknowledge Pointer to the ASN1 structure. - * \param enbConfigurationUpdateAcknowledgeIEs Pointer to the IES structure. - **/ -int s1ap_encode_enbconfigurationupdateacknowledgeies( - ENBConfigurationUpdateAcknowledge_t *eNBConfigurationUpdateAcknowledge, - ENBConfigurationUpdateAcknowledgeIEs_t *enbConfigurationUpdateAcknowledgeIEs); - -/** \brief Decode function for HandoverFailureIEs ies. - * \param handoverFailureIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_handoverfailureies( - HandoverFailureIEs_t *handoverFailureIEs, - ANY_t *any_p); - -/** \brief Encode function for HandoverFailureIEs ies. - * \param handoverFailure Pointer to the ASN1 structure. - * \param handoverFailureIEs Pointer to the IES structure. - **/ -int s1ap_encode_handoverfailureies( - HandoverFailure_t *handoverFailure, - HandoverFailureIEs_t *handoverFailureIEs); - -/** \brief Decode function for LocationReportingFailureIndicationIEs ies. - * \param locationReportingFailureIndicationIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_locationreportingfailureindicationies( - LocationReportingFailureIndicationIEs_t *locationReportingFailureIndicationIEs, - ANY_t *any_p); - -/** \brief Encode function for LocationReportingFailureIndicationIEs ies. - * \param locationReportingFailureIndication Pointer to the ASN1 structure. - * \param locationReportingFailureIndicationIEs Pointer to the IES structure. - **/ -int s1ap_encode_locationreportingfailureindicationies( - LocationReportingFailureIndication_t *locationReportingFailureIndication, - LocationReportingFailureIndicationIEs_t *locationReportingFailureIndicationIEs); - -/** \brief Decode function for DownlinkNASTransportIEs ies. - * \param downlinkNASTransportIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_downlinknastransporties( - DownlinkNASTransportIEs_t *downlinkNASTransportIEs, - ANY_t *any_p); - -/** \brief Encode function for DownlinkNASTransportIEs ies. - * \param downlinkNASTransport Pointer to the ASN1 structure. - * \param downlinkNASTransportIEs Pointer to the IES structure. - **/ -int s1ap_encode_downlinknastransporties( - DownlinkNASTransport_t *downlinkNASTransport, - DownlinkNASTransportIEs_t *downlinkNASTransportIEs); - -/** \brief Decode function for MMEConfigurationUpdateFailureIEs ies. - * \param mmeConfigurationUpdateFailureIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_mmeconfigurationupdatefailureies( - MMEConfigurationUpdateFailureIEs_t *mmeConfigurationUpdateFailureIEs, - ANY_t *any_p); - -/** \brief Encode function for MMEConfigurationUpdateFailureIEs ies. - * \param mmeConfigurationUpdateFailure Pointer to the ASN1 structure. - * \param mmeConfigurationUpdateFailureIEs Pointer to the IES structure. - **/ -int s1ap_encode_mmeconfigurationupdatefailureies( - MMEConfigurationUpdateFailure_t *mmeConfigurationUpdateFailure, - MMEConfigurationUpdateFailureIEs_t *mmeConfigurationUpdateFailureIEs); - -/** \brief Decode function for UEContextReleaseCompleteIEs ies. - * \param ueContextReleaseCompleteIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_uecontextreleasecompleteies( - UEContextReleaseCompleteIEs_t *ueContextReleaseCompleteIEs, - ANY_t *any_p); - -/** \brief Encode function for UEContextReleaseCompleteIEs ies. - * \param ueContextReleaseComplete Pointer to the ASN1 structure. - * \param ueContextReleaseCompleteIEs Pointer to the IES structure. - **/ -int s1ap_encode_uecontextreleasecompleteies( - UEContextReleaseComplete_t *ueContextReleaseComplete, - UEContextReleaseCompleteIEs_t *ueContextReleaseCompleteIEs); - -/** \brief Decode function for S1SetupResponseIEs ies. - * \param s1SetupResponseIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_s1setupresponseies( - S1SetupResponseIEs_t *s1SetupResponseIEs, - ANY_t *any_p); - -/** \brief Encode function for S1SetupResponseIEs ies. - * \param s1SetupResponse Pointer to the ASN1 structure. - * \param s1SetupResponseIEs Pointer to the IES structure. - **/ -int s1ap_encode_s1setupresponseies( - S1SetupResponse_t *s1SetupResponse, - S1SetupResponseIEs_t *s1SetupResponseIEs); - -/** \brief Decode function for HandoverPreparationFailureIEs ies. - * \param handoverPreparationFailureIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_handoverpreparationfailureies( - HandoverPreparationFailureIEs_t *handoverPreparationFailureIEs, - ANY_t *any_p); - -/** \brief Encode function for HandoverPreparationFailureIEs ies. - * \param handoverPreparationFailure Pointer to the ASN1 structure. - * \param handoverPreparationFailureIEs Pointer to the IES structure. - **/ -int s1ap_encode_handoverpreparationfailureies( - HandoverPreparationFailure_t *handoverPreparationFailure, - HandoverPreparationFailureIEs_t *handoverPreparationFailureIEs); - -/** \brief Decode function for KillResponseIEs ies. - * \param killResponseIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_killresponseies( - KillResponseIEs_t *killResponseIEs, - ANY_t *any_p); - -/** \brief Encode function for KillResponseIEs ies. - * \param killResponse Pointer to the ASN1 structure. - * \param killResponseIEs Pointer to the IES structure. - **/ -int s1ap_encode_killresponseies( - KillResponse_t *killResponse, - KillResponseIEs_t *killResponseIEs); - -/** \brief Decode function for UplinkUEAssociatedLPPaTransportIEs ies. - * \param uplinkUEAssociatedLPPaTransportIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_uplinkueassociatedlppatransporties( - UplinkUEAssociatedLPPaTransportIEs_t *uplinkUEAssociatedLPPaTransportIEs, - ANY_t *any_p); - -/** \brief Encode function for UplinkUEAssociatedLPPaTransportIEs ies. - * \param uplinkUEAssociatedLPPaTransport Pointer to the ASN1 structure. - * \param uplinkUEAssociatedLPPaTransportIEs Pointer to the IES structure. - **/ -int s1ap_encode_uplinkueassociatedlppatransporties( - UplinkUEAssociatedLPPaTransport_t *uplinkUEAssociatedLPPaTransport, - UplinkUEAssociatedLPPaTransportIEs_t *uplinkUEAssociatedLPPaTransportIEs); - -/** \brief Decode function for ENBConfigurationUpdateIEs ies. - * \param enbConfigurationUpdateIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_enbconfigurationupdateies( - ENBConfigurationUpdateIEs_t *enbConfigurationUpdateIEs, - ANY_t *any_p); - -/** \brief Encode function for ENBConfigurationUpdateIEs ies. - * \param eNBConfigurationUpdate Pointer to the ASN1 structure. - * \param enbConfigurationUpdateIEs Pointer to the IES structure. - **/ -int s1ap_encode_enbconfigurationupdateies( - ENBConfigurationUpdate_t *eNBConfigurationUpdate, - ENBConfigurationUpdateIEs_t *enbConfigurationUpdateIEs); - -/** \brief Decode function for InitialContextSetupRequestIEs ies. - * \param initialContextSetupRequestIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_initialcontextsetuprequesties( - InitialContextSetupRequestIEs_t *initialContextSetupRequestIEs, - ANY_t *any_p); - -/** \brief Encode function for InitialContextSetupRequestIEs ies. - * \param initialContextSetupRequest Pointer to the ASN1 structure. - * \param initialContextSetupRequestIEs Pointer to the IES structure. - **/ -int s1ap_encode_initialcontextsetuprequesties( - InitialContextSetupRequest_t *initialContextSetupRequest, - InitialContextSetupRequestIEs_t *initialContextSetupRequestIEs); - -/** \brief Decode function for MMEDirectInformationTransferIEs ies. - * \param mmeDirectInformationTransferIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_mmedirectinformationtransferies( - MMEDirectInformationTransferIEs_t *mmeDirectInformationTransferIEs, - ANY_t *any_p); - -/** \brief Encode function for MMEDirectInformationTransferIEs ies. - * \param mmeDirectInformationTransfer Pointer to the ASN1 structure. - * \param mmeDirectInformationTransferIEs Pointer to the IES structure. - **/ -int s1ap_encode_mmedirectinformationtransferies( - MMEDirectInformationTransfer_t *mmeDirectInformationTransfer, - MMEDirectInformationTransferIEs_t *mmeDirectInformationTransferIEs); - -/** \brief Decode function for UplinkNonUEAssociatedLPPaTransportIEs ies. - * \param uplinkNonUEAssociatedLPPaTransportIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_uplinknonueassociatedlppatransporties( - UplinkNonUEAssociatedLPPaTransportIEs_t *uplinkNonUEAssociatedLPPaTransportIEs, - ANY_t *any_p); - -/** \brief Encode function for UplinkNonUEAssociatedLPPaTransportIEs ies. - * \param uplinkNonUEAssociatedLPPaTransport Pointer to the ASN1 structure. - * \param uplinkNonUEAssociatedLPPaTransportIEs Pointer to the IES structure. - **/ -int s1ap_encode_uplinknonueassociatedlppatransporties( - UplinkNonUEAssociatedLPPaTransport_t *uplinkNonUEAssociatedLPPaTransport, - UplinkNonUEAssociatedLPPaTransportIEs_t *uplinkNonUEAssociatedLPPaTransportIEs); - -/** \brief Decode function for ResetIEs ies. - * \param resetIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_reseties( - ResetIEs_t *resetIEs, - ANY_t *any_p); - -/** \brief Encode function for ResetIEs ies. - * \param reset Pointer to the ASN1 structure. - * \param resetIEs Pointer to the IES structure. - **/ -int s1ap_encode_reseties( - Reset_t *reset, - ResetIEs_t *resetIEs); - -/** \brief Decode function for UEContextReleaseCommandIEs ies. - * \param ueContextReleaseCommandIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_uecontextreleasecommandies( - UEContextReleaseCommandIEs_t *ueContextReleaseCommandIEs, - ANY_t *any_p); - -/** \brief Encode function for UEContextReleaseCommandIEs ies. - * \param ueContextReleaseCommand Pointer to the ASN1 structure. - * \param ueContextReleaseCommandIEs Pointer to the IES structure. - **/ -int s1ap_encode_uecontextreleasecommandies( - UEContextReleaseCommand_t *ueContextReleaseCommand, - UEContextReleaseCommandIEs_t *ueContextReleaseCommandIEs); - -/** \brief Decode function for UECapabilityInfoIndicationIEs ies. - * \param ueCapabilityInfoIndicationIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_uecapabilityinfoindicationies( - UECapabilityInfoIndicationIEs_t *ueCapabilityInfoIndicationIEs, - ANY_t *any_p); - -/** \brief Encode function for UECapabilityInfoIndicationIEs ies. - * \param ueCapabilityInfoIndication Pointer to the ASN1 structure. - * \param ueCapabilityInfoIndicationIEs Pointer to the IES structure. - **/ -int s1ap_encode_uecapabilityinfoindicationies( - UECapabilityInfoIndication_t *ueCapabilityInfoIndication, - UECapabilityInfoIndicationIEs_t *ueCapabilityInfoIndicationIEs); - -/** \brief Decode function for UplinkS1cdma2000tunnelingIEs ies. - * \param uplinkS1cdma2000tunnelingIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_uplinks1cdma2000tunnelingies( - UplinkS1cdma2000tunnelingIEs_t *uplinkS1cdma2000tunnelingIEs, - ANY_t *any_p); - -/** \brief Encode function for UplinkS1cdma2000tunnelingIEs ies. - * \param uplinkS1cdma2000tunneling Pointer to the ASN1 structure. - * \param uplinkS1cdma2000tunnelingIEs Pointer to the IES structure. - **/ -int s1ap_encode_uplinks1cdma2000tunnelingies( - UplinkS1cdma2000tunneling_t *uplinkS1cdma2000tunneling, - UplinkS1cdma2000tunnelingIEs_t *uplinkS1cdma2000tunnelingIEs); - -/** \brief Decode function for OverloadStopIEs ies. - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_overloadstopies( - ANY_t *any_p); - -/** \brief Decode function for WriteReplaceWarningResponseIEs ies. - * \param writeReplaceWarningResponseIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_writereplacewarningresponseies( - WriteReplaceWarningResponseIEs_t *writeReplaceWarningResponseIEs, - ANY_t *any_p); - -/** \brief Encode function for WriteReplaceWarningResponseIEs ies. - * \param writeReplaceWarningResponse Pointer to the ASN1 structure. - * \param writeReplaceWarningResponseIEs Pointer to the IES structure. - **/ -int s1ap_encode_writereplacewarningresponseies( - WriteReplaceWarningResponse_t *writeReplaceWarningResponse, - WriteReplaceWarningResponseIEs_t *writeReplaceWarningResponseIEs); - -/** \brief Decode function for E-RABReleaseCommandIEs ies. - * \param e_RABReleaseCommandIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_e_rabreleasecommandies( - E_RABReleaseCommandIEs_t *e_RABReleaseCommandIEs, - ANY_t *any_p); - -/** \brief Encode function for E-RABReleaseCommandIEs ies. - * \param e_RABReleaseCommand Pointer to the ASN1 structure. - * \param e_RABReleaseCommandIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabreleasecommandies( - E_RABReleaseCommand_t *e_RABReleaseCommand, - E_RABReleaseCommandIEs_t *e_RABReleaseCommandIEs); - -/** \brief Decode function for CellTrafficTraceIEs ies. - * \param cellTrafficTraceIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_celltraffictraceies( - CellTrafficTraceIEs_t *cellTrafficTraceIEs, - ANY_t *any_p); - -/** \brief Encode function for CellTrafficTraceIEs ies. - * \param cellTrafficTrace Pointer to the ASN1 structure. - * \param cellTrafficTraceIEs Pointer to the IES structure. - **/ -int s1ap_encode_celltraffictraceies( - CellTrafficTrace_t *cellTrafficTrace, - CellTrafficTraceIEs_t *cellTrafficTraceIEs); - -/** \brief Decode function for PathSwitchRequestFailureIEs ies. - * \param pathSwitchRequestFailureIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_pathswitchrequestfailureies( - PathSwitchRequestFailureIEs_t *pathSwitchRequestFailureIEs, - ANY_t *any_p); - -/** \brief Encode function for PathSwitchRequestFailureIEs ies. - * \param pathSwitchRequestFailure Pointer to the ASN1 structure. - * \param pathSwitchRequestFailureIEs Pointer to the IES structure. - **/ -int s1ap_encode_pathswitchrequestfailureies( - PathSwitchRequestFailure_t *pathSwitchRequestFailure, - PathSwitchRequestFailureIEs_t *pathSwitchRequestFailureIEs); - -/** \brief Decode function for InitialContextSetupResponseIEs ies. - * \param initialContextSetupResponseIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_initialcontextsetupresponseies( - InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs, - ANY_t *any_p); - -/** \brief Encode function for InitialContextSetupResponseIEs ies. - * \param initialContextSetupResponse Pointer to the ASN1 structure. - * \param initialContextSetupResponseIEs Pointer to the IES structure. - **/ -int s1ap_encode_initialcontextsetupresponseies( - InitialContextSetupResponse_t *initialContextSetupResponse, - InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs); - -/** \brief Decode function for MMEStatusTransferIEs ies. - * \param mmeStatusTransferIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_mmestatustransferies( - MMEStatusTransferIEs_t *mmeStatusTransferIEs, - ANY_t *any_p); - -/** \brief Encode function for MMEStatusTransferIEs ies. - * \param mmeStatusTransfer Pointer to the ASN1 structure. - * \param mmeStatusTransferIEs Pointer to the IES structure. - **/ -int s1ap_encode_mmestatustransferies( - MMEStatusTransfer_t *mmeStatusTransfer, - MMEStatusTransferIEs_t *mmeStatusTransferIEs); - -/** \brief Decode function for S1SetupRequestIEs ies. - * \param s1SetupRequestIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_s1setuprequesties( - S1SetupRequestIEs_t *s1SetupRequestIEs, - ANY_t *any_p); - -/** \brief Encode function for S1SetupRequestIEs ies. - * \param s1SetupRequest Pointer to the ASN1 structure. - * \param s1SetupRequestIEs Pointer to the IES structure. - **/ -int s1ap_encode_s1setuprequesties( - S1SetupRequest_t *s1SetupRequest, - S1SetupRequestIEs_t *s1SetupRequestIEs); - -/** \brief Decode function for HandoverRequiredIEs ies. - * \param handoverRequiredIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_handoverrequiredies( - HandoverRequiredIEs_t *handoverRequiredIEs, - ANY_t *any_p); - -/** \brief Encode function for HandoverRequiredIEs ies. - * \param handoverRequired Pointer to the ASN1 structure. - * \param handoverRequiredIEs Pointer to the IES structure. - **/ -int s1ap_encode_handoverrequiredies( - HandoverRequired_t *handoverRequired, - HandoverRequiredIEs_t *handoverRequiredIEs); - -/** \brief Decode function for UplinkNASTransportIEs ies. - * \param uplinkNASTransportIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_uplinknastransporties( - UplinkNASTransportIEs_t *uplinkNASTransportIEs, - ANY_t *any_p); - -/** \brief Encode function for UplinkNASTransportIEs ies. - * \param uplinkNASTransport Pointer to the ASN1 structure. - * \param uplinkNASTransportIEs Pointer to the IES structure. - **/ -int s1ap_encode_uplinknastransporties( - UplinkNASTransport_t *uplinkNASTransport, - UplinkNASTransportIEs_t *uplinkNASTransportIEs); - -/** \brief Decode function for LocationReportIEs ies. - * \param locationReportIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_locationreporties( - LocationReportIEs_t *locationReportIEs, - ANY_t *any_p); - -/** \brief Encode function for LocationReportIEs ies. - * \param locationReport Pointer to the ASN1 structure. - * \param locationReportIEs Pointer to the IES structure. - **/ -int s1ap_encode_locationreporties( - LocationReport_t *locationReport, - LocationReportIEs_t *locationReportIEs); - -/** \brief Decode function for UEContextModificationFailureIEs ies. - * \param ueContextModificationFailureIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_uecontextmodificationfailureies( - UEContextModificationFailureIEs_t *ueContextModificationFailureIEs, - ANY_t *any_p); - -/** \brief Encode function for UEContextModificationFailureIEs ies. - * \param ueContextModificationFailure Pointer to the ASN1 structure. - * \param ueContextModificationFailureIEs Pointer to the IES structure. - **/ -int s1ap_encode_uecontextmodificationfailureies( - UEContextModificationFailure_t *ueContextModificationFailure, - UEContextModificationFailureIEs_t *ueContextModificationFailureIEs); - -/** \brief Decode function for ENBConfigurationTransferIEs ies. - * \param enbConfigurationTransferIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_enbconfigurationtransferies( - ENBConfigurationTransferIEs_t *enbConfigurationTransferIEs, - ANY_t *any_p); - -/** \brief Encode function for ENBConfigurationTransferIEs ies. - * \param eNBConfigurationTransfer Pointer to the ASN1 structure. - * \param enbConfigurationTransferIEs Pointer to the IES structure. - **/ -int s1ap_encode_enbconfigurationtransferies( - ENBConfigurationTransfer_t *eNBConfigurationTransfer, - ENBConfigurationTransferIEs_t *enbConfigurationTransferIEs); - -/** \brief Decode function for DownlinkNonUEAssociatedLPPaTransportIEs ies. - * \param downlinkNonUEAssociatedLPPaTransportIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_downlinknonueassociatedlppatransporties( - DownlinkNonUEAssociatedLPPaTransportIEs_t *downlinkNonUEAssociatedLPPaTransportIEs, - ANY_t *any_p); - -/** \brief Encode function for DownlinkNonUEAssociatedLPPaTransportIEs ies. - * \param downlinkNonUEAssociatedLPPaTransport Pointer to the ASN1 structure. - * \param downlinkNonUEAssociatedLPPaTransportIEs Pointer to the IES structure. - **/ -int s1ap_encode_downlinknonueassociatedlppatransporties( - DownlinkNonUEAssociatedLPPaTransport_t *downlinkNonUEAssociatedLPPaTransport, - DownlinkNonUEAssociatedLPPaTransportIEs_t *downlinkNonUEAssociatedLPPaTransportIEs); - -/** \brief Decode function for InitialUEMessageIEs ies. - * \param initialUEMessageIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_initialuemessageies( - InitialUEMessageIEs_t *initialUEMessageIEs, - ANY_t *any_p); - -/** \brief Encode function for InitialUEMessageIEs ies. - * \param initialUEMessage Pointer to the ASN1 structure. - * \param initialUEMessageIEs Pointer to the IES structure. - **/ -int s1ap_encode_initialuemessageies( - InitialUEMessage_t *initialUEMessage, - InitialUEMessageIEs_t *initialUEMessageIEs); - -/** \brief Decode function for E-RABSetupResponseIEs ies. - * \param e_RABSetupResponseIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_e_rabsetupresponseies( - E_RABSetupResponseIEs_t *e_RABSetupResponseIEs, - ANY_t *any_p); - -/** \brief Encode function for E-RABSetupResponseIEs ies. - * \param e_RABSetupResponse Pointer to the ASN1 structure. - * \param e_RABSetupResponseIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabsetupresponseies( - E_RABSetupResponse_t *e_RABSetupResponse, - E_RABSetupResponseIEs_t *e_RABSetupResponseIEs); - -/** \brief Decode function for PathSwitchRequestAcknowledgeIEs ies. - * \param pathSwitchRequestAcknowledgeIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_pathswitchrequestacknowledgeies( - PathSwitchRequestAcknowledgeIEs_t *pathSwitchRequestAcknowledgeIEs, - ANY_t *any_p); - -/** \brief Encode function for PathSwitchRequestAcknowledgeIEs ies. - * \param pathSwitchRequestAcknowledge Pointer to the ASN1 structure. - * \param pathSwitchRequestAcknowledgeIEs Pointer to the IES structure. - **/ -int s1ap_encode_pathswitchrequestacknowledgeies( - PathSwitchRequestAcknowledge_t *pathSwitchRequestAcknowledge, - PathSwitchRequestAcknowledgeIEs_t *pathSwitchRequestAcknowledgeIEs); - -/** \brief Decode function for OverloadStartIEs ies. - * \param overloadStartIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_overloadstarties( - OverloadStartIEs_t *overloadStartIEs, - ANY_t *any_p); - -/** \brief Encode function for OverloadStartIEs ies. - * \param overloadStart Pointer to the ASN1 structure. - * \param overloadStartIEs Pointer to the IES structure. - **/ -int s1ap_encode_overloadstarties( - OverloadStart_t *overloadStart, - OverloadStartIEs_t *overloadStartIEs); - -/** \brief Decode function for NASNonDeliveryIndicationIEs ies. - * \param nasNonDeliveryIndicationIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_nasnondeliveryindicationies( - NASNonDeliveryIndicationIEs_t *nasNonDeliveryIndicationIEs, - ANY_t *any_p); - -/** \brief Encode function for NASNonDeliveryIndicationIEs ies. - * \param nasNonDeliveryIndication Pointer to the ASN1 structure. - * \param nasNonDeliveryIndicationIEs Pointer to the IES structure. - **/ -int s1ap_encode_nasnondeliveryindicationies( - NASNonDeliveryIndication_t *nasNonDeliveryIndication, - NASNonDeliveryIndicationIEs_t *nasNonDeliveryIndicationIEs); - -/** \brief Decode function for HandoverCancelAcknowledgeIEs ies. - * \param handoverCancelAcknowledgeIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_handovercancelacknowledgeies( - HandoverCancelAcknowledgeIEs_t *handoverCancelAcknowledgeIEs, - ANY_t *any_p); - -/** \brief Encode function for HandoverCancelAcknowledgeIEs ies. - * \param handoverCancelAcknowledge Pointer to the ASN1 structure. - * \param handoverCancelAcknowledgeIEs Pointer to the IES structure. - **/ -int s1ap_encode_handovercancelacknowledgeies( - HandoverCancelAcknowledge_t *handoverCancelAcknowledge, - HandoverCancelAcknowledgeIEs_t *handoverCancelAcknowledgeIEs); - -/** \brief Decode function for ENBStatusTransferIEs ies. - * \param enbStatusTransferIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_enbstatustransferies( - ENBStatusTransferIEs_t *enbStatusTransferIEs, - ANY_t *any_p); - -/** \brief Encode function for ENBStatusTransferIEs ies. - * \param eNBStatusTransfer Pointer to the ASN1 structure. - * \param enbStatusTransferIEs Pointer to the IES structure. - **/ -int s1ap_encode_enbstatustransferies( - ENBStatusTransfer_t *eNBStatusTransfer, - ENBStatusTransferIEs_t *enbStatusTransferIEs); - -/** \brief Decode function for HandoverCancelIEs ies. - * \param handoverCancelIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_handovercancelies( - HandoverCancelIEs_t *handoverCancelIEs, - ANY_t *any_p); - -/** \brief Encode function for HandoverCancelIEs ies. - * \param handoverCancel Pointer to the ASN1 structure. - * \param handoverCancelIEs Pointer to the IES structure. - **/ -int s1ap_encode_handovercancelies( - HandoverCancel_t *handoverCancel, - HandoverCancelIEs_t *handoverCancelIEs); - -/** \brief Decode function for E-RABReleaseResponseIEs ies. - * \param e_RABReleaseResponseIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_e_rabreleaseresponseies( - E_RABReleaseResponseIEs_t *e_RABReleaseResponseIEs, - ANY_t *any_p); - -/** \brief Encode function for E-RABReleaseResponseIEs ies. - * \param e_RABReleaseResponse Pointer to the ASN1 structure. - * \param e_RABReleaseResponseIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabreleaseresponseies( - E_RABReleaseResponse_t *e_RABReleaseResponse, - E_RABReleaseResponseIEs_t *e_RABReleaseResponseIEs); - -/** \brief Decode function for UEContextReleaseRequestIEs ies. - * \param ueContextReleaseRequestIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_uecontextreleaserequesties( - UEContextReleaseRequestIEs_t *ueContextReleaseRequestIEs, - ANY_t *any_p); - -/** \brief Encode function for UEContextReleaseRequestIEs ies. - * \param ueContextReleaseRequest Pointer to the ASN1 structure. - * \param ueContextReleaseRequestIEs Pointer to the IES structure. - **/ -int s1ap_encode_uecontextreleaserequesties( - UEContextReleaseRequest_t *ueContextReleaseRequest, - UEContextReleaseRequestIEs_t *ueContextReleaseRequestIEs); - -/** \brief Decode function for TraceStartIEs ies. - * \param traceStartIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_tracestarties( - TraceStartIEs_t *traceStartIEs, - ANY_t *any_p); - -/** \brief Encode function for TraceStartIEs ies. - * \param traceStart Pointer to the ASN1 structure. - * \param traceStartIEs Pointer to the IES structure. - **/ -int s1ap_encode_tracestarties( - TraceStart_t *traceStart, - TraceStartIEs_t *traceStartIEs); - -/** \brief Decode function for MMEConfigurationTransferIEs ies. - * \param mmeConfigurationTransferIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_mmeconfigurationtransferies( - MMEConfigurationTransferIEs_t *mmeConfigurationTransferIEs, - ANY_t *any_p); - -/** \brief Encode function for MMEConfigurationTransferIEs ies. - * \param mmeConfigurationTransfer Pointer to the ASN1 structure. - * \param mmeConfigurationTransferIEs Pointer to the IES structure. - **/ -int s1ap_encode_mmeconfigurationtransferies( - MMEConfigurationTransfer_t *mmeConfigurationTransfer, - MMEConfigurationTransferIEs_t *mmeConfigurationTransferIEs); - -/** \brief Decode function for TraceFailureIndicationIEs ies. - * \param traceFailureIndicationIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_tracefailureindicationies( - TraceFailureIndicationIEs_t *traceFailureIndicationIEs, - ANY_t *any_p); - -/** \brief Encode function for TraceFailureIndicationIEs ies. - * \param traceFailureIndication Pointer to the ASN1 structure. - * \param traceFailureIndicationIEs Pointer to the IES structure. - **/ -int s1ap_encode_tracefailureindicationies( - TraceFailureIndication_t *traceFailureIndication, - TraceFailureIndicationIEs_t *traceFailureIndicationIEs); - -/** \brief Decode function for InitialContextSetupFailureIEs ies. - * \param initialContextSetupFailureIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_initialcontextsetupfailureies( - InitialContextSetupFailureIEs_t *initialContextSetupFailureIEs, - ANY_t *any_p); - -/** \brief Encode function for InitialContextSetupFailureIEs ies. - * \param initialContextSetupFailure Pointer to the ASN1 structure. - * \param initialContextSetupFailureIEs Pointer to the IES structure. - **/ -int s1ap_encode_initialcontextsetupfailureies( - InitialContextSetupFailure_t *initialContextSetupFailure, - InitialContextSetupFailureIEs_t *initialContextSetupFailureIEs); - -/** \brief Decode function for ErrorIndicationIEs ies. - * \param errorIndicationIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_errorindicationies( - ErrorIndicationIEs_t *errorIndicationIEs, - ANY_t *any_p); - -/** \brief Encode function for ErrorIndicationIEs ies. - * \param errorIndication Pointer to the ASN1 structure. - * \param errorIndicationIEs Pointer to the IES structure. - **/ -int s1ap_encode_errorindicationies( - ErrorIndication_t *errorIndication, - ErrorIndicationIEs_t *errorIndicationIEs); - -/** \brief Decode function for HandoverNotifyIEs ies. - * \param handoverNotifyIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_handovernotifyies( - HandoverNotifyIEs_t *handoverNotifyIEs, - ANY_t *any_p); - -/** \brief Encode function for HandoverNotifyIEs ies. - * \param handoverNotify Pointer to the ASN1 structure. - * \param handoverNotifyIEs Pointer to the IES structure. - **/ -int s1ap_encode_handovernotifyies( - HandoverNotify_t *handoverNotify, - HandoverNotifyIEs_t *handoverNotifyIEs); - -/** \brief Decode function for DownlinkS1cdma2000tunnelingIEs ies. - * \param downlinkS1cdma2000tunnelingIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_downlinks1cdma2000tunnelingies( - DownlinkS1cdma2000tunnelingIEs_t *downlinkS1cdma2000tunnelingIEs, - ANY_t *any_p); - -/** \brief Encode function for DownlinkS1cdma2000tunnelingIEs ies. - * \param downlinkS1cdma2000tunneling Pointer to the ASN1 structure. - * \param downlinkS1cdma2000tunnelingIEs Pointer to the IES structure. - **/ -int s1ap_encode_downlinks1cdma2000tunnelingies( - DownlinkS1cdma2000tunneling_t *downlinkS1cdma2000tunneling, - DownlinkS1cdma2000tunnelingIEs_t *downlinkS1cdma2000tunnelingIEs); - -/** \brief Decode function for MMEConfigurationUpdateAcknowledgeIEs ies. - * \param mmeConfigurationUpdateAcknowledgeIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_mmeconfigurationupdateacknowledgeies( - MMEConfigurationUpdateAcknowledgeIEs_t *mmeConfigurationUpdateAcknowledgeIEs, - ANY_t *any_p); - -/** \brief Encode function for MMEConfigurationUpdateAcknowledgeIEs ies. - * \param mmeConfigurationUpdateAcknowledge Pointer to the ASN1 structure. - * \param mmeConfigurationUpdateAcknowledgeIEs Pointer to the IES structure. - **/ -int s1ap_encode_mmeconfigurationupdateacknowledgeies( - MMEConfigurationUpdateAcknowledge_t *mmeConfigurationUpdateAcknowledge, - MMEConfigurationUpdateAcknowledgeIEs_t *mmeConfigurationUpdateAcknowledgeIEs); - -/** \brief Decode function for HandoverRequestAcknowledgeIEs ies. - * \param handoverRequestAcknowledgeIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_handoverrequestacknowledgeies( - HandoverRequestAcknowledgeIEs_t *handoverRequestAcknowledgeIEs, - ANY_t *any_p); - -/** \brief Encode function for HandoverRequestAcknowledgeIEs ies. - * \param handoverRequestAcknowledge Pointer to the ASN1 structure. - * \param handoverRequestAcknowledgeIEs Pointer to the IES structure. - **/ -int s1ap_encode_handoverrequestacknowledgeies( - HandoverRequestAcknowledge_t *handoverRequestAcknowledge, - HandoverRequestAcknowledgeIEs_t *handoverRequestAcknowledgeIEs); - -/** \brief Decode function for E-RABSetupRequestIEs ies. - * \param e_RABSetupRequestIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_e_rabsetuprequesties( - E_RABSetupRequestIEs_t *e_RABSetupRequestIEs, - ANY_t *any_p); - -/** \brief Encode function for E-RABSetupRequestIEs ies. - * \param e_RABSetupRequest Pointer to the ASN1 structure. - * \param e_RABSetupRequestIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabsetuprequesties( - E_RABSetupRequest_t *e_RABSetupRequest, - E_RABSetupRequestIEs_t *e_RABSetupRequestIEs); - -/** \brief Decode function for DownlinkUEAssociatedLPPaTransportIEs ies. - * \param downlinkUEAssociatedLPPaTransportIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_downlinkueassociatedlppatransporties( - DownlinkUEAssociatedLPPaTransportIEs_t *downlinkUEAssociatedLPPaTransportIEs, - ANY_t *any_p); - -/** \brief Encode function for DownlinkUEAssociatedLPPaTransportIEs ies. - * \param downlinkUEAssociatedLPPaTransport Pointer to the ASN1 structure. - * \param downlinkUEAssociatedLPPaTransportIEs Pointer to the IES structure. - **/ -int s1ap_encode_downlinkueassociatedlppatransporties( - DownlinkUEAssociatedLPPaTransport_t *downlinkUEAssociatedLPPaTransport, - DownlinkUEAssociatedLPPaTransportIEs_t *downlinkUEAssociatedLPPaTransportIEs); - -/** \brief Decode function for KillRequestIEs ies. - * \param killRequestIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_killrequesties( - KillRequestIEs_t *killRequestIEs, - ANY_t *any_p); - -/** \brief Encode function for KillRequestIEs ies. - * \param killRequest Pointer to the ASN1 structure. - * \param killRequestIEs Pointer to the IES structure. - **/ -int s1ap_encode_killrequesties( - KillRequest_t *killRequest, - KillRequestIEs_t *killRequestIEs); - -/** \brief Decode function for E-RABModifyResponseIEs ies. - * \param e_RABModifyResponseIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_e_rabmodifyresponseies( - E_RABModifyResponseIEs_t *e_RABModifyResponseIEs, - ANY_t *any_p); - -/** \brief Encode function for E-RABModifyResponseIEs ies. - * \param e_RABModifyResponse Pointer to the ASN1 structure. - * \param e_RABModifyResponseIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabmodifyresponseies( - E_RABModifyResponse_t *e_RABModifyResponse, - E_RABModifyResponseIEs_t *e_RABModifyResponseIEs); - -/** \brief Decode function for E-RABReleaseIndicationIEs ies. - * \param e_RABReleaseIndicationIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_e_rabreleaseindicationies( - E_RABReleaseIndicationIEs_t *e_RABReleaseIndicationIEs, - ANY_t *any_p); - -/** \brief Encode function for E-RABReleaseIndicationIEs ies. - * \param e_RABReleaseIndication Pointer to the ASN1 structure. - * \param e_RABReleaseIndicationIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabreleaseindicationies( - E_RABReleaseIndication_t *e_RABReleaseIndication, - E_RABReleaseIndicationIEs_t *e_RABReleaseIndicationIEs); - -/** \brief Decode function for ENBConfigurationUpdateFailureIEs ies. - * \param enbConfigurationUpdateFailureIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_enbconfigurationupdatefailureies( - ENBConfigurationUpdateFailureIEs_t *enbConfigurationUpdateFailureIEs, - ANY_t *any_p); - -/** \brief Encode function for ENBConfigurationUpdateFailureIEs ies. - * \param eNBConfigurationUpdateFailure Pointer to the ASN1 structure. - * \param enbConfigurationUpdateFailureIEs Pointer to the IES structure. - **/ -int s1ap_encode_enbconfigurationupdatefailureies( - ENBConfigurationUpdateFailure_t *eNBConfigurationUpdateFailure, - ENBConfigurationUpdateFailureIEs_t *enbConfigurationUpdateFailureIEs); - -/** \brief Decode function for WriteReplaceWarningRequestIEs ies. - * \param writeReplaceWarningRequestIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_writereplacewarningrequesties( - WriteReplaceWarningRequestIEs_t *writeReplaceWarningRequestIEs, - ANY_t *any_p); - -/** \brief Encode function for WriteReplaceWarningRequestIEs ies. - * \param writeReplaceWarningRequest Pointer to the ASN1 structure. - * \param writeReplaceWarningRequestIEs Pointer to the IES structure. - **/ -int s1ap_encode_writereplacewarningrequesties( - WriteReplaceWarningRequest_t *writeReplaceWarningRequest, - WriteReplaceWarningRequestIEs_t *writeReplaceWarningRequestIEs); - -/** \brief Decode function for S1SetupFailureIEs ies. - * \param s1SetupFailureIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_s1setupfailureies( - S1SetupFailureIEs_t *s1SetupFailureIEs, - ANY_t *any_p); - -/** \brief Encode function for S1SetupFailureIEs ies. - * \param s1SetupFailure Pointer to the ASN1 structure. - * \param s1SetupFailureIEs Pointer to the IES structure. - **/ -int s1ap_encode_s1setupfailureies( - S1SetupFailure_t *s1SetupFailure, - S1SetupFailureIEs_t *s1SetupFailureIEs); - -/** \brief Decode function for E-RABModifyRequestIEs ies. - * \param e_RABModifyRequestIEs Pointer to ASN1 structure in which data will be stored - * \param any_p Pointer to the ANY value to decode. - **/ -int s1ap_decode_e_rabmodifyrequesties( - E_RABModifyRequestIEs_t *e_RABModifyRequestIEs, - ANY_t *any_p); - -/** \brief Encode function for E-RABModifyRequestIEs ies. - * \param e_RABModifyRequest Pointer to the ASN1 structure. - * \param e_RABModifyRequestIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabmodifyrequesties( - E_RABModifyRequest_t *e_RABModifyRequest, - E_RABModifyRequestIEs_t *e_RABModifyRequestIEs); - -/** \brief Encode function for E-RABToBeSetupItemBearerSUReqIEs ies. - * \param e_RABToBeSetupListBearerSUReq Pointer to the ASN1 structure. - * \param e_RABToBeSetupItemBearerSUReqIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabtobesetuplistbearersureq( - E_RABToBeSetupListBearerSUReq_t *e_RABToBeSetupListBearerSUReq, - E_RABToBeSetupListBearerSUReqIEs_t *e_RABToBeSetupListBearerSUReqIEs); - -/** \brief Decode function for E-RABToBeSetupItemBearerSUReqIEs ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_e_rabtobesetuplistbearersureq( - E_RABToBeSetupListBearerSUReqIEs_t *e_RABToBeSetupListBearerSUReqIEs, - E_RABToBeSetupListBearerSUReq_t *e_RABToBeSetupListBearerSUReq); - -/** \brief Encode function for UE-associatedLogicalS1-ConnectionItemResAck ies. - * \param uE_associatedLogicalS1_ConnectionListResAck Pointer to the ASN1 structure. - * \param uE_associatedLogicalS1_ConnectionItemResAck Pointer to the IES structure. - **/ -int s1ap_encode_ue_associatedlogicals1_connectionlistresack( - UE_associatedLogicalS1_ConnectionListResAck_t *uE_associatedLogicalS1_ConnectionListResAck, - UE_associatedLogicalS1_ConnectionListResAckIEs_t *uE_associatedLogicalS1_ConnectionListResAckIEs); - -/** \brief Decode function for UE-associatedLogicalS1-ConnectionItemResAck ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_ue_associatedlogicals1_connectionlistresack( - UE_associatedLogicalS1_ConnectionListResAckIEs_t *uE_associatedLogicalS1_ConnectionListResAckIEs, - UE_associatedLogicalS1_ConnectionListResAck_t *uE_associatedLogicalS1_ConnectionListResAck); - -/** \brief Encode function for TAIItemIEs ies. - * \param taiList Pointer to the ASN1 structure. - * \param taiItemIEs Pointer to the IES structure. - **/ -int s1ap_encode_tailist( - TAIList_t *taiList, - TAIListIEs_t *taiListIEs); - -/** \brief Decode function for TAIItemIEs ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_tailist( - TAIListIEs_t *taiListIEs, - TAIList_t *taiList); - -/** \brief Encode function for E-RABAdmittedItemIEs ies. - * \param e_RABAdmittedList Pointer to the ASN1 structure. - * \param e_RABAdmittedItemIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabadmittedlist( - E_RABAdmittedList_t *e_RABAdmittedList, - E_RABAdmittedListIEs_t *e_RABAdmittedListIEs); - -/** \brief Decode function for E-RABAdmittedItemIEs ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_e_rabadmittedlist( - E_RABAdmittedListIEs_t *e_RABAdmittedListIEs, - E_RABAdmittedList_t *e_RABAdmittedList); - -/** \brief Encode function for E-RABItemIEs ies. - * \param e_RABList Pointer to the ASN1 structure. - * \param e_RABItemIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rablist( - E_RABList_t *e_RABList, - E_RABListIEs_t *e_RABListIEs); - -/** \brief Decode function for E-RABItemIEs ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_e_rablist( - E_RABListIEs_t *e_RABListIEs, - E_RABList_t *e_RABList); - -/** \brief Encode function for E-RABToBeSetupItemHOReqIEs ies. - * \param e_RABToBeSetupListHOReq Pointer to the ASN1 structure. - * \param e_RABToBeSetupItemHOReqIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabtobesetuplisthoreq( - E_RABToBeSetupListHOReq_t *e_RABToBeSetupListHOReq, - E_RABToBeSetupListHOReqIEs_t *e_RABToBeSetupListHOReqIEs); - -/** \brief Decode function for E-RABToBeSetupItemHOReqIEs ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_e_rabtobesetuplisthoreq( - E_RABToBeSetupListHOReqIEs_t *e_RABToBeSetupListHOReqIEs, - E_RABToBeSetupListHOReq_t *e_RABToBeSetupListHOReq); - -/** \brief Encode function for E-RABSetupItemBearerSUResIEs ies. - * \param e_RABSetupListBearerSURes Pointer to the ASN1 structure. - * \param e_RABSetupItemBearerSUResIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabsetuplistbearersures( - E_RABSetupListBearerSURes_t *e_RABSetupListBearerSURes, - E_RABSetupListBearerSUResIEs_t *e_RABSetupListBearerSUResIEs); - -/** \brief Decode function for E-RABSetupItemBearerSUResIEs ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_e_rabsetuplistbearersures( - E_RABSetupListBearerSUResIEs_t *e_RABSetupListBearerSUResIEs, - E_RABSetupListBearerSURes_t *e_RABSetupListBearerSURes); - -/** \brief Encode function for E-RABToBeSetupItemCtxtSUReqIEs ies. - * \param e_RABToBeSetupListCtxtSUReq Pointer to the ASN1 structure. - * \param e_RABToBeSetupItemCtxtSUReqIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabtobesetuplistctxtsureq( - E_RABToBeSetupListCtxtSUReq_t *e_RABToBeSetupListCtxtSUReq, - E_RABToBeSetupListCtxtSUReqIEs_t *e_RABToBeSetupListCtxtSUReqIEs); - -/** \brief Decode function for E-RABToBeSetupItemCtxtSUReqIEs ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_e_rabtobesetuplistctxtsureq( - E_RABToBeSetupListCtxtSUReqIEs_t *e_RABToBeSetupListCtxtSUReqIEs, - E_RABToBeSetupListCtxtSUReq_t *e_RABToBeSetupListCtxtSUReq); - -/** \brief Encode function for E-RABSetupItemCtxtSUResIEs ies. - * \param e_RABSetupListCtxtSURes Pointer to the ASN1 structure. - * \param e_RABSetupItemCtxtSUResIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabsetuplistctxtsures( - E_RABSetupListCtxtSURes_t *e_RABSetupListCtxtSURes, - E_RABSetupListCtxtSUResIEs_t *e_RABSetupListCtxtSUResIEs); - -/** \brief Decode function for E-RABSetupItemCtxtSUResIEs ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_e_rabsetuplistctxtsures( - E_RABSetupListCtxtSUResIEs_t *e_RABSetupListCtxtSUResIEs, - E_RABSetupListCtxtSURes_t *e_RABSetupListCtxtSURes); - -/** \brief Encode function for E-RABInformationItemIEs ies. - * \param e_RABInformationList Pointer to the ASN1 structure. - * \param e_RABInformationItemIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabinformationlist( - E_RABInformationList_t *e_RABInformationList, - E_RABInformationListIEs_t *e_RABInformationListIEs); - -/** \brief Decode function for E-RABInformationItemIEs ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_e_rabinformationlist( - E_RABInformationListIEs_t *e_RABInformationListIEs, - E_RABInformationList_t *e_RABInformationList); - -/** \brief Encode function for E-RABReleaseItemBearerRelCompIEs ies. - * \param e_RABReleaseListBearerRelComp Pointer to the ASN1 structure. - * \param e_RABReleaseItemBearerRelCompIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabreleaselistbearerrelcomp( - E_RABReleaseListBearerRelComp_t *e_RABReleaseListBearerRelComp, - E_RABReleaseListBearerRelCompIEs_t *e_RABReleaseListBearerRelCompIEs); - -/** \brief Decode function for E-RABReleaseItemBearerRelCompIEs ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_e_rabreleaselistbearerrelcomp( - E_RABReleaseListBearerRelCompIEs_t *e_RABReleaseListBearerRelCompIEs, - E_RABReleaseListBearerRelComp_t *e_RABReleaseListBearerRelComp); - -/** \brief Encode function for E-RABToBeModifiedItemBearerModReqIEs ies. - * \param e_RABToBeModifiedListBearerModReq Pointer to the ASN1 structure. - * \param e_RABToBeModifiedItemBearerModReqIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabtobemodifiedlistbearermodreq( - E_RABToBeModifiedListBearerModReq_t *e_RABToBeModifiedListBearerModReq, - E_RABToBeModifiedListBearerModReqIEs_t *e_RABToBeModifiedListBearerModReqIEs); - -/** \brief Decode function for E-RABToBeModifiedItemBearerModReqIEs ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_e_rabtobemodifiedlistbearermodreq( - E_RABToBeModifiedListBearerModReqIEs_t *e_RABToBeModifiedListBearerModReqIEs, - E_RABToBeModifiedListBearerModReq_t *e_RABToBeModifiedListBearerModReq); - -/** \brief Encode function for E-RABToBeSwitchedDLItemIEs ies. - * \param e_RABToBeSwitchedDLList Pointer to the ASN1 structure. - * \param e_RABToBeSwitchedDLItemIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabtobeswitcheddllist( - E_RABToBeSwitchedDLList_t *e_RABToBeSwitchedDLList, - E_RABToBeSwitchedDLListIEs_t *e_RABToBeSwitchedDLListIEs); - -/** \brief Decode function for E-RABToBeSwitchedDLItemIEs ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_e_rabtobeswitcheddllist( - E_RABToBeSwitchedDLListIEs_t *e_RABToBeSwitchedDLListIEs, - E_RABToBeSwitchedDLList_t *e_RABToBeSwitchedDLList); - -/** \brief Encode function for Bearers-SubjectToStatusTransfer-ItemIEs ies. - * \param bearers_SubjectToStatusTransfer_List Pointer to the ASN1 structure. - * \param bearers_SubjectToStatusTransfer_ItemIEs Pointer to the IES structure. - **/ -int s1ap_encode_bearers_subjecttostatustransfer_list( - Bearers_SubjectToStatusTransfer_List_t *bearers_SubjectToStatusTransfer_List, - Bearers_SubjectToStatusTransfer_ListIEs_t *bearers_SubjectToStatusTransfer_ListIEs); - -/** \brief Decode function for Bearers-SubjectToStatusTransfer-ItemIEs ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_bearers_subjecttostatustransfer_list( - Bearers_SubjectToStatusTransfer_ListIEs_t *bearers_SubjectToStatusTransfer_ListIEs, - Bearers_SubjectToStatusTransfer_List_t *bearers_SubjectToStatusTransfer_List); - -/** \brief Encode function for E-RABToBeSwitchedULItemIEs ies. - * \param e_RABToBeSwitchedULList Pointer to the ASN1 structure. - * \param e_RABToBeSwitchedULItemIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabtobeswitchedullist( - E_RABToBeSwitchedULList_t *e_RABToBeSwitchedULList, - E_RABToBeSwitchedULListIEs_t *e_RABToBeSwitchedULListIEs); - -/** \brief Decode function for E-RABToBeSwitchedULItemIEs ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_e_rabtobeswitchedullist( - E_RABToBeSwitchedULListIEs_t *e_RABToBeSwitchedULListIEs, - E_RABToBeSwitchedULList_t *e_RABToBeSwitchedULList); - -/** \brief Encode function for E-RABDataForwardingItemIEs ies. - * \param e_RABDataForwardingList Pointer to the ASN1 structure. - * \param e_RABDataForwardingItemIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabdataforwardinglist( - E_RABDataForwardingList_t *e_RABDataForwardingList, - E_RABDataForwardingListIEs_t *e_RABDataForwardingListIEs); - -/** \brief Decode function for E-RABDataForwardingItemIEs ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_e_rabdataforwardinglist( - E_RABDataForwardingListIEs_t *e_RABDataForwardingListIEs, - E_RABDataForwardingList_t *e_RABDataForwardingList); - -/** \brief Encode function for E-RABModifyItemBearerModResIEs ies. - * \param e_RABModifyListBearerModRes Pointer to the ASN1 structure. - * \param e_RABModifyItemBearerModResIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabmodifylistbearermodres( - E_RABModifyListBearerModRes_t *e_RABModifyListBearerModRes, - E_RABModifyListBearerModResIEs_t *e_RABModifyListBearerModResIEs); - -/** \brief Decode function for E-RABModifyItemBearerModResIEs ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_e_rabmodifylistbearermodres( - E_RABModifyListBearerModResIEs_t *e_RABModifyListBearerModResIEs, - E_RABModifyListBearerModRes_t *e_RABModifyListBearerModRes); - -/** \brief Encode function for UE-associatedLogicalS1-ConnectionItemRes ies. - * \param uE_associatedLogicalS1_ConnectionListRes Pointer to the ASN1 structure. - * \param uE_associatedLogicalS1_ConnectionItemRes Pointer to the IES structure. - **/ -int s1ap_encode_ue_associatedlogicals1_connectionlistres( - UE_associatedLogicalS1_ConnectionListRes_t *uE_associatedLogicalS1_ConnectionListRes, - UE_associatedLogicalS1_ConnectionListResIEs_t *uE_associatedLogicalS1_ConnectionListResIEs); - -/** \brief Decode function for UE-associatedLogicalS1-ConnectionItemRes ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_ue_associatedlogicals1_connectionlistres( - UE_associatedLogicalS1_ConnectionListResIEs_t *uE_associatedLogicalS1_ConnectionListResIEs, - UE_associatedLogicalS1_ConnectionListRes_t *uE_associatedLogicalS1_ConnectionListRes); - -/** \brief Encode function for E-RABFailedtoSetupItemHOReqAckIEs ies. - * \param e_RABFailedtoSetupListHOReqAck Pointer to the ASN1 structure. - * \param e_RABFailedtoSetupItemHOReqAckIEs Pointer to the IES structure. - **/ -int s1ap_encode_e_rabfailedtosetuplisthoreqack( - E_RABFailedtoSetupListHOReqAck_t *e_RABFailedtoSetupListHOReqAck, - E_RABFailedtoSetupListHOReqAckIEs_t *e_RABFailedtoSetupListHOReqAckIEs); - -/** \brief Decode function for E-RABFailedtoSetupItemHOReqAckIEs ies. - * \param any_p Pointer to the ANY value to decode. - * \param callback Callback function called when any_p is successfully decoded. - **/ -int s1ap_decode_e_rabfailedtosetuplisthoreqack( - E_RABFailedtoSetupListHOReqAckIEs_t *e_RABFailedtoSetupListHOReqAckIEs, - E_RABFailedtoSetupListHOReqAck_t *e_RABFailedtoSetupListHOReqAck); - -#endif /* S1AP_IES_DEFS_H_ */ - diff --git a/openair3/OPENAIRMME/S1AP/s1ap_mme.c b/openair3/OPENAIRMME/S1AP/s1ap_mme.c deleted file mode 100644 index e9f931abe8..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_mme.c +++ /dev/null @@ -1,421 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ -#include <stdio.h> -#include <stdlib.h> -#include <pthread.h> -#include <assert.h> - -#if !defined(MME_CLIENT_TEST) -# include "intertask_interface.h" -#endif -#include "s1ap_mme.h" -#include "s1ap_mme_decoder.h" -#include "s1ap_mme_handlers.h" -#include "s1ap_ies_defs.h" - -#define S1AP_DEBUG_LIST -#ifdef S1AP_DEBUG_LIST -# define eNB_LIST_OUT(x, args...) S1AP_DEBUG("[eNB]%*s"x"\n", 4*indent, "", ##args) -# define UE_LIST_OUT(x, args...) S1AP_DEBUG("[UE] %*s"x"\n", 4*indent, "", ##args) -#else -# define eNB_LIST_OUT(x, args...) -# define UE_LIST_OUT(x, args...) -#endif - -#if !defined(MME_CLIENT_TEST) -static pthread_t s1ap_task_thread; - -uint8_t nb_eNB_associated; -eNB_description_t *eNB_list_head; -eNB_description_t *eNB_list_tail; - -MessageDef *receivedMessage; -static int indent = 0; - -void* s1ap_mme_thread(void *args); - -static int s1ap_send_init_sctp(void) { - // Create and alloc new message - MessageDef *message_p; - message_p = (MessageDef *)malloc(sizeof(MessageDef)); - - message_p->messageId = SCTP_S1AP_INIT; - message_p->originTaskId = TASK_S1AP; - message_p->destinationTaskId = TASK_SCTP; - message_p->msg.sctpS1APInit.port = S1AP_PORT; - message_p->msg.sctpS1APInit.ppid = S1AP_SCTP_PPID; - message_p->msg.sctpS1APInit.address = "0.0.0.0"; //ANY address - - return itti_send_msg_to_task(TASK_SCTP, message_p); -} - -void* s1ap_mme_thread(void *args) { - while(1) { - /* Trying to fetch a message from the message queue. - * If the queue is empty, this function will block till a - * message is sent to the task. - */ - itti_receive_msg(TASK_S1AP, &receivedMessage); - assert(receivedMessage != NULL); - switch(receivedMessage->messageId) { - case S1AP_SCTP_NEW_MESSAGE_IND: - { - /* New message received from SCTP layer. - * Decode and handle it. - */ - s1ap_message message; - S1apSctpNewMessageInd *s1apSctpNewMessageInd; - s1apSctpNewMessageInd = &receivedMessage->msg.s1apSctpNewMessageInd; - - memset((void*)&message, 0, sizeof(s1ap_message)); - /* Invoke S1AP message decoder */ - if (s1ap_mme_decode_pdu(&message, s1apSctpNewMessageInd->buffer, s1apSctpNewMessageInd->bufLen) < 0) { - // TODO: Notify eNB of failure with right cause - } else { - s1ap_mme_handle_message(s1apSctpNewMessageInd->assocId, s1apSctpNewMessageInd->stream, &message); - } - // Free received PDU array - free(s1apSctpNewMessageInd->buffer); - } break; - /* SCTP layer notifies S1AP of disconnection of a peer. */ - case S1AP_SCTP_ASSOCIATION_CLOSED: - { - S1apSctpAsscociationClosed *s1apSctpAsscociationClosed; - s1apSctpAsscociationClosed = &receivedMessage->msg.s1apSctpAssociationClosed; - s1ap_handle_sctp_deconnection(s1apSctpAsscociationClosed->assocId); - } break; - case S1AP_NAS_NEW_MESSAGE_IND: - { - /* New message received from NAS task. - * This corresponds to a S1AP downlink nas transport message. - */ - s1ap_generate_downlink_nas_transport(&receivedMessage->msg.s1apNASNewMessageInd); - } break; - case SGW_CREATE_SESSION_RESPONSE: - { - s1ap_handle_create_session_response(&receivedMessage->msg.sgwCreateSessionResponse); - } break; - case SGW_MODIFY_BEARER_RESPONSE: - { - - } break; - default: - { - S1AP_DEBUG("Unkwnon message ID %d\n", receivedMessage->messageId); - } break; - } - free(receivedMessage); - receivedMessage = NULL; - } - return NULL; -} - -int s1ap_mme_init(const mme_config_t *mme_config) { - S1AP_DEBUG("Initializing S1AP interface\n"); - - if (get_asn1c_environment_version() < 923) - S1AP_ERROR("ASN1C version %d fount, expecting at least %d\n", get_asn1c_environment_version(), 923); - else - S1AP_DEBUG("ASN1C version %d\n", get_asn1c_environment_version()); - -#if defined(UPDATE_RELEASE_9) - S1AP_DEBUG("S1AP Release v9.8\n"); -#else - S1AP_DEBUG("S1AP Release v8.10\n"); -#endif - - eNB_list_head = NULL; - eNB_list_tail = NULL; - nb_eNB_associated = 0; - - if (pthread_create(&s1ap_task_thread, NULL, &s1ap_mme_thread, NULL) < 0) { - perror("s1ap phtread_create"); - return -1; - } - if (s1ap_send_init_sctp() < 0) { - return -1; - } - S1AP_DEBUG("Initializing S1AP interface: DONE\n"); - return 0; -} - -void s1ap_dump_eNB_list(void) { - eNB_description_t *eNB_ref = eNB_list_head; - - while (eNB_ref != NULL) { - s1ap_dump_eNB(eNB_ref); - eNB_ref = eNB_ref->next_eNB; - } -} - -void s1ap_dump_eNB(eNB_description_t *eNB_ref) { -#ifdef S1AP_DEBUG_LIST - ue_description_t *ue_ref; - //Reset indentation - indent = 0; - if (eNB_ref == NULL) return; - eNB_LIST_OUT(""); - eNB_LIST_OUT("eNB name: %s", eNB_ref->eNB_name == NULL ? "not present" : eNB_ref->eNB_name); - eNB_LIST_OUT("eNB ID: %d", eNB_ref->eNB_id); - eNB_LIST_OUT("SCTP assoc id: %d", eNB_ref->sctp_assoc_id); - eNB_LIST_OUT("SCTP instreams: %d", eNB_ref->instreams); - eNB_LIST_OUT("SCTP outstreams: %d", eNB_ref->outstreams); - eNB_LIST_OUT("UE attache to eNB: %d", eNB_ref->nb_ue_associated); - - indent++; - for (ue_ref = eNB_ref->ue_list_head; ue_ref; ue_ref = ue_ref->next_ue) { - s1ap_dump_ue(ue_ref); - } - indent--; - eNB_LIST_OUT(""); -#else - eNB_ref = eNB_ref; - s1ap_dump_ue(NULL); -#endif -} - -void s1ap_dump_ue(ue_description_t *ue_ref) { -#ifdef S1AP_DEBUG_LIST - if (ue_ref == NULL) return; - UE_LIST_OUT("eNB UE s1ap id: %d", ue_ref->eNB_ue_s1ap_id); - UE_LIST_OUT("MME UE s1ap id: %d", ue_ref->mme_ue_s1ap_id); - UE_LIST_OUT("SCTP stream recv: %d", ue_ref->sctp_stream_recv); - UE_LIST_OUT("SCTP stream send: %d", ue_ref->sctp_stream_send); -#else - ue_ref = ue_ref; -#endif -} - -eNB_description_t* s1ap_is_eNB_id_in_list(uint32_t eNB_id) { - eNB_description_t *eNB_ref; - - for (eNB_ref = eNB_list_head; eNB_ref; eNB_ref = eNB_ref->next_eNB) { - if (eNB_ref->eNB_id == eNB_id) - // We fount a matching reference, return it - break; - } - // No matching eNB, return NULL - return eNB_ref; -} - -eNB_description_t* s1ap_is_eNB_assoc_id_in_list(uint32_t sctp_assoc_id) { - eNB_description_t *eNB_ref; - - for (eNB_ref = eNB_list_head; eNB_ref; eNB_ref = eNB_ref->next_eNB) { - if (eNB_ref->sctp_assoc_id == sctp_assoc_id) - // We fount a matching reference, return it - break; - } - // No matching eNB or no eNB in list, return NULL - return eNB_ref; -} - -ue_description_t* s1ap_is_ue_eNB_id_in_list(eNB_description_t *eNB_ref, - uint32_t eNB_ue_s1ap_id) { - ue_description_t *ue_ref; - // No eNB_list_head in list, simply returning NULL - if (eNB_ref == NULL) return NULL; - - for (ue_ref = eNB_ref->ue_list_head; ue_ref; ue_ref = ue_ref->next_ue) { - if (ue_ref->eNB_ue_s1ap_id == eNB_ue_s1ap_id) - break; - } - // No matching UE, return NULL - return ue_ref; -} - -ue_description_t* s1ap_is_ue_mme_id_in_list(uint32_t mme_ue_s1ap_id) { - ue_description_t *ue_ref; - eNB_description_t *eNB_ref; - // No eNB_list_head in list, simply returning NULL - if (eNB_list_head == NULL) return NULL; - for (eNB_ref = eNB_list_head; eNB_ref; eNB_ref = eNB_ref->next_eNB) { - for (ue_ref = eNB_ref->ue_list_head; ue_ref; ue_ref = ue_ref->next_ue) { - // We fount a matching reference, return it - if (ue_ref->mme_ue_s1ap_id == mme_ue_s1ap_id) - return ue_ref; - } - } - // No matching UE, return NULL - return NULL; -} - -ue_description_t* s1ap_is_teid_in_list(uint32_t teid) { - ue_description_t *ue_ref; - eNB_description_t *eNB_ref; - // No eNB_list_head in list, simply returning NULL - if (eNB_list_head == NULL) return NULL; - for (eNB_ref = eNB_list_head; eNB_ref; eNB_ref = eNB_ref->next_eNB) { - for (ue_ref = eNB_ref->ue_list_head; ue_ref; ue_ref = ue_ref->next_ue) { - // We fount a matching reference, return it - if (ue_ref->teid == teid) - return ue_ref; - } - } - // No matching UE, return NULL - return NULL; -} - -eNB_description_t* s1ap_new_eNB(void) { - eNB_description_t *eNB_ref = NULL; - - eNB_ref = malloc(sizeof(eNB_description_t)); - - /* Something bad happened during malloc... - * May be we are running out of memory. - * TODO: Notify eNB with a cause like Hardware Failure. - */ - if (eNB_ref == NULL) return NULL; - - eNB_ref->next_eNB = NULL; - eNB_ref->previous_eNB = NULL; - // No eNB present - if (eNB_list_head == NULL) { - eNB_list_head = eNB_ref; - // Point tail to head (single element in list) - eNB_list_tail = eNB_list_head; - } else { - eNB_ref->previous_eNB = eNB_list_tail; - eNB_list_tail->next_eNB = eNB_ref; - // Update list tail with the new eNB added - eNB_list_tail = eNB_ref; - } - - // Update number of eNB associated - nb_eNB_associated++; - eNB_ref->ue_list_head = NULL; - eNB_ref->ue_list_tail = NULL; - eNB_ref->nb_ue_associated = 0; - return eNB_ref; -} - -ue_description_t* s1ap_new_ue(uint32_t sctp_assoc_id) { - eNB_description_t *eNB_ref = NULL; - ue_description_t *ue_ref = NULL; - - if ((eNB_ref = s1ap_is_eNB_assoc_id_in_list(sctp_assoc_id)) == NULL) { - /* No eNB attached to this SCTP assoc ID... - * return NULL. - */ - return NULL; - } - ue_ref = malloc(sizeof(ue_description_t)); - /* Something bad happened during malloc... - * May be we are running out of memory. - * TODO: Notify eNB with a cause like Hardware Failure. - */ - if (ue_ref == NULL) return NULL; - - ue_ref->eNB = eNB_ref; - ue_ref->next_ue = NULL; - - // Increment number of UE - eNB_ref->nb_ue_associated++; - if (eNB_ref->ue_list_head == NULL) { - // Currently no UE in active list - eNB_ref->ue_list_head = ue_ref; - ue_ref->previous_ue = NULL; - eNB_ref->ue_list_tail = eNB_ref->ue_list_head; - } else { - eNB_ref->ue_list_tail->next_ue = ue_ref; - ue_ref->previous_ue = eNB_ref->ue_list_tail; - eNB_ref->ue_list_tail = ue_ref; - } - - return ue_ref; -} - -void s1ap_remove_ue(ue_description_t *ue_ref) { - /* NULL reference... */ - if (ue_ref == NULL) return; - - if (ue_ref->next_ue != NULL) { - if (ue_ref->previous_ue != NULL) { - /* Not head and not tail */ - ue_ref->previous_ue->next_ue = ue_ref->next_ue; - ue_ref->next_ue->previous_ue = ue_ref->previous_ue; - } else { - /* Head but not tail */ - ue_ref->eNB->ue_list_head = ue_ref->next_ue; - ue_ref->next_ue->previous_ue = NULL; - } - } else { - if (ue_ref->previous_ue != NULL) { - /* Not head but tail */ - ue_ref->eNB->ue_list_tail = ue_ref->previous_ue; - ue_ref->previous_ue->next_ue = NULL; - } else { - /* Head and tail */ - ue_ref->eNB->ue_list_tail = ue_ref->eNB->ue_list_head = NULL; - } - } - /* Updating number of UE */ - ue_ref->eNB->nb_ue_associated--; - /* Freeing memory */ - free(ue_ref); -} - -void s1ap_remove_eNB(eNB_description_t *eNB_ref) { - ue_description_t *ue_ref; - - if (eNB_ref == NULL) return; - - /* Removing any ue context */ - for (ue_ref = eNB_ref->ue_list_head; ue_ref; ue_ref = ue_ref->next_ue) { -// while (ue_ref != NULL) { - s1ap_remove_ue(ue_ref); -// ue_ref = ue_ref->next_ue; - } - - if (eNB_ref->next_eNB != NULL) { - if (eNB_ref->previous_eNB != NULL) { - /* Not tail and not head */ - eNB_ref->previous_eNB->next_eNB = eNB_ref->next_eNB; - eNB_ref->next_eNB->previous_eNB = eNB_ref->previous_eNB; - } else { - /* Head but not tail */ - eNB_list_head = eNB_ref->next_eNB; - eNB_ref->next_eNB->previous_eNB = NULL; - } - } else { - if (eNB_ref->previous_eNB != NULL) { - /* Not head but tail */ - eNB_list_tail = eNB_ref->previous_eNB; - eNB_ref->previous_eNB->next_eNB = NULL; - } else { - /* Head and tail */ - eNB_list_tail = eNB_list_head = NULL; - } - } - free(eNB_ref); - nb_eNB_associated--; -} - -#endif diff --git a/openair3/OPENAIRMME/S1AP/s1ap_mme.h b/openair3/OPENAIRMME/S1AP/s1ap_mme.h deleted file mode 100644 index bf361c5b17..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_mme.h +++ /dev/null @@ -1,190 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#if !defined(MME_CLIENT_TEST) -# include "intertask_interface.h" -#endif - -#include "mme_config.h" - -#ifndef S1AP_MME_H_ -#define S1AP_MME_H_ - -#define MAX_NUMBER_OF_ENB 2 -#define MAX_NUMBER_OF_UE_BY_ENB 64 -#define MAX_NUMBER_OF_UE (MAX_NUMBER_OF_ENB * MAX_NUMBER_OF_UE_BY_ENB) - -// Forward declarations -struct eNB_description_s; - -enum s1_eNB_state_s { - S1AP_RESETING, ///< After a reset request (eNB or MME initiated) - S1AP_READY ///< MME and eNB are S1 associated, UE contexts can be added -}; - -enum s1_ue_state_s { - S1AP_UE_WAITING_CSR, ///< Waiting for Initial Context Setup Response - S1AP_UE_HANDOVER, ///< Handover procedure triggered - S1AP_UE_CONNECTED, ///< UE context ready -}; - -/** Main structure representing UE association over s1ap - * Generated every time a new InitialUEMessage is received - **/ -typedef struct ue_description_s { - struct ue_description_s *next_ue; ///< Next UE in the list - struct ue_description_s *previous_ue; ///< Previous UE in the list - - struct eNB_description_s *eNB; ///< Which eNB this UE is attached to - - enum s1_ue_state_s s1_ue_state; ///< S1AP UE state - - uint32_t eNB_ue_s1ap_id; ///< Unique UE id over eNB (24 bits wide) - uint32_t mme_ue_s1ap_id; ///< Unique UE id over MME (32 bits wide) - - /** SCTP stream on which S1 message will be sent/received. - * During an UE S1 connection, a pair of streams is - * allocated and is used during all the connection. - * Stream 0 is reserved for non UE signalling. - * @name sctp stream identifier - **/ - /*@{*/ - uint8_t sctp_stream_recv; ///< eNB -> MME stream - uint8_t sctp_stream_send; ///< MME -> eNB stream - /*@}*/ - - uint32_t teid; ///< S11 TEID - -// uint8_t eRAB_id; -} ue_description_t; - -/* Main structure representing eNB association over s1ap - * Generated (or updated) every time a new S1SetupRequest is received. - */ -typedef struct eNB_description_s { - struct eNB_description_s *next_eNB; ///< Next eNB in the list of eNB - struct eNB_description_s *previous_eNB; ///< Previous eNB in the list of eNB - - enum s1_eNB_state_s s1_state; ///< State of the eNB S1AP association over MME - - /** eNB related parameters **/ - /*@{*/ - char eNB_name[150]; ///< Printable eNB Name - uint32_t eNB_id; ///< Unique eNB ID - uint8_t default_paging_drx; ///< Default paging DRX interval for eNB - /*@}*/ - - /** UE list for this eNB **/ - /*@{*/ - uint8_t nb_ue_associated; ///< Number of NAS associated UE on this eNB - ue_description_t *ue_list_head; ///< List head of NAS associated UE on this eNB - ue_description_t *ue_list_tail; ///< List tail of NAS associated UE on this eNB - /*@}*/ - - /** SCTP stuff **/ - /*@{*/ - uint32_t sctp_assoc_id; ///< SCTP association id on this machine - uint8_t next_sctp_stream; ///< Next SCTP stream - uint16_t instreams; ///< Number of streams avalaible on eNB -> MME - uint16_t outstreams; ///< Number of streams avalaible on MME -> eNB - /*@}*/ -} eNB_description_t; - -extern uint8_t nb_eNB_associated; -extern MessageDef *receivedMessage; - -/** \brief S1AP layer top init - * @returns -1 in case of failure - **/ -int s1ap_mme_init(const mme_config_t *mme_config); - -/** \brief Look for given eNB id in the list - * \param eNB_id The unique eNB id to search in list - * @returns NULL if no eNB matchs the eNB id, or reference to the eNB element in list if matches - **/ -eNB_description_t* s1ap_is_eNB_id_in_list(uint32_t eNB_id); - -/** \brief Look for given eNB SCTP assoc id in the list - * \param eNB_id The unique sctp assoc id to search in list - * @returns NULL if no eNB matchs the sctp assoc id, or reference to the eNB element in list if matches - **/ -eNB_description_t* s1ap_is_eNB_assoc_id_in_list(uint32_t sctp_assoc_id); - -/** \brief Look for given ue eNB id in the list - * \param eNB_id The unique ue_eNB_id to search in list - * @returns NULL if no UE matchs the ue_eNB_id, or reference to the ue element in list if matches - **/ -ue_description_t* s1ap_is_ue_eNB_id_in_list(eNB_description_t *eNB_ref, uint32_t eNB_ue_s1ap_id); - -/** \brief Look for given ue mme id in the list - * \param eNB_id The unique ue_mme_id to search in list - * @returns NULL if no UE matchs the ue_mme_id, or reference to the ue element in list if matches - **/ -ue_description_t* s1ap_is_ue_mme_id_in_list(uint32_t ue_mme_id); -ue_description_t* s1ap_is_teid_in_list(uint32_t teid); - -/** \brief Allocate and add to the list a new eNB descriptor - * @returns Reference to the new eNB element in list - **/ -eNB_description_t* s1ap_new_eNB(void); - -/** \brief Allocate and add to the right eNB list a new UE descriptor - * \param sctp_assoc_id association ID over SCTP - * @returns Reference to the new UE element in list - **/ -ue_description_t* s1ap_new_ue(uint32_t sctp_assoc_id); - -/** \brief Dump the eNB list - * Calls dump_eNB for each eNB in list - **/ -void s1ap_dump_eNB_list(void); - -/** \brief Dump eNB related information. - * Calls dump_ue for each UE in list - * \param eNB_ref eNB structure reference to dump - **/ -void s1ap_dump_eNB(eNB_description_t *eNB_ref); - -/** \brief Dump UE related information. - * \param ue_ref ue structure reference to dump - **/ -void s1ap_dump_ue(ue_description_t *ue_ref); - -/** \brief Remove target UE from the list - * \param ue_ref UE structure reference to remove - **/ -void s1ap_remove_ue(ue_description_t *ue_ref); - -/** \brief Remove target eNB from the list and remove any UE associated - * \param eNB_ref eNB structure reference to remove - **/ -void s1ap_remove_eNB(eNB_description_t *eNB_ref); - -#endif /* S1AP_MME_H_ */ diff --git a/openair3/OPENAIRMME/S1AP/s1ap_mme_decoder.c b/openair3/OPENAIRMME/S1AP/s1ap_mme_decoder.c deleted file mode 100644 index c0f0b628e1..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_mme_decoder.c +++ /dev/null @@ -1,136 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -/*! \file s1ap_mme_decoder.c - * \brief s1ap decode procedures for MME - * \author Sebastien ROUX <sebastien.roux@eurecom.fr> - * \date 2012 - * \version 0.1 - */ - -#include <stdio.h> -#include <stdlib.h> -#include <pthread.h> -#include <assert.h> - -#include "s1ap_common.h" -#include "s1ap_ies_defs.h" -#include "s1ap_mme_decoder.h" -#include "s1ap_mme_handlers.h" - -#if !defined(MME_CLIENT_TEST) -# include "intertask_interface.h" -#endif - -static int s1ap_mme_decode_initiating(s1ap_message *message, InitiatingMessage_t *initiating_p) { - - assert(initiating_p != NULL); - message->procedureCode = initiating_p->procedureCode; - switch(initiating_p->procedureCode) { - case ProcedureCode_id_uplinkNASTransport: - return s1ap_decode_uplinknastransporties(&message->msg.uplinkNASTransportIEs, &initiating_p->value); - case ProcedureCode_id_S1Setup: - return s1ap_decode_s1setuprequesties(&message->msg.s1SetupRequestIEs, &initiating_p->value); - case ProcedureCode_id_initialUEMessage: - return s1ap_decode_initialuemessageies(&message->msg.initialUEMessageIEs, &initiating_p->value); - case ProcedureCode_id_UEContextReleaseRequest: - return s1ap_decode_uecontextreleaserequesties(&message->msg.ueContextReleaseRequestIEs, &initiating_p->value); - default: - S1AP_DEBUG("Unknown procedure ID (%d) for initiating message", (int)initiating_p->procedureCode); - break; - } - return -1; -} - -static int s1ap_mme_decode_successfull_outcome(s1ap_message *message, SuccessfulOutcome_t *successfullOutcome_p) { - - assert(successfullOutcome_p != NULL); - message->procedureCode = successfullOutcome_p->procedureCode; - switch(successfullOutcome_p->procedureCode) { - case ProcedureCode_id_InitialContextSetup: - return s1ap_decode_initialcontextsetupresponseies(&message->msg.initialContextSetupResponseIEs, &successfullOutcome_p->value); - case ProcedureCode_id_UEContextRelease: - return s1ap_decode_uecontextreleasecompleteies(&message->msg.ueContextReleaseCompleteIEs, &successfullOutcome_p->value); - default: - S1AP_DEBUG("Unknown procedure ID (%d) for successfull outcome message", (int)successfullOutcome_p->procedureCode); - break; - } - return -1; -} - -static int s1ap_mme_decode_unsuccessfull_outcome(s1ap_message *message, UnsuccessfulOutcome_t *unSuccessfulOutcome_p) { - - assert(unSuccessfulOutcome_p != NULL); - message->procedureCode = unSuccessfulOutcome_p->procedureCode; - switch(unSuccessfulOutcome_p->procedureCode) { - case ProcedureCode_id_InitialContextSetup: - return s1ap_decode_initialcontextsetupfailureies(&message->msg.initialContextSetupFailureIEs, &unSuccessfulOutcome_p->value); - default: - S1AP_DEBUG("Unknown procedure ID (%d) for unsuccessfull outcome message", (int)unSuccessfulOutcome_p->procedureCode); - break; - } - return -1; -} - -int s1ap_mme_decode_pdu(s1ap_message *message, uint8_t *buffer, uint32_t len) { - S1AP_PDU_t pdu; - S1AP_PDU_t *pdu_p = &pdu; - asn_dec_rval_t dec_ret; - - assert(buffer != NULL); - - memset((void *)pdu_p, 0, sizeof(S1AP_PDU_t)); - - dec_ret = aper_decode(NULL, - &asn_DEF_S1AP_PDU, - (void**)&pdu_p, - buffer, - len, - 0, - 0); - - if (dec_ret.code != RC_OK) - return -1; - - message->direction = pdu_p->present; - - switch(pdu_p->present) { - case S1AP_PDU_PR_initiatingMessage: - return s1ap_mme_decode_initiating(message, &pdu_p->choice.initiatingMessage); - case S1AP_PDU_PR_successfulOutcome: - return s1ap_mme_decode_successfull_outcome(message, &pdu_p->choice.successfulOutcome); - case S1AP_PDU_PR_unsuccessfulOutcome: - return s1ap_mme_decode_unsuccessfull_outcome(message, &pdu_p->choice.unsuccessfulOutcome); - default: - S1AP_DEBUG("Unknown message outcome (%d) or not implemented", (int)pdu_p->present); - break; - } - return -1; -} diff --git a/openair3/OPENAIRMME/S1AP/s1ap_mme_decoder.h b/openair3/OPENAIRMME/S1AP/s1ap_mme_decoder.h deleted file mode 100644 index f492849dc5..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_mme_decoder.h +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include "s1ap_common.h" -#include "s1ap_ies_defs.h" - -#ifndef S1AP_MME_DECODER_H_ -#define S1AP_MME_DECODER_H_ - -int s1ap_mme_decode_pdu(s1ap_message *message, uint8_t *buffer, uint32_t len); - -#endif /* S1AP_MME_DECODER_H_ */ diff --git a/openair3/OPENAIRMME/S1AP/s1ap_mme_encoder.c b/openair3/OPENAIRMME/S1AP/s1ap_mme_encoder.c deleted file mode 100644 index cc603b93d3..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_mme_encoder.c +++ /dev/null @@ -1,213 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -/*! \file s1ap_mme_encoder.c - * \brief s1ap encode procedures for MME - * \author Sebastien ROUX <sebastien.roux@eurecom.fr> - * \date 2012 - * \version 0.1 - */ - -#include "intertask_interface.h" - -#include "s1ap_common.h" -#include "s1ap_ies_defs.h" -#include "s1ap_mme_encoder.h" -#include "s1ap_mme.h" - -int s1ap_mme_encode_s1setupresponse(S1SetupResponseIEs_t *s1SetupResponseIEs, uint32_t assocId) { - S1SetupResponse_t s1SetupResponse; - S1SetupResponse_t *s1SetupResponse_p = &s1SetupResponse; - MessageDef *message_p; - - memset(s1SetupResponse_p, 0, sizeof(S1SetupResponse_t)); - - if (s1ap_encode_s1setupresponseies(s1SetupResponse_p, s1SetupResponseIEs) < 0) { - return -1; - } - - message_p = (MessageDef *)malloc(sizeof(MessageDef)); - - message_p->messageId = SCTP_NEW_DATA_REQ; - message_p->originTaskId = TASK_S1AP; - message_p->destinationTaskId = TASK_SCTP; - /* Signalling non UE associated -> stream 0 */ - message_p->msg.sctpNewDataReq.stream = 0; - message_p->msg.sctpNewDataReq.assocId = assocId; - - if (s1ap_generate_successfull_outcome(&message_p->msg.sctpNewDataReq.buffer, - &message_p->msg.sctpNewDataReq.bufLen, - ProcedureCode_id_S1Setup, - Criticality_reject, - &asn_DEF_S1SetupResponse, - s1SetupResponse_p) < 0) { - free(message_p); - return -1; - } - - return itti_send_msg_to_task(TASK_SCTP, message_p); -} - -int s1ap_mme_encode_s1setupfailure(S1SetupFailureIEs_t *s1SetupFailureIEs, uint32_t assocId) { - S1SetupFailure_t s1SetupFailure; - S1SetupFailure_t *s1SetupFailure_p = &s1SetupFailure; - MessageDef *message_p; - - memset(s1SetupFailure_p, 0, sizeof(S1SetupFailure_t)); - - if (s1ap_encode_s1setupfailureies(s1SetupFailure_p, s1SetupFailureIEs) < 0) { - return -1; - } - - message_p = (MessageDef *)malloc(sizeof(MessageDef)); - - message_p->messageId = SCTP_NEW_DATA_REQ; - message_p->originTaskId = TASK_S1AP; - message_p->destinationTaskId = TASK_SCTP; - /* Signalling non UE associated -> stream 0 */ - message_p->msg.sctpNewDataReq.stream = 0; - message_p->msg.sctpNewDataReq.assocId = assocId; - - if (s1ap_generate_unsuccessfull_outcome(&message_p->msg.sctpNewDataReq.buffer, - &message_p->msg.sctpNewDataReq.bufLen, - ProcedureCode_id_S1Setup, - Criticality_reject, - &asn_DEF_S1SetupFailure, - s1SetupFailure_p) < 0) { - free(message_p); - return -1; - } - - return itti_send_msg_to_task(TASK_SCTP, message_p); -} - -int s1ap_mme_encode_initial_context_setup_request(InitialContextSetupRequestIEs_t *initialContextSetupRequestIEs, - ue_description_t *ue_ref) { - InitialContextSetupRequest_t initialContextSetupRequest; - InitialContextSetupRequest_t *initialContextSetupRequest_p = &initialContextSetupRequest; - MessageDef *message_p; - - memset(initialContextSetupRequest_p, 0, sizeof(InitialContextSetupRequest_t)); - - if (s1ap_encode_initialcontextsetuprequesties(initialContextSetupRequest_p, initialContextSetupRequestIEs) < 0) { - return -1; - } - - message_p = (MessageDef *)malloc(sizeof(MessageDef)); - - message_p->messageId = SCTP_NEW_DATA_REQ; - message_p->originTaskId = TASK_S1AP; - message_p->destinationTaskId = TASK_SCTP; - /* Signalling non UE associated -> stream 0 */ - message_p->msg.sctpNewDataReq.stream = ue_ref->sctp_stream_send; - message_p->msg.sctpNewDataReq.assocId = ue_ref->eNB->sctp_assoc_id; - - if (s1ap_generate_initiating_message(&message_p->msg.sctpNewDataReq.buffer, - &message_p->msg.sctpNewDataReq.bufLen, - ProcedureCode_id_InitialContextSetup, - Criticality_reject, - &asn_DEF_InitialContextSetupRequest, - initialContextSetupRequest_p) < 0) { - free(message_p); - return -1; - } - - return itti_send_msg_to_task(TASK_SCTP, message_p); -} - -int s1ap_mme_encode_downlink_nas_transport(DownlinkNASTransportIEs_t *downlinkNasTransportIEs, - ue_description_t *ue_ref) { - DownlinkNASTransport_t downlinkNasTransport; - DownlinkNASTransport_t *downlinkNasTransport_p = &downlinkNasTransport; - MessageDef *message_p; - - memset(downlinkNasTransport_p, 0, sizeof(DownlinkNASTransport_t)); - - /* Convert IE structure into asn1 message */ - if (s1ap_encode_downlinknastransporties(downlinkNasTransport_p, downlinkNasTransportIEs) < 0) { - return -1; - } - - message_p = (MessageDef *)malloc(sizeof(MessageDef)); - - message_p->messageId = SCTP_NEW_DATA_REQ; - message_p->originTaskId = TASK_S1AP; - message_p->destinationTaskId = TASK_SCTP; - message_p->msg.sctpNewDataReq.stream = ue_ref->sctp_stream_send; - message_p->msg.sctpNewDataReq.assocId = ue_ref->eNB->sctp_assoc_id; - - /* Generate Initiating message for the list of IEs */ - if (s1ap_generate_initiating_message(&message_p->msg.sctpNewDataReq.buffer, - &message_p->msg.sctpNewDataReq.bufLen, - ProcedureCode_id_downlinkNASTransport, - Criticality_reject, - &asn_DEF_DownlinkNASTransport, - downlinkNasTransport_p) < 0) { - free(message_p); - return -1; - } - - return itti_send_msg_to_task(TASK_SCTP, message_p); -} - -int s1ap_mme_encode_ue_context_release_command(UEContextReleaseCommandIEs_t *ueContextReleaseCommandIEs, - ue_description_t *ue_ref) { - UEContextReleaseCommand_t ueContextReleaseCommand; - UEContextReleaseCommand_t *ueContextReleaseCommand_p = &ueContextReleaseCommand; - MessageDef *message_p; - - memset(ueContextReleaseCommand_p, 0, sizeof(UEContextReleaseCommand_t)); - message_p = (MessageDef *)malloc(sizeof(MessageDef)); - - message_p->messageId = SCTP_NEW_DATA_REQ; - message_p->originTaskId = TASK_S1AP; - message_p->destinationTaskId = TASK_SCTP; - message_p->msg.sctpNewDataReq.stream = ue_ref->sctp_stream_send; - message_p->msg.sctpNewDataReq.assocId = ue_ref->eNB->sctp_assoc_id; - - /* Convert IE structure into asn1 message */ - if (s1ap_encode_uecontextreleasecommandies(ueContextReleaseCommand_p, ueContextReleaseCommandIEs) < 0) { - goto error; - } - - /* Generate Initiating message for the list of IEs */ - if (s1ap_generate_initiating_message(&message_p->msg.sctpNewDataReq.buffer, - &message_p->msg.sctpNewDataReq.bufLen, - ProcedureCode_id_UEContextRelease, - Criticality_reject, - &asn_DEF_UEContextReleaseCommand, - ueContextReleaseCommand_p) < 0) - goto error; - - return itti_send_msg_to_task(TASK_SCTP, message_p); -error: - free(message_p); - return -1; -} diff --git a/openair3/OPENAIRMME/S1AP/s1ap_mme_encoder.h b/openair3/OPENAIRMME/S1AP/s1ap_mme_encoder.h deleted file mode 100644 index 1afa1b5b5d..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_mme_encoder.h +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include "s1ap_mme.h" - -#ifndef S1AP_MME_ENCODER_H_ -#define S1AP_MME_ENCODER_H_ - -int s1ap_mme_encode_s1setupfailure( - S1SetupFailureIEs_t *s1SetupFailureIEs, - uint32_t assocId); - -int s1ap_mme_encode_s1setupresponse( - S1SetupResponseIEs_t *s1SetupResponseIEs, - uint32_t assocId); - -int s1ap_mme_encode_initial_context_setup_request( - InitialContextSetupRequestIEs_t *initialContextSetupRequestIEs, - ue_description_t *ue_ref); - -int s1ap_mme_encode_downlink_nas_transport( - DownlinkNASTransportIEs_t *downlinkNasTransportIEs, - ue_description_t *ue_ref); - -int s1ap_mme_encode_ue_context_release_command( - UEContextReleaseCommandIEs_t *ueContextReleaseCommandIEs, - ue_description_t *ue_ref); - -#endif /* S1AP_MME_ENCODER_H_ */ diff --git a/openair3/OPENAIRMME/S1AP/s1ap_mme_handlers.c b/openair3/OPENAIRMME/S1AP/s1ap_mme_handlers.c deleted file mode 100644 index 2a28cf9120..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_mme_handlers.c +++ /dev/null @@ -1,742 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <assert.h> -#include <stdint.h> - -#include "s1ap_common.h" -#include "s1ap_ies_defs.h" -#include "s1ap_mme_encoder.h" -#include "s1ap_mme_handlers.h" - -#include "s1ap_mme.h" - -/* Every time a new UE is associated, increment this variable. - * But care if it wraps to increment also the s1ap_mme_ue_id_has_wrapped - * variable. Limit: UINT32_MAX (in stdint.h). - */ -static uint32_t s1ap_mme_ue_id = 0; -static uint8_t s1ap_mme_ue_id_has_wrapped = 0; - -static int s1ap_generate_s1_setup_response(eNB_description_t *eNB_association); -static int s1ap_mme_generate_ue_context_release_command(ue_description_t *ue_ref); - -extern MessageDef *receivedMessage; - -//Forward declaration -struct s1ap_message_s; - -/* Handlers matrix. Only mme related procedures present here. - */ -s1ap_message_decoded_callback messages_callback[][3] = { - { 0, 0, 0 }, /* HandoverPreparation */ - { 0, 0, 0 }, /* HandoverResourceAllocation */ - { 0, 0, 0 }, /* HandoverNotification */ - { s1ap_mme_handle_path_switch_request, 0, 0 }, /* PathSwitchRequest */ - { 0, 0, 0 }, /* HandoverCancel */ - { 0, 0, 0 }, /* E_RABSetup */ - { 0, 0, 0 }, /* E_RABModify */ - { 0, 0, 0 }, /* E_RABRelease */ - { 0, 0, 0 }, /* E_RABReleaseIndication */ - { 0, s1ap_mme_handle_initial_context_setup_response, - s1ap_mme_handle_initial_context_setup_failure }, /* InitialContextSetup */ - { 0, 0, 0 }, /* Paging */ - { 0, 0, 0 }, /* downlinkNASTransport */ - { s1ap_mme_handle_initial_ue_message, 0, 0 }, /* initialUEMessage */ - { s1ap_mme_handle_uplink_nas_transport, 0, 0 }, /* uplinkNASTransport */ - { 0, 0, 0 }, /* Reset */ - { 0, 0, 0 }, /* ErrorIndication */ - { 0, 0, 0 }, /* NASNonDeliveryIndication */ - { s1ap_mme_handle_s1_setup_request, 0, 0 }, /* S1Setup */ - { 0, 0, 0 }, /* UEContextReleaseRequest */ - { 0, 0, 0 }, /* DownlinkS1cdma2000tunneling */ - { 0, 0, 0 }, /* UplinkS1cdma2000tunneling */ - { 0, 0, 0 }, /* UEContextModification */ - { 0, 0, 0 }, /* UECapabilityInfoIndication*/ - { s1ap_mme_handle_ue_context_release_request, - s1ap_mme_handle_ue_context_release_complete, 0 }, /* UEContextRelease*/ - { 0, 0, 0 }, /* eNBStatusTransfer*/ - { 0, 0, 0 }, /* MMEStatusTransfer*/ - { 0, 0, 0 }, /* DeactivateTrace*/ - { 0, 0, 0 }, /* TraceStart*/ - { 0, 0, 0 }, /* TraceFailureIndication*/ - { 0, 0, 0 }, /* ENBConfigurationUpdate*/ - { 0, 0, 0 }, /* MMEConfigurationUpdate*/ - { 0, 0, 0 }, /* LocationReportingControl*/ - { 0, 0, 0 }, /* LocationReportingFailureIndication*/ - { 0, 0, 0 }, /* LocationReport*/ - { 0, 0, 0 }, /* OverloadStart*/ - { 0, 0, 0 }, /* OverloadStop*/ - { 0, 0, 0 }, /* WriteReplaceWarning*/ - { 0, 0, 0 }, /* eNBDirectInformationTransfer*/ - { 0, 0, 0 }, /* MMEDirectInformationTransfer*/ - { 0, 0, 0 }, /* PrivateMessage*/ - { 0, 0, 0 }, /* eNBConfigurationTransfer*/ - { 0, 0, 0 }, /* MMEConfigurationTransfer*/ - { 0, 0, 0 }, /* CellTrafficTrace */ -#if defined(UPDATE_RELEASE_9) - { 0, 0, 0 }, /* Kill */ - { 0, 0, 0 }, /* DownlinkUEAssociatedLPPaTransport */ - { 0, 0, 0 }, /* UplinkUEAssociatedLPPaTransport */ - { 0, 0, 0 }, /* DownlinkNonUEAssociatedLPPaTransport */ - { 0, 0, 0 }, /* UplinkNonUEAssociatedLPPaTransport */ -#endif -}; - -static const char *direction2String[] = { - "", /* Nothing */ - "Originating message", /* originating message */ - "Successfull outcome", /* successfull outcome */ - "UnSuccessfull outcome", /* successfull outcome */ -}; - -int s1ap_mme_handle_message(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) { - /* Checking procedure Code and direction of message */ - if ((message->procedureCode > (sizeof(messages_callback) / (3 * sizeof(s1ap_message_decoded_callback)))) || - (message->direction > S1AP_PDU_PR_unsuccessfulOutcome)) { - - S1AP_DEBUG("[SCTP %d] Either procedureCode %d or direction %d exceed expected\n", - assocId, message->procedureCode, message->direction); - return -1; - } - /* No handler present. - * This can mean not implemented or no procedure for eNB (wrong message). - */ - if (messages_callback[message->procedureCode][message->direction-1] == NULL) { - S1AP_DEBUG("[SCTP %d] No handler for procedureCode %d in %s\n", assocId, message->procedureCode, - direction2String[message->direction]); - return -2; - } - - /* Calling the right handler */ - return (*messages_callback[message->procedureCode][message->direction-1])(assocId, stream, message); -} - -//////////////////////////////////////////////////////////////////////////////// -//************************** Management procedures ***************************// -//////////////////////////////////////////////////////////////////////////////// - -int s1ap_mme_handle_s1_setup_request(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) { - S1SetupRequestIEs_t *s1SetupRequest_p; - eNB_description_t *eNB_association; - uint32_t eNB_id = 0; - char *eNB_name = NULL; - - s1SetupRequest_p = &message->msg.s1SetupRequestIEs; - - /* We received a new valid S1 Setup Request on a stream != 0. - * This should not happen -> reject eNB s1 setup request. - */ - if (receivedMessage->msg.s1apSctpNewMessageInd.stream != 0) { - S1AP_DEBUG("Received new s1 setup request on stream != 0\n"); - return -1; - } - - S1AP_DEBUG("New s1 setup request incoming from\n"); - if ((s1SetupRequest_p->presenceMask & S1SETUPREQUESTIES_ENBNAME_PRESENT) == - S1SETUPREQUESTIES_ENBNAME_PRESENT) { - S1AP_DEBUG("- eNB name: %s\n", s1SetupRequest_p->eNBname.buf); - eNB_name = (char*)s1SetupRequest_p->eNBname.buf; - } - if (s1SetupRequest_p->global_ENB_ID.eNB_ID.present == ENB_ID_PR_homeENB_ID) { - // Home eNB ID = 28 bits - uint8_t *eNB_id_buf = s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.homeENB_ID.buf; - if (s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.macroENB_ID.size != 28) { - //TODO: handle case were size != 28 -> notify ? reject ? - } - eNB_id = (eNB_id_buf[0] << 20) + (eNB_id_buf[1] << 12) + (eNB_id_buf[2] << 4) + ((eNB_id_buf[3] & 0xf0) >> 4); - S1AP_DEBUG("- eNB id: %u\n", eNB_id); - } else { - // Macro eNB = 20 bits - uint8_t *eNB_id_buf = s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.macroENB_ID.buf; - if (s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.macroENB_ID.size != 20) { - //TODO: handle case were size != 20 -> notify ? reject ? - } - eNB_id = (eNB_id_buf[0] << 12) + (eNB_id_buf[1] << 4) + ((eNB_id_buf[2] & 0xf0) >> 4); - S1AP_DEBUG("- eNB id: %u\n", eNB_id); - } - - if (nb_eNB_associated == MAX_NUMBER_OF_ENB) { - S1SetupFailureIEs_t s1SetupFailure; - memset(&s1SetupFailure, 0, sizeof(S1SetupFailureIEs_t)); - - /* Send an overload cause... */ - s1SetupFailure.cause.present = Cause_PR_misc; - s1SetupFailure.cause.choice.misc = CauseMisc_control_processing_overload; - S1AP_DEBUG("There is too much eNB connected to MME, rejecting the association\n"); - S1AP_DEBUG("Connected = %d, maximum allowed = %d\n", nb_eNB_associated, MAX_NUMBER_OF_ENB); - s1ap_mme_encode_s1setupfailure(&s1SetupFailure, receivedMessage->msg.s1apSctpNewMessageInd.assocId); - return -1; - } - S1AP_DEBUG("Adding eNB to the list of served eNBs\n"); - - if ((eNB_association = s1ap_is_eNB_id_in_list(eNB_id)) == NULL) { - /* eNB has not been fount in list of associated eNB, - * Add it to the tail of list and initialize data */ - if ((eNB_association = s1ap_new_eNB()) == NULL) { - /* Failed to allocate new eNB context... - * TODO: generate S1SetupFailure message - */ - return -1; - } - eNB_association->s1_state = S1AP_RESETING; - eNB_association->eNB_id = eNB_id; - eNB_association->default_paging_drx = s1SetupRequest_p->defaultPagingDRX; - - if (eNB_name != NULL) { - memcpy(eNB_association->eNB_name, s1SetupRequest_p->eNBname.buf, s1SetupRequest_p->eNBname.size); - } - /* initialize the next sctp stream to 1 as 0 is reserved for non - * ue associated signalling. - */ - eNB_association->next_sctp_stream = 1; - /* Fill in in and out number of streams available on SCTP connection. */ - eNB_association->instreams = receivedMessage->msg.s1apSctpNewMessageInd.instreams; - eNB_association->outstreams = receivedMessage->msg.s1apSctpNewMessageInd.outstreams; - eNB_association->sctp_assoc_id = assocId; - } else { - eNB_association->s1_state = S1AP_RESETING; - /* eNB has been fount in list, consider the s1 setup request as a reset connection, - * reseting any previous UE state if sctp association is != than the previous one */ - if (eNB_association->sctp_assoc_id != receivedMessage->msg.s1apSctpNewMessageInd.assocId) { - S1SetupFailureIEs_t s1SetupFailure; - memset(&s1SetupFailure, 0, sizeof(S1SetupFailureIEs_t)); - - /* Send an overload cause... */ - s1SetupFailure.cause.present = Cause_PR_misc; //TODO: send the right cause - s1SetupFailure.cause.choice.misc = CauseMisc_control_processing_overload; - S1AP_DEBUG("Rejeting s1 setup request as eNB id %d is already associated to an active sctp association" - "Previous known: %d, new one: %d\n", - eNB_id, eNB_association->sctp_assoc_id, receivedMessage->msg.s1apSctpNewMessageInd.assocId); - s1ap_mme_encode_s1setupfailure(&s1SetupFailure, receivedMessage->msg.s1apSctpNewMessageInd.assocId); - return -1; - } - /* TODO: call the reset procedure */ - } - s1ap_dump_eNB(eNB_association); - return s1ap_generate_s1_setup_response(eNB_association); -} - -static int s1ap_generate_s1_setup_response(eNB_description_t *eNB_association) { - int enc_rval = 0; - S1SetupResponseIEs_t s1SetupResponse; - ServedGUMMEIsItem_t servedGUMMEI; - MME_Code_t mmeCode; - MME_Group_ID_t mmeGroupID; - PLMNidentity_t plmn; - char mmec[] = { 0x00 }; - char mmegid[] = { 0x00, 0x00 }; - char plmnid[] = { 0x20, 0x38, 0x04 }; - - // Generating response - memset(&s1SetupResponse, 0, sizeof(S1SetupResponseIEs_t)); - memset(&servedGUMMEI, 0, sizeof(ServedGUMMEIsItem_t)); - memset(&mmeCode, 0, sizeof(MME_Code_t)); - memset(&mmeGroupID, 0, sizeof(MME_Group_ID_t)); - memset(&plmn, 0, sizeof(PLMNidentity_t)); - - OCTET_STRING_fromBuf(&mmeCode, mmec, 1); - OCTET_STRING_fromBuf(&mmeGroupID, mmegid, 2); - OCTET_STRING_fromBuf(&plmn, plmnid, 3); - - s1SetupResponse.relativeMMECapacity = 10; - ASN_SEQUENCE_ADD(&servedGUMMEI.servedPLMNs, &plmn); - ASN_SEQUENCE_ADD(&servedGUMMEI.servedGroupIDs, &mmeGroupID); - ASN_SEQUENCE_ADD(&servedGUMMEI.servedMMECs, &mmeCode); - ASN_SEQUENCE_ADD(&s1SetupResponse.servedGUMMEIs, &servedGUMMEI); - - enc_rval = s1ap_mme_encode_s1setupresponse(&s1SetupResponse, eNB_association->sctp_assoc_id); - /* Failed to encode s1 setup response... */ - if (enc_rval < 0) { - S1AP_DEBUG("Removed eNB %d\n", eNB_association->sctp_assoc_id); - s1ap_remove_eNB(eNB_association); - } else { - /* Consider the response as sent. S1AP is ready to accept UE contexts */ - eNB_association->s1_state = S1AP_READY; - } - return enc_rval; -} - -//////////////////////////////////////////////////////////////////////////////// -//************************** NAS transport ***********************************// -//////////////////////////////////////////////////////////////////////////////// - -int s1ap_mme_handle_initial_ue_message(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) { - InitialUEMessageIEs_t *initialUEMessage_p; - ue_description_t *ue_ref; - eNB_description_t *eNB_ref; - uint32_t eNB_ue_s1ap_id; - - initialUEMessage_p = &message->msg.initialUEMessageIEs; - - if ((eNB_ref = s1ap_is_eNB_assoc_id_in_list(assocId)) == NULL) { - S1AP_DEBUG("Unkwnon eNB on assocId %d\n", assocId); - return -1; - } - - // eNB UE S1AP ID is limited to 24 bits - eNB_ue_s1ap_id = (uint32_t)(initialUEMessage_p->eNB_UE_S1AP_ID & 0x00ffffff); - - S1AP_DEBUG("New Initial UE message received with eNB UE S1AP ID: %d\n", - (int)eNB_ue_s1ap_id); - - if ((ue_ref = s1ap_is_ue_eNB_id_in_list(eNB_ref, eNB_ue_s1ap_id)) == NULL) { - /* This UE eNB Id has currently no known s1 association. - * Create new UE context by associating new mme_ue_s1ap_id. - * Update eNB UE list. - * Forward message to NAS. - */ - if ((ue_ref = s1ap_new_ue(assocId)) == NULL) - // If we failed to allocate a new UE return -1 - return -1; - - ue_ref->s1_ue_state = S1AP_UE_WAITING_CSR; - ue_ref->eNB_ue_s1ap_id = eNB_ue_s1ap_id; - ue_ref->mme_ue_s1ap_id = s1ap_mme_ue_id; - // On which stream we received the message - ue_ref->sctp_stream_recv = stream; - ue_ref->sctp_stream_send = ue_ref->eNB->next_sctp_stream; - - /* Increment the sctp stream for the eNB association. - * If the next sctp stream is >= outstream negociated between eNB and MME, - * wrap to first stream. - * TODO: search for the first available stream instead. - */ - if (ue_ref->eNB->next_sctp_stream++ >= ue_ref->eNB->outstreams) { - ue_ref->eNB->next_sctp_stream = 1; - } - - /* Increment the unique UE mme s1ap id and - * take care about overflow case. - */ - if (s1ap_mme_ue_id_has_wrapped == 0) { - s1ap_mme_ue_id++; - if (s1ap_mme_ue_id == 0) s1ap_mme_ue_id_has_wrapped = 1; - } else { - /* TODO: should take the first available mme_ue_s1ap_id instead of - * the s1ap_mme_ue_id variable. - */ - assert(0); - } - s1ap_dump_eNB(ue_ref->eNB); - { - MessageDef *message_p; - SgwCreateSessionRequest *session_request_p; - - message_p = itti_alloc_new_message(TASK_S1AP, TASK_SGW_LITE, SGW_CREATE_SESSION_REQUEST); - if (message_p == NULL) return -1; - - /* WARNING: - * Some parameters should be provided by NAS Layer: - * - ue_time_zone - * - pdn type - * - imsi - * - msisdn - * - mei - * - uli - * - uci - * - bearer level qos - * Some parameters should be provided bt HSS: - * - PGW address for CP - * - paa - * - ambr - * and by MME Application layer: - * - selection_mode - * Set these parameters with random values for now. - */ - - session_request_p = &message_p->msg.sgwCreateSessionRequest; - memset(session_request_p, 0, sizeof(SgwCreateSessionRequest)); - - /* Local MME TEID */ - ue_ref->teid = 1; - - /* As the create session request is the first exchanged message and as - * no tunnel had been previously setup, the distant teid is set to 0. - * The remote teid will be provided in the response message. - */ - session_request_p->teid = 0; - session_request_p->rat_type = RAT_TYPE_EUTRAN; - - /* Asking for default bearer in initial UE message */ - session_request_p->sender_fteid_for_cp.teid = 1; - session_request_p->sender_fteid_for_cp.interface_type = S11_MME_GTP_C; - session_request_p->bearer_to_create.eps_bearer_id = 5; - session_request_p->bearer_to_create.bearer_level_qos.pci = PRE_EMPTION_CAPABILITY_DISABLED; - session_request_p->bearer_to_create.bearer_level_qos.mbr_uplink = 50000; - session_request_p->bearer_to_create.bearer_level_qos.mbr_uplink = 100000; - - /* Set PDN type for pdn_type and PAA even if this IE is redundant */ - session_request_p->pdn_type = IPv4; - session_request_p->paa.pdn_type = IPv4; - /* UE DHCPv4 allocated ip address */ - session_request_p->paa.ipv4_address = 0x00000000; - - session_request_p->selection_mode = MS_O_N_P_APN_S_V; - return itti_send_msg_to_task(TASK_SGW_LITE, message_p); - } - } - return 0; -} - -int s1ap_mme_handle_uplink_nas_transport(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) { - UplinkNASTransportIEs_t *uplinkNASTransport_p; -// uint32_t eNB_ue_s1ap_id; - ue_description_t *ue_ref; - - uplinkNASTransport_p = &message->msg.uplinkNASTransportIEs; - - if ((ue_ref = s1ap_is_ue_mme_id_in_list(uplinkNASTransport_p->mme_ue_s1ap_id)) == NULL) { - S1AP_DEBUG("No UE is attached to this mme UE s1ap id: %d\n", - (int)uplinkNASTransport_p->mme_ue_s1ap_id); - return -1; - } - if (ue_ref->s1_ue_state != S1AP_UE_CONNECTED) { - S1AP_DEBUG("Received uplink NAS transport while UE in state != S1AP_UE_CONNECTED\n"); - return -1; - } - - //TODO: forward NAS PDU to NAS - S1AP_DEBUG("New uplink NAS transport message received\n"); - return 0; -} - -int s1ap_generate_downlink_nas_transport(S1apNASNewMessageInd *message) { - ue_description_t *ue_ref; - - if ((ue_ref = s1ap_is_ue_mme_id_in_list(message->mme_ue_s1ap_id)) == NULL) { - //TODO: inform NAS - } else { - /* We have fount the UE in the list. - * Create new IE list message and encode it. - */ - DownlinkNASTransportIEs_t downlinkNasTransport; - - memset(&downlinkNasTransport, 0, sizeof(DownlinkNASTransportIEs_t)); - - /* Setting UE informations with the ones fount in ue_ref */ - downlinkNasTransport.mme_ue_s1ap_id = ue_ref->mme_ue_s1ap_id; - downlinkNasTransport.eNB_UE_S1AP_ID = ue_ref->eNB_ue_s1ap_id; - OCTET_STRING_fromBuf(&downlinkNasTransport.nas_pdu, (char*)message->nas_buffer, message->nas_length); - s1ap_mme_encode_downlink_nas_transport(&downlinkNasTransport, ue_ref); - } - return 0; -} - -//////////////////////////////////////////////////////////////////////////////// -//******************* Context Management procedures **************************// -//////////////////////////////////////////////////////////////////////////////// - -int s1ap_mme_handle_initial_context_setup_response( - uint32_t assocId, - uint32_t stream, - struct s1ap_message_s *message) { - - InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs_p; - ue_description_t *ue_ref; - SgwModifyBearerRequest *modify_request_p; - MessageDef *message_p; - E_RABSetupItemCtxtSURes_t *eRABSetupItemCtxtSURes_p; - - initialContextSetupResponseIEs_p = &message->msg.initialContextSetupResponseIEs; - - if ((ue_ref = s1ap_is_ue_mme_id_in_list(initialContextSetupResponseIEs_p->mme_ue_s1ap_id)) == NULL) { - S1AP_DEBUG("No UE is attached to this mme UE s1ap id: %d\n", - (int)initialContextSetupResponseIEs_p->mme_ue_s1ap_id); - return -1; - } - if (ue_ref->eNB_ue_s1ap_id != initialContextSetupResponseIEs_p->eNB_UE_S1AP_ID) { - S1AP_DEBUG("Mismatch in eNB UE S1AP ID, known: %d, received: %d\n", - ue_ref->eNB_ue_s1ap_id, (int)initialContextSetupResponseIEs_p->eNB_UE_S1AP_ID); - return -1; - } - - if (initialContextSetupResponseIEs_p->e_RABSetupListCtxtSURes.e_RABSetupItemCtxtSURes.count != 1) { - S1AP_DEBUG("E-RAB creation has failed\n"); - return -1; - } - - ue_ref->s1_ue_state = S1AP_UE_CONNECTED; - - message_p = itti_alloc_new_message(TASK_SGW_LITE, TASK_S1AP, SGW_MODIFY_BEARER_REQUEST); - - if (message_p == NULL) { - return -1; - } - - eRABSetupItemCtxtSURes_p = (E_RABSetupItemCtxtSURes_t*)initialContextSetupResponseIEs_p->e_RABSetupListCtxtSURes.e_RABSetupItemCtxtSURes.array[0]; - - modify_request_p = &message_p->msg.sgwModifyBearerRequest; - modify_request_p->teid = ue_ref->teid; - modify_request_p->bearer_context_to_modify.eps_bearer_id = eRABSetupItemCtxtSURes_p->e_RAB_ID; - modify_request_p->bearer_context_to_modify.s1_eNB_fteid.teid = *((uint32_t*)eRABSetupItemCtxtSURes_p->gTP_TEID.buf); - modify_request_p->bearer_context_to_modify.s1_eNB_fteid.ipv4 = 1; - memcpy(&modify_request_p->bearer_context_to_modify.s1_eNB_fteid.ipv4_address, eRABSetupItemCtxtSURes_p->transportLayerAddress.buf, 4); - - return itti_send_msg_to_task(TASK_SGW_LITE, message_p); -} - -int s1ap_mme_handle_ue_context_release_request(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) { - UEContextReleaseRequestIEs_t *ueContextReleaseRequest_p; - ue_description_t *ue_ref = NULL; - - ueContextReleaseRequest_p = &message->msg.ueContextReleaseRequestIEs; - - /* The UE context release procedure is initiated if the cause is != than user inactivity. - * TS36.413 #8.3.2.2. - */ - if (ueContextReleaseRequest_p->cause.present == Cause_PR_radioNetwork) { - if (ueContextReleaseRequest_p->cause.choice.radioNetwork == CauseRadioNetwork_user_inactivity) { - return -1; - } - } - if ((ue_ref = s1ap_is_ue_mme_id_in_list(ueContextReleaseRequest_p->mme_ue_s1ap_id)) == NULL) { - /* MME doesn't know the MME UE S1AP ID provided. - * TODO - */ - return -1; - } else { - if (ue_ref->eNB_ue_s1ap_id == (ueContextReleaseRequest_p->eNB_UE_S1AP_ID & 0x00ffffff)) { - /* Both eNB UE S1AP ID and MME UE S1AP ID match. - * -> Send a UE context Release Command to eNB. - * TODO - */ - } else { - // TODO - return -1; - } - } - return 0; -} - -static int s1ap_mme_generate_ue_context_release_command(ue_description_t *ue_ref) { - UEContextReleaseCommandIEs_t ueContextReleaseCommandIEs; - - if (ue_ref == NULL) { - return -1; - } - memset((void*)&ueContextReleaseCommandIEs, 0, sizeof(UEContextReleaseCommandIEs_t)); - - /* Fill in ID pair */ - ueContextReleaseCommandIEs.uE_S1AP_IDs.present = UE_S1AP_IDs_PR_uE_S1AP_ID_pair; - ueContextReleaseCommandIEs.uE_S1AP_IDs.choice.uE_S1AP_ID_pair.mME_UE_S1AP_ID = ue_ref->mme_ue_s1ap_id; - ueContextReleaseCommandIEs.uE_S1AP_IDs.choice.uE_S1AP_ID_pair.eNB_UE_S1AP_ID = ue_ref->eNB_ue_s1ap_id; - ueContextReleaseCommandIEs.uE_S1AP_IDs.choice.uE_S1AP_ID_pair.iE_Extensions = NULL; - - ueContextReleaseCommandIEs.cause.present = Cause_PR_radioNetwork; - ueContextReleaseCommandIEs.cause.choice.radioNetwork = CauseRadioNetwork_release_due_to_eutran_generated_reason; - - return s1ap_mme_encode_ue_context_release_command(&ueContextReleaseCommandIEs, ue_ref); -} - -int s1ap_mme_handle_ue_context_release_complete(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) { - UEContextReleaseCompleteIEs_t *ueContextReleaseComplete_p; - ue_description_t *ue_ref = NULL; - - ueContextReleaseComplete_p = &message->msg.ueContextReleaseCompleteIEs; - - if ((ue_ref = s1ap_is_ue_mme_id_in_list(ueContextReleaseComplete_p->mme_ue_s1ap_id)) == NULL) { - /* MME doesn't know the MME UE S1AP ID provided. - * TODO - */ - return -1; - } - /* eNB has sent a release complete message. We can safely remove UE context. - * TODO: inform NAS and remove e-RABS. - */ - s1ap_remove_ue(ue_ref); - S1AP_DEBUG("Removed UE %u\n", (uint32_t)ueContextReleaseComplete_p->mme_ue_s1ap_id); - return 0; -} - -int s1ap_mme_handle_initial_context_setup_failure(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) { - InitialContextSetupFailureIEs_t *initialContextSetupFailureIEs_p; - ue_description_t *ue_ref = NULL; - - initialContextSetupFailureIEs_p = &message->msg.initialContextSetupFailureIEs; - - if ((ue_ref = s1ap_is_ue_mme_id_in_list(initialContextSetupFailureIEs_p->mme_ue_s1ap_id)) == NULL) { - /* MME doesn't know the MME UE S1AP ID provided. */ - return -1; - } - if (ue_ref->eNB_ue_s1ap_id != (initialContextSetupFailureIEs_p->eNB_UE_S1AP_ID & 0x00ffffff)) { - return -1; - } - S1AP_DEBUG("Removed UE %u\n", (uint32_t)initialContextSetupFailureIEs_p->mme_ue_s1ap_id); - s1ap_remove_ue(ue_ref); - return 0; -} - -//////////////////////////////////////////////////////////////////////////////// -//************************ Handover signalling *******************************// -//////////////////////////////////////////////////////////////////////////////// - -int s1ap_mme_handle_path_switch_request(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) { - PathSwitchRequestIEs_t *pathSwitchRequest_p; - ue_description_t *ue_ref; - uint32_t eNB_ue_s1ap_id; - - pathSwitchRequest_p = &message->msg.pathSwitchRequestIEs; - - // eNB UE S1AP ID is limited to 24 bits - eNB_ue_s1ap_id = (uint32_t)(pathSwitchRequest_p->eNB_UE_S1AP_ID & 0x00ffffff); - - S1AP_DEBUG("Path Switch Request message received from eNB UE S1AP ID: %d\n", - (int)eNB_ue_s1ap_id); - - if ((ue_ref = s1ap_is_ue_mme_id_in_list(pathSwitchRequest_p->sourceMME_UE_S1AP_ID)) == NULL) { - /* The MME UE S1AP ID provided by eNB doesn't point to any valid UE. - * MME replies with a PATH SWITCH REQUEST FAILURE message and start operation - * as described in TS 36.413 [11]. - * TODO - */ - } else { - if (ue_ref->eNB_ue_s1ap_id != eNB_ue_s1ap_id) { - /* Received unique UE eNB ID mismatch with the one known in MME. - * Handle this case as defined upper. - * TODO - */ - return -1; - } - //TODO: Switch the eRABs provided - } - return 0; -} - -//////////////////////////////////////////////////////////////////////////////// -//************************* E-RAB management *********************************// -//////////////////////////////////////////////////////////////////////////////// - -// int s1ap_mme_handle_e_rab_setup_response(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) { -// -// } - -int s1ap_handle_sctp_deconnection(uint8_t assoc_id) { - eNB_description_t *eNB_association; - - /* Checking that the assoc id has a valid eNB attached to. */ - if ((eNB_association = s1ap_is_eNB_assoc_id_in_list(assoc_id)) == NULL) { - S1AP_DEBUG("No eNB attached to this assoc_id: %d\n", - assoc_id); - return -1; - } - s1ap_remove_eNB(eNB_association); - s1ap_dump_eNB_list(); - - S1AP_DEBUG("Removed eNB attached to assoc_id: %d\n", - assoc_id); - return 0; -} - -int s1ap_handle_create_session_response(SgwCreateSessionResponse *session_response_p) { - /* We received create session response from S-GW on S11 interface abstraction. - * At least one bearer has been established. We can now send s1ap initial context setup request - * message to eNB. - */ - char supportedAlgorithms[] = { 0x02, 0xa0 }; - char securityKey[] = { 0xfd, 0x23, 0xad, 0x22, 0xd0, 0x21, 0x02, 0x90, 0x19, 0xed, - 0xcf, 0xc9, 0x78, 0x44, 0xba, 0xbb, 0x34, 0x6e, 0xff, 0x89, - 0x1c, 0x3a, 0x56, 0xf0, 0x81, 0x34, 0xdd, 0xee, 0x19, 0x55, - 0xf2, 0x1f }; - - ue_description_t *ue_ref = NULL; - InitialContextSetupRequestIEs_t initialContextSetupRequest; - E_RABToBeSetupItemCtxtSUReq_t e_RABToBeSetup; - - if ((session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4 == 0) && - (session_response_p->bearer_context_created.s1u_sgw_fteid.ipv6 == 0)) { - - S1AP_ERROR("No IP address provided for transport layer address\n" - "-->Sending Intial context setup failure\n"); - return -1; - } - - if ((ue_ref = s1ap_is_teid_in_list(session_response_p->teid)) == NULL) { - S1AP_DEBUG("Teid %d is not attached to any UE context\n", session_response_p->teid); - return -1; - } - - memset(&initialContextSetupRequest, 0, sizeof(InitialContextSetupRequestIEs_t)); - memset(&e_RABToBeSetup, 0, sizeof(E_RABToBeSetupItemCtxtSUReq_t)); - - initialContextSetupRequest.mme_ue_s1ap_id = ue_ref->mme_ue_s1ap_id; - initialContextSetupRequest.eNB_UE_S1AP_ID = ue_ref->eNB_ue_s1ap_id; - - /* uEaggregateMaximumBitrateDL and uEaggregateMaximumBitrateUL expressed in term of bits/sec */ - asn_int642INTEGER(&initialContextSetupRequest.uEaggregateMaximumBitrate.uEaggregateMaximumBitRateDL, 100000000UL); - asn_int642INTEGER(&initialContextSetupRequest.uEaggregateMaximumBitrate.uEaggregateMaximumBitRateUL, 50000000UL); - - e_RABToBeSetup.e_RAB_ID = session_response_p->bearer_context_created.eps_bearer_id; /* ??? */ - e_RABToBeSetup.e_RABlevelQoSParameters.qCI = 0; // ?? - e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.priorityLevel = 15; //No priority - e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionCapability = Pre_emptionCapability_shall_not_trigger_pre_emption; - e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionVulnerability = Pre_emptionVulnerability_not_pre_emptable; - - e_RABToBeSetup.gTP_TEID.buf = calloc(4, sizeof(uint8_t)); - memcpy(e_RABToBeSetup.gTP_TEID.buf, &session_response_p->bearer_context_created.s1u_sgw_fteid.teid, 4); - e_RABToBeSetup.gTP_TEID.size = 4; - if ((session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4 == 1) && - (session_response_p->bearer_context_created.s1u_sgw_fteid.ipv6 == 0)) { - /* Only IPv4 supported */ - e_RABToBeSetup.transportLayerAddress.buf = (uint8_t*)&session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4_address; - e_RABToBeSetup.transportLayerAddress.size = 4; - e_RABToBeSetup.transportLayerAddress.bits_unused = 0; - } else if ((session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4 == 0) && - (session_response_p->bearer_context_created.s1u_sgw_fteid.ipv6 == 1)) { - /* Only IPv6 supported */ - e_RABToBeSetup.transportLayerAddress.buf = (uint8_t*)&session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4_address; - e_RABToBeSetup.transportLayerAddress.size = 16; - e_RABToBeSetup.transportLayerAddress.bits_unused = 0; - } else if ((session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4 == 1) && - (session_response_p->bearer_context_created.s1u_sgw_fteid.ipv6 == 1)) { - /* Both IPv4 and IPv6 supported */ - e_RABToBeSetup.transportLayerAddress.buf = calloc(20, sizeof(uint8_t)); - e_RABToBeSetup.transportLayerAddress.size = 20; - e_RABToBeSetup.transportLayerAddress.bits_unused = 0; - memcpy(e_RABToBeSetup.transportLayerAddress.buf, &session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4_address, 4); - memcpy(e_RABToBeSetup.transportLayerAddress.buf + 4, session_response_p->bearer_context_created.s1u_sgw_fteid.ipv6_address, 16); - } - - ASN_SEQUENCE_ADD(&initialContextSetupRequest.e_RABToBeSetupListCtxtSUReq, &e_RABToBeSetup); - - initialContextSetupRequest.ueSecurityCapabilities.encryptionAlgorithms.buf = (uint8_t *)supportedAlgorithms; - initialContextSetupRequest.ueSecurityCapabilities.encryptionAlgorithms.size = 2; - initialContextSetupRequest.ueSecurityCapabilities.encryptionAlgorithms.bits_unused = 0; - - initialContextSetupRequest.ueSecurityCapabilities.integrityProtectionAlgorithms.buf = (uint8_t *)supportedAlgorithms; - initialContextSetupRequest.ueSecurityCapabilities.integrityProtectionAlgorithms.size = 2; - initialContextSetupRequest.ueSecurityCapabilities.integrityProtectionAlgorithms.bits_unused = 0; - - initialContextSetupRequest.securityKey.buf = (uint8_t*)securityKey; /* 256 bits length */ - initialContextSetupRequest.securityKey.size = 32; - initialContextSetupRequest.securityKey.bits_unused = 0; - - return s1ap_mme_encode_initial_context_setup_request(&initialContextSetupRequest, ue_ref); -} diff --git a/openair3/OPENAIRMME/S1AP/s1ap_mme_handlers.h b/openair3/OPENAIRMME/S1AP/s1ap_mme_handlers.h deleted file mode 100644 index 638b90bf1f..0000000000 --- a/openair3/OPENAIRMME/S1AP/s1ap_mme_handlers.h +++ /dev/null @@ -1,78 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include "s1ap_ies_defs.h" -#include "intertask_interface.h" - -#ifndef S1AP_MME_HANDLERS_H_ -#define S1AP_MME_HANDLERS_H_ - -int s1ap_mme_handle_message(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message); - -/** \brief Handle an S1 Setup request message. - * Typically add the eNB in the list of served eNB if not present, simply reset - * UEs association otherwise. S1SetupResponse message is sent in case of success or - * S1SetupFailure if the MME cannot accept the configuration received. - * \param sptr Pointer to the IES structure - * \param ptr_size Size of the structure given in parameter - * @returns int - **/ -int s1ap_mme_handle_s1_setup_request(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message); - -/** \brief Handle an Uplink NAS transport message. - * Process the RRC transparent container and forward it to NAS entity. - * \param sptr Pointer to the IES structure - * \param ptr_size Size of the structure given in parameter - * @returns NONE - **/ -int s1ap_mme_handle_uplink_nas_transport(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message); - -int s1ap_mme_handle_initial_ue_message(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message); - -int s1ap_mme_handle_path_switch_request(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message); - -int s1ap_mme_handle_ue_context_release_request(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message); - -int s1ap_mme_handle_ue_context_release_complete(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message); - -int s1ap_mme_handle_initial_context_setup_failure(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message); - -int s1ap_mme_handle_initial_context_setup_response( - uint32_t assocId, - uint32_t stream, - struct s1ap_message_s *message); - -int s1ap_generate_downlink_nas_transport(S1apNASNewMessageInd *message); - -int s1ap_handle_sctp_deconnection(uint8_t assoc_id); - -int s1ap_handle_create_session_response(SgwCreateSessionResponse *session_response_p); - -#endif /* S1AP_MME_HANDLERS_H_ */ diff --git a/openair3/OPENAIRMME/S6A/Makefile.am b/openair3/OPENAIRMME/S6A/Makefile.am deleted file mode 100644 index 8aeb1a58c5..0000000000 --- a/openair3/OPENAIRMME/S6A/Makefile.am +++ /dev/null @@ -1,14 +0,0 @@ -AM_CFLAGS = \ - @ADD_CFLAGS@ \ - -I$(top_srcdir)/INTERTASK_INTERFACE \ - -I$(top_srcdir)/UTILS - -noinst_LTLIBRARIES = libs6a.la -libs6a_la_LDFLAGS = -all-static - -if ENABLE_USE_HSS -libs6a_la_SOURCES = \ - s6a_task.c s6a_defs.h -else -libs6a_la_SOURCES = -endif diff --git a/openair3/OPENAIRMME/S6A/Makefile.in b/openair3/OPENAIRMME/S6A/Makefile.in deleted file mode 100644 index 2cd9bacdfb..0000000000 --- a/openair3/OPENAIRMME/S6A/Makefile.in +++ /dev/null @@ -1,559 +0,0 @@ -# Makefile.in generated by automake 1.12 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = S6A -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libs6a_la_LIBADD = -am__libs6a_la_SOURCES_DIST = s6a_task.c s6a_defs.h -@ENABLE_USE_HSS_TRUE@am_libs6a_la_OBJECTS = s6a_task.lo -libs6a_la_OBJECTS = $(am_libs6a_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -libs6a_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libs6a_la_LDFLAGS) $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -SOURCES = $(libs6a_la_SOURCES) -DIST_SOURCES = $(am__libs6a_la_SOURCES_DIST) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = \ - @ADD_CFLAGS@ \ - -I$(top_srcdir)/INTERTASK_INTERFACE \ - -I$(top_srcdir)/UTILS - -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASN1C_CHECK = @ASN1C_CHECK@ -ASN1DIR = @ASN1DIR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOXYGEN = @DOXYGEN@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -POW_LIB = @POW_LIB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -noinst_LTLIBRARIES = libs6a.la -libs6a_la_LDFLAGS = -all-static -@ENABLE_USE_HSS_FALSE@libs6a_la_SOURCES = -@ENABLE_USE_HSS_TRUE@libs6a_la_SOURCES = \ -@ENABLE_USE_HSS_TRUE@ s6a_task.c s6a_defs.h - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu S6A/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu S6A/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -libs6a.la: $(libs6a_la_OBJECTS) $(libs6a_la_DEPENDENCIES) $(EXTRA_libs6a_la_DEPENDENCIES) - $(AM_V_CCLD)$(libs6a_la_LINK) $(libs6a_la_OBJECTS) $(libs6a_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s6a_task.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -cscopelist: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ - distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/S6A/s6a.h b/openair3/OPENAIRMME/S6A/s6a.h deleted file mode 100644 index 289e0cdacc..0000000000 --- a/openair3/OPENAIRMME/S6A/s6a.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef S6A_DEFS_H_ -#define S6A_DEFS_H_ - -int s6a_init(const mme_config_t *mme_config); - -#endif /* S6A_DEFS_H_ */ diff --git a/openair3/OPENAIRMME/S6A/s6a_defs.h b/openair3/OPENAIRMME/S6A/s6a_defs.h deleted file mode 100644 index 67a0bc066f..0000000000 --- a/openair3/OPENAIRMME/S6A/s6a_defs.h +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#ifndef S6A_DEFS_H_ -#define S6A_DEFS_H_ - -int s6a_init(const mme_config_t *mme_config); - -#endif /* S6A_DEFS_H_ */ diff --git a/openair3/OPENAIRMME/S6A/s6a_task.c b/openair3/OPENAIRMME/S6A/s6a_task.c deleted file mode 100644 index 33fbbafe98..0000000000 --- a/openair3/OPENAIRMME/S6A/s6a_task.c +++ /dev/null @@ -1,137 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <signal.h> - -#if HAVE_CONFIG_H -# include "config.h" -#endif - -#include <freeDiameter/freeDiameter-host.h> -#include <freeDiameter/libfdcore.h> - -#include "intertask_interface.h" -#include "s6a_defs.h" - -#ifndef S6A_DEBUG -# define S6A_DEBUG(x, args...) do { fprintf(stdout, "[S6A] [D]"x, ##args); } while(0) -#endif -#ifndef S6A_ERROR -# define S6A_ERROR(x, args...) do { fprintf(stdout, "[S6A] [E]"x, ##args); } while(0) -#endif - -static pthread_t s6a_task_thread; -static int gnutls_debug = 0; - -void* s6a_thread(void *args); -static void fd_gnutls_debug(int level, const char * str); - -static void fd_gnutls_debug(int level, const char * str) { - S6A_DEBUG("[gnutls:%d] %s", level, str); -} - -void* s6a_thread(void *args) { - while(1) { - MessageDef *received_message = NULL; - /* Trying to fetch a message from the message queue. - * If the queue is empty, this function will block till a - * message is sent to the task. - */ - receive_msg(TASK_S6A, &received_message); - assert(received_message != NULL); - switch(received_message->messageId) { - default: - { - S6A_DEBUG("Unkwnon message ID %d\n", received_message->messageId); - } break; - } - free(received_message); - received_message = NULL; - } - return NULL; -} - -int s6a_init(const mme_config_t *mme_config) { - int ret; - struct peer_info info; - - S6A_DEBUG("Initializing S6a interface\n"); - - memset(&info, 0, sizeof(struct peer_info)); - - info.pi_diamid = "localhost"; - info.pi_diamidlen = strlen(info.pi_diamid); - info.config.pic_flags.pro3 = PI_P3_IP; - info.config.pic_flags.pro4 = PI_P4_SCTP; - info.config.pic_flags.sec = PI_SEC_NONE; - - if (strcmp(fd_core_version(), "1.1.5") != 0) - S6A_ERROR("Freediameter version %s fount, expecting %s\n", fd_core_version(), "1.1.5"); - else - S6A_DEBUG("Freediameter version %s\n", fd_core_version()); - - /* Initializing freeDiameter core */ - ret = fd_core_initialize(); - if (ret != 0) { - fprintf(stderr, "An error occurred during freeDiameter core library initialization.\n"); - return ret; - } - - /* Set gnutls debug level ? */ - if (gnutls_debug) { - gnutls_global_set_log_function((gnutls_log_func)fd_gnutls_debug); - gnutls_global_set_log_level (gnutls_debug); - S6A_DEBUG("Enabled GNUTLS debug at level %d", gnutls_debug); - } - - /* Starting freeDiameter core */ - ret = fd_core_start(); - if (ret != 0) { - fprintf(stderr, "An error occurred during freeDiameter core library start.\n"); - return ret; - } - - ret = fd_peer_add(&info, "conf", NULL, NULL); - if (ret != 0) { - fprintf(stderr, "An error occurred during fd_peer_add.\n"); - return ret; - } - - if (pthread_create(&s6a_task_thread, NULL, &s6a_thread, NULL) < 0) { - perror("s6a phtread_create"); - return -1; - } - S6A_DEBUG("Initializing S6a interface: DONE\n"); - - return 0; -} diff --git a/openair3/OPENAIRMME/SCTP/Makefile.am b/openair3/OPENAIRMME/SCTP/Makefile.am deleted file mode 100644 index 52d35e108c..0000000000 --- a/openair3/OPENAIRMME/SCTP/Makefile.am +++ /dev/null @@ -1,15 +0,0 @@ -noinst_LTLIBRARIES = libsctpserver.la libsctpclient.la -libsctpclient_la_LDFLAGS = -all-static -libsctpserver_la_LDFLAGS = -all-static - -AM_CFLAGS = @ADD_CFLAGS@ - -AM_CPPFLAGS = \ - -I$(top_srcdir)/INTERTASK_INTERFACE \ - -I$(top_srcdir)/UTILS - -libsctpserver_la_SOURCES= \ - sctp_primitives_server.h sctp_primitives_server.c - -libsctpclient_la_SOURCES= \ - sctp_primitives_client.h sctp_primitives_client.c \ No newline at end of file diff --git a/openair3/OPENAIRMME/SCTP/Makefile.in b/openair3/OPENAIRMME/SCTP/Makefile.in deleted file mode 100644 index dc75874628..0000000000 --- a/openair3/OPENAIRMME/SCTP/Makefile.in +++ /dev/null @@ -1,572 +0,0 @@ -# Makefile.in generated by automake 1.12 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = SCTP -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libsctpclient_la_LIBADD = -am_libsctpclient_la_OBJECTS = sctp_primitives_client.lo -libsctpclient_la_OBJECTS = $(am_libsctpclient_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -libsctpclient_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsctpclient_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libsctpserver_la_LIBADD = -am_libsctpserver_la_OBJECTS = sctp_primitives_server.lo -libsctpserver_la_OBJECTS = $(am_libsctpserver_la_OBJECTS) -libsctpserver_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsctpserver_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -SOURCES = $(libsctpclient_la_SOURCES) $(libsctpserver_la_SOURCES) -DIST_SOURCES = $(libsctpclient_la_SOURCES) $(libsctpserver_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @ADD_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASN1C_CHECK = @ASN1C_CHECK@ -ASN1DIR = @ASN1DIR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOXYGEN = @DOXYGEN@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -POW_LIB = @POW_LIB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -noinst_LTLIBRARIES = libsctpserver.la libsctpclient.la -libsctpclient_la_LDFLAGS = -all-static -libsctpserver_la_LDFLAGS = -all-static -AM_CPPFLAGS = \ - -I$(top_srcdir)/INTERTASK_INTERFACE \ - -I$(top_srcdir)/UTILS - -libsctpserver_la_SOURCES = \ - sctp_primitives_server.h sctp_primitives_server.c - -libsctpclient_la_SOURCES = \ - sctp_primitives_client.h sctp_primitives_client.c - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu SCTP/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu SCTP/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -libsctpclient.la: $(libsctpclient_la_OBJECTS) $(libsctpclient_la_DEPENDENCIES) $(EXTRA_libsctpclient_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsctpclient_la_LINK) $(libsctpclient_la_OBJECTS) $(libsctpclient_la_LIBADD) $(LIBS) -libsctpserver.la: $(libsctpserver_la_OBJECTS) $(libsctpserver_la_DEPENDENCIES) $(EXTRA_libsctpserver_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsctpserver_la_LINK) $(libsctpserver_la_OBJECTS) $(libsctpserver_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sctp_primitives_client.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sctp_primitives_server.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -cscopelist: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ - distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/SCTP/sctp_primitives_client.c b/openair3/OPENAIRMME/SCTP/sctp_primitives_client.c deleted file mode 100644 index a8c8885c12..0000000000 --- a/openair3/OPENAIRMME/SCTP/sctp_primitives_client.c +++ /dev/null @@ -1,341 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <assert.h> - -#include <errno.h> - -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -//WARNING: sctp requires libsctp-dev and -lsctp as linker option -#include <netinet/sctp.h> -#include <arpa/inet.h> - -#include <pthread.h> - -#if defined(ENB_MODE) -# include "log.h" -# define SCTP_ERROR(x, args...) LOG_E(SCTP, x, ##args) -# define SCTP_DEBUG(x, args...) LOG_D(SCTP, x, ##args) -#else -# define SCTP_ERROR(x, args...) do { fprintf(stderr, "[SCTP][E]"x, ##args); } while(0) -# define SCTP_DEBUG(x, args...) do { fprintf(stdout, "[SCTP][D]"x, ##args); } while(0) -#endif - -#define SCTP_RECV_BUFFER_SIZE 1024 - -#include "sctp_primitives_client.h" - -/* SCTP descriptor. Describe an SCTP association. */ -struct sctp_descriptor_s { - struct sctp_descriptor_s *next_desc; ///< Next SCTP descriptor in list - - int fd; ///< Socket descriptor - uint32_t sctpAssocId; ///< SCTP asscociation ID - uint32_t ppid; ///< Payload Protocol Identifier - pthread_t recvThread; ///< Receiver thread - sctp_recv_callback recv_callback; ///< Data received callback -}; - -//Local variables declarations -struct sctp_descriptor_s *sctp_list_head = NULL; -struct sctp_descriptor_s *sctp_list_tail = NULL; -int sctp_nb_association = 0; - -//Local functions declarations -static int sctp_create_receiver_thread(struct sctp_descriptor_s *sctp_ref); -void *sctp_recv_msg(void *arg_p); - -/* Add new SCTP association to the list */ -static struct sctp_descriptor_s *sctp_add_new_association(void) { - struct sctp_descriptor_s *sctp_ref; - - sctp_ref = malloc(sizeof(struct sctp_descriptor_s)); - - /* Nothing allocated */ - if (sctp_ref == NULL) return NULL; - /* No element in list */ - if (sctp_list_head == NULL) { - sctp_list_head = sctp_list_tail = sctp_ref; - } else { - sctp_list_tail->next_desc = sctp_ref; - sctp_list_tail = sctp_ref; - } - sctp_ref->next_desc = NULL; - sctp_nb_association++; - return sctp_ref; -} - -/* Look for an SCTP association in the list */ -static struct sctp_descriptor_s *sctp_is_assoc_id_in_list(uint32_t assocId) { - struct sctp_descriptor_s *sctp_ref; - - sctp_ref = sctp_list_head; - - while(sctp_ref != NULL) { - if (sctp_ref->sctpAssocId == assocId) - return sctp_ref; - sctp_ref = sctp_ref->next_desc; - } - return NULL; -} - -/* Perform an implict connection to remote host in case of SOCK_SEQPACKET socket type. - * Otherwise perform an explicit connect (remote host should accept connection). - */ -int sctp_connect_to_remote_host( - const char *ip_addr, - uint16_t port, - uint32_t ppid, - void *args, - sctp_connected_callback connected_callback, - sctp_recv_callback upperlayer_recv) { - - int fd, i; - struct sockaddr_in addr; - - struct sctp_event_subscribe events; - struct sctp_status status; - struct sctp_initmsg init; - - struct sctp_descriptor_s *sctp_ref; - - assert(ip_addr != NULL); - - /* Create new socket */ -#if defined(SOCK_STREAM) - if ((fd = socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP)) < 0) { -#else - if ((fd = socket(AF_INET, SOCK_SEQPACKET, IPPROTO_SCTP)) < 0) { -#endif - SCTP_ERROR("Socket creation failed: %s\n", strerror(errno)); - return -1; - } - - memset((void *)&init, 0, sizeof(struct sctp_initmsg)); - - /* Request a number of in/out streams */ - init.sinit_num_ostreams = 128; - init.sinit_max_instreams = 128; - init.sinit_max_attempts = 5; - - SCTP_DEBUG("Requesting (%d %d) (in out) streams\n", init.sinit_num_ostreams, init.sinit_max_instreams); - - if (setsockopt(fd, IPPROTO_SCTP, SCTP_INITMSG, - &init, (socklen_t)sizeof(struct sctp_initmsg)) < 0) - { - SCTP_ERROR("Setsockopt IPPROTO_SCTP_INITMSG failed: %s\n", strerror(errno)); - return -1; - } - - /* Subscribe to all events */ - memset((void *)&events, 1, sizeof(struct sctp_event_subscribe)); - if (setsockopt(fd, IPPROTO_SCTP, SCTP_EVENTS, &events, sizeof(struct sctp_event_subscribe)) < 0) { - SCTP_ERROR("Setsockopt IPPROTO_SCTP_EVENTS failed: %s\n", strerror(errno)); - return -1; - } - -#if defined (SOCK_STREAM) - addr.sin_family = AF_INET; - addr.sin_port = htons(port); - addr.sin_addr.s_addr = inet_addr(ip_addr); - /* Connect to remote host and port */ - if (connect(fd, (struct sockaddr *)&addr, sizeof(struct sockaddr_in)) < 0) - { - SCTP_ERROR("Connect to %s:%u failed: %s\n", inet_ntoa(addr.sin_addr), ntohs(addr.sin_port), strerror(errno)); - return -1; - } -#endif - - /* Get SCTP status */ - i = sizeof(status); - memset(&status, 0, sizeof(struct sctp_status)); - if(getsockopt(fd, IPPROTO_SCTP, SCTP_STATUS, &status, (socklen_t *)&i) < 0) - { - SCTP_ERROR("Getsockopt IPPROTO_SCTP failed: %s\n", strerror(errno)); - return -1; - } - - SCTP_DEBUG("SCTP Status:\n--------\n"); - SCTP_DEBUG("assoc id = %d\n", status.sstat_assoc_id); - SCTP_DEBUG("state = %d\n", status.sstat_state); - SCTP_DEBUG("instrms = %d\n", status.sstat_instrms); - SCTP_DEBUG("outstrms = %d\n--------\n", status.sstat_outstrms); - - if ((sctp_ref = sctp_add_new_association()) == NULL) { - return -1; - } - - sctp_ref->fd = fd; - sctp_ref->ppid = ppid; - sctp_ref->sctpAssocId = status.sstat_assoc_id; - sctp_ref->recv_callback = upperlayer_recv; - - /* Create new receiver thread */ - sctp_create_receiver_thread(sctp_ref); - - /* Call the connected callback (if any provided). */ - if (connected_callback != NULL) { - connected_callback(args, status.sstat_assoc_id, status.sstat_instrms, status.sstat_outstrms); - } - - return 0; -} - -void sctp_disconnect(uint32_t assocId) { - struct sctp_descriptor_s *sctp_ref; - - if ((sctp_ref = sctp_is_assoc_id_in_list(assocId)) == NULL) { - return; - } - // Closing connection - close(sctp_ref->fd); - - //TODO: remove association from list -} - -/* Send buffer to SCTP association */ -int sctp_send_msg(uint32_t sctpAssocId, uint16_t stream, const uint8_t *buffer, const uint32_t length) -{ - int fd; - struct sctp_descriptor_s *sctp_ref; - - assert(buffer != NULL); - - if ((sctp_ref = sctp_is_assoc_id_in_list(sctpAssocId)) == NULL) { - /* Can't find assoc id in list of active associations */ - return -1; - } - - fd = sctp_ref->fd; - - /* Send message on specified stream of the fd association */ - if (sctp_sendmsg(fd, (const void *)buffer, length, NULL, 0, - ntohs(sctp_ref->ppid), 0, stream, 0, 0) < 0) { - SCTP_ERROR("Scpt_sendmsg failed: %s\n", strerror(errno)); - return -1; - } - - SCTP_DEBUG("Successfully sent %d bytes on stream %d\n", length, stream); - - return 0; -} - -void *sctp_recv_msg(void *arg_p) -{ - struct sctp_descriptor_s *sctp_ref; - struct sctp_sndrcvinfo sinfo; - int fd; - - sctp_ref = (struct sctp_descriptor_s*)arg_p; - fd = sctp_ref->fd; - - while(1) - { - int flags = 0, n; - struct sockaddr_in addr; - socklen_t from_len; - uint8_t buffer[SCTP_RECV_BUFFER_SIZE]; - - memset((void *)&addr, 0, sizeof(struct sockaddr_in)); - from_len = (socklen_t)sizeof(struct sockaddr_in); - memset((void *)&sinfo, 0, sizeof(struct sctp_sndrcvinfo)); - n = sctp_recvmsg(fd, (void*)buffer, SCTP_RECV_BUFFER_SIZE, - (struct sockaddr *)&addr, &from_len, - &sinfo, &flags); - - if (n == 0) - { - SCTP_DEBUG("Server deconnected as recv returned 0\n"); - break; - } - if (flags & MSG_NOTIFICATION) - { - union sctp_notification *snp; - snp = (union sctp_notification *)buffer; - - /* Client deconnection */ - if (SCTP_SHUTDOWN_EVENT == snp->sn_header.sn_type) - { - SCTP_DEBUG("Notification received: server deconnected\n"); - break; - } - /* Association has changed */ - else if (SCTP_ASSOC_CHANGE == snp->sn_header.sn_type) - { - SCTP_DEBUG("Notification received: server association changed\n"); - } - } - else - { - SCTP_DEBUG("[FD %d] Msg of length %d received from %s:%u on stream %d, PPID %d, assoc_id %d\n", - sctp_ref->sctpAssocId, n, inet_ntoa(addr.sin_addr), ntohs(addr.sin_port), - sinfo.sinfo_stream, sinfo.sinfo_ppid, sinfo.sinfo_assoc_id); - //calling given recv callback - if (sctp_ref->recv_callback != NULL) { - uint8_t *buffer2; - - buffer2 = malloc(n * sizeof(uint8_t)); - memcpy(buffer2, buffer, n); - sctp_ref->recv_callback(sinfo.sinfo_assoc_id, sinfo.sinfo_stream, buffer2, n); - } - } - } - - //TODO: handle deconnection - return NULL; -} - -static int sctp_create_receiver_thread(struct sctp_descriptor_s *sctp_ref) { - - assert(sctp_ref != NULL); - - if (pthread_create(&sctp_ref->recvThread, NULL, &sctp_recv_msg, (void *)sctp_ref) < 0) - { - SCTP_ERROR("Pthread_create failed: %s\n", strerror(errno)); - return -1; - } - - return 0; -} - -void sctp_terminate(void) { - struct sctp_descriptor_s *sctp_ref = sctp_list_head; - - while (sctp_ref != NULL) { - sctp_disconnect(sctp_ref->sctpAssocId); - sctp_ref = sctp_ref->next_desc; - } -} diff --git a/openair3/OPENAIRMME/SCTP/sctp_primitives_client.h b/openair3/OPENAIRMME/SCTP/sctp_primitives_client.h deleted file mode 100644 index 4b35e4ba71..0000000000 --- a/openair3/OPENAIRMME/SCTP/sctp_primitives_client.h +++ /dev/null @@ -1,102 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <stdint.h> -#include <pthread.h> - -#ifndef SCTP_PRIMITIVES_CLIENT_H_ -#define SCTP_PRIMITIVES_CLIENT_H_ - -/** @defgroup _sctp_impl_ SCTP Layer Reference Implementation - * @ingroup _ref_implementation_ - * @{ - */ - -/** \brief SCTP recv callback prototype. Will be called every time a message is - * received on socket. - * \param assocId SCTP association ID - * \param stream SCTP stream on which data had been received - * \param buffer Pointer to data (should be freed by user) - * \param length Length of message received - * @return Execution result - */ -typedef int (*sctp_recv_callback)(uint32_t assocId, - uint32_t stream, - uint8_t *buffer, - uint32_t length); - -/** \brief SCTP connected callback prototype. Will be called once the - * association is ready. - * \param args argument provided by upper layer - * \param assocId SCTP association ID - * \param instreams Number of input streams negotiated with remote peer - * \param outstreams Number of output streams negotiated with remote peer - * @return Execution result - */ -typedef int (*sctp_connected_callback)(void *args, - uint32_t assocId, - uint32_t instreams, - uint32_t outstreams); - -/** \brief Perform association to a remote peer - * \param ip_addr Peer IPv4 address - * \param port Remote port to connect to - * \param args Upper layer args that will be provided to connected callback - * \param connected_callback Connected callback - * \param recv_callback Data received callback - * @return < 0 in case of failure - */ -int sctp_connect_to_remote_host( - const char *ip_addr, - uint16_t port, - uint32_t ppid, - void *args, - sctp_connected_callback connected_callback, - sctp_recv_callback recv_callback); - -/** \brief Send message over SCTP - * \param assocId SCTP association ID - * \param stream SCTP stream on which data will be sent - * \param buffer Pointer to buffer - * \param length Buffer length - * @return < 0 in case of failure - */ -int sctp_send_msg( - uint32_t assocId, - uint16_t stream, - const uint8_t *buffer, - const uint32_t length); - -void sctp_disconnect(uint32_t assocId); - -void sctp_terminate(void); - -/* @} */ -#endif /* SCTP_PRIMITIVES_CLIENT_H_ */ diff --git a/openair3/OPENAIRMME/SCTP/sctp_primitives_server.c b/openair3/OPENAIRMME/SCTP/sctp_primitives_server.c deleted file mode 100644 index ddc2159c70..0000000000 --- a/openair3/OPENAIRMME/SCTP/sctp_primitives_server.c +++ /dev/null @@ -1,466 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <assert.h> - -#include <sys/types.h> -#include <sys/socket.h> - -#include <netinet/in.h> -//WARNING: sctp requires libsctp-dev and -lsctp as linker option -#include <netinet/sctp.h> - -#include <arpa/inet.h> - -#include <pthread.h> - -#include "intertask_interface.h" -#include "sctp_primitives_server.h" -#include "mme_config.h" - -#define IPV4_ADDR "%u.%u.%u.%u" -#define IPV4_ADDR_FORMAT(aDDRESS) \ - (uint8_t)((aDDRESS) & 0x000000ff), \ - (uint8_t)(((aDDRESS) & 0x0000ff00) >> 8 ), \ - (uint8_t)(((aDDRESS) & 0x00ff0000) >> 16), \ - (uint8_t)(((aDDRESS) & 0xff000000) >> 24) - -#ifndef SCTP_DEBUG -# define SCTP_DEBUG(x, args...) do { fprintf(stdout, "[SCTP][D]"x, ##args); } while(0) -#endif -#ifndef SCTP_ERROR -# define SCTP_ERROR(x, args...) do { fprintf(stdout, "[SCTP][E]"x, ##args); } while(0) -#endif - -#undef SCTP_DUMP_LIST - -struct sctp_arg_s { - int fd; - uint32_t ppid; -}; - -// Thread used to receive messages from upper layers -static pthread_t sctpThread; -// Thread used to handle sctp messages -static pthread_t assocThread; - -// List of connected peers -static sctp_descriptor_t *available_connections_head = NULL; -static sctp_descriptor_t *available_connections_tail = NULL; -static uint32_t number_of_connections = 0; - -// LOCAL FUNCTIONS prototypes -void *sctp_receiver_thread(void *args_p); -static int sctp_send_msg(int32_t sctp_assoc_id, uint16_t stream, const uint8_t *buffer, const uint32_t length); - -// Association list related local functions prototypes -static sctp_descriptor_t* sctp_is_assoc_in_list(int32_t assoc_id); -static sctp_descriptor_t* sctp_add_new_peer(void); - -static sctp_descriptor_t* sctp_add_new_peer(void) { - sctp_descriptor_t *new_sctp_descriptor; - - new_sctp_descriptor = malloc(sizeof(sctp_descriptor_t)); - if (new_sctp_descriptor == NULL) { - return NULL; - } - new_sctp_descriptor->next_assoc = NULL; - new_sctp_descriptor->previous_assoc = NULL; - - if (available_connections_tail == NULL) { - available_connections_head = new_sctp_descriptor; - available_connections_tail = available_connections_head; - } else { - new_sctp_descriptor->previous_assoc = available_connections_tail; - available_connections_tail->next_assoc = new_sctp_descriptor; - available_connections_tail = new_sctp_descriptor; - } - number_of_connections++; - return new_sctp_descriptor; -} - -static sctp_descriptor_t* sctp_is_assoc_in_list(int32_t assoc_id) { - sctp_descriptor_t *assoc_desc; - if (assoc_id < 0) return NULL; - for (assoc_desc = available_connections_head; - assoc_desc; - assoc_desc = assoc_desc->next_assoc) { - if (assoc_desc->assoc_id == assoc_id) break; - } - return assoc_desc; -} - -static int sctp_remove_assoc_from_list(int32_t assoc_id) { - sctp_descriptor_t *assoc_desc; - /* Association not in the list */ - if ((assoc_desc = sctp_is_assoc_in_list(assoc_id)) == NULL) return -1; - - if (assoc_desc->next_assoc == NULL) { - if (assoc_desc->previous_assoc == NULL) { - /* Head and tail */ - available_connections_head = available_connections_tail = NULL; - } else { - /* Not head but tail */ - available_connections_tail = assoc_desc->previous_assoc; - assoc_desc->previous_assoc->next_assoc = NULL; - } - } else { - if (assoc_desc->previous_assoc == NULL) { - /* Head but not tail */ - available_connections_head = assoc_desc->next_assoc; - assoc_desc->next_assoc->previous_assoc = NULL; - } else { - /* Not head and not tail */ - assoc_desc->previous_assoc->next_assoc = assoc_desc->next_assoc; - assoc_desc->next_assoc->previous_assoc = assoc_desc->previous_assoc; - } - } - free(assoc_desc); - number_of_connections --; - return 0; -} - -static void sctp_dump_assoc(sctp_descriptor_t *sctp_desc) { -#if defined(SCTP_DUMP_LIST) - if (sctp_desc == NULL) return; - - SCTP_DEBUG("fd : %d\n", sctp_desc->fd); - SCTP_DEBUG("input streams: %d\n", sctp_desc->instreams); - SCTP_DEBUG("out streams : %d\n", sctp_desc->outstreams); - SCTP_DEBUG("assoc_id : %d\n", sctp_desc->assoc_id); -#else - sctp_desc = sctp_desc; -#endif -} - -static void sctp_dump_list(void) { -#if defined(SCTP_DUMP_LIST) - sctp_descriptor_t *sctp_desc; - - sctp_desc = available_connections_head; - - SCTP_DEBUG("SCTP list contains %d associations\n", number_of_connections); - - while (sctp_desc != NULL) { - sctp_dump_assoc(sctp_desc); - sctp_desc = sctp_desc->next_assoc; - } -#else - sctp_dump_assoc(NULL); -#endif -} - -static int sctp_send_msg(int32_t sctp_assoc_id, uint16_t stream, const uint8_t *buffer, const uint32_t length) -{ - sctp_descriptor_t *assoc_desc; - - assert(buffer != NULL); - - if ((assoc_desc = sctp_is_assoc_in_list(sctp_assoc_id)) < 0) { - SCTP_DEBUG("This assoc id has not been fount in list (%d)\n", sctp_assoc_id); - return -1; - } - - /* Send message_p on specified stream of the fd association */ - if (sctp_sendmsg(assoc_desc->fd, - (const void *)buffer, - length, - (struct sockaddr *)&assoc_desc->sin, - sizeof(assoc_desc->sin), assoc_desc->ppid, 0, stream, 0, 0) < 0) - { - perror("send"); - return -1; - } - - assoc_desc->messages_sent++; - - SCTP_DEBUG("Successfully sent %d bytes on stream %d\n", length, stream); - - return 0; -} - -static int sctp_create_new_connection(int port, char *address, uint32_t ppid) { - struct sctp_event_subscribe event; - struct sockaddr_in addr; - struct sctp_initmsg init; - - struct sctp_arg_s *sctp_arg_p; - - int fd; - -#if defined(USE_SOCK_STREAM) - if ((fd = socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP)) < 0) { -#else - if ((fd = socket(AF_INET, SOCK_SEQPACKET, IPPROTO_SCTP)) < 0) { -#endif - perror("socket"); - return -1; - } - - SCTP_DEBUG("Creating new listen socket on address "IPV4_ADDR" and port %u\n", - IPV4_ADDR_FORMAT(inet_addr(address)), port); - - memset((void *)&event, 1, sizeof(struct sctp_event_subscribe)); - if (setsockopt(fd, IPPROTO_SCTP, SCTP_EVENTS, &event, sizeof(struct sctp_event_subscribe)) < 0) - { - perror("setsockopt"); - return -1; - } - - memset((void *)&init, 0, sizeof(struct sctp_initmsg)); - - /* Request a number of streams */ - init.sinit_num_ostreams = SCTP_MAX_INSTREAMS; - init.sinit_max_instreams = SCTP_MAX_OUTSTREAMS; - init.sinit_max_attempts = SCTP_MAX_ATTEMPTS; - - if (setsockopt(fd, IPPROTO_SCTP, SCTP_INITMSG, &init, (socklen_t)sizeof(struct sctp_initmsg)) < 0) - { - perror("setsockopt"); - return -1; - } - - memset((void *)&addr, 0, sizeof(struct sockaddr_in)); - addr.sin_family = AF_INET; - addr.sin_port = htons(port); - // Accept from any address - addr.sin_addr.s_addr = inet_addr(address); - if (bind(fd, (struct sockaddr *)&addr, sizeof(struct sockaddr_in)) < 0) - { - perror("bind"); - exit(1); - } - if (listen(fd, 5) < 0) - { - perror("listen"); - exit(1); - } - - if ((sctp_arg_p = malloc(sizeof(struct sctp_arg_s))) == NULL) { - return -1; - } - sctp_arg_p->fd = fd; - sctp_arg_p->ppid = ppid; - - if (pthread_create(&assocThread, NULL, &sctp_receiver_thread, (void*)sctp_arg_p) < 0) - { - perror("pthread_create"); - return -1; - } - return fd; -} - -void *sctp_receiver_thread(void *args_p) -{ - int flags, n; - int clientsock; - socklen_t from_len; - - struct sctp_arg_s *sctp_arg_p; - struct sctp_sndrcvinfo sinfo; - struct sockaddr_in addr; - uint8_t buffer[SCTP_BUFFER_SIZE]; - - sctp_arg_p = (struct sctp_arg_s *)args_p; - clientsock = sctp_arg_p->fd; - - while(1) - { - flags = 0; - memset((void *)&addr, 0, sizeof(struct sockaddr_in)); - from_len = (socklen_t)sizeof(struct sockaddr_in); - memset((void *)&sinfo, 0, sizeof(struct sctp_sndrcvinfo)); - n = sctp_recvmsg(clientsock, (void*)buffer, SCTP_BUFFER_SIZE, - (struct sockaddr *)&addr, &from_len, - &sinfo, &flags); - if (n < 0) - { - SCTP_DEBUG("An error occured during read"); - perror("sctp_recvmsg"); - break; - } - if (flags & MSG_NOTIFICATION) - { - union sctp_notification *snp; - snp = (union sctp_notification *)buffer; - - /* Client deconnection */ - if (SCTP_SHUTDOWN_EVENT == snp->sn_header.sn_type) - { - MessageDef *message_p; - message_p = (MessageDef *)malloc(sizeof(MessageDef)); - - SCTP_DEBUG("Client on association %d successfully removed from list\n", - snp->sn_shutdown_event.sse_assoc_id); - - message_p->messageId = S1AP_SCTP_ASSOCIATION_CLOSED; - message_p->originTaskId = TASK_SCTP; - message_p->destinationTaskId = TASK_S1AP; - - message_p->msg.s1apSctpAssociationClosed.assocId = snp->sn_shutdown_event.sse_assoc_id; - SCTP_DEBUG("Client on association %d deconnected\n", snp->sn_shutdown_event.sse_assoc_id); - - send_msg_to_task(TASK_S1AP, message_p); - } - /* Association has changed. This can be either a new connection or the end. */ - else if (SCTP_ASSOC_CHANGE == snp->sn_header.sn_type) - { - struct sctp_assoc_change *sctp_assoc_changed; - sctp_assoc_changed = &snp->sn_assoc_change; - - SCTP_DEBUG("Client association changed: %d\n", sctp_assoc_changed->sac_state); - /* New physical association requested by a peer */ - switch (sctp_assoc_changed->sac_state) { - case SCTP_COMM_UP: - { - sctp_descriptor_t *new_association; - - SCTP_DEBUG("New connection\n"); - if ((new_association = sctp_add_new_peer()) == NULL) { - // TODO: handle this case - } else { - new_association->fd = clientsock; - new_association->ppid = sctp_arg_p->ppid; - new_association->instreams = sctp_assoc_changed->sac_inbound_streams; - new_association->outstreams = sctp_assoc_changed->sac_outbound_streams; - new_association->assoc_id = sctp_assoc_changed->sac_assoc_id; - memcpy((void *)&new_association->sin, (void *)&addr, sizeof(struct sockaddr_in)); - sctp_dump_list(); - } - } break; - case SCTP_SHUTDOWN_COMP: - { - if (sctp_remove_assoc_from_list(sctp_assoc_changed->sac_assoc_id) < 0) { - SCTP_DEBUG("Failed to find client in list\n"); - } - sctp_dump_list(); - } break; - default: - break; - } - } - } - else - { - MessageDef *message_p; - sctp_descriptor_t *association; - message_p = (MessageDef *)malloc(sizeof(MessageDef)); - - if (message_p == NULL) - continue; - - if ((association = sctp_is_assoc_in_list(sinfo.sinfo_assoc_id)) == NULL) { - // TODO: handle this case - free(message_p); - continue; - } - association->messages_recv++; - - if (ntohl(sinfo.sinfo_ppid) != association->ppid) { - /* Mismatch in Payload Protocol Identifier, - * may be we received unsollicited traffic from stack other than S1AP. - */ - SCTP_ERROR("Received data from peer with unsollicited PPID %d, expecting %d\n", - ntohl(sinfo.sinfo_ppid), association->ppid); - } - - message_p->messageId = S1AP_SCTP_NEW_MESSAGE_IND; - message_p->originTaskId = TASK_SCTP; - message_p->destinationTaskId = TASK_S1AP; - message_p->msg.s1apSctpNewMessageInd.buffer = malloc(sizeof(uint8_t) * n); - memcpy((void *)message_p->msg.s1apSctpNewMessageInd.buffer, (void*)buffer, n); - message_p->msg.s1apSctpNewMessageInd.stream = sinfo.sinfo_stream; - message_p->msg.s1apSctpNewMessageInd.bufLen = n; - message_p->msg.s1apSctpNewMessageInd.assocId = sinfo.sinfo_assoc_id; - message_p->msg.s1apSctpNewMessageInd.instreams = association->instreams; - message_p->msg.s1apSctpNewMessageInd.outstreams = association->outstreams; - SCTP_DEBUG("Msg of length %d received from %s:%u on stream %d, PPID %d, assoc_id %d\n", - n, inet_ntoa(addr.sin_addr), ntohs(addr.sin_port), - sinfo.sinfo_stream, ntohl(sinfo.sinfo_ppid), sinfo.sinfo_assoc_id); - - send_msg_to_task(TASK_S1AP, message_p); - } - } - free(args_p); - return NULL; -} - -static void *sctp_intertask_interface(void *args_p) { - while(1) { - MessageDef *receivedMessage; - receive_msg(TASK_SCTP, &receivedMessage); - switch(receivedMessage->messageId) { - case SCTP_S1AP_INIT: - { - SctpS1APInit *sctpS1APInitMsg; - sctpS1APInitMsg = &receivedMessage->msg.sctpS1APInit; - sctp_create_new_connection(sctpS1APInitMsg->port, sctpS1APInitMsg->address, sctpS1APInitMsg->ppid); - } break; - case SCTP_CLOSE_ASSOCIATION: - { - - } break; - - case SCTP_NEW_DATA_REQ: - { - SctpNewDataReq *sctpNewS1APDataReq; - sctpNewS1APDataReq = &receivedMessage->msg.sctpNewDataReq; - - if (sctp_send_msg(sctpNewS1APDataReq->assocId, - sctpNewS1APDataReq->stream, - sctpNewS1APDataReq->buffer, - sctpNewS1APDataReq->bufLen) < 0) { - SCTP_DEBUG("Failed to send message over SCTP\n"); - } - } break; - default: - { - SCTP_DEBUG("Unknown message ID %d\n", receivedMessage->messageId); - } break; - } - free(receivedMessage); - receivedMessage = NULL; - } - return NULL; -} - -int sctp_init(const mme_config_t *mme_config) { - SCTP_DEBUG("Initializing SCTP task interface\n"); - if (pthread_create(&sctpThread, NULL, &sctp_intertask_interface, NULL) < 0) { - perror("sctp pthread_create"); - return -1; - } - SCTP_DEBUG("Initializing SCTP task interface: DONE\n"); - return 0; -} diff --git a/openair3/OPENAIRMME/SCTP/sctp_primitives_server.h b/openair3/OPENAIRMME/SCTP/sctp_primitives_server.h deleted file mode 100644 index 81d5424808..0000000000 --- a/openair3/OPENAIRMME/SCTP/sctp_primitives_server.h +++ /dev/null @@ -1,90 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ -/** @defgroup _sctp_impl_ SCTP Layer Reference Implementation - * @ingroup _ref_implementation_ - * @{ - */ - -#if HAVE_CONFIG_H -# include "config.h" -#endif - -#include "mme_config.h" - -#if !defined(HAVE_LIBSCTP) -# error "You must install libsctp-dev" -#endif - -#include <netinet/in.h> -#include <netinet/sctp.h> - -#ifndef SCTP_PRIMITIVES_H_ -#define SCTP_PRIMITIVES_H_ - -typedef struct sctp_descriptor_s { - struct sctp_descriptor_s *next_assoc; ///< Next association in the list - struct sctp_descriptor_s *previous_assoc; ///< Previous association in the list - int fd; ///< Socket descriptor - uint32_t ppid; ///< Payload protocol Identifier - uint16_t instreams; ///< Number of input streams negociated for this connection - uint16_t outstreams; ///< Number of output strams negotiated for this connection - int32_t assoc_id; ///< SCTP association id for the connection - uint32_t messages_recv; ///< Number of messages received on this connection - uint32_t messages_sent; ///< Number of messages sent on this connection - struct sockaddr_in sin; -} sctp_descriptor_t; - -#ifndef SCTP_MAX_INSTREAMS -# define SCTP_MAX_INSTREAMS 64 -#endif - -#ifndef SCTP_MAX_OUTSTREAMS -# define SCTP_MAX_OUTSTREAMS 64 -#endif - -#ifndef SCTP_MAX_ATTEMPTS -# define SCTP_MAX_ATTEMPTS 5 -#endif - -/** \brief SCTP data received callback - \param buffer pointer to buffer received - \param length pointer to the length of buffer - **/ -typedef void (*sctp_recv_callback)(uint8_t *buffer, uint32_t length); - -/** \brief SCTP Init function. Initialize SCTP layer - \param NONE - @returns -1 on error, 0 otherwise. - **/ -int sctp_init(const mme_config_t *mme_config); - -#endif /* SCTP_PRIMITIVES_H_ */ - -/* @} */ diff --git a/openair3/OPENAIRMME/SGW-LITE/Makefile.am b/openair3/OPENAIRMME/SGW-LITE/Makefile.am deleted file mode 100644 index 220bd4818e..0000000000 --- a/openair3/OPENAIRMME/SGW-LITE/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ -AM_CFLAGS = @ADD_CFLAGS@ \ - -I$(top_srcdir)/INTERTASK_INTERFACE \ - -I$(top_srcdir)/UTILS - -noinst_LTLIBRARIES = libsgw_lite.la -libsgw_lite_la_LDFLAGS = -all-static - -libsgw_lite_la_SOURCES= \ - sgw_lite_task.c \ - sgw_lite_handlers.c sgw_lite_handlers.h \ - sgw_lite_context_manager.c sgw_lite_context_manager.h diff --git a/openair3/OPENAIRMME/SGW-LITE/Makefile.in b/openair3/OPENAIRMME/SGW-LITE/Makefile.in deleted file mode 100644 index 2c89431d48..0000000000 --- a/openair3/OPENAIRMME/SGW-LITE/Makefile.in +++ /dev/null @@ -1,562 +0,0 @@ -# Makefile.in generated by automake 1.12 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = SGW-LITE -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libsgw_lite_la_LIBADD = -am_libsgw_lite_la_OBJECTS = sgw_lite_task.lo sgw_lite_handlers.lo \ - sgw_lite_context_manager.lo -libsgw_lite_la_OBJECTS = $(am_libsgw_lite_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -libsgw_lite_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libsgw_lite_la_LDFLAGS) $(LDFLAGS) -o \ - $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -SOURCES = $(libsgw_lite_la_SOURCES) -DIST_SOURCES = $(libsgw_lite_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @ADD_CFLAGS@ \ - -I$(top_srcdir)/INTERTASK_INTERFACE \ - -I$(top_srcdir)/UTILS - -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASN1C_CHECK = @ASN1C_CHECK@ -ASN1DIR = @ASN1DIR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOXYGEN = @DOXYGEN@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -POW_LIB = @POW_LIB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -noinst_LTLIBRARIES = libsgw_lite.la -libsgw_lite_la_LDFLAGS = -all-static -libsgw_lite_la_SOURCES = \ - sgw_lite_task.c \ - sgw_lite_handlers.c sgw_lite_handlers.h \ - sgw_lite_context_manager.c sgw_lite_context_manager.h - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu SGW-LITE/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu SGW-LITE/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -libsgw_lite.la: $(libsgw_lite_la_OBJECTS) $(libsgw_lite_la_DEPENDENCIES) $(EXTRA_libsgw_lite_la_DEPENDENCIES) - $(AM_V_CCLD)$(libsgw_lite_la_LINK) $(libsgw_lite_la_OBJECTS) $(libsgw_lite_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sgw_lite_context_manager.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sgw_lite_handlers.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sgw_lite_task.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -cscopelist: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ - distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_context_manager.c b/openair3/OPENAIRMME/SGW-LITE/sgw_lite_context_manager.c deleted file mode 100644 index 080ae7bccc..0000000000 --- a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_context_manager.c +++ /dev/null @@ -1,105 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <stdint.h> - -#include "tree.h" - -#include "intertask_interface.h" -#include "sgw_lite_defs.h" -#include "sgw_lite_context_manager.h" - -RB_HEAD(mme_sgw_tunnel_tree, mme_sgw_tunnel_s) mme_sgw_tunnel_map; - -//============================================================================== -// LOCAL function prototypes -//============================================================================== -static inline int32_t sgw_lite_compare_teid( - struct mme_sgw_tunnel_s *a, struct mme_sgw_tunnel_s *b); - -RB_PROTOTYPE(mme_sgw_tunnel_tree, mme_sgw_tunnel_s, node, sgw_lite_compare_teid) - -static inline int32_t sgw_lite_compare_teid( - struct mme_sgw_tunnel_s *a, struct mme_sgw_tunnel_s *b) { - - if(a->remote_teid > b->remote_teid) - return 1; - if(a->remote_teid < b->remote_teid) - return -1; - return 0; -} - -RB_GENERATE(mme_sgw_tunnel_tree, mme_sgw_tunnel_s, node, sgw_lite_compare_teid) - -mme_sgw_tunnel_t* sgw_lite_cm_create_s11_tunnel(uint32_t remote_teid) { - - mme_sgw_tunnel_t *collision_p; - mme_sgw_tunnel_t *new_tunnel; - - new_tunnel = malloc(sizeof(mme_sgw_tunnel_t)); - - if (new_tunnel == NULL) { - /* Malloc failed, may be ENOMEM error */ - SGW_ERROR("Failed to create tunnel for remote_teid %u\n", remote_teid); - return NULL; - } - - new_tunnel->remote_teid = remote_teid; - - /* Trying to insert the new tunnel into the tree. - * If collision_p is not NULL (0), it means tunnel is already present. - */ - collision_p = RB_INSERT(mme_sgw_tunnel_tree, &mme_sgw_tunnel_map, new_tunnel); - - if (collision_p) { - SGW_WARNING("This TEID already exists: %u\n", remote_teid); - free(new_tunnel); - new_tunnel = NULL; - } - - return new_tunnel; -} - -int mme_sgw_remove_s11_tunnel(mme_sgw_tunnel_t* tunnel) { - - mme_sgw_tunnel_t *temp; - - if (tunnel == NULL) - return -1; - - temp = RB_REMOVE(mme_sgw_tunnel_tree, &mme_sgw_tunnel_map, tunnel); - if (tunnel != temp) - return -1; - - free(temp); - return 0; -} diff --git a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_context_manager.h b/openair3/OPENAIRMME/SGW-LITE/sgw_lite_context_manager.h deleted file mode 100644 index df073c2413..0000000000 --- a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_context_manager.h +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include "tree.h" - -#ifndef SGW_LITE_CONTEXT_MANAGER_H_ -#define SGW_LITE_CONTEXT_MANAGER_H_ - -typedef struct mme_sgw_tunnel_s { - uint32_t remote_teid; ///< Tunnel endpoint Identifier - RB_ENTRY(mme_sgw_tunnel_s) node; -} mme_sgw_tunnel_t; - -mme_sgw_tunnel_t * sgw_lite_cm_create_s11_tunnel(uint32_t remote_teid); - -int mme_sgw_remove_s11_tunnel(mme_sgw_tunnel_t* tunnel); - -#endif /* SGW_LITE_CONTEXT_MANAGER_H_ */ diff --git a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_defs.h b/openair3/OPENAIRMME/SGW-LITE/sgw_lite_defs.h deleted file mode 100644 index afe5c804a3..0000000000 --- a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_defs.h +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#ifndef SGW_LITE_DEFS_H_ -#define SGW_LITE_DEFS_H_ - -#ifndef SGW_DEBUG -# define SGW_DEBUG(x, args...) do { fprintf(stdout, "[SGW] [D]"x, ##args); } \ - while(0) -#endif -#ifndef SGW_WARNING -# define SGW_WARNING(x, args...) do { fprintf(stdout, "[SGW] [W]"x, ##args); } \ - while(0) -#endif -#ifndef SGW_ERROR -# define SGW_ERROR(x, args...) do { fprintf(stderr, "[SGW] [E]"x, ##args); } \ - while(0) -#endif - -int sgw_lite_init(const mme_config_t *mme_config); - -#endif /* SGW_LITE_DEFS_H_ */ diff --git a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_handlers.c b/openair3/OPENAIRMME/SGW-LITE/sgw_lite_handlers.c deleted file mode 100644 index ac87bf9378..0000000000 --- a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_handlers.c +++ /dev/null @@ -1,146 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <stdint.h> -#include <string.h> - -#include "intertask_interface.h" -#include "sgw_lite_defs.h" -#include "sgw_lite_context_manager.h" -#include "sgw_lite_handlers.h" - -int sgw_lite_handle_create_session_request( - SgwCreateSessionRequest *session_req_p) { - - mme_sgw_tunnel_t *new_endpoint; - MessageDef *message_p; - - /* Upon reception of create session request from MME, - * S-GW should create UE, eNB and MME contexts and forward message to P-GW. - */ - if (session_req_p->rat_type != RAT_TYPE_EUTRAN) { - SGW_WARNING("Received session request with RAT != RAT_TYPE_EUTRAN: type %d\n", - session_req_p->rat_type); - } - - /* As we are abstracting GTP-C transport, FTeid ip address is useless. - * We just use the teid to identify MME tunnel. Normally we received either: - * - ipv4 address if ipv4 flag is set - * - ipv6 address if ipv6 flag is set - * - ipv4 and ipv6 if both flags are set - * Communication between MME and S-GW involves S11 interface so we are expecting - * S11_MME_GTP_C (11) as interface_type. - */ - if ((session_req_p->sender_fteid_for_cp.teid == 0) && - (session_req_p->sender_fteid_for_cp.interface_type != S11_MME_GTP_C)) { - /* MME sent request with teid = 0. This is not valid... */ - SGW_WARNING("FTEID parameter mismatch\n"); - return -1; - } - /* We try to create endpoint for S11 interface. A NULL endpoint means that - * either the teid is already in list of known teid or ENOMEM error has been - * raised during malloc. - */ - new_endpoint = sgw_lite_cm_create_s11_tunnel(session_req_p->sender_fteid_for_cp.teid); - if (new_endpoint == NULL) { - SGW_WARNING("Could not create new tunnel endpoint between S-GW and MME " - "for S11 abstraction\n"); - return -1; - } - - /* Establishing EPS bearer. Requesting S1-U (GTPV1-U) task to create a - * tunnel for S1 user plane interface. If status in response is successfull (0), - * the tunnel endpoint is locally ready. - */ - message_p = alloc_new_message(TASK_SGW_LITE, TASK_GTPV1_U, S1U_CREATE_TUNNEL); - if (message_p == NULL) { - mme_sgw_remove_s11_tunnel(new_endpoint); - return -1; - } - - return send_msg_to_task(TASK_GTPV1_U, message_p); -} - -int sgw_lite_handle_s1u_endpoint_created(SgwS1UEndpointCreated *endpoint_created_p) { - SgwCreateSessionResponse *create_session_response_p; - MessageDef *message_p; - - message_p = alloc_new_message(TASK_SGW_LITE, TASK_S1AP, SGW_CREATE_SESSION_RESPONSE); - - if (message_p == NULL) { - return -1; - } - - create_session_response_p = &message_p->msg.sgwCreateSessionResponse; - - memset(create_session_response_p, 0, sizeof(SgwCreateSessionResponse)); - - create_session_response_p->teid = 1; - - /* Preparing to send create session response on S11 abstraction interface. - * we set the cause value regarding the S1-U bearer establishment result status. - */ - if (endpoint_created_p->status == 0) { - uint32_t address = 0x7F000001; - create_session_response_p->bearer_context_created.s1u_sgw_fteid.teid = endpoint_created_p->teid; - create_session_response_p->bearer_context_created.s1u_sgw_fteid.interface_type = S1_U_SGW_GTP_U; - create_session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4 = 1; - /* Should be filled in with S-GW S1-U local address. Running everything on localhost for now */ - create_session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4_address = address; - - /* Set the Cause information from bearer context created. - * "Request accepted" is returned when the GTPv2 entity has accepted a control plane request. - */ - create_session_response_p->bearer_context_created.cause = REQUEST_ACCEPTED; - } else { - create_session_response_p->bearer_context_created.cause = M_PDN_APN_NOT_ALLOWED; - } - - return send_msg_to_task(TASK_S1AP, message_p); -} - -int sgw_lite_handle_modify_bearer_request(SgwModifyBearerRequest *modify_bearer_p) { - SgwModifyBearerResponse *modify_response_p; - MessageDef *message_p; - - message_p = alloc_new_message(TASK_SGW_LITE, TASK_S1AP, SGW_MODIFY_BEARER_RESPONSE); - - if (message_p == NULL) { - return -1; - } - - modify_response_p = &message_p->msg.sgwModifyBearerResponse; - - memset(modify_response_p, 0, sizeof(SgwModifyBearerResponse)); - - return send_msg_to_task(TASK_S1AP, message_p); -} diff --git a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_handlers.h b/openair3/OPENAIRMME/SGW-LITE/sgw_lite_handlers.h deleted file mode 100644 index 554f9c2825..0000000000 --- a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_handlers.h +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#ifndef SGW_LITE_HANDLERS_H_ -#define SGW_LITE_HANDLERS_H_ - -int sgw_lite_handle_create_session_request( - SgwCreateSessionRequest *session_req_p); - -int sgw_lite_handle_s1u_endpoint_created( - SgwS1UEndpointCreated *endpoint_created_p); - -int sgw_lite_handle_modify_bearer_request( - SgwModifyBearerRequest *modify_bearer_p); - -#endif /* SGW_LITE_HANDLERS_H_ */ diff --git a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_ie_defs.h b/openair3/OPENAIRMME/SGW-LITE/sgw_lite_ie_defs.h deleted file mode 100644 index 34f8eadaff..0000000000 --- a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_ie_defs.h +++ /dev/null @@ -1,286 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#ifndef SGW_LITE_IE_DEFS_H_ -#define SGW_LITE_IE_DEFS_H_ - -typedef uint8_t EBI_t; -typedef char* APN_t; -typedef uint8_t APNRestriction_t; -typedef uint8_t DelayValue_t; -typedef uint32_t Teid_t; -typedef uint32_t SequenceNumber_t; - -#define IMSI_DIGITS_MAX 15 - -typedef struct { - uint8_t digit[IMSI_DIGITS_MAX]; -} Imsi_t; - -typedef struct { - uint8_t *digit; - uint8_t number_of_digit; -} Msisdn_t; - -#define MEI_IMEI 0x0 -#define MEI_IMEISV 0x1 - -typedef struct { - uint8_t present; - union { - unsigned imei:15; - unsigned imeisv:16; - } choice; -} Mei_t; - -typedef struct { - uint8_t mcc[3]; - uint8_t mnc[3]; - uint16_t lac; - uint16_t ci; -} Cgi_t; - -typedef struct { - uint8_t mcc[3]; - uint8_t mnc[3]; - uint16_t lac; - uint16_t sac; -} Sai_t; - -typedef struct { - uint8_t mcc[3]; - uint8_t mnc[3]; - uint16_t lac; - uint16_t rac; -} Rai_t; - -typedef struct { - uint8_t mcc[3]; - uint8_t mnc[3]; - uint16_t tac; -} Tai_t; - -typedef struct { - uint8_t mcc[3]; - uint8_t mnc[3]; - uint32_t eci; -} Ecgi_t; - -typedef struct { - uint8_t mcc[3]; - uint8_t mnc[3]; - uint16_t lac; -} Lai_t; - -#define ULI_CGI 0x01 -#define ULI_SAI 0x02 -#define ULI_RAI 0x04 -#define ULI_TAI 0x08 -#define ULI_ECGI 0x10 -#define ULI_LAI 0x20 - -typedef struct { - uint8_t present; - union { - Cgi_t cgi; - Sai_t sai; - Rai_t rai; - Tai_t tai; - Ecgi_t ecgi; - Lai_t lai; - } choice; -} Uli_t; - -typedef struct { - uint8_t mcc[3]; - uint8_t mnc[3]; -} ServingNetwork_t; - -typedef enum RatType_e { - RAT_TYPE_UTRAN = 1, - RAT_TYPE_GERAN, - RAT_TYPE_WLAN, - RAT_TYPE_GAN, - RAT_TYPE_HSPA_EVOLUTION, - RAT_TYPE_EUTRAN, -} RatType_t; - -/* WARNING: not complete... */ -typedef enum InterfaceType_e { - S1_U_ENODEB_GTP_U = 0, - S1_U_SGW_GTP_U, - S12_RNC_GTP_U, - S12_SGW_GTP_U, - S5_S8_SGW_GTP_U, - S5_S8_PGW_GTP_U, - S11_MME_GTP_C = 11, -} InterfaceType_t; - -typedef struct { - unsigned ipv4:1; - unsigned ipv6:1; - InterfaceType_t interface_type; - uint32_t teid; ///< TEID or GRE Key - uint32_t ipv4_address; - uint8_t ipv6_address[16]; -} FTeid_t; - -typedef enum SelectionMode_e { - MS_O_N_P_APN_S_V = 0, ///< MS or network provided APN, subscribed verified - MS_P_APN_S_N_V = 1, ///< MS provided APN, subscription not verified - N_P_APN_S_N_V = 2, ///< Network provided APN, subscription not verified -} SelectionMode_t; - -typedef enum PDNType_e { - IPv4 = 1, - IPv6 = 2, - Ipv4v6 = 3 -} PDNType_t; - -typedef struct { - PDNType_t pdn_type; - uint32_t ipv4_address; - uint8_t ipv6_address[16]; -} PAA_t; - -typedef struct { - uint32_t uplink_ambr; - uint32_t downlink_ambr; -} AMBR_t; - -typedef enum NodeIdType_e { - GLOBAL_UNICAST_IPv4 = 0, - GLOBAL_UNICAST_IPv6 = 1, - TYPE_EXOTIC = 2, ///< (MCC * 1000 + MNC) << 12 + Integer value assigned to MME by operator -} NodeIdType_t; - -typedef struct { - NodeIdType_t node_id_type; - uint16_t csid; ///< Connection Set Identifier - union { - uint32_t unicast_ipv4; - uint8_t unicast_ipv6[16]; - struct { - uint8_t mcc; - uint8_t mnc; - uint16_t operator_specific_id; - } exotic; - } node_id; -} FQ_CSID_t; - -typedef struct { - uint8_t time_zone; - unsigned daylight_saving_time:2; -} UETimeZone_t; - -typedef enum AccessMode_e { - CLOSED_MODE = 0, - HYBRID_MODE = 1, -} AccessMode_t; - -typedef struct { - uint8_t mcc[3]; - uint8_t mnc[3]; - uint32_t csg_id; - AccessMode_t access_mode; - unsigned lcsg:1; - unsigned cmi:1; -} UCI_t; - -#define PRE_EMPTION_CAPABILITY_ENABLED (0x0) -#define PRE_EMPTION_CAPABILITY_DISABLED (0x1) -#define PRE_EMPTION_VULNERABILITY_ENABLED (0x0) -#define PRE_EMPTION_VULNERABILITY_DISABLED (0x1) - -typedef struct { - /* PCI (Pre-emption Capability) - * The following values are defined: - * - PRE-EMPTION_CAPABILITY_ENABLED (0) - * This value indicates that the service data flow or bearer is allowed - * to get resources that were already assigned to another service data - * flow or bearer with a lower priority level. - * - PRE-EMPTION_CAPABILITY_DISABLED (1) - * This value indicates that the service data flow or bearer is not - * allowed to get resources that were already assigned to another service - * data flow or bearer with a lower priority level. - * Default value: PRE-EMPTION_CAPABILITY_DISABLED - */ - unsigned pci:1; - /* PL (Priority Level): defined in 3GPP TS.29.212 #5.3.45 - * Values 1 to 15 are defined, with value 1 as the highest level of priority. - * Values 1 to 8 should only be assigned for services that are authorized to - * receive prioritized treatment within an operator domain. Values 9 to 15 - * may be assigned to resources that are authorized by the home network and - * thus applicable when a UE is roaming. - */ - unsigned pl:4; - /* PVI (Pre-emption Vulnerability): defined in 3GPP TS.29.212 #5.3.47 - * Defines whether a service data flow can lose the resources assigned to it - * in order to admit a service data flow with higher priority level. - * The following values are defined: - * - PRE-EMPTION_VULNERABILITY_ENABLED (0) - * This value indicates that the resources assigned to the service data - * flow or bearer can be pre-empted and allocated to a service data flow - * or bearer with a higher priority level. - * - PRE-EMPTION_VULNERABILITY_DISABLED (1) - * This value indicates that the resources assigned to the service data - * flow or bearer shall not be pre-empted and allocated to a service data - * flow or bearer with a higher priority level. - * Default value: EMPTION_VULNERABILITY_ENABLED - */ - unsigned pvi:1; - uint8_t qci; - uint32_t mbr_uplink; ///< Maximum bit rate for uplink - uint32_t mbr_downlink; ///< Maximum bit rate for downlink - uint32_t gbr_uplink; ///< Guaranteed bit rate for uplink - uint32_t gbr_downlink; ///< Guaranteed bit rate for downlink -} BearerQOS_t; - -/* Cause as defined in 3GPP TS 29.274 #8.4 */ -typedef enum SGWCause_e { - /* Request / Initial message */ - LOCAL_DETACH = 2, - COMPLETE_DETACH = 3, - RAT_CHANGE_3GPP_TO_NON_3GPP = 4, ///< RAT changed from 3GPP to Non-3GPP - IMSI_DETACH_ONLY = 7, - /* Acceptance in a Response/Triggered message */ - REQUEST_ACCEPTED = 16, - REQUEST_ACCEPTED_PARTIALLY = 17, - NEW_PDN_TYPE_NW_PREF = 18, ///< New PDN type due to network preference - NEW_PDN_TYPE_SAB_ONLY = 19, ///< New PDN type due to single address bearer only - /* Rejection in a Response triggered message. */ - CONTEXT_NOT_FOUND = 64, - SYSTEM_FAILURE = 72, - GRE_KEY_NOT_FOUND = 80, - INVALID_PEER = 109, - M_PDN_APN_NOT_ALLOWED = 116, ///< Multiple PDN connections for a given APN not allowed. -} SGWCause_t; - -#endif /* SGW_LITE_IE_DEFS_H_ */ diff --git a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_task.c b/openair3/OPENAIRMME/SGW-LITE/sgw_lite_task.c deleted file mode 100644 index dcc2f10f32..0000000000 --- a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_task.c +++ /dev/null @@ -1,90 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <assert.h> - -#include <pthread.h> - -#include "intertask_interface.h" -#include "sgw_lite_defs.h" -#include "sgw_lite_handlers.h" -#include "mme_config.h" - -static pthread_t sgw_lite_task_thread; - -static void *sgw_lite_intertask_interface(void *args_p) { - while(1) { - MessageDef *received_message_p; - receive_msg(TASK_SGW_LITE, &received_message_p); - switch(received_message_p->messageId) { - case SGW_CREATE_SESSION_REQUEST: - { - /* We received a create session request from MME (with GTP abstraction here) - * procedures might be: - * E-UTRAN Initial Attach - * UE requests PDN connectivity - */ - sgw_lite_handle_create_session_request(&received_message_p->msg.sgwCreateSessionRequest); - } break; - case SGW_MODIFY_BEARER_REQUEST: - { - sgw_lite_handle_modify_bearer_request(&received_message_p->msg.sgwModifyBearerRequest); - } break; - case SGW_S1U_ENDPOINT_CREATED: - { - SGW_DEBUG("Received teid for S1-U: %d and status: %s\n", - received_message_p->msg.sgwS1UEndpointCreated.teid, - received_message_p->msg.sgwS1UEndpointCreated.status == 0 ? "Success" : "Failure"); - sgw_lite_handle_s1u_endpoint_created(&received_message_p->msg.sgwS1UEndpointCreated); - } break; - default: - { - SGW_DEBUG("Unknown message ID %d\n", received_message_p->messageId); - } break; - } - free(received_message_p); - received_message_p = NULL; - } - return NULL; -} - -int sgw_lite_init(const mme_config_t *mme_config) { - SGW_DEBUG("Initializing SGW LITE task interface\n"); - if (pthread_create(&sgw_lite_task_thread, NULL, &sgw_lite_intertask_interface, NULL) < 0) { - perror("pthread_create"); - return -1; - } - SGW_DEBUG("Initializing SGW LITE task interface: DONE\n"); - return 0; -} diff --git a/openair3/OPENAIRMME/TEST/Makefile.am b/openair3/OPENAIRMME/TEST/Makefile.am deleted file mode 100644 index 8e960af1a8..0000000000 --- a/openair3/OPENAIRMME/TEST/Makefile.am +++ /dev/null @@ -1,15 +0,0 @@ -AM_CFLAGS = @ADD_CFLAGS@ \ - -I$(top_srcdir)/SCTP \ - -I$(top_srcdir)/INTERTASK_INTERFACE \ - -I$(top_builddir)/S1AP/MESSAGES \ - -I$(top_builddir)/S1AP \ - -I$(top_srcdir)/S1AP \ - -I$(top_srcdir)/UTILS - -oaisim_mme_list_benchmark_LDADD = \ - $(top_builddir)/INTERTASK_INTERFACE/libitti.la \ - $(top_builddir)/S1AP/libs1ap.la \ - $(top_builddir)/SCTP/libsctpclient.la \ - $(top_builddir)/UTILS/libutils.la - -bin_PROGRAMS = oaisim_mme_list_benchmark \ No newline at end of file diff --git a/openair3/OPENAIRMME/TEST/Makefile.in b/openair3/OPENAIRMME/TEST/Makefile.in deleted file mode 100644 index 7a8a8dfd80..0000000000 --- a/openair3/OPENAIRMME/TEST/Makefile.in +++ /dev/null @@ -1,603 +0,0 @@ -# Makefile.in generated by automake 1.12 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -bin_PROGRAMS = oaisim_mme_list_benchmark$(EXEEXT) -subdir = TEST -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -oaisim_mme_list_benchmark_SOURCES = oaisim_mme_list_benchmark.c -oaisim_mme_list_benchmark_OBJECTS = \ - oaisim_mme_list_benchmark.$(OBJEXT) -oaisim_mme_list_benchmark_DEPENDENCIES = \ - $(top_builddir)/INTERTASK_INTERFACE/libitti.la \ - $(top_builddir)/S1AP/libs1ap.la \ - $(top_builddir)/SCTP/libsctpclient.la \ - $(top_builddir)/UTILS/libutils.la -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -SOURCES = oaisim_mme_list_benchmark.c -DIST_SOURCES = oaisim_mme_list_benchmark.c -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @ADD_CFLAGS@ \ - -I$(top_srcdir)/SCTP \ - -I$(top_srcdir)/INTERTASK_INTERFACE \ - -I$(top_builddir)/S1AP/MESSAGES \ - -I$(top_builddir)/S1AP \ - -I$(top_srcdir)/S1AP \ - -I$(top_srcdir)/UTILS - -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASN1C_CHECK = @ASN1C_CHECK@ -ASN1DIR = @ASN1DIR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOXYGEN = @DOXYGEN@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -POW_LIB = @POW_LIB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -oaisim_mme_list_benchmark_LDADD = \ - $(top_builddir)/INTERTASK_INTERFACE/libitti.la \ - $(top_builddir)/S1AP/libs1ap.la \ - $(top_builddir)/SCTP/libsctpclient.la \ - $(top_builddir)/UTILS/libutils.la - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu TEST/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu TEST/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p || test -f $$p1; \ - then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -oaisim_mme_list_benchmark$(EXEEXT): $(oaisim_mme_list_benchmark_OBJECTS) $(oaisim_mme_list_benchmark_DEPENDENCIES) $(EXTRA_oaisim_mme_list_benchmark_DEPENDENCIES) - @rm -f oaisim_mme_list_benchmark$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(oaisim_mme_list_benchmark_OBJECTS) $(oaisim_mme_list_benchmark_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oaisim_mme_list_benchmark.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -cscopelist: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ - clean-generic clean-libtool cscopelist ctags distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-binPROGRAMS install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-binPROGRAMS - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/TEST/oaisim_mme_client_test.c b/openair3/OPENAIRMME/TEST/oaisim_mme_client_test.c deleted file mode 100644 index 0352f7616a..0000000000 --- a/openair3/OPENAIRMME/TEST/oaisim_mme_client_test.c +++ /dev/null @@ -1,116 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <unistd.h> -#include <pthread.h> - -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netinet/sctp.h> -#include <arpa/inet.h> - -#include "sctp_primitives_client.h" - -#include "s1ap_common.h" -#include "s1ap_eNB.h" -#include "s1ap_mme.h" -#include "s1ap_ies_defs.h" - -char ip_addr[] = "127.0.0.1"; - -int assoc[2]; -uint8_t id[] = { 0x03, 0x56, 0xf0, 0xd8 }; -char identity[] = { 0x02, 0x08, 0x34 }; -char tac[] = { 0x00, 0x01 }; -char infoNAS[] = { 0x07, 0x42, 0x01, 0xE0, 0x06, 0x00, 0x00, 0xF1, 0x10, 0x00, 0x01, 0x00, 0x2C, -0x52, 0x01, 0xC1, 0x01, 0x09, 0x10, 0x03, 0x77, 0x77, 0x77, 0x07, 0x61, 0x6E, 0x72, 0x69, 0x74, -0x73, 0x75, 0x03, 0x63, 0x6F, 0x6D, 0x05, 0x01, 0x0A, 0x01, 0x20, 0x37, 0x27, 0x0E, 0x80, 0x80, -0x21, 0x0A, 0x03, 0x00, 0x00, 0x0A, 0x81, 0x06, 0x0A, 0x00, 0x00, 0x01, 0x50, 0x0B, 0xF6, -0x00, 0xF1, 0x10, 0x80, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01 }; - -uint32_t eNB_UE_S1AP_ID = 0; - -int s1ap_eNB_generate_initial_ue_message(uint8_t **buffer, - uint32_t *length); - -int s1ap_eNB_generate_initial_ue_message(uint8_t **buffer, - uint32_t *length) { - InitialUEMessageIEs initialUEmessageIEs; - InitialUEMessageIEs *initialUEmessageIEs_p = &initialUEmessageIEs; - - memset(initialUEmessageIEs_p, 0, sizeof(InitialUEMessageIEs)); - - initialUEmessageIEs.eNB_UE_S1AP_ID = eNB_UE_S1AP_ID; - initialUEmessageIEs.nas_pdu.buf = infoNAS; - initialUEmessageIEs.nas_pdu.size = sizeof(infoNAS); - - initialUEmessageIEs.tai.tAC.buf = tac; - initialUEmessageIEs.tai.tAC.size = 2; - initialUEmessageIEs.tai.pLMNidentity.buf = identity; - initialUEmessageIEs.tai.pLMNidentity.size = 3; - initialUEmessageIEs.eutran_cgi.pLMNidentity.buf = identity; - initialUEmessageIEs.eutran_cgi.pLMNidentity.size = 3; - initialUEmessageIEs.eutran_cgi.cell_ID.buf = id; - initialUEmessageIEs.eutran_cgi.cell_ID.size = 4; - initialUEmessageIEs.eutran_cgi.cell_ID.bits_unused = 4; - - initialUEmessageIEs.rrC_Establishment_Cause = RRC_Establishment_Cause_mo_Data; - - return s1ap_eNB_encode_initial_ue_message(initialUEmessageIEs_p, buffer, length); -} - -void recv_callback(uint8_t *buffer, uint32_t length) -{ - uint8_t *bufferS; - uint32_t len; - s1ap_eNB_generate_initial_ue_message(&bufferS, &len); - sctp_send_msg(assoc[0], 1, bufferS, len); -} - -int main(int argc, char *argv[]) -{ - asn_enc_rval_t retVal; - uint8_t *buffer; - uint32_t len; - - SupportedTAs_Item_t ta; - PLMNidentity_t plmnIdentity; - - asn_debug = 0; - asn1_xer_print = 0; - - S1SetupRequestIEs s1SetupRequest; - memset(&s1SetupRequest, 0, sizeof(S1SetupRequestIEs)); - s1SetupRequest.global_ENB_ID.eNB_ID.present = ENB_ID_PR_macroENB_ID; - s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.buf = id; - s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.size = 3; - s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.bits_unused = 4; - OCTET_STRING_fromBuf(&s1SetupRequest.global_ENB_ID.pLMNidentity, identity, 3); - - s1SetupRequest.presenceMask |= S1SETUPREQUESTIES_ENBNAME_PRESENT; - OCTET_STRING_fromBuf(&s1SetupRequest.eNBname, "ENB 1 eurecom", strlen("ENB 1 eurecom")); - - memset(&ta, 0, sizeof(SupportedTAs_Item_t)); - memset(&plmnIdentity, 0, sizeof(PLMNidentity_t)); - OCTET_STRING_fromBuf(&ta.tAC, tac, 2); - OCTET_STRING_fromBuf(&plmnIdentity, identity, 3); - ASN_SEQUENCE_ADD(&ta.broadcastPLMNs, &plmnIdentity); - ASN_SEQUENCE_ADD(&s1SetupRequest.supportedTAs, &ta); - - s1SetupRequest.defaultPagingDRX = PagingDRX_v64; - - s1ap_eNB_encode_s1setuprequest(&s1SetupRequest, &buffer, &len); - - assoc[0] = sctp_connect_to_remote_host(ip_addr, 36412, &recv_callback); - sctp_send_msg(0, 0, buffer, len); - - free(buffer); - -// generateUplinkNASTransport(&buffer, &len); -// sctp_send_msg(assoc[0], 0, buffer, len); -// s1ap_mme_decode_pdu(buffer, len); - - pthread_join(sctp_get_receiver_thread(assoc[0]), NULL); - - return(0); -} diff --git a/openair3/OPENAIRMME/TEST/oaisim_mme_list_benchmark.c b/openair3/OPENAIRMME/TEST/oaisim_mme_list_benchmark.c deleted file mode 100644 index a1bf82569a..0000000000 --- a/openair3/OPENAIRMME/TEST/oaisim_mme_list_benchmark.c +++ /dev/null @@ -1,273 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <stdio.h> -#include <string.h> -#include <unistd.h> -#include <pthread.h> - -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netinet/sctp.h> -#include <arpa/inet.h> - -#include "sctp_primitives_client.h" - -#include "s1ap_common.h" -#include "s1ap_eNB.h" -#include "s1ap_mme.h" -#include "s1ap_ies_defs.h" - -#include "s1ap_eNB_encoder.h" -#include "s1ap_eNB_decoder.h" - -#define NB_OF_ENB 10 -#define NB_OF_UES 100 - -static int connected_eNB = 0; -static char ip_addr[] = "127.0.0.1"; -uint32_t ipv4_local = 0x7F000001; -static uint8_t id[] = { 0x03, 0x56, 0xf0, 0xd8 }; -static char identity[] = { 0x02, 0x08, 0x34 }; -static char tac[] = { 0x00, 0x01 }; -static char infoNAS[] = { 0x07, 0x42, 0x01, 0xE0, 0x06, 0x00, 0x00, 0xF1, 0x10, 0x00, 0x01, 0x00, 0x2C, -0x52, 0x01, 0xC1, 0x01, 0x09, 0x10, 0x03, 0x77, 0x77, 0x77, 0x07, 0x61, 0x6E, 0x72, 0x69, 0x74, -0x73, 0x75, 0x03, 0x63, 0x6F, 0x6D, 0x05, 0x01, 0x0A, 0x01, 0x20, 0x37, 0x27, 0x0E, 0x80, 0x80, -0x21, 0x0A, 0x03, 0x00, 0x00, 0x0A, 0x81, 0x06, 0x0A, 0x00, 0x00, 0x01, 0x50, 0x0B, 0xF6, -0x00, 0xF1, 0x10, 0x80, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01 }; -uint32_t nb_eNB = NB_OF_ENB; -uint32_t nb_ue = NB_OF_UES; - -void s1ap_test_generate_s1_setup_request(uint32_t eNB_id, uint8_t **buffer, uint32_t *length); -int s1ap_test_generate_initial_ue_message(uint32_t eNB_UE_S1AP_ID, - uint8_t **buffer, - uint32_t *length); -int recv_callback(uint32_t assocId, - uint32_t stream, - uint8_t *buffer, - uint32_t length); -int sctp_connected(void *args, - uint32_t assocId, - uint32_t instreams, - uint32_t outstreams); - -void s1ap_test_generate_s1_setup_request(uint32_t eNB_id, uint8_t **buffer, uint32_t *length) { - S1SetupRequestIEs_t s1SetupRequest; - SupportedTAs_Item_t ta; - PLMNidentity_t plmnIdentity; - uint8_t *id_p = (uint8_t*)(&eNB_id + 1); - - memset(&s1SetupRequest, 0, sizeof(S1SetupRequestIEs_t)); - s1SetupRequest.global_ENB_ID.eNB_ID.present = ENB_ID_PR_macroENB_ID; - s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.buf = id_p; - s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.size = 3; - s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.bits_unused = 4; - OCTET_STRING_fromBuf(&s1SetupRequest.global_ENB_ID.pLMNidentity, identity, 3); - - s1SetupRequest.presenceMask |= S1SETUPREQUESTIES_ENBNAME_PRESENT; - OCTET_STRING_fromBuf(&s1SetupRequest.eNBname, "ENB 1 eurecom", strlen("ENB 1 eurecom")); - - memset(&ta, 0, sizeof(SupportedTAs_Item_t)); - memset(&plmnIdentity, 0, sizeof(PLMNidentity_t)); - OCTET_STRING_fromBuf(&ta.tAC, tac, 2); - OCTET_STRING_fromBuf(&plmnIdentity, identity, 3); - ASN_SEQUENCE_ADD(&ta.broadcastPLMNs, &plmnIdentity); - ASN_SEQUENCE_ADD(&s1SetupRequest.supportedTAs, &ta); - - s1SetupRequest.defaultPagingDRX = PagingDRX_v64; - - s1ap_eNB_encode_s1_setup_request(&s1SetupRequest, buffer, length); -} - -int s1ap_test_generate_initial_ue_message(uint32_t eNB_UE_S1AP_ID, - uint8_t **buffer, - uint32_t *length) { - InitialUEMessageIEs_t initialUEmessageIEs; - InitialUEMessageIEs_t *initialUEmessageIEs_p = &initialUEmessageIEs; - - memset(initialUEmessageIEs_p, 0, sizeof(InitialUEMessageIEs_t)); - - initialUEmessageIEs.eNB_UE_S1AP_ID = eNB_UE_S1AP_ID & 0x00ffffff; - initialUEmessageIEs.nas_pdu.buf = (uint8_t *)infoNAS; - initialUEmessageIEs.nas_pdu.size = sizeof(infoNAS); - - initialUEmessageIEs.tai.tAC.buf = (uint8_t *)tac; - initialUEmessageIEs.tai.tAC.size = 2; - initialUEmessageIEs.tai.pLMNidentity.buf = (uint8_t *)identity; - initialUEmessageIEs.tai.pLMNidentity.size = 3; - initialUEmessageIEs.eutran_cgi.pLMNidentity.buf = (uint8_t *)identity; - initialUEmessageIEs.eutran_cgi.pLMNidentity.size = 3; - initialUEmessageIEs.eutran_cgi.cell_ID.buf = (uint8_t *)id; - initialUEmessageIEs.eutran_cgi.cell_ID.size = 4; - initialUEmessageIEs.eutran_cgi.cell_ID.bits_unused = 4; - - initialUEmessageIEs.rrC_Establishment_Cause = RRC_Establishment_Cause_mo_Data; - - return s1ap_eNB_encode_initial_ue_message(initialUEmessageIEs_p, buffer, length); -} - -int s1ap_test_generate_initial_setup_resp(uint32_t eNB_UE_S1AP_ID, - uint32_t mme_UE_S1AP_ID, - uint8_t eRAB_id, - uint32_t teid, - uint8_t **buffer, - uint32_t *length) { - InitialContextSetupResponseIEs_t initialResponseIEs; - InitialContextSetupResponseIEs_t *initialResponseIEs_p = &initialResponseIEs; - - E_RABSetupItemCtxtSURes_t e_RABSetupItemCtxtSURes; - - memset(initialResponseIEs_p, 0, sizeof(InitialContextSetupResponseIEs_t)); - memset(&e_RABSetupItemCtxtSURes, 0, sizeof(E_RABSetupItemCtxtSURes_t)); - - initialResponseIEs_p->mme_ue_s1ap_id = mme_UE_S1AP_ID; - initialResponseIEs_p->eNB_UE_S1AP_ID = eNB_UE_S1AP_ID; - - e_RABSetupItemCtxtSURes.e_RAB_ID = eRAB_id; - e_RABSetupItemCtxtSURes.transportLayerAddress.buf = (uint8_t *)&ipv4_local; - e_RABSetupItemCtxtSURes.transportLayerAddress.size = 4; - - e_RABSetupItemCtxtSURes.gTP_TEID.buf = (uint8_t *)&teid; - e_RABSetupItemCtxtSURes.gTP_TEID.size = 4; - - ASN_SEQUENCE_ADD(&initialResponseIEs_p->e_RABSetupListCtxtSURes.e_RABSetupItemCtxtSURes, &e_RABSetupItemCtxtSURes); - - return s1ap_eNB_encode_initial_context_setup_response(initialResponseIEs_p, buffer, length); -} - -int recv_callback(uint32_t assocId, - uint32_t stream, - uint8_t *buffer, - uint32_t length) { - s1ap_message message; - uint8_t *buffer2; - uint32_t len; - int j; - - if (s1ap_eNB_decode_pdu(&message, buffer, length) < 0) { - fprintf(stderr, "s1ap_eNB_decode_pdu returned status < 0\n"); - free(buffer); - return -1; - } - - if (message.procedureCode == ProcedureCode_id_S1Setup - && message.direction == S1AP_PDU_PR_successfulOutcome) { - for (j = 0; j < nb_ue; j++) { - s1ap_test_generate_initial_ue_message(j, &buffer2, &len); - if (sctp_send_msg(assocId, j % 64 + 1, buffer2, len) < 0) { - fprintf(stderr, "sctp_send_msg returned status < 0\nSomething bad happened on SCTP layer\n"); - free(buffer2); - break; - } - free(buffer2); - } - } else if (message.procedureCode == ProcedureCode_id_InitialContextSetup - && message.direction == S1AP_PDU_PR_initiatingMessage) { - fprintf(stdout, "Received InitialContextSetup request\n"); - s1ap_test_generate_initial_setup_resp(message.msg.initialContextSetupRequestIEs.eNB_UE_S1AP_ID, - message.msg.initialContextSetupRequestIEs.mme_ue_s1ap_id, - 0x5, - 0x1, - &buffer2, - &len); - if (sctp_send_msg(assocId, stream, buffer2, len) < 0) { - fprintf(stderr, "sctp_send_msg returned status < 0\nSomething bad happened on SCTP layer\n"); - free(buffer2); - } - free(buffer2); - } else { - fprintf(stderr, "Received unexpected message %d %d\n", message.procedureCode, message.direction); - free(buffer); - return -1; - } - - free(buffer); - - return 0; -} - -int sctp_connected(void *args, - uint32_t assocId, - uint32_t instreams, - uint32_t outstreams) { - uint8_t *buffer; - uint32_t len; - - fprintf(stdout, "New association %d\n", assocId); - - s1ap_test_generate_s1_setup_request(assocId * nb_eNB, &buffer, &len); - - if (sctp_send_msg(assocId, 0, buffer, len) < 0) - { - free(buffer); - fprintf(stderr, "sctp_send_msg returned status < 0. Something bad happened on SCTP layer\n"); - exit(0); - } - free(buffer); - - connected_eNB++; - return 0; -} - -int main(int argc, char *argv[]) -{ - asn_enc_rval_t retVal; - - int i; - - SupportedTAs_Item_t ta; - PLMNidentity_t plmnIdentity; - - asn_debug = 0; - asn1_xer_print = 0; - - if (argc > 1) { - nb_eNB = atoi(argv[1]); - if (argc > 2) - nb_ue = atoi(argv[2]); - } - - for (i = 0; i < nb_eNB; i++) { - sctp_connect_to_remote_host(ip_addr, 36412, 18, NULL, sctp_connected, recv_callback); - } - while (1) { - sleep(1); - } - - -// generateUplinkNASTransport(&buffer, &len); -// sctp_send_msg(assoc[0], 0, buffer, len); -// s1ap_mme_decode_pdu(buffer, len); - - sctp_terminate(); - - return(0); -} \ No newline at end of file diff --git a/openair3/OPENAIRMME/TEST/oaisim_mme_s1ap_test.c b/openair3/OPENAIRMME/TEST/oaisim_mme_s1ap_test.c deleted file mode 100644 index 605114d021..0000000000 --- a/openair3/OPENAIRMME/TEST/oaisim_mme_s1ap_test.c +++ /dev/null @@ -1,29 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ \ No newline at end of file diff --git a/openair3/OPENAIRMME/TEST/oaisim_mme_sctp_test.c b/openair3/OPENAIRMME/TEST/oaisim_mme_sctp_test.c deleted file mode 100644 index 639ecebab4..0000000000 --- a/openair3/OPENAIRMME/TEST/oaisim_mme_sctp_test.c +++ /dev/null @@ -1,86 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <stdio.h> -#include <string.h> -#include <unistd.h> -#include <pthread.h> - -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netinet/sctp.h> -#include <arpa/inet.h> - -#include "sctp_primitives_client.h" - -#include "s1ap_common.h" -#include "s1ap_eNB.h" -#include "s1ap_mme.h" -#include "s1ap_ies_defs.h" - -#include "s1ap_eNB_encoder.h" -#include "s1ap_eNB_decoder.h" - -int recv_callback(uint32_t assocId, - uint32_t stream, - uint8_t *buffer, - uint32_t length) { - - free(buffer); - - return 0; -} - -int sctp_connected(void *args, - uint32_t assocId, - uint32_t instreams, - uint32_t outstreams) { - - return 0; -} - -int main(int argc, char *argv[]) -{ - asn_enc_rval_t retVal; - - int i; - - for (i = 0; i < nb_eNB; i++) { - sctp_connect_to_remote_host(ip_addr, 36412, NULL, sctp_connected, recv_callback); - } - while (1) { - sleep(1); - } - - sctp_terminate(); - - return(0); -} \ No newline at end of file diff --git a/openair3/OPENAIRMME/UDP/Makefile.am b/openair3/OPENAIRMME/UDP/Makefile.am deleted file mode 100644 index 08b30b3e14..0000000000 --- a/openair3/OPENAIRMME/UDP/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ -noinst_LTLIBRARIES = libudpserver.la -libudpserver_la_LDFLAGS = -all-static - -AM_CFLAGS = @ADD_CFLAGS@ - -AM_CPPFLAGS = \ - -I$(top_srcdir)/INTERTASK_INTERFACE \ - -I$(top_srcdir)/UTILS - -libudpserver_la_SOURCES = \ - udp_primitives_server.h udp_primitives_server.c \ No newline at end of file diff --git a/openair3/OPENAIRMME/UDP/Makefile.in b/openair3/OPENAIRMME/UDP/Makefile.in deleted file mode 100644 index 383d40beef..0000000000 --- a/openair3/OPENAIRMME/UDP/Makefile.in +++ /dev/null @@ -1,558 +0,0 @@ -# Makefile.in generated by automake 1.12 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = UDP -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libudpserver_la_LIBADD = -am_libudpserver_la_OBJECTS = udp_primitives_server.lo -libudpserver_la_OBJECTS = $(am_libudpserver_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -libudpserver_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libudpserver_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -SOURCES = $(libudpserver_la_SOURCES) -DIST_SOURCES = $(libudpserver_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @ADD_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASN1C_CHECK = @ASN1C_CHECK@ -ASN1DIR = @ASN1DIR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOXYGEN = @DOXYGEN@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -POW_LIB = @POW_LIB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -noinst_LTLIBRARIES = libudpserver.la -libudpserver_la_LDFLAGS = -all-static -AM_CPPFLAGS = \ - -I$(top_srcdir)/INTERTASK_INTERFACE \ - -I$(top_srcdir)/UTILS - -libudpserver_la_SOURCES = \ - udp_primitives_server.h udp_primitives_server.c - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu UDP/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu UDP/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -libudpserver.la: $(libudpserver_la_OBJECTS) $(libudpserver_la_DEPENDENCIES) $(EXTRA_libudpserver_la_DEPENDENCIES) - $(AM_V_CCLD)$(libudpserver_la_LINK) $(libudpserver_la_OBJECTS) $(libudpserver_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/udp_primitives_server.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -cscopelist: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ - distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/UDP/udp_primitives_server.c b/openair3/OPENAIRMME/UDP/udp_primitives_server.c deleted file mode 100644 index aee1e993ae..0000000000 --- a/openair3/OPENAIRMME/UDP/udp_primitives_server.c +++ /dev/null @@ -1,201 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include <errno.h> - -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> - -#include <pthread.h> - -#include "intertask_interface.h" -#include "udp_primitives_server.h" - -#define IPV4_ADDR "%u.%u.%u.%u" -#define IPV4_ADDR_FORMAT(aDDRESS) \ - (uint8_t)((aDDRESS) & 0x000000ff), \ - (uint8_t)(((aDDRESS) & 0x0000ff00) >> 8 ), \ - (uint8_t)(((aDDRESS) & 0x00ff0000) >> 16), \ - (uint8_t)(((aDDRESS) & 0xff000000) >> 24) - -#ifndef UDP_DEBUG -# define UDP_DEBUG(x, args...) do { fprintf(stdout, "[UDP] [D]"x, ##args); } while(0) -# define UDP_ERROR(x, args...) do { fprintf(stderr, "[UDP] [E]"x, ##args); } while(0) -#endif - -/* Reader thread: reads messages from network */ -static pthread_t udp_recv_thread; -/* UDP task thread: read messages from other tasks */ -static pthread_t udp_task_thread; - -void *udp_receiver_thread(void *args_p); -static int udp_create_socket(int port, char *address); -static int udp_fd = -1; - -static int udp_create_socket(int port, char *address) { - struct sockaddr_in addr; - int fd; - - UDP_DEBUG("Creating new listen socket on address "IPV4_ADDR" and port %d\n", - IPV4_ADDR_FORMAT(inet_addr(address)), port); - - /* Create UDP socket */ - if ((fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) { - /* Socket creation has failed... */ - UDP_ERROR("Socket creation failed (%s)\n", strerror(errno)); - return fd; - } - - memset(&addr, 0, sizeof(struct sockaddr_in)); - addr.sin_family = AF_INET; - addr.sin_port = htons(port); - addr.sin_addr.s_addr = inet_addr(address); - if (bind(fd, (struct sockaddr *)&addr, sizeof(struct sockaddr_in)) < 0) { - /* Bind failed */ - UDP_ERROR("Socket bind failed (%s)\n", strerror(errno)); - close(fd); - return -1; - } - - udp_fd = fd; - - if (pthread_create(&udp_recv_thread, NULL, &udp_receiver_thread, &fd) < 0) { - UDP_ERROR("Pthred_create failed (%s)\n", strerror(errno)); - return -1; - } - return fd; -} - -void *udp_receiver_thread(void *args_p) { - int *fd_p = (int*)args_p; - int fd = *fd_p; - - while (1) { - uint8_t buffer[1024]; - int n; - socklen_t from_len; - struct sockaddr_in addr; - - from_len = (socklen_t)sizeof(struct sockaddr_in); - - if ((n = recvfrom(fd, buffer, sizeof(buffer), 0, - (struct sockaddr *)&addr, &from_len)) < 0) { - UDP_ERROR("Recvfrom failed %s\n", strerror(errno)); - break; - } else { - MessageDef *message_p; - Gtpv1uDataReq *gtpv1u_data_req_p; - uint8_t *forwarded_buffer = NULL; - - forwarded_buffer = calloc(n, sizeof(uint8_t)); - - memcpy(forwarded_buffer, buffer, n); - - message_p = (MessageDef *)malloc(sizeof(MessageDef)); - message_p->messageId = GTPV1U_DATA_REQ; - message_p->originTaskId = TASK_UDP; - message_p->destinationTaskId = TASK_GTPV1_U; - gtpv1u_data_req_p = &message_p->msg.gtpv1uDataReq; - gtpv1u_data_req_p->buffer = forwarded_buffer; - gtpv1u_data_req_p->buffer_length = n; - gtpv1u_data_req_p->port = htons(addr.sin_port); - gtpv1u_data_req_p->peer_addr = addr.sin_addr.s_addr; - UDP_DEBUG("Msg of length %d received from %s:%u\n", - n, inet_ntoa(addr.sin_addr), ntohs(addr.sin_port)); - if (send_msg_to_task(TASK_GTPV1_U, message_p) < 0) { - UDP_DEBUG("Failed to send message %d to task %d\n", - GTPV1U_DATA_REQ, TASK_GTPV1_U); - break; - } - } - } - close(fd); - fd = -1; - free(args_p); - return NULL; -} - -static void *udp_intertask_interface(void *args_p) { - while(1) { - MessageDef *receivedMessage; - receive_msg(TASK_UDP, &receivedMessage); - switch(receivedMessage->messageId) { - case UDP_INIT: - { - UdpInit *init_p; - init_p = &receivedMessage->msg.udpInit; - udp_create_socket(init_p->port, init_p->address); - } break; - case UDP_DATA_REQ: - { - UdpDataReq *udp_data_req_p; - struct sockaddr_in peer_addr; - udp_data_req_p = &receivedMessage->msg.udpDataReq; - - memset(&peer_addr, 0, sizeof(struct sockaddr_in)); - - peer_addr.sin_family = AF_INET; - peer_addr.sin_port = htons(udp_data_req_p->peer_port); - peer_addr.sin_addr.s_addr = (udp_data_req_p->peer_address); - - UDP_DEBUG("Sending message of size %u to "IPV4_ADDR" and port %u\n", - udp_data_req_p->buffer_length, - IPV4_ADDR_FORMAT(udp_data_req_p->peer_address), - udp_data_req_p->peer_port); - - sendto(udp_fd, udp_data_req_p->buffer, - udp_data_req_p->buffer_length, 0, - (struct sockaddr *)&peer_addr, sizeof(struct sockaddr_in)); - } break; - default: - { - UDP_DEBUG("Unknown message ID %d\n", receivedMessage->messageId); - } break; - } - free(receivedMessage); - receivedMessage = NULL; - } - return NULL; -} - -int udp_init(const mme_config_t *mme_config) { - UDP_DEBUG("Initializing UDP task interface\n"); - if (pthread_create(&udp_task_thread, NULL, &udp_intertask_interface, NULL) < 0) { - UDP_ERROR("udp pthread_create (%s)\n", strerror(errno)); - return -1; - } - UDP_DEBUG("Initializing UDP task interface: DONE\n"); - return 0; -} diff --git a/openair3/OPENAIRMME/UDP/udp_primitives_server.h b/openair3/OPENAIRMME/UDP/udp_primitives_server.h deleted file mode 100644 index a75f25287b..0000000000 --- a/openair3/OPENAIRMME/UDP/udp_primitives_server.h +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include "mme_config.h" - -#ifndef UDP_PRIMITIVES_SERVER_H_ -#define UDP_PRIMITIVES_SERVER_H_ - -/** \brief UDP task init function. - @returns -1 on error, 0 otherwise. - **/ -int udp_init(const mme_config_t *mme_config); - -#endif /* UDP_PRIMITIVES_SERVER_H_ */ diff --git a/openair3/OPENAIRMME/UTILS/Makefile.am b/openair3/OPENAIRMME/UTILS/Makefile.am deleted file mode 100644 index 6caf8245dd..0000000000 --- a/openair3/OPENAIRMME/UTILS/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ -SUBDIRS = . TIMER - -AM_CFLAGS = @ADD_CFLAGS@ - -noinst_LTLIBRARIES = libutils.la -libutils_la_LDFLAGS = -all-static -libutils_la_SOURCES = \ - log.c log.h \ - mme_config.c mme_config.h \ - mme_default_values.h \ - queue.h tree.h \ No newline at end of file diff --git a/openair3/OPENAIRMME/UTILS/Makefile.in b/openair3/OPENAIRMME/UTILS/Makefile.in deleted file mode 100644 index 6cfdcbf695..0000000000 --- a/openair3/OPENAIRMME/UTILS/Makefile.in +++ /dev/null @@ -1,712 +0,0 @@ -# Makefile.in generated by automake 1.12 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = UTILS -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libutils_la_LIBADD = -am_libutils_la_OBJECTS = log.lo mme_config.lo -libutils_la_OBJECTS = $(am_libutils_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -libutils_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libutils_la_LDFLAGS) $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -SOURCES = $(libutils_la_SOURCES) -DIST_SOURCES = $(libutils_la_SOURCES) -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @ADD_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASN1C_CHECK = @ASN1C_CHECK@ -ASN1DIR = @ASN1DIR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOXYGEN = @DOXYGEN@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -POW_LIB = @POW_LIB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -SUBDIRS = . TIMER -noinst_LTLIBRARIES = libutils.la -libutils_la_LDFLAGS = -all-static -libutils_la_SOURCES = \ - log.c log.h \ - mme_config.c mme_config.h \ - mme_default_values.h \ - queue.h tree.h - -all: all-recursive - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu UTILS/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu UTILS/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -libutils.la: $(libutils_la_OBJECTS) $(libutils_la_DEPENDENCIES) $(EXTRA_libutils_la_DEPENDENCIES) - $(AM_V_CCLD)$(libutils_la_LINK) $(libutils_la_OBJECTS) $(libutils_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mme_config.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(RECURSIVE_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done -cscopelist-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile $(LTLIBRARIES) -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \ - cscopelist-recursive ctags-recursive install-am install-strip \ - tags-recursive - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am check check-am clean clean-generic clean-libtool \ - clean-noinstLTLIBRARIES cscopelist cscopelist-recursive ctags \ - ctags-recursive distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-recursive uninstall uninstall-am - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/UTILS/TIMER/Makefile.am b/openair3/OPENAIRMME/UTILS/TIMER/Makefile.am deleted file mode 100644 index 166ce2901d..0000000000 --- a/openair3/OPENAIRMME/UTILS/TIMER/Makefile.am +++ /dev/null @@ -1,8 +0,0 @@ -AM_CFLAGS = @ADD_CFLAGS@ \ - -I$(top_srcdir)/UTILS \ - -I$(top_srcdir)/INTERTASK_INTERFACE - -noinst_LTLIBRARIES = libtimer.la -libtimer_la_LDFLAGS = -all-static -libtimer_la_SOURCES = \ - timer.c timer.h \ No newline at end of file diff --git a/openair3/OPENAIRMME/UTILS/TIMER/Makefile.in b/openair3/OPENAIRMME/UTILS/TIMER/Makefile.in deleted file mode 100644 index 42b8592767..0000000000 --- a/openair3/OPENAIRMME/UTILS/TIMER/Makefile.in +++ /dev/null @@ -1,556 +0,0 @@ -# Makefile.in generated by automake 1.12 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = UTILS/TIMER -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libtimer_la_LIBADD = -am_libtimer_la_OBJECTS = timer.lo -libtimer_la_OBJECTS = $(am_libtimer_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -libtimer_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libtimer_la_LDFLAGS) $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -SOURCES = $(libtimer_la_SOURCES) -DIST_SOURCES = $(libtimer_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADD_CFLAGS = @ADD_CFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_CFLAGS = @ADD_CFLAGS@ \ - -I$(top_srcdir)/UTILS \ - -I$(top_srcdir)/INTERTASK_INTERFACE - -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ASN1C_CHECK = @ASN1C_CHECK@ -ASN1DIR = @ASN1DIR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOXYGEN = @DOXYGEN@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -POW_LIB = @POW_LIB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -noinst_LTLIBRARIES = libtimer.la -libtimer_la_LDFLAGS = -all-static -libtimer_la_SOURCES = \ - timer.c timer.h - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu UTILS/TIMER/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu UTILS/TIMER/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -libtimer.la: $(libtimer_la_OBJECTS) $(libtimer_la_DEPENDENCIES) $(EXTRA_libtimer_la_DEPENDENCIES) - $(AM_V_CCLD)$(libtimer_la_LINK) $(libtimer_la_OBJECTS) $(libtimer_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timer.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -cscopelist: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ - distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/openair3/OPENAIRMME/UTILS/TIMER/timer.c b/openair3/OPENAIRMME/UTILS/TIMER/timer.c deleted file mode 100644 index d3d62381ad..0000000000 --- a/openair3/OPENAIRMME/UTILS/TIMER/timer.c +++ /dev/null @@ -1,252 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> - -#include <pthread.h> -#include <signal.h> -#include <time.h> -#include <errno.h> - -#include "intertask_interface.h" -#include "timer.h" - -#include "queue.h" - -#define SIG SIGRTMIN - -#ifndef TMR_DEBUG -# define TMR_DEBUG(x, args...) do { fprintf(stdout, "[TMR] [D]"x, ##args); } while(0) -#endif -#ifndef TMR_ERROR -# define TMR_ERROR(x, args...) do { fprintf(stdout, "[TMR] [E]"x, ##args); } while(0) -#endif - -struct timer_elm_s { - uint32_t task_id; ///< Task ID which has requested the timer - timer_t timer; ///< Unique timer id - timer_type_t type; ///< Timer type - STAILQ_ENTRY(timer_elm_s) entries; ///< Pointer to next element -}; - -/* TIMER task thread: read messages from other tasks */ -static pthread_t timer_task_thread; - -static STAILQ_HEAD(timer_list_head, timer_elm_s) timer_queue; - -static pthread_mutex_t timer_list_mutex; - -#define TIMER_SEARCH(var, timerfield, timervalue) \ -do { \ - STAILQ_FOREACH(var, &timer_queue, entries) { \ - if (((var)->timerfield == timervalue)) \ - break; \ - } \ -} while(0) - -static void timer_expiry_handler(int sig, siginfo_t *si_p, void *arg_p) { - - TMR_DEBUG("Received timer ex"); - - if (si_p->si_ptr == NULL) { - /* Pointer may not exist */ - TMR_DEBUG("Received timer expiry for non existing timer\n"); - } else { - struct timer_elm_s *timer_p; - MessageDef *message_p; - TimerHasExpired *timer_expired_p; - uint32_t task_id; - - /* Get back pointer to timer list element */ - timer_p = (struct timer_elm_s *)si_p->si_ptr; - task_id = timer_p->task_id; - message_p = alloc_new_message(TASK_TIMER, timer_p->task_id, TIMER_HAS_EXPIRED); - - timer_expired_p = &message_p->msg.timerHasExpired; - timer_expired_p->timer_id = (long)timer_p->timer; - - /* Timer is a one shot timer, remove it */ - if (timer_p->type == TIMER_ONE_SHOT) { - if (timer_delete(timer_p->timer) < 0) { - TMR_DEBUG("Failed to delete timer %ld\n", (long)timer_p->timer); - } - pthread_mutex_lock(&timer_list_mutex); - STAILQ_REMOVE(&timer_queue, timer_p, timer_elm_s, entries); - pthread_mutex_unlock(&timer_list_mutex); - free(timer_p); - timer_p = NULL; - } - - /* Notify task of timer expiry */ - if (send_msg_to_task(task_id, message_p) < 0) { - TMR_DEBUG("Failed to send msg TIMER_HAS_EXPIRED to task %u\n", task_id); - } - } -} - -int timer_setup( - uint32_t interval_sec, - uint32_t interval_us, - uint32_t task_id, - timer_type_t type, - long *timer_id) { - - struct sigevent se; - struct itimerspec its; - struct sigaction sa; - struct timer_elm_s *timer_p; - timer_t timer; - - /* Setting up signal handler */ - sa.sa_flags = SA_SIGINFO; - sa.sa_sigaction = timer_expiry_handler; - sigemptyset(&sa.sa_mask); - if (sigaction(SIG, &sa, NULL) < 0) { - TMR_ERROR("Failed to setup signal handler (%s)\n", strerror(errno)); - return -1; - } - - /* Allocate new timer list element */ - timer_p = malloc(sizeof(struct timer_elm_s)); - if (timer_p == NULL) { - TMR_ERROR("Failed to create new timer element\n"); - return -1; - } - timer_p->task_id = task_id; - - /* Setting up alarm */ - /* Set and enable alarm */ - se.sigev_notify = SIGEV_SIGNAL; - se.sigev_signo = SIG; - se.sigev_value.sival_ptr = timer_p; - /* At the timer creation, the timer structure will be filled in with timer_id, - * which is unique for this process. This id is allocated by kernel and the - * value might be used to distinguish timers. - */ - if (timer_create(CLOCK_REALTIME, &se, &timer) < 0) { - TMR_ERROR("Failed to create timer: (%s:%d)\n", strerror(errno), errno); - free(timer_p); - return -1; - } - - /* Fill in the first expiration value. */ - its.it_value.tv_sec = interval_sec; - its.it_value.tv_nsec = interval_us * 1000; - - if (type == TIMER_PERIODIC) { - /* Asked for periodic timer. We set the interval time */ - its.it_interval.tv_sec = interval_sec; - its.it_interval.tv_nsec = interval_us * 1000; - } else { - /* Asked for one-shot timer. Do not set the interval field */ - its.it_interval.tv_sec = 0; - its.it_interval.tv_nsec = 0; - } - timer_settime(timer, 0, &its, NULL); - /* Simply set the timer_id argument. so it can be used by caller */ - *timer_id = (long)timer; - TMR_DEBUG("Requesting new %s timer with id 0x%08lu that expires within " - "%d sec and %d usec\n", - type == TIMER_PERIODIC ? "periodic" : "single shot", - *timer_id, interval_sec, interval_us); - - timer_p->timer = timer; - - /* Lock the queue and insert the timer at the tail */ - pthread_mutex_lock(&timer_list_mutex); - STAILQ_INSERT_TAIL(&timer_queue, timer_p, entries); - pthread_mutex_unlock(&timer_list_mutex); - - return 0; -} - -int timer_remove(long timer_id) { - struct timer_elm_s *timer_p; - int rc = 0; - - TIMER_SEARCH(timer_p, timer, ((timer_t)timer_id)); - - /* We didn't find the timer in list */ - if (timer_p == NULL) { - return -1; - } - - pthread_mutex_lock(&timer_list_mutex); - STAILQ_REMOVE(&timer_queue, timer_p, timer_elm_s, entries); - pthread_mutex_unlock(&timer_list_mutex); - - if (timer_delete(timer_p->timer) < 0) { - TMR_DEBUG("Failed to delete timer %ld\n", (long)timer_p->timer); - rc = -1; - } - free(timer_p); - timer_p = NULL; - return rc; -} - -static void *timer_intertask_interface(void *args_p) { - while(1) { - MessageDef *received_message_p; - receive_msg(TASK_TIMER, &received_message_p); - switch(received_message_p->messageId) { - default: - { - TMR_DEBUG("Unknown message ID %d\n", received_message_p->messageId); - } break; - } - free(received_message_p); - received_message_p = NULL; - } - return NULL; -} - -int timer_init(const mme_config_t *mme_config) { -// sigset_t set; - - TMR_DEBUG("Initializing TIMER task interface\n"); - - STAILQ_INIT(&timer_queue); - -// sigemptyset(&set); -// /* Enables all signals for timer task. */ -// if (pthread_sigmask(SIG_BLOCK, &set, NULL) != 0) { -// perror("pthread_sigmask"); -// } - - if (pthread_create(&timer_task_thread, NULL, &timer_intertask_interface, NULL) < 0) { - TMR_ERROR("udp pthread_create (%s)\n", strerror(errno)); - return -1; - } - TMR_DEBUG("Initializing TIMER task interface: DONE\n"); - return 0; -} diff --git a/openair3/OPENAIRMME/UTILS/TIMER/timer.h b/openair3/OPENAIRMME/UTILS/TIMER/timer.h deleted file mode 100644 index 7b4ebbbec0..0000000000 --- a/openair3/OPENAIRMME/UTILS/TIMER/timer.h +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include "mme_config.h" - -#ifndef TIMER_H_ -#define TIMER_H_ - -typedef enum timer_type_s { - TIMER_PERIODIC, - TIMER_ONE_SHOT, - TIMER_TYPE_MAX, -} timer_type_t; - -/** \brief Request a new timer - * \param interval_sec timer interval in seconds - * \param interval_us timer interval in micro seconds - * \param task_id task id of the task requesting the timer - * \param type timer type - * \param timer_id unique timer identifier - * @returns -1 on failure, 0 otherwise - **/ -int timer_setup( - uint32_t interval_sec, - uint32_t interval_us, - uint32_t task_id, - timer_type_t type, - long *timer_id); - -/** \brief Remove the timer from list - * \param timer_id unique timer id - * @returns -1 on failure, 0 otherwise - **/ - -int timer_remove(long timer_id); - -/** \brief Initialize timer task and its API - * \param mme_config MME common configuration - * @returns -1 on failure, 0 otherwise - **/ -int timer_init(const mme_config_t *mme_config); - -#endif diff --git a/openair3/OPENAIRMME/UTILS/log.c b/openair3/OPENAIRMME/UTILS/log.c deleted file mode 100644 index 2d73111676..0000000000 --- a/openair3/OPENAIRMME/UTILS/log.c +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include "log.h" - -/* mme log */ -int log_enabled = 0; -/* asn1c debug */ -extern int asn_debug; -extern int asn1_xer_print; - -int log_init(const mme_config_t *mme_config) { - if (mme_config->verbosity_level == 1) { - log_enabled = 1; - asn_debug = 0; - asn1_xer_print = 1; - } else if (mme_config->verbosity_level == 2) { - log_enabled = 1; - asn_debug = 1; - asn1_xer_print = 1; - } else { - asn1_xer_print = 0; - asn_debug = 0; - log_enabled = 0; - } - return 0; -} diff --git a/openair3/OPENAIRMME/UTILS/log.h b/openair3/OPENAIRMME/UTILS/log.h deleted file mode 100644 index db6d60a0a2..0000000000 --- a/openair3/OPENAIRMME/UTILS/log.h +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include "mme_config.h" - -#ifndef LOG_H_ -#define LOG_H_ - -int log_init(const mme_config_t *mme_config); - -#endif /* LOG_H_ */ diff --git a/openair3/OPENAIRMME/UTILS/mme_config.c b/openair3/OPENAIRMME/UTILS/mme_config.c deleted file mode 100644 index ab960b8374..0000000000 --- a/openair3/OPENAIRMME/UTILS/mme_config.c +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#if HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <stdint.h> -#include <unistd.h> - -#include "mme_config.h" - -static void config_init(mme_config_t *mme_config) { - mme_config->verbosity_level = 0; - mme_config->timer_config.root_timer_value_ms = MME_TIMER_EXPIRY_MS; - mme_config->gtpv1_u_config.port_number = GTPV1_U_PORT_NUMBER; - mme_config->s1ap_config.port_number = S1AP_PORT_NUMBER; - mme_config->itti_config.sched_policy = ITTI_TASK_SCHED_POLICY; -} - -static void usage(void) { - fprintf(stdout, "==== EURECOM %s v%s ====\n", PACKAGE_NAME, PACKAGE_VERSION); - fprintf(stdout, "Please report any bug to: %s\n\n", PACKAGE_BUGREPORT); - fprintf(stdout, "Usage: oaisim_mme [options]\n\n"); - fprintf(stdout, "Available options:\n"); - fprintf(stdout, "-h Print this help and return\n"); - fprintf(stdout, "-V Print %s version and return\n", PACKAGE_NAME); - fprintf(stdout, "-v[1-2] Debug level:\n"); - fprintf(stdout, " 1 -> ASN1 XER printf on and ASN1 debug off\n"); - fprintf(stdout, " 2 -> ASN1 XER printf on and ASN1 debug on\n"); -} - -int config_parse_opt_line(int argc, char *argv[], mme_config_t *mme_config) { - int c; - config_init(mme_config); - /* Parsing command line */ - while ((c = getopt (argc, argv, "hv:V")) != -1) { - switch (c) { - case 'v': - mme_config->verbosity_level = atoi(optarg); - break; - case 'V': - fprintf(stdout, "==== EURECOM %s v%s ====\n" - "Please report any bug to: %s\n", PACKAGE_NAME, PACKAGE_VERSION, PACKAGE_BUGREPORT); - exit(0); - break; - case 'h': /* Fall through */ - default: - usage(); - exit(0); - } - } - return 0; -} diff --git a/openair3/OPENAIRMME/UTILS/mme_config.h b/openair3/OPENAIRMME/UTILS/mme_config.h deleted file mode 100644 index b4032b6950..0000000000 --- a/openair3/OPENAIRMME/UTILS/mme_config.h +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#include <stdint.h> -#include <sched.h> -#include "mme_default_values.h" - -#ifndef MME_CONFIG_H_ -#define MME_CONFIG_H_ - -typedef struct mme_config_s { - uint8_t verbosity_level; - struct { - int root_timer_value_ms; - } timer_config; - struct { - uint16_t port_number; - } gtpv1_u_config; - struct { - uint16_t port_number; - } s1ap_config; - struct { - /* Defines the scheduling policy for each task thread. - * The value should be one of these macros: - * - SCHED_NORMAL - * - SCHED_FIFO - * - SCHED_RR - * - SCHED_BATCH - */ - uint8_t sched_policy; - } itti_config; -} mme_config_t; - -int config_parse_opt_line(int argc, char *argv[], mme_config_t *mme_config); - -#endif /* MME_CONFIG_H_ */ diff --git a/openair3/OPENAIRMME/UTILS/mme_default_values.h b/openair3/OPENAIRMME/UTILS/mme_default_values.h deleted file mode 100644 index d38d77a876..0000000000 --- a/openair3/OPENAIRMME/UTILS/mme_default_values.h +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - - Eurecom OpenAirInterface - Copyright(c) 1999 - 2012 Eurecom - - This program is free software; you can redistribute it and/or modify it - under the terms and conditions of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This program is distributed in the hope 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, write to the Free Software Foundation, Inc., - 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - - The full GNU General Public License is included in this distribution in - the file called "COPYING". - - Contact Information - Openair Admin: openair_admin@eurecom.fr - Openair Tech : openair_tech@eurecom.fr - Forums : http://forums.eurecom.fr/openairinterface - Address : EURECOM, Campus SophiaTech, 450 Route des Chappes - 06410 Biot FRANCE - -*******************************************************************************/ - -#ifndef MME_DEFAULT_VALUES_H_ -#define MME_DEFAULT_VALUES_H_ - -/******************************************************************************* - * Timer Constants - ******************************************************************************/ -#define MME_TIMER_EXPIRY_MS (1000) - -/******************************************************************************* - * GTPV1 User Plane Constants - ******************************************************************************/ -#define GTPV1_U_PORT_NUMBER (2152) - -/******************************************************************************* - * S1AP Constants - ******************************************************************************/ - -#define S1AP_PORT_NUMBER (36412) ///< S1AP SCTP IANA ASSIGNED Port Number -#define S1AP_SCTP_PPID (18) ///< S1AP SCTP Payload Protocol Identifier (PPID) - -/******************************************************************************* - * SCTP Constants - ******************************************************************************/ - -#define SCTP_BUFFER_SIZE (1<<16) - -/******************************************************************************* - * Intertask Interface Constants - ******************************************************************************/ - -#define ITTI_PORT (3632) -#define ITTI_QUEUE_SIZE_MAX (1 * 1024 * 1024) /* 1 MBytes */ - -/* Default scheduler policy : - * SCHED_FIFO : First in first out -> don't break thread execution. - */ -#define ITTI_TASK_SCHED_POLICY (SCHED_FIFO) - -#endif /* MME_DEFAULT_VALUES_H_ */ diff --git a/openair3/OPENAIRMME/UTILS/queue.h b/openair3/OPENAIRMME/UTILS/queue.h deleted file mode 100644 index 294d485110..0000000000 --- a/openair3/OPENAIRMME/UTILS/queue.h +++ /dev/null @@ -1,592 +0,0 @@ -/* - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)queue.h 8.5 (Berkeley) 8/20/94 - */ - -#ifndef _SYS_QUEUE_H_ -#define _SYS_QUEUE_H_ - -/* - * This file defines five types of data structures: singly-linked lists, - * lists, simple queues, tail queues, and circular queues. - * - * A singly-linked list is headed by a single forward pointer. The - * elements are singly linked for minimum space and pointer manipulation - * overhead at the expense of O(n) removal for arbitrary elements. New - * elements can be added to the list after an existing element or at the - * head of the list. Elements being removed from the head of the list - * should use the explicit macro for this purpose for optimum - * efficiency. A singly-linked list may only be traversed in the forward - * direction. Singly-linked lists are ideal for applications with large - * datasets and few or no removals or for implementing a LIFO queue. - * - * A list is headed by a single forward pointer (or an array of forward - * pointers for a hash table header). The elements are doubly linked - * so that an arbitrary element can be removed without a need to - * traverse the list. New elements can be added to the list before - * or after an existing element or at the head of the list. A list - * may only be traversed in the forward direction. - * - * A simple queue is headed by a pair of pointers, one the head of the - * list and the other to the tail of the list. The elements are singly - * linked to save space, so elements can only be removed from the - * head of the list. New elements can be added to the list after - * an existing element, at the head of the list, or at the end of the - * list. A simple queue may only be traversed in the forward direction. - * - * A tail queue is headed by a pair of pointers, one to the head of the - * list and the other to the tail of the list. The elements are doubly - * linked so that an arbitrary element can be removed without a need to - * traverse the list. New elements can be added to the list before or - * after an existing element, at the head of the list, or at the end of - * the list. A tail queue may be traversed in either direction. - * - * A circle queue is headed by a pair of pointers, one to the head of the - * list and the other to the tail of the list. The elements are doubly - * linked so that an arbitrary element can be removed without a need to - * traverse the list. New elements can be added to the list before or after - * an existing element, at the head of the list, or at the end of the list. - * A circle queue may be traversed in either direction, but has a more - * complex end of list detection. - * - * For details on the use of these macros, see the queue(3) manual page. - * SLIST LIST STAILQ TAILQ CIRCLEQ - * _HEAD + + + + + - * _HEAD_INITIALIZER + + + + + - * _ENTRY + + + + + - * _INIT + + + + + - * _EMPTY + + + + + - * _FIRST + + + + + - * _NEXT + + + + + - * _PREV - - - + + - * _LAST - - + + + - * _FOREACH + + + + + - * _FOREACH_REVERSE - - - + + - * _INSERT_HEAD + + + + + - * _INSERT_BEFORE - + - + + - * _INSERT_AFTER + + + + + - * _INSERT_TAIL - - + + + - * _REMOVE_HEAD + - + - - - * _REMOVE + + + + + - */ - -/* - * List definitions. - */ -#define LIST_HEAD(name, type) \ -struct name { \ - struct type *lh_first; /* first element */ \ -} - -#define LIST_HEAD_INITIALIZER(head) \ - { NULL } - -#define LIST_ENTRY(type) \ -struct { \ - struct type *le_next; /* next element */ \ - struct type **le_prev; /* address of previous next element */ \ -} - -/* - * List functions. - */ -#define LIST_INIT(head) do { \ - (head)->lh_first = NULL; \ -} while (/*CONSTCOND*/0) - -#define LIST_INSERT_AFTER(listelm, elm, field) do { \ - if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \ - (listelm)->field.le_next->field.le_prev = \ - &(elm)->field.le_next; \ - (listelm)->field.le_next = (elm); \ - (elm)->field.le_prev = &(listelm)->field.le_next; \ -} while (/*CONSTCOND*/0) - -#define LIST_INSERT_BEFORE(listelm, elm, field) do { \ - (elm)->field.le_prev = (listelm)->field.le_prev; \ - (elm)->field.le_next = (listelm); \ - *(listelm)->field.le_prev = (elm); \ - (listelm)->field.le_prev = &(elm)->field.le_next; \ -} while (/*CONSTCOND*/0) - -#define LIST_INSERT_HEAD(head, elm, field) do { \ - if (((elm)->field.le_next = (head)->lh_first) != NULL) \ - (head)->lh_first->field.le_prev = &(elm)->field.le_next;\ - (head)->lh_first = (elm); \ - (elm)->field.le_prev = &(head)->lh_first; \ -} while (/*CONSTCOND*/0) - -#define LIST_REMOVE(elm, field) do { \ - if ((elm)->field.le_next != NULL) \ - (elm)->field.le_next->field.le_prev = \ - (elm)->field.le_prev; \ - *(elm)->field.le_prev = (elm)->field.le_next; \ -} while (/*CONSTCOND*/0) - -#define LIST_FOREACH(var, head, field) \ - for ((var) = ((head)->lh_first); \ - (var); \ - (var) = ((var)->field.le_next)) - -/* - * List access methods. - */ -#define LIST_EMPTY(head) ((head)->lh_first == NULL) -#define LIST_FIRST(head) ((head)->lh_first) -#define LIST_NEXT(elm, field) ((elm)->field.le_next) - - -/* - * Singly-linked List definitions. - */ -#define SLIST_HEAD(name, type) \ -struct name { \ - struct type *slh_first; /* first element */ \ -} - -#define SLIST_HEAD_INITIALIZER(head) \ - { NULL } - -#define SLIST_ENTRY(type) \ -struct { \ - struct type *sle_next; /* next element */ \ -} - -/* - * Singly-linked List functions. - */ -#define SLIST_INIT(head) do { \ - (head)->slh_first = NULL; \ -} while (/*CONSTCOND*/0) - -#define SLIST_INSERT_AFTER(slistelm, elm, field) do { \ - (elm)->field.sle_next = (slistelm)->field.sle_next; \ - (slistelm)->field.sle_next = (elm); \ -} while (/*CONSTCOND*/0) - -#define SLIST_INSERT_HEAD(head, elm, field) do { \ - (elm)->field.sle_next = (head)->slh_first; \ - (head)->slh_first = (elm); \ -} while (/*CONSTCOND*/0) - -#define SLIST_REMOVE_HEAD(head, field) do { \ - (head)->slh_first = (head)->slh_first->field.sle_next; \ -} while (/*CONSTCOND*/0) - -#define SLIST_REMOVE(head, elm, type, field) do { \ - if ((head)->slh_first == (elm)) { \ - SLIST_REMOVE_HEAD((head), field); \ - } \ - else { \ - struct type *curelm = (head)->slh_first; \ - while(curelm->field.sle_next != (elm)) \ - curelm = curelm->field.sle_next; \ - curelm->field.sle_next = \ - curelm->field.sle_next->field.sle_next; \ - } \ -} while (/*CONSTCOND*/0) - -#define SLIST_FOREACH(var, head, field) \ - for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next) - -/* - * Singly-linked List access methods. - */ -#define SLIST_EMPTY(head) ((head)->slh_first == NULL) -#define SLIST_FIRST(head) ((head)->slh_first) -#define SLIST_NEXT(elm, field) ((elm)->field.sle_next) - - -/* - * Singly-linked Tail queue declarations. - */ -#define STAILQ_HEAD(name, type) \ -struct name { \ - struct type *stqh_first; /* first element */ \ - struct type **stqh_last; /* addr of last next element */ \ -} - -#define STAILQ_HEAD_INITIALIZER(head) \ - { NULL, &(head).stqh_first } - -#define STAILQ_ENTRY(type) \ -struct { \ - struct type *stqe_next; /* next element */ \ -} - -/* - * Singly-linked Tail queue functions. - */ -#define STAILQ_INIT(head) do { \ - (head)->stqh_first = NULL; \ - (head)->stqh_last = &(head)->stqh_first; \ -} while (/*CONSTCOND*/0) - -#define STAILQ_INSERT_HEAD(head, elm, field) do { \ - if (((elm)->field.stqe_next = (head)->stqh_first) == NULL) \ - (head)->stqh_last = &(elm)->field.stqe_next; \ - (head)->stqh_first = (elm); \ -} while (/*CONSTCOND*/0) - -#define STAILQ_INSERT_TAIL(head, elm, field) do { \ - (elm)->field.stqe_next = NULL; \ - *(head)->stqh_last = (elm); \ - (head)->stqh_last = &(elm)->field.stqe_next; \ -} while (/*CONSTCOND*/0) - -#define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\ - (head)->stqh_last = &(elm)->field.stqe_next; \ - (listelm)->field.stqe_next = (elm); \ -} while (/*CONSTCOND*/0) - -#define STAILQ_REMOVE_HEAD(head, field) do { \ - if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL) \ - (head)->stqh_last = &(head)->stqh_first; \ -} while (/*CONSTCOND*/0) - -#define STAILQ_REMOVE(head, elm, type, field) do { \ - if ((head)->stqh_first == (elm)) { \ - STAILQ_REMOVE_HEAD((head), field); \ - } else { \ - struct type *curelm = (head)->stqh_first; \ - while (curelm->field.stqe_next != (elm)) \ - curelm = curelm->field.stqe_next; \ - if ((curelm->field.stqe_next = \ - curelm->field.stqe_next->field.stqe_next) == NULL) \ - (head)->stqh_last = &(curelm)->field.stqe_next; \ - } \ -} while (/*CONSTCOND*/0) - -#define STAILQ_FOREACH(var, head, field) \ - for ((var) = ((head)->stqh_first); \ - (var); \ - (var) = ((var)->field.stqe_next)) - -#define STAILQ_CONCAT(head1, head2) do { \ - if (!STAILQ_EMPTY((head2))) { \ - *(head1)->stqh_last = (head2)->stqh_first; \ - (head1)->stqh_last = (head2)->stqh_last; \ - STAILQ_INIT((head2)); \ - } \ -} while (/*CONSTCOND*/0) - -/* - * Singly-linked Tail queue access methods. - */ -#define STAILQ_EMPTY(head) ((head)->stqh_first == NULL) -#define STAILQ_FIRST(head) ((head)->stqh_first) -#define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next) - - -/* - * Simple queue definitions. - */ -#define SIMPLEQ_HEAD(name, type) \ -struct name { \ - struct type *sqh_first; /* first element */ \ - struct type **sqh_last; /* addr of last next element */ \ -} - -#define SIMPLEQ_HEAD_INITIALIZER(head) \ - { NULL, &(head).sqh_first } - -#define SIMPLEQ_ENTRY(type) \ -struct { \ - struct type *sqe_next; /* next element */ \ -} - -/* - * Simple queue functions. - */ -#define SIMPLEQ_INIT(head) do { \ - (head)->sqh_first = NULL; \ - (head)->sqh_last = &(head)->sqh_first; \ -} while (/*CONSTCOND*/0) - -#define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \ - if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \ - (head)->sqh_last = &(elm)->field.sqe_next; \ - (head)->sqh_first = (elm); \ -} while (/*CONSTCOND*/0) - -#define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \ - (elm)->field.sqe_next = NULL; \ - *(head)->sqh_last = (elm); \ - (head)->sqh_last = &(elm)->field.sqe_next; \ -} while (/*CONSTCOND*/0) - -#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\ - (head)->sqh_last = &(elm)->field.sqe_next; \ - (listelm)->field.sqe_next = (elm); \ -} while (/*CONSTCOND*/0) - -#define SIMPLEQ_REMOVE_HEAD(head, field) do { \ - if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \ - (head)->sqh_last = &(head)->sqh_first; \ -} while (/*CONSTCOND*/0) - -#define SIMPLEQ_REMOVE(head, elm, type, field) do { \ - if ((head)->sqh_first == (elm)) { \ - SIMPLEQ_REMOVE_HEAD((head), field); \ - } else { \ - struct type *curelm = (head)->sqh_first; \ - while (curelm->field.sqe_next != (elm)) \ - curelm = curelm->field.sqe_next; \ - if ((curelm->field.sqe_next = \ - curelm->field.sqe_next->field.sqe_next) == NULL) \ - (head)->sqh_last = &(curelm)->field.sqe_next; \ - } \ -} while (/*CONSTCOND*/0) - -#define SIMPLEQ_FOREACH(var, head, field) \ - for ((var) = ((head)->sqh_first); \ - (var); \ - (var) = ((var)->field.sqe_next)) - -/* - * Simple queue access methods. - */ -#define SIMPLEQ_EMPTY(head) ((head)->sqh_first == NULL) -#define SIMPLEQ_FIRST(head) ((head)->sqh_first) -#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next) - - -/* - * Tail queue definitions. - */ -#define _TAILQ_HEAD(name, type, qual) \ -struct name { \ - qual type *tqh_first; /* first element */ \ - qual type *qual *tqh_last; /* addr of last next element */ \ -} -#define TAILQ_HEAD(name, type) _TAILQ_HEAD(name, struct type,) - -#define TAILQ_HEAD_INITIALIZER(head) \ - { NULL, &(head).tqh_first } - -#define _TAILQ_ENTRY(type, qual) \ -struct { \ - qual type *tqe_next; /* next element */ \ - qual type *qual *tqe_prev; /* address of previous next element */\ -} -#define TAILQ_ENTRY(type) _TAILQ_ENTRY(struct type,) - -/* - * Tail queue functions. - */ -#define TAILQ_INIT(head) do { \ - (head)->tqh_first = NULL; \ - (head)->tqh_last = &(head)->tqh_first; \ -} while (/*CONSTCOND*/0) - -#define TAILQ_INSERT_HEAD(head, elm, field) do { \ - if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \ - (head)->tqh_first->field.tqe_prev = \ - &(elm)->field.tqe_next; \ - else \ - (head)->tqh_last = &(elm)->field.tqe_next; \ - (head)->tqh_first = (elm); \ - (elm)->field.tqe_prev = &(head)->tqh_first; \ -} while (/*CONSTCOND*/0) - -#define TAILQ_INSERT_TAIL(head, elm, field) do { \ - (elm)->field.tqe_next = NULL; \ - (elm)->field.tqe_prev = (head)->tqh_last; \ - *(head)->tqh_last = (elm); \ - (head)->tqh_last = &(elm)->field.tqe_next; \ -} while (/*CONSTCOND*/0) - -#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\ - (elm)->field.tqe_next->field.tqe_prev = \ - &(elm)->field.tqe_next; \ - else \ - (head)->tqh_last = &(elm)->field.tqe_next; \ - (listelm)->field.tqe_next = (elm); \ - (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \ -} while (/*CONSTCOND*/0) - -#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \ - (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \ - (elm)->field.tqe_next = (listelm); \ - *(listelm)->field.tqe_prev = (elm); \ - (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \ -} while (/*CONSTCOND*/0) - -#define TAILQ_REMOVE(head, elm, field) do { \ - if (((elm)->field.tqe_next) != NULL) \ - (elm)->field.tqe_next->field.tqe_prev = \ - (elm)->field.tqe_prev; \ - else \ - (head)->tqh_last = (elm)->field.tqe_prev; \ - *(elm)->field.tqe_prev = (elm)->field.tqe_next; \ -} while (/*CONSTCOND*/0) - -#define TAILQ_FOREACH(var, head, field) \ - for ((var) = ((head)->tqh_first); \ - (var); \ - (var) = ((var)->field.tqe_next)) - -#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ - for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \ - (var); \ - (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last))) - -#define TAILQ_CONCAT(head1, head2, field) do { \ - if (!TAILQ_EMPTY(head2)) { \ - *(head1)->tqh_last = (head2)->tqh_first; \ - (head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \ - (head1)->tqh_last = (head2)->tqh_last; \ - TAILQ_INIT((head2)); \ - } \ -} while (/*CONSTCOND*/0) - -/* - * Tail queue access methods. - */ -#define TAILQ_EMPTY(head) ((head)->tqh_first == NULL) -#define TAILQ_FIRST(head) ((head)->tqh_first) -#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next) - -#define TAILQ_LAST(head, headname) \ - (*(((struct headname *)((head)->tqh_last))->tqh_last)) -#define TAILQ_PREV(elm, headname, field) \ - (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last)) - - -/* - * Circular queue definitions. - */ -#define CIRCLEQ_HEAD(name, type) \ -struct name { \ - struct type *cqh_first; /* first element */ \ - struct type *cqh_last; /* last element */ \ -} - -#define CIRCLEQ_HEAD_INITIALIZER(head) \ - { (void *)&head, (void *)&head } - -#define CIRCLEQ_ENTRY(type) \ -struct { \ - struct type *cqe_next; /* next element */ \ - struct type *cqe_prev; /* previous element */ \ -} - -/* - * Circular queue functions. - */ -#define CIRCLEQ_INIT(head) do { \ - (head)->cqh_first = (void *)(head); \ - (head)->cqh_last = (void *)(head); \ -} while (/*CONSTCOND*/0) - -#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ - (elm)->field.cqe_next = (listelm)->field.cqe_next; \ - (elm)->field.cqe_prev = (listelm); \ - if ((listelm)->field.cqe_next == (void *)(head)) \ - (head)->cqh_last = (elm); \ - else \ - (listelm)->field.cqe_next->field.cqe_prev = (elm); \ - (listelm)->field.cqe_next = (elm); \ -} while (/*CONSTCOND*/0) - -#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \ - (elm)->field.cqe_next = (listelm); \ - (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \ - if ((listelm)->field.cqe_prev == (void *)(head)) \ - (head)->cqh_first = (elm); \ - else \ - (listelm)->field.cqe_prev->field.cqe_next = (elm); \ - (listelm)->field.cqe_prev = (elm); \ -} while (/*CONSTCOND*/0) - -#define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \ - (elm)->field.cqe_next = (head)->cqh_first; \ - (elm)->field.cqe_prev = (void *)(head); \ - if ((head)->cqh_last == (void *)(head)) \ - (head)->cqh_last = (elm); \ - else \ - (head)->cqh_first->field.cqe_prev = (elm); \ - (head)->cqh_first = (elm); \ -} while (/*CONSTCOND*/0) - -#define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \ - (elm)->field.cqe_next = (void *)(head); \ - (elm)->field.cqe_prev = (head)->cqh_last; \ - if ((head)->cqh_first == (void *)(head)) \ - (head)->cqh_first = (elm); \ - else \ - (head)->cqh_last->field.cqe_next = (elm); \ - (head)->cqh_last = (elm); \ -} while (/*CONSTCOND*/0) - -#define CIRCLEQ_REMOVE(head, elm, field) do { \ - if ((elm)->field.cqe_next == (void *)(head)) \ - (head)->cqh_last = (elm)->field.cqe_prev; \ - else \ - (elm)->field.cqe_next->field.cqe_prev = \ - (elm)->field.cqe_prev; \ - if ((elm)->field.cqe_prev == (void *)(head)) \ - (head)->cqh_first = (elm)->field.cqe_next; \ - else \ - (elm)->field.cqe_prev->field.cqe_next = \ - (elm)->field.cqe_next; \ -} while (/*CONSTCOND*/0) - -#define CIRCLEQ_FOREACH(var, head, field) \ - for ((var) = ((head)->cqh_first); \ - (var) != (const void *)(head); \ - (var) = ((var)->field.cqe_next)) - -#define CIRCLEQ_FOREACH_REVERSE(var, head, field) \ - for ((var) = ((head)->cqh_last); \ - (var) != (const void *)(head); \ - (var) = ((var)->field.cqe_prev)) - -/* - * Circular queue access methods. - */ -#define CIRCLEQ_EMPTY(head) ((head)->cqh_first == (void *)(head)) -#define CIRCLEQ_FIRST(head) ((head)->cqh_first) -#define CIRCLEQ_LAST(head) ((head)->cqh_last) -#define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next) -#define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev) - -#define CIRCLEQ_LOOP_NEXT(head, elm, field) \ - (((elm)->field.cqe_next == (void *)(head)) \ - ? ((head)->cqh_first) \ - : (elm->field.cqe_next)) -#define CIRCLEQ_LOOP_PREV(head, elm, field) \ - (((elm)->field.cqe_prev == (void *)(head)) \ - ? ((head)->cqh_last) \ - : (elm->field.cqe_prev)) - -#endif /* sys/queue.h */ diff --git a/openair3/OPENAIRMME/UTILS/tree.h b/openair3/OPENAIRMME/UTILS/tree.h deleted file mode 100644 index 8e4e35c408..0000000000 --- a/openair3/OPENAIRMME/UTILS/tree.h +++ /dev/null @@ -1,678 +0,0 @@ -/* - * Copyright 2002 Niels Provos <provos@citi.umich.edu> - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _SYS_TREE_H_ -#define _SYS_TREE_H_ - -/* - * This file defines data structures for different types of trees: - * splay trees and red-black trees. - * - * A splay tree is a self-organizing data structure. Every operation - * on the tree causes a splay to happen. The splay moves the requested - * node to the root of the tree and partly rebalances it. - * - * This has the benefit that request locality causes faster lookups as - * the requested nodes move to the top of the tree. On the other hand, - * every lookup causes memory writes. - * - * The Balance Theorem bounds the total access time for m operations - * and n inserts on an initially empty tree as O((m + n)lg n). The - * amortized cost for a sequence of m accesses to a splay tree is O(lg n); - * - * A red-black tree is a binary search tree with the node color as an - * extra attribute. It fulfills a set of conditions: - * - every search path from the root to a leaf consists of the - * same number of black nodes, - * - each red node (except for the root) has a black parent, - * - each leaf node is black. - * - * Every operation on a red-black tree is bounded as O(lg n). - * The maximum height of a red-black tree is 2lg (n+1). - */ - -#define SPLAY_HEAD(name, type) \ -struct name { \ - struct type *sph_root; /* root of the tree */ \ -} - -#define SPLAY_INITIALIZER(root) \ - { NULL } - -#define SPLAY_INIT(root) do { \ - (root)->sph_root = NULL; \ -} while (0) - -#define SPLAY_ENTRY(type) \ -struct { \ - struct type *spe_left; /* left element */ \ - struct type *spe_right; /* right element */ \ -} - -#define SPLAY_LEFT(elm, field) (elm)->field.spe_left -#define SPLAY_RIGHT(elm, field) (elm)->field.spe_right -#define SPLAY_ROOT(head) (head)->sph_root -#define SPLAY_EMPTY(head) (SPLAY_ROOT(head) == NULL) - -/* SPLAY_ROTATE_{LEFT,RIGHT} expect that tmp hold SPLAY_{RIGHT,LEFT} */ -#define SPLAY_ROTATE_RIGHT(head, tmp, field) do { \ - SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(tmp, field); \ - SPLAY_RIGHT(tmp, field) = (head)->sph_root; \ - (head)->sph_root = tmp; \ -} while (0) - -#define SPLAY_ROTATE_LEFT(head, tmp, field) do { \ - SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(tmp, field); \ - SPLAY_LEFT(tmp, field) = (head)->sph_root; \ - (head)->sph_root = tmp; \ -} while (0) - -#define SPLAY_LINKLEFT(head, tmp, field) do { \ - SPLAY_LEFT(tmp, field) = (head)->sph_root; \ - tmp = (head)->sph_root; \ - (head)->sph_root = SPLAY_LEFT((head)->sph_root, field); \ -} while (0) - -#define SPLAY_LINKRIGHT(head, tmp, field) do { \ - SPLAY_RIGHT(tmp, field) = (head)->sph_root; \ - tmp = (head)->sph_root; \ - (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field); \ -} while (0) - -#define SPLAY_ASSEMBLE(head, node, left, right, field) do { \ - SPLAY_RIGHT(left, field) = SPLAY_LEFT((head)->sph_root, field); \ - SPLAY_LEFT(right, field) = SPLAY_RIGHT((head)->sph_root, field);\ - SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(node, field); \ - SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(node, field); \ -} while (0) - -/* Generates prototypes and inline functions */ - -#define SPLAY_PROTOTYPE(name, type, field, cmp) \ -void name##_SPLAY(struct name *, struct type *); \ -void name##_SPLAY_MINMAX(struct name *, int); \ -struct type *name##_SPLAY_INSERT(struct name *, struct type *); \ -struct type *name##_SPLAY_REMOVE(struct name *, struct type *); \ - \ -/* Finds the node with the same key as elm */ \ -static __inline struct type * \ -name##_SPLAY_FIND(struct name *head, struct type *elm) \ -{ \ - if (SPLAY_EMPTY(head)) \ - return(NULL); \ - name##_SPLAY(head, elm); \ - if ((cmp)(elm, (head)->sph_root) == 0) \ - return (head->sph_root); \ - return (NULL); \ -} \ - \ -static __inline struct type * \ -name##_SPLAY_NEXT(struct name *head, struct type *elm) \ -{ \ - name##_SPLAY(head, elm); \ - if (SPLAY_RIGHT(elm, field) != NULL) { \ - elm = SPLAY_RIGHT(elm, field); \ - while (SPLAY_LEFT(elm, field) != NULL) { \ - elm = SPLAY_LEFT(elm, field); \ - } \ - } else \ - elm = NULL; \ - return (elm); \ -} \ - \ -static __inline struct type * \ -name##_SPLAY_MIN_MAX(struct name *head, int val) \ -{ \ - name##_SPLAY_MINMAX(head, val); \ - return (SPLAY_ROOT(head)); \ -} - -/* Main splay operation. - * Moves node close to the key of elm to top - */ -#define SPLAY_GENERATE(name, type, field, cmp) \ -struct type * \ -name##_SPLAY_INSERT(struct name *head, struct type *elm) \ -{ \ - if (SPLAY_EMPTY(head)) { \ - SPLAY_LEFT(elm, field) = SPLAY_RIGHT(elm, field) = NULL; \ - } else { \ - int __comp; \ - name##_SPLAY(head, elm); \ - __comp = (cmp)(elm, (head)->sph_root); \ - if(__comp < 0) { \ - SPLAY_LEFT(elm, field) = SPLAY_LEFT((head)->sph_root, field);\ - SPLAY_RIGHT(elm, field) = (head)->sph_root; \ - SPLAY_LEFT((head)->sph_root, field) = NULL; \ - } else if (__comp > 0) { \ - SPLAY_RIGHT(elm, field) = SPLAY_RIGHT((head)->sph_root, field);\ - SPLAY_LEFT(elm, field) = (head)->sph_root; \ - SPLAY_RIGHT((head)->sph_root, field) = NULL; \ - } else \ - return ((head)->sph_root); \ - } \ - (head)->sph_root = (elm); \ - return (NULL); \ -} \ - \ -struct type * \ -name##_SPLAY_REMOVE(struct name *head, struct type *elm) \ -{ \ - struct type *__tmp; \ - if (SPLAY_EMPTY(head)) \ - return (NULL); \ - name##_SPLAY(head, elm); \ - if ((cmp)(elm, (head)->sph_root) == 0) { \ - if (SPLAY_LEFT((head)->sph_root, field) == NULL) { \ - (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field);\ - } else { \ - __tmp = SPLAY_RIGHT((head)->sph_root, field); \ - (head)->sph_root = SPLAY_LEFT((head)->sph_root, field);\ - name##_SPLAY(head, elm); \ - SPLAY_RIGHT((head)->sph_root, field) = __tmp; \ - } \ - return (elm); \ - } \ - return (NULL); \ -} \ - \ -void \ -name##_SPLAY(struct name *head, struct type *elm) \ -{ \ - struct type __node, *__left, *__right, *__tmp; \ - int __comp; \ -\ - SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL;\ - __left = __right = &__node; \ -\ - while ((__comp = (cmp)(elm, (head)->sph_root))) { \ - if (__comp < 0) { \ - __tmp = SPLAY_LEFT((head)->sph_root, field); \ - if (__tmp == NULL) \ - break; \ - if ((cmp)(elm, __tmp) < 0){ \ - SPLAY_ROTATE_RIGHT(head, __tmp, field); \ - if (SPLAY_LEFT((head)->sph_root, field) == NULL)\ - break; \ - } \ - SPLAY_LINKLEFT(head, __right, field); \ - } else if (__comp > 0) { \ - __tmp = SPLAY_RIGHT((head)->sph_root, field); \ - if (__tmp == NULL) \ - break; \ - if ((cmp)(elm, __tmp) > 0){ \ - SPLAY_ROTATE_LEFT(head, __tmp, field); \ - if (SPLAY_RIGHT((head)->sph_root, field) == NULL)\ - break; \ - } \ - SPLAY_LINKRIGHT(head, __left, field); \ - } \ - } \ - SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \ -} \ - \ -/* Splay with either the minimum or the maximum element \ - * Used to find minimum or maximum element in tree. \ - */ \ -void name##_SPLAY_MINMAX(struct name *head, int __comp) \ -{ \ - struct type __node, *__left, *__right, *__tmp; \ -\ - SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL;\ - __left = __right = &__node; \ -\ - while (1) { \ - if (__comp < 0) { \ - __tmp = SPLAY_LEFT((head)->sph_root, field); \ - if (__tmp == NULL) \ - break; \ - if (__comp < 0){ \ - SPLAY_ROTATE_RIGHT(head, __tmp, field); \ - if (SPLAY_LEFT((head)->sph_root, field) == NULL)\ - break; \ - } \ - SPLAY_LINKLEFT(head, __right, field); \ - } else if (__comp > 0) { \ - __tmp = SPLAY_RIGHT((head)->sph_root, field); \ - if (__tmp == NULL) \ - break; \ - if (__comp > 0) { \ - SPLAY_ROTATE_LEFT(head, __tmp, field); \ - if (SPLAY_RIGHT((head)->sph_root, field) == NULL)\ - break; \ - } \ - SPLAY_LINKRIGHT(head, __left, field); \ - } \ - } \ - SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \ -} - -#define SPLAY_NEGINF -1 -#define SPLAY_INF 1 - -#define SPLAY_INSERT(name, x, y) name##_SPLAY_INSERT(x, y) -#define SPLAY_REMOVE(name, x, y) name##_SPLAY_REMOVE(x, y) -#define SPLAY_FIND(name, x, y) name##_SPLAY_FIND(x, y) -#define SPLAY_NEXT(name, x, y) name##_SPLAY_NEXT(x, y) -#define SPLAY_MIN(name, x) (SPLAY_EMPTY(x) ? NULL \ - : name##_SPLAY_MIN_MAX(x, SPLAY_NEGINF)) -#define SPLAY_MAX(name, x) (SPLAY_EMPTY(x) ? NULL \ - : name##_SPLAY_MIN_MAX(x, SPLAY_INF)) - -#define SPLAY_FOREACH(x, name, head) \ - for ((x) = SPLAY_MIN(name, head); \ - (x) != NULL; \ - (x) = SPLAY_NEXT(name, head, x)) - -/* Macros that define a red-back tree */ -#define RB_HEAD(name, type) \ -struct name { \ - struct type *rbh_root; /* root of the tree */ \ -} - -#define RB_INITIALIZER(root) \ - { NULL } - -#define RB_INIT(root) do { \ - (root)->rbh_root = NULL; \ -} while (0) - -#define RB_BLACK 0 -#define RB_RED 1 -#define RB_ENTRY(type) \ -struct { \ - struct type *rbe_left; /* left element */ \ - struct type *rbe_right; /* right element */ \ - struct type *rbe_parent; /* parent element */ \ - int rbe_color; /* node color */ \ -} - -#define RB_LEFT(elm, field) (elm)->field.rbe_left -#define RB_RIGHT(elm, field) (elm)->field.rbe_right -#define RB_PARENT(elm, field) (elm)->field.rbe_parent -#define RB_COLOR(elm, field) (elm)->field.rbe_color -#define RB_ROOT(head) (head)->rbh_root -#define RB_EMPTY(head) (RB_ROOT(head) == NULL) - -#define RB_SET(elm, parent, field) do { \ - RB_PARENT(elm, field) = parent; \ - RB_LEFT(elm, field) = RB_RIGHT(elm, field) = NULL; \ - RB_COLOR(elm, field) = RB_RED; \ -} while (0) - -#define RB_SET_BLACKRED(black, red, field) do { \ - RB_COLOR(black, field) = RB_BLACK; \ - RB_COLOR(red, field) = RB_RED; \ -} while (0) - -#ifndef RB_AUGMENT -#define RB_AUGMENT(x) -#endif - -#define RB_ROTATE_LEFT(head, elm, tmp, field) do { \ - (tmp) = RB_RIGHT(elm, field); \ - if ((RB_RIGHT(elm, field) = RB_LEFT(tmp, field))) { \ - RB_PARENT(RB_LEFT(tmp, field), field) = (elm); \ - } \ - RB_AUGMENT(elm); \ - if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) { \ - if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \ - RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \ - else \ - RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \ - } else \ - (head)->rbh_root = (tmp); \ - RB_LEFT(tmp, field) = (elm); \ - RB_PARENT(elm, field) = (tmp); \ - RB_AUGMENT(tmp); \ - if ((RB_PARENT(tmp, field))) \ - RB_AUGMENT(RB_PARENT(tmp, field)); \ -} while (0) - -#define RB_ROTATE_RIGHT(head, elm, tmp, field) do { \ - (tmp) = RB_LEFT(elm, field); \ - if ((RB_LEFT(elm, field) = RB_RIGHT(tmp, field))) { \ - RB_PARENT(RB_RIGHT(tmp, field), field) = (elm); \ - } \ - RB_AUGMENT(elm); \ - if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) { \ - if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \ - RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \ - else \ - RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \ - } else \ - (head)->rbh_root = (tmp); \ - RB_RIGHT(tmp, field) = (elm); \ - RB_PARENT(elm, field) = (tmp); \ - RB_AUGMENT(tmp); \ - if ((RB_PARENT(tmp, field))) \ - RB_AUGMENT(RB_PARENT(tmp, field)); \ -} while (0) - -/* Generates prototypes and inline functions */ -#define RB_PROTOTYPE(name, type, field, cmp) \ -void name##_RB_INSERT_COLOR(struct name *, struct type *); \ -void name##_RB_REMOVE_COLOR(struct name *, struct type *, struct type *);\ -struct type *name##_RB_REMOVE(struct name *, struct type *); \ -struct type *name##_RB_INSERT(struct name *, struct type *); \ -struct type *name##_RB_FIND(struct name *, struct type *); \ -struct type *name##_RB_NEXT(struct type *); \ -struct type *name##_RB_MINMAX(struct name *, int); \ - \ - -/* Main rb operation. - * Moves node close to the key of elm to top - */ -#define RB_GENERATE(name, type, field, cmp) \ -void \ -name##_RB_INSERT_COLOR(struct name *head, struct type *elm) \ -{ \ - struct type *parent, *gparent, *tmp; \ - while ((parent = RB_PARENT(elm, field)) && \ - RB_COLOR(parent, field) == RB_RED) { \ - gparent = RB_PARENT(parent, field); \ - if (parent == RB_LEFT(gparent, field)) { \ - tmp = RB_RIGHT(gparent, field); \ - if (tmp && RB_COLOR(tmp, field) == RB_RED) { \ - RB_COLOR(tmp, field) = RB_BLACK; \ - RB_SET_BLACKRED(parent, gparent, field);\ - elm = gparent; \ - continue; \ - } \ - if (RB_RIGHT(parent, field) == elm) { \ - RB_ROTATE_LEFT(head, parent, tmp, field);\ - tmp = parent; \ - parent = elm; \ - elm = tmp; \ - } \ - RB_SET_BLACKRED(parent, gparent, field); \ - RB_ROTATE_RIGHT(head, gparent, tmp, field); \ - } else { \ - tmp = RB_LEFT(gparent, field); \ - if (tmp && RB_COLOR(tmp, field) == RB_RED) { \ - RB_COLOR(tmp, field) = RB_BLACK; \ - RB_SET_BLACKRED(parent, gparent, field);\ - elm = gparent; \ - continue; \ - } \ - if (RB_LEFT(parent, field) == elm) { \ - RB_ROTATE_RIGHT(head, parent, tmp, field);\ - tmp = parent; \ - parent = elm; \ - elm = tmp; \ - } \ - RB_SET_BLACKRED(parent, gparent, field); \ - RB_ROTATE_LEFT(head, gparent, tmp, field); \ - } \ - } \ - RB_COLOR(head->rbh_root, field) = RB_BLACK; \ -} \ - \ -void \ -name##_RB_REMOVE_COLOR(struct name *head, struct type *parent, struct type *elm) \ -{ \ - struct type *tmp; \ - while ((elm == NULL || RB_COLOR(elm, field) == RB_BLACK) && \ - elm != RB_ROOT(head)) { \ - if (RB_LEFT(parent, field) == elm) { \ - tmp = RB_RIGHT(parent, field); \ - if (RB_COLOR(tmp, field) == RB_RED) { \ - RB_SET_BLACKRED(tmp, parent, field); \ - RB_ROTATE_LEFT(head, parent, tmp, field);\ - tmp = RB_RIGHT(parent, field); \ - } \ - if ((RB_LEFT(tmp, field) == NULL || \ - RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) &&\ - (RB_RIGHT(tmp, field) == NULL || \ - RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) {\ - RB_COLOR(tmp, field) = RB_RED; \ - elm = parent; \ - parent = RB_PARENT(elm, field); \ - } else { \ - if (RB_RIGHT(tmp, field) == NULL || \ - RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK) {\ - struct type *oleft; \ - if ((oleft = RB_LEFT(tmp, field)))\ - RB_COLOR(oleft, field) = RB_BLACK;\ - RB_COLOR(tmp, field) = RB_RED; \ - RB_ROTATE_RIGHT(head, tmp, oleft, field);\ - tmp = RB_RIGHT(parent, field); \ - } \ - RB_COLOR(tmp, field) = RB_COLOR(parent, field);\ - RB_COLOR(parent, field) = RB_BLACK; \ - if (RB_RIGHT(tmp, field)) \ - RB_COLOR(RB_RIGHT(tmp, field), field) = RB_BLACK;\ - RB_ROTATE_LEFT(head, parent, tmp, field);\ - elm = RB_ROOT(head); \ - break; \ - } \ - } else { \ - tmp = RB_LEFT(parent, field); \ - if (RB_COLOR(tmp, field) == RB_RED) { \ - RB_SET_BLACKRED(tmp, parent, field); \ - RB_ROTATE_RIGHT(head, parent, tmp, field);\ - tmp = RB_LEFT(parent, field); \ - } \ - if ((RB_LEFT(tmp, field) == NULL || \ - RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) &&\ - (RB_RIGHT(tmp, field) == NULL || \ - RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) {\ - RB_COLOR(tmp, field) = RB_RED; \ - elm = parent; \ - parent = RB_PARENT(elm, field); \ - } else { \ - if (RB_LEFT(tmp, field) == NULL || \ - RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) {\ - struct type *oright; \ - if ((oright = RB_RIGHT(tmp, field)))\ - RB_COLOR(oright, field) = RB_BLACK;\ - RB_COLOR(tmp, field) = RB_RED; \ - RB_ROTATE_LEFT(head, tmp, oright, field);\ - tmp = RB_LEFT(parent, field); \ - } \ - RB_COLOR(tmp, field) = RB_COLOR(parent, field);\ - RB_COLOR(parent, field) = RB_BLACK; \ - if (RB_LEFT(tmp, field)) \ - RB_COLOR(RB_LEFT(tmp, field), field) = RB_BLACK;\ - RB_ROTATE_RIGHT(head, parent, tmp, field);\ - elm = RB_ROOT(head); \ - break; \ - } \ - } \ - } \ - if (elm) \ - RB_COLOR(elm, field) = RB_BLACK; \ -} \ - \ -struct type * \ -name##_RB_REMOVE(struct name *head, struct type *elm) \ -{ \ - struct type *child, *parent, *old = elm; \ - int color; \ - if (RB_LEFT(elm, field) == NULL) \ - child = RB_RIGHT(elm, field); \ - else if (RB_RIGHT(elm, field) == NULL) \ - child = RB_LEFT(elm, field); \ - else { \ - struct type *left; \ - elm = RB_RIGHT(elm, field); \ - while ((left = RB_LEFT(elm, field))) \ - elm = left; \ - child = RB_RIGHT(elm, field); \ - parent = RB_PARENT(elm, field); \ - color = RB_COLOR(elm, field); \ - if (child) \ - RB_PARENT(child, field) = parent; \ - if (parent) { \ - if (RB_LEFT(parent, field) == elm) \ - RB_LEFT(parent, field) = child; \ - else \ - RB_RIGHT(parent, field) = child; \ - RB_AUGMENT(parent); \ - } else \ - RB_ROOT(head) = child; \ - if (RB_PARENT(elm, field) == old) \ - parent = elm; \ - (elm)->field = (old)->field; \ - if (RB_PARENT(old, field)) { \ - if (RB_LEFT(RB_PARENT(old, field), field) == old)\ - RB_LEFT(RB_PARENT(old, field), field) = elm;\ - else \ - RB_RIGHT(RB_PARENT(old, field), field) = elm;\ - RB_AUGMENT(RB_PARENT(old, field)); \ - } else \ - RB_ROOT(head) = elm; \ - RB_PARENT(RB_LEFT(old, field), field) = elm; \ - if (RB_RIGHT(old, field)) \ - RB_PARENT(RB_RIGHT(old, field), field) = elm; \ - if (parent) { \ - left = parent; \ - do { \ - RB_AUGMENT(left); \ - } while ((left = RB_PARENT(left, field))); \ - } \ - goto color; \ - } \ - parent = RB_PARENT(elm, field); \ - color = RB_COLOR(elm, field); \ - if (child) \ - RB_PARENT(child, field) = parent; \ - if (parent) { \ - if (RB_LEFT(parent, field) == elm) \ - RB_LEFT(parent, field) = child; \ - else \ - RB_RIGHT(parent, field) = child; \ - RB_AUGMENT(parent); \ - } else \ - RB_ROOT(head) = child; \ -color: \ - if (color == RB_BLACK) \ - name##_RB_REMOVE_COLOR(head, parent, child); \ - return (old); \ -} \ - \ -/* Inserts a node into the RB tree */ \ -struct type * \ -name##_RB_INSERT(struct name *head, struct type *elm) \ -{ \ - struct type *tmp; \ - struct type *parent = NULL; \ - int comp = 0; \ - tmp = RB_ROOT(head); \ - while (tmp) { \ - parent = tmp; \ - comp = (cmp)(elm, parent); \ - if (comp < 0) \ - tmp = RB_LEFT(tmp, field); \ - else if (comp > 0) \ - tmp = RB_RIGHT(tmp, field); \ - else \ - return (tmp); \ - } \ - RB_SET(elm, parent, field); \ - if (parent != NULL) { \ - if (comp < 0) \ - RB_LEFT(parent, field) = elm; \ - else \ - RB_RIGHT(parent, field) = elm; \ - RB_AUGMENT(parent); \ - } else \ - { \ - RB_ROOT(head) = elm; \ - } \ - name##_RB_INSERT_COLOR(head, elm); \ - return (NULL); \ -} \ - \ -/* Finds the node with the same key as elm */ \ -struct type * \ -name##_RB_FIND(struct name *head, struct type *elm) \ -{ \ - struct type *tmp = RB_ROOT(head); \ - int comp; \ - while (tmp) { \ - comp = cmp(elm, tmp); \ - if (comp < 0) \ - tmp = RB_LEFT(tmp, field); \ - else if (comp > 0) \ - tmp = RB_RIGHT(tmp, field); \ - else \ - return (tmp); \ - } \ - return (NULL); \ -} \ - \ -struct type * \ -name##_RB_NEXT(struct type *elm) \ -{ \ - if (RB_RIGHT(elm, field)) { \ - elm = RB_RIGHT(elm, field); \ - while (RB_LEFT(elm, field)) \ - elm = RB_LEFT(elm, field); \ - } else { \ - if (RB_PARENT(elm, field) && \ - (elm == RB_LEFT(RB_PARENT(elm, field), field))) \ - elm = RB_PARENT(elm, field); \ - else { \ - while (RB_PARENT(elm, field) && \ - (elm == RB_RIGHT(RB_PARENT(elm, field), field)))\ - elm = RB_PARENT(elm, field); \ - elm = RB_PARENT(elm, field); \ - } \ - } \ - return (elm); \ -} \ - \ -struct type * \ -name##_RB_MINMAX(struct name *head, int val) \ -{ \ - struct type *tmp = RB_ROOT(head); \ - struct type *parent = NULL; \ - while (tmp) { \ - parent = tmp; \ - if (val < 0) \ - tmp = RB_LEFT(tmp, field); \ - else \ - tmp = RB_RIGHT(tmp, field); \ - } \ - return (parent); \ -} - -#define RB_NEGINF -1 -#define RB_INF 1 - -#define RB_INSERT(name, x, y) name##_RB_INSERT(x, y) -#define RB_REMOVE(name, x, y) name##_RB_REMOVE(x, y) -#define RB_FIND(name, x, y) name##_RB_FIND(x, y) -#define RB_NEXT(name, x, y) name##_RB_NEXT(y) -#define RB_MIN(name, x) name##_RB_MINMAX(x, RB_NEGINF) -#define RB_MAX(name, x) name##_RB_MINMAX(x, RB_INF) - -#define RB_FOREACH(x, name, head) \ - for ((x) = RB_MIN(name, head); \ - (x) != NULL; \ - (x) = name##_RB_NEXT(x)) - -#endif /* _SYS_TREE_H_ */ diff --git a/openair3/OPENAIRMME/aclocal.m4 b/openair3/OPENAIRMME/aclocal.m4 deleted file mode 100644 index a27c75176e..0000000000 --- a/openair3/OPENAIRMME/aclocal.m4 +++ /dev/null @@ -1,9555 +0,0 @@ -# generated automatically by aclocal 1.12 -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, -# Inc. -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, -[m4_warning([this file was generated for autoconf 2.69. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically 'autoreconf'.])]) - -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, -# Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -m4_define([_LT_COPYING], [dnl -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, -# Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -]) - -# serial 57 LT_INIT - - -# LT_PREREQ(VERSION) -# ------------------ -# Complain and exit if this libtool version is less that VERSION. -m4_defun([LT_PREREQ], -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, - [m4_default([$3], - [m4_fatal([Libtool version $1 or higher is required], - 63)])], - [$2])]) - - -# _LT_CHECK_BUILDDIR -# ------------------ -# Complain if the absolute build directory name contains unusual characters -m4_defun([_LT_CHECK_BUILDDIR], -[case `pwd` in - *\ * | *\ *) - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -esac -]) - - -# LT_INIT([OPTIONS]) -# ------------------ -AC_DEFUN([LT_INIT], -[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT -AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -])# LT_INIT - -# Old names: -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -m4_defun([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -]) - - -# _LT_FILEUTILS_DEFAULTS -# ---------------------- -# It is okay to use these file commands and assume they have been set -# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. -m4_defun([_LT_FILEUTILS_DEFAULTS], -[: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -])# _LT_FILEUTILS_DEFAULTS - - -# _LT_SETUP -# --------- -m4_defun([_LT_SETUP], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl - -_LT_DECL([], [host_alias], [0], [The host system])dnl -_LT_DECL([], [host], [0])dnl -_LT_DECL([], [host_os], [0])dnl -dnl -_LT_DECL([], [build_alias], [0], [The build system])dnl -_LT_DECL([], [build], [0])dnl -_LT_DECL([], [build_os], [0])dnl -dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -test -z "$LN_S" && LN_S="ln -s" -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -dnl -AC_REQUIRE([LT_CMD_MAX_LEN])dnl -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_WITH_SYSROOT])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi -]) -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -_LT_CHECK_OBJDIR - -m4_require([_LT_TAG_COMPILER])dnl - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - _LT_PATH_MAGIC - fi - ;; -esac - -# Use C for the default configuration in the libtool script -LT_SUPPORTED_TAG([CC]) -_LT_LANG_C_CONFIG -_LT_LANG_DEFAULT_CONFIG -_LT_CONFIG_COMMANDS -])# _LT_SETUP - - -# _LT_PREPARE_SED_QUOTE_VARS -# -------------------------- -# Define a few sed substitution that help us do robust quoting. -m4_defun([_LT_PREPARE_SED_QUOTE_VARS], -[# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' -]) - -# _LT_PROG_LTMAIN -# --------------- -# Note that this code is called both from `configure', and `config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# `config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -m4_defun([_LT_PROG_LTMAIN], -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain="$ac_aux_dir/ltmain.sh" -])# _LT_PROG_LTMAIN - - - -# So that we can recreate a full libtool script including additional -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the `libtool' -# label. - - -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -# ---------------------------------------- -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL_INIT], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) - - -# _LT_CONFIG_LIBTOOL([COMMANDS]) -# ------------------------------ -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) - - -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -# ----------------------------------------------------- -m4_defun([_LT_CONFIG_SAVE_COMMANDS], -[_LT_CONFIG_LIBTOOL([$1]) -_LT_CONFIG_LIBTOOL_INIT([$2]) -]) - - -# _LT_FORMAT_COMMENT([COMMENT]) -# ----------------------------- -# Add leading comment marks to the start of each line, and a trailing -# full-stop to the whole comment if one is not present already. -m4_define([_LT_FORMAT_COMMENT], -[m4_ifval([$1], [ -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -)]) - - - - - -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -# ------------------------------------------------------------------- -# CONFIGNAME is the name given to the value in the libtool script. -# VARNAME is the (base) name used in the configure script. -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -# VARNAME. Any other value will be used directly. -m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], - [m4_ifval([$1], [$1], [$2])]) - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) - m4_ifval([$4], - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) - lt_dict_add_subkey([lt_decl_dict], [$2], - [tagged?], [m4_ifval([$5], [yes], [no])])]) -]) - - -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -# -------------------------------------------------------- -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) - - -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_tag_varnames], -[_lt_decl_filter([tagged?], [yes], $@)]) - - -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -# --------------------------------------------------------- -m4_define([_lt_decl_filter], -[m4_case([$#], - [0], [m4_fatal([$0: too few arguments: $#])], - [1], [m4_fatal([$0: too few arguments: $#: $1])], - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], - [lt_dict_filter([lt_decl_dict], $@)])[]dnl -]) - - -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -# -------------------------------------------------- -m4_define([lt_decl_quote_varnames], -[_lt_decl_filter([value], [1], $@)]) - - -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_dquote_varnames], -[_lt_decl_filter([value], [2], $@)]) - - -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_varnames_tagged], -[m4_assert([$# <= 2])dnl -_$0(m4_quote(m4_default([$1], [[, ]])), - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -m4_define([_lt_decl_varnames_tagged], -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) - - -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_all_varnames], -[_$0(m4_quote(m4_default([$1], [[, ]])), - m4_if([$2], [], - m4_quote(lt_decl_varnames), - m4_quote(m4_shift($@))))[]dnl -]) -m4_define([_lt_decl_all_varnames], -[lt_join($@, lt_decl_varnames_tagged([$1], - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl -]) - - -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -# ------------------------------------ -# Quote a variable value, and forward it to `config.status' so that its -# declaration there will have the same value as in `configure'. VARNAME -# must have a single quote delimited value for this to work. -m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) - - -# _LT_CONFIG_STATUS_DECLARATIONS -# ------------------------------ -# We delimit libtool config variables with single quotes, so when -# we write them to config.status, we have to be sure to quote all -# embedded single quotes properly. In configure, this macro expands -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -# -# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`' -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAGS -# ---------------- -# Output comment and list of tags supported by the script -m4_defun([_LT_LIBTOOL_TAGS], -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags="_LT_TAGS"dnl -]) - - -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -# ----------------------------------- -# Extract the dictionary values for VARNAME (optionally with TAG) and -# expand to a commented shell variable setting: -# -# # Some comment about what VAR is for. -# visible_name=$lt_internal_name -m4_define([_LT_LIBTOOL_DECLARE], -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], - [description])))[]dnl -m4_pushdef([_libtool_name], - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), - [0], [_libtool_name=[$]$1], - [1], [_libtool_name=$lt_[]$1], - [2], [_libtool_name=$lt_[]$1], - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl -]) - - -# _LT_LIBTOOL_CONFIG_VARS -# ----------------------- -# Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -# section) are produced by _LT_LIBTOOL_TAG_VARS. -m4_defun([_LT_LIBTOOL_CONFIG_VARS], -[m4_foreach([_lt_var], - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAG_VARS(TAG) -# ------------------------- -m4_define([_LT_LIBTOOL_TAG_VARS], -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) - - -# _LT_TAGVAR(VARNAME, [TAGNAME]) -# ------------------------------ -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) - - -# _LT_CONFIG_COMMANDS -# ------------------- -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -# variables for single and double quote escaping we saved from calls -# to _LT_DECL, we can put quote escaped variables declarations -# into `config.status', and then the shell code to quote escape them in -# for loops in `config.status'. Finally, any additional code accumulated -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -m4_defun([_LT_CONFIG_COMMANDS], -[AC_PROVIDE_IFELSE([LT_OUTPUT], - dnl If the libtool generation code has been placed in $CONFIG_LT, - dnl instead of duplicating it all over again into config.status, - dnl then we will have config.status run $CONFIG_LT later, so it - dnl needs to know what name is stored there: - [AC_CONFIG_COMMANDS([libtool], - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], - dnl If the libtool generation code is destined for config.status, - dnl expand the accumulated commands and init code now: - [AC_CONFIG_COMMANDS([libtool], - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -])#_LT_CONFIG_COMMANDS - - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -[ - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -_LT_CONFIG_STATUS_DECLARATIONS -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$[]1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -_LT_OUTPUT_LIBTOOL_INIT -]) - -# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) -# ------------------------------------ -# Generate a child script FILE with all initialization necessary to -# reuse the environment learned by the parent script, and make the -# file executable. If COMMENT is supplied, it is inserted after the -# `#!' sequence but before initialization text begins. After this -# macro, additional text can be appended to FILE to form the body of -# the child script. The macro ends with non-zero status if the -# file could not be fully written (such as if the disk is full). -m4_ifdef([AS_INIT_GENERATED], -[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], -[m4_defun([_LT_GENERATED_FILE_INIT], -[m4_require([AS_PREPARE])]dnl -[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl -[lt_write_fail=0 -cat >$1 <<_ASEOF || lt_write_fail=1 -#! $SHELL -# Generated by $as_me. -$2 -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$1 <<\_ASEOF || lt_write_fail=1 -AS_SHELL_SANITIZE -_AS_PREPARE -exec AS_MESSAGE_FD>&1 -_ASEOF -test $lt_write_fail = 0 && chmod +x $1[]dnl -m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT - -# LT_OUTPUT -# --------- -# This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation -# tests. -AC_DEFUN([LT_OUTPUT], -[: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], -[# Run this file to recreate a libtool stub with the current configuration.]) - -cat >>"$CONFIG_LT" <<\_LTEOF -lt_cl_silent=false -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -\`$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - -Report bugs to <bug-libtool@gnu.org>." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2010 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test $[#] != 0 -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try \`$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try \`$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -lt_cl_success=: -test "$silent" = yes && - lt_config_lt_args="$lt_config_lt_args --quiet" -exec AS_MESSAGE_LOG_FD>/dev/null -$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false -exec AS_MESSAGE_LOG_FD>>config.log -$lt_cl_success || AS_EXIT(1) -])# LT_OUTPUT - - -# _LT_CONFIG(TAG) -# --------------- -# If TAG is the built-in tag, create an initial libtool script with a -# default configuration from the untagged config vars. Otherwise add code -# to config.status for appending the configuration named by TAG from the -# matching tagged config vars. -m4_defun([_LT_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_CONFIG_SAVE_COMMANDS([ - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl - m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -_LT_COPYING -_LT_LIBTOOL_TAGS - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - _LT_PROG_LTMAIN - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - _LT_PROG_REPLACE_SHELLFNS - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -], -[cat <<_LT_EOF >> "$ofile" - -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -dnl in a comment (ie after a #). -# ### BEGIN LIBTOOL TAG CONFIG: $1 -_LT_LIBTOOL_TAG_VARS(_LT_TAG) -# ### END LIBTOOL TAG CONFIG: $1 -_LT_EOF -])dnl /m4_if -], -[m4_if([$1], [], [ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile'], []) -])dnl /_LT_CONFIG_SAVE_COMMANDS -])# _LT_CONFIG - - -# LT_SUPPORTED_TAG(TAG) -# --------------------- -# Trace this macro to discover what tags are supported by the libtool -# --tag option, using: -# autoconf --trace 'LT_SUPPORTED_TAG:$1' -AC_DEFUN([LT_SUPPORTED_TAG], []) - - -# C support is built-in for now -m4_define([_LT_LANG_C_enabled], []) -m4_define([_LT_TAGS], []) - - -# LT_LANG(LANG) -# ------------- -# Enable libtool support for the given language if not already enabled. -AC_DEFUN([LT_LANG], -[AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -])# LT_LANG - - -# _LT_LANG(LANGNAME) -# ------------------ -m4_defun([_LT_LANG], -[m4_ifdef([_LT_LANG_]$1[_enabled], [], - [LT_SUPPORTED_TAG([$1])dnl - m4_append([_LT_TAGS], [$1 ])dnl - m4_define([_LT_LANG_]$1[_enabled], [])dnl - _LT_LANG_$1_CONFIG($1)])dnl -])# _LT_LANG - - -# _LT_LANG_DEFAULT_CONFIG -# ----------------------- -m4_defun([_LT_LANG_DEFAULT_CONFIG], -[AC_PROVIDE_IFELSE([AC_PROG_CXX], - [LT_LANG(CXX)], - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) - -AC_PROVIDE_IFELSE([AC_PROG_F77], - [LT_LANG(F77)], - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) - -AC_PROVIDE_IFELSE([AC_PROG_FC], - [LT_LANG(FC)], - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) - -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -dnl pulling things in needlessly. -AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], - [LT_LANG(GCJ)], - [m4_ifdef([AC_PROG_GCJ], - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([A][M_PROG_GCJ], - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([LT_PROG_GCJ], - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) - -AC_PROVIDE_IFELSE([LT_PROG_RC], - [LT_LANG(RC)], - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -])# _LT_LANG_DEFAULT_CONFIG - -# Obsolete macros: -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -dnl AC_DEFUN([AC_LIBTOOL_F77], []) -dnl AC_DEFUN([AC_LIBTOOL_FC], []) -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) -dnl AC_DEFUN([AC_LIBTOOL_RC], []) - - -# _LT_TAG_COMPILER -# ---------------- -m4_defun([_LT_TAG_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_TAG_COMPILER - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -m4_defun([_LT_COMPILER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -m4_defun([_LT_LINKER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# ------------------------- -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - AC_CHECK_TOOL([LIPO], [lipo], [:]) - AC_CHECK_TOOL([OTOOL], [otool], [:]) - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) - _LT_DECL([], [DSYMUTIL], [1], - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) - _LT_DECL([], [NMEDIT], [1], - [Tool to change global to local symbols on Mac OS X]) - _LT_DECL([], [LIPO], [1], - [Tool to manipulate fat objects and archives on Mac OS X]) - _LT_DECL([], [OTOOL], [1], - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) - _LT_DECL([], [OTOOL64], [1], - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS="$save_LDFLAGS" - ]) - AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], - [lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD - echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD - $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[[012]]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES -# -------------------------- -# Checks for linker and compiler features on darwin -m4_defun([_LT_DARWIN_LINKER_FEATURES], -[ - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_automatic, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - m4_if([$1], [CXX], -[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then - _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi -],[]) - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi -]) - -# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) -# ---------------------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -# Store the results from the different compilers for each TAGNAME. -# Allow to override them for all tags through lt_cv_aix_libpath. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], - [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ - lt_aix_libpath_sed='[ - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }]' - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi],[]) - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" - fi - ]) - aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) -fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[m4_divert_text([M4SH-INIT], [$1 -])])# _LT_SHELL_INIT - - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Find how we can fake an echo command that does not interpret backslash. -# In particular, with Autoconf 2.60 or later we add some code to the start -# of the generated configure script which will find a shell with a builtin -# printf (which we can use as an echo command). -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -AC_MSG_CHECKING([how to print strings]) -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$[]1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -case "$ECHO" in - printf*) AC_MSG_RESULT([printf]) ;; - print*) AC_MSG_RESULT([print -r]) ;; - *) AC_MSG_RESULT([cat]) ;; -esac - -m4_ifdef([_AS_DETECT_SUGGESTED], -[_AS_DETECT_SUGGESTED([ - test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test "X`printf %s $ECHO`" = "X$ECHO" \ - || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) - -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_WITH_SYSROOT -# ---------------- -AC_DEFUN([_LT_WITH_SYSROOT], -[AC_MSG_CHECKING([for sysroot]) -AC_ARG_WITH([sysroot], -[ --with-sysroot[=DIR] Search for dependent libraries within DIR - (or the compiler's sysroot if not specified).], -[], [with_sysroot=no]) - -dnl lt_sysroot will always be passed unquoted. We quote it here -dnl in case the user passed a directory name. -lt_sysroot= -case ${with_sysroot} in #( - yes) - if test "$GCC" = yes; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - AC_MSG_RESULT([${with_sysroot}]) - AC_MSG_ERROR([The sysroot must be an absolute path.]) - ;; -esac - - AC_MSG_RESULT([${lt_sysroot:-no}]) -_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and in which our libraries should be installed.])]) - -# _LT_ENABLE_LOCK -# --------------- -m4_defun([_LT_ENABLE_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AS_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" -])# _LT_ENABLE_LOCK - - -# _LT_PROG_AR -# ----------- -m4_defun([_LT_PROG_AR], -[AC_CHECK_TOOLS(AR, [ar], false) -: ${AR=ar} -: ${AR_FLAGS=cru} -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) - -AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], - [lt_cv_ar_at_file=no - AC_COMPILE_IFELSE([AC_LANG_PROGRAM], - [echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -eq 0; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -ne 0; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - ]) - ]) - -if test "x$lt_cv_ar_at_file" = xno; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi -_LT_DECL([], [archiver_list_spec], [1], - [How to feed a file listing to the archiver]) -])# _LT_PROG_AR - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[_LT_PROG_AR - -AC_CHECK_TOOL(STRIP, strip, :) -test -z "$STRIP" && STRIP=: -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) - -AC_CHECK_TOOL(RANLIB, ranlib, :) -test -z "$RANLIB" && RANLIB=: -_LT_DECL([], [RANLIB], [1], - [Commands used to install an old-style archive]) - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac -_LT_DECL([], [old_postinstall_cmds], [2]) -_LT_DECL([], [old_postuninstall_cmds], [2]) -_LT_TAGDECL([], [old_archive_cmds], [2], - [Commands used to build an old-style archive]) -_LT_DECL([], [lock_old_archive_extraction], [0], - [Whether to use a lock for old archive extraction]) -])# _LT_CMD_OLD_ARCHIVE - - -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([_LT_COMPILER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test x"[$]$2" = xyes; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -])# _LT_COMPILER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) - - -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------- -# Check whether the given linker option works -AC_DEFUN([_LT_LINKER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -])# _LT_LINKER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) - - -# LT_CMD_MAX_LEN -#--------------- -AC_DEFUN([LT_CMD_MAX_LEN], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -])# LT_CMD_MAX_LEN - -# Old name: -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) - - -# _LT_HEADER_DLFCN -# ---------------- -m4_defun([_LT_HEADER_DLFCN], -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -])# _LT_HEADER_DLFCN - - -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ---------------------------------------------------------------- -m4_defun([_LT_TRY_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include <dlfcn.h> -#endif - -#include <stdio.h> - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_TRY_DLOPEN_SELF - - -# LT_SYS_DLOPEN_SELF -# ------------------ -AC_DEFUN([LT_SYS_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -])# LT_SYS_DLOPEN_SELF - -# Old name: -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) - - -# _LT_COMPILER_C_O([TAGNAME]) -# --------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler. -# This macro does not hard code the compiler like AC_PROG_CC_C_O. -m4_defun([_LT_COMPILER_C_O], -[m4_require([_LT_DECL_SED])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -]) -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], - [Does compiler simultaneously support -c and -o options?]) -])# _LT_COMPILER_C_O - - -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -# ---------------------------------- -# Check to see if we can do hard links to lock some files if needed -m4_defun([_LT_COMPILER_FILE_LOCKS], -[m4_require([_LT_ENABLE_LOCK])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_COMPILER_C_O([$1]) - -hard_links="nottested" -if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -])# _LT_COMPILER_FILE_LOCKS - - -# _LT_CHECK_OBJDIR -# ---------------- -m4_defun([_LT_CHECK_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -_LT_DECL([], [objdir], [0], - [The name of the directory that contains temporary libtool files])dnl -m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", - [Define to the sub-directory in which libtool stores uninstalled libraries.]) -])# _LT_CHECK_OBJDIR - - -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -# -------------------------------------- -# Check hardcoding attributes. -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || - test -n "$_LT_TAGVAR(runpath_var, $1)" || - test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || - test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -_LT_TAGDECL([], [hardcode_action], [0], - [How to hardcode a shared library path into an executable]) -])# _LT_LINKER_HARDCODE_LIBPATH - - -# _LT_CMD_STRIPLIB -# ---------------- -m4_defun([_LT_CMD_STRIPLIB], -[m4_require([_LT_DECL_EGREP]) -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -_LT_DECL([], [striplib], [1]) -])# _LT_CMD_STRIPLIB - - -# _LT_SYS_DYNAMIC_LINKER([TAG]) -# ----------------------------- -# PORTME Fill in your ld.so characteristics -m4_defun([_LT_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_OBJDUMP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[[4-9]]*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib<name>.so - # instead of lib<name>.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec="$LIB" - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[123]]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -haiku*) - version_type=linux - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[[3-9]]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], - [lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [lt_cv_shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - ]) - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - -_LT_DECL([], [variables_saved_for_relink], [1], - [Variables whose values should be saved in libtool wrapper scripts and - restored at link time]) -_LT_DECL([], [need_lib_prefix], [0], - [Do we need the "lib" prefix for modules?]) -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -_LT_DECL([], [version_type], [0], [Library versioning type]) -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -_LT_DECL([], [shlibpath_overrides_runpath], [0], - [Is shlibpath searched before the hard-coded library search path?]) -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -_LT_DECL([], [library_names_spec], [1], - [[List of archive names. First name is the real one, the rest are links. - The last name is the one that the linker finds with -lNAME]]) -_LT_DECL([], [soname_spec], [1], - [[The coded name of the library, if different from the real name]]) -_LT_DECL([], [install_override_mode], [1], - [Permission mode override for installation of shared libraries]) -_LT_DECL([], [postinstall_cmds], [2], - [Command to use after installation of a shared archive]) -_LT_DECL([], [postuninstall_cmds], [2], - [Command to use after uninstallation of a shared archive]) -_LT_DECL([], [finish_cmds], [2], - [Commands used to finish a libtool library installation in a directory]) -_LT_DECL([], [finish_eval], [1], - [[As "finish_cmds", except a single script fragment to be evaled but - not shown]]) -_LT_DECL([], [hardcode_into_libs], [0], - [Whether we should hardcode library paths into libraries]) -_LT_DECL([], [sys_lib_search_path_spec], [2], - [Compile-time system search path for libraries]) -_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], - [Run-time system search path for libraries]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program which can recognize shared library -AC_DEFUN([_LT_PATH_TOOL_PREFIX], -[m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -])# _LT_PATH_TOOL_PREFIX - -# Old name: -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) - - -# _LT_PATH_MAGIC -# -------------- -# find a file program which can recognize a shared library -m4_defun([_LT_PATH_MAGIC], -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# _LT_PATH_MAGIC - - -# LT_PATH_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([LT_PATH_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PROG_ECHO_BACKSLASH])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break - ;; - *) - test "$with_gnu_ld" != yes && break - ;; - esac - fi - done - IFS="$lt_save_ifs" -else - lt_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$lt_cv_path_LD" -if test -n "$LD"; then - AC_MSG_RESULT($LD) -else - AC_MSG_RESULT(no) -fi -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) -_LT_PATH_LD_GNU -AC_SUBST([LD]) - -_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) -])# LT_PATH_LD - -# Old names: -AU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) -AU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_LD], []) -dnl AC_DEFUN([AC_PROG_LD], []) - - -# _LT_PATH_LD_GNU -#- -------------- -m4_defun([_LT_PATH_LD_GNU], -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, -[# I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 </dev/null` in -*GNU* | *'with BFD'*) - lt_cv_prog_gnu_ld=yes - ;; -*) - lt_cv_prog_gnu_ld=no - ;; -esac]) -with_gnu_ld=$lt_cv_prog_gnu_ld -])# _LT_PATH_LD_GNU - - -# _LT_CMD_RELOAD -# -------------- -# find reload flag for linker -# -- PORTME Some linkers may need a different reload flag. -m4_defun([_LT_CMD_RELOAD], -[AC_CACHE_CHECK([for $LD option to reload object files], - lt_cv_ld_reload_flag, - [lt_cv_ld_reload_flag='-r']) -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - if test "$GCC" != yes; then - reload_cmds=false - fi - ;; - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac -_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl -_LT_TAGDECL([], [reload_cmds], [2])dnl -])# _LT_CMD_RELOAD - - -# _LT_CHECK_MAGIC_METHOD -# ---------------------- -# how to check for library dependencies -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_MAGIC_METHOD], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -AC_CACHE_CHECK([how to recognize dependent libraries], -lt_cv_deplibs_check_method, -[lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[[4-9]]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[[45]]*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. - if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -_LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) -_LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method = "file_magic"]) -_LT_DECL([], [file_magic_glob], [1], - [How to find potential files when deplibs_check_method = "file_magic"]) -_LT_DECL([], [want_nocaseglob], [1], - [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) -])# _LT_CHECK_MAGIC_METHOD - - -# LT_PATH_NM -# ---------- -# find the pathname to a BSD- or MS-compatible name lister -AC_DEFUN([LT_PATH_NM], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi]) -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols" - ;; - *) - DUMPBIN=: - ;; - esac - fi - AC_SUBST([DUMPBIN]) - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -])# LT_PATH_NM - -# Old names: -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_NM], []) -dnl AC_DEFUN([AC_PROG_NM], []) - -# _LT_CHECK_SHAREDLIB_FROM_LINKLIB -# -------------------------------- -# how to determine the name of the shared library -# associated with a specific link library. -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -m4_require([_LT_DECL_DLLTOOL]) -AC_CACHE_CHECK([how to associate runtime and link libraries], -lt_cv_sharedlib_from_linklib_cmd, -[lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" - ;; -esac -]) -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - -_LT_DECL([], [sharedlib_from_linklib_cmd], [1], - [Command to associate shared and link libraries]) -])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB - - -# _LT_PATH_MANIFEST_TOOL -# ---------------------- -# locate the manifest tool -m4_defun([_LT_PATH_MANIFEST_TOOL], -[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], - [lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&AS_MESSAGE_LOG_FD - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest*]) -if test "x$lt_cv_path_mainfest_tool" != xyes; then - MANIFEST_TOOL=: -fi -_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl -])# _LT_PATH_MANIFEST_TOOL - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -AC_SUBST([LIBM]) -])# LT_LIB_M - -# Old name: -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_CHECK_LIBM], []) - - -# _LT_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------- -m4_defun([_LT_COMPILER_NO_RTTI], -[m4_require([_LT_TAG_COMPILER])dnl - -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - case $cc_basename in - nvcc*) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; - *) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; - esac - - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], - [Compiler flag to turn off builtin functions]) -])# _LT_COMPILER_NO_RTTI - - -# _LT_CMD_GLOBAL_SYMBOLS -# ---------------------- -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([LT_PATH_NM])dnl -AC_REQUIRE([LT_PATH_LD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_TAG_COMPILER])dnl - -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK ['"\ -" {last_section=section; section=\$ 3};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx]" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], - [Take the output of nm and produce a listing of raw symbols and C names]) -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], - [Transform the output of nm in a proper C declaration]) -_LT_DECL([global_symbol_to_c_name_address], - [lt_cv_sys_global_symbol_to_c_name_address], [1], - [Transform the output of nm in a C name address pair]) -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], - [Transform the output of nm in a C name address pair when lib prefix is needed]) -_LT_DECL([], [nm_file_list_spec], [1], - [Specify filename containing input files for $NM]) -]) # _LT_CMD_GLOBAL_SYMBOLS - - -# _LT_COMPILER_PIC([TAGNAME]) -# --------------------------- -m4_defun([_LT_COMPILER_PIC], -[m4_require([_LT_TAG_COMPILER])dnl -_LT_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_TAGVAR(lt_prog_compiler_static, $1)= - -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - hpux9* | hpux10* | hpux11*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' - ;; - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ F* | *Sun*Fortran*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - *Sun\ C*) - # Sun C 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - esac - ;; - - newsos6) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -AC_CACHE_CHECK([for $compiler option to produce PIC], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], - [Additional compiler flags for building library objects]) - -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) -# -# Check to make sure the static flag actually works. -# -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], - [Compiler flag to prevent dynamic linking]) -])# _LT_COMPILER_PIC - - -# _LT_LINKER_SHLIBS([TAGNAME]) -# ---------------------------- -# See if the linker supports building shared libraries. -m4_defun([_LT_LINKER_SHLIBS], -[AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -m4_if([$1], [CXX], [ - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global defined - # symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - ;; - esac - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -], [ - runpath_var= - _LT_TAGVAR(allow_undefined_flag, $1)= - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(archive_cmds, $1)= - _LT_TAGVAR(archive_expsym_cmds, $1)= - _LT_TAGVAR(compiler_needs_object, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(hardcode_automatic, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= - _LT_TAGVAR(hardcode_libdir_separator, $1)= - _LT_TAGVAR(hardcode_minus_L, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(inherit_rpath, $1)=no - _LT_TAGVAR(link_all_deplibs, $1)=unknown - _LT_TAGVAR(module_cmds, $1)= - _LT_TAGVAR(module_expsym_cmds, $1)= - _LT_TAGVAR(old_archive_from_new_cmds, $1)= - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_TAGVAR(thread_safe_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; - *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test "$lt_use_gnu_ld_interface" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - _LT_TAGVAR(whole_archive_flag_spec, $1)= - tmp_sharedflag='--shared' ;; - xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - bsdi[[45]]*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - esac - ;; - - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - freebsd1*) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - m4_if($1, [], [ - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - _LT_LINKER_OPTION([if $CC understands -b], - _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], - [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], - [lt_cv_irix_exported_symbol], - [save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - AC_LINK_IFELSE( - [AC_LANG_SOURCE( - [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], - [C++], [[int foo (void) { return 0; }]], - [Fortran 77], [[ - subroutine foo - end]], - [Fortran], [[ - subroutine foo - end]])])], - [lt_cv_irix_exported_symbol=yes], - [lt_cv_irix_exported_symbol=no]) - LDFLAGS="$save_LDFLAGS"]) - if test "$lt_cv_irix_exported_symbol" = yes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - fi - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' - ;; - esac - fi - fi -]) -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld - -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -_LT_DECL([], [extract_expsyms_cmds], [2], - [The commands to extract the exported symbol list from a shared archive]) - -# -# Do we need to explicitly link libc? -# -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_CACHE_CHECK([whether -lc should be explicitly linked in], - [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), - [$RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - ]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) - ;; - esac - fi - ;; -esac - -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], - [Whether or not to add -lc for building shared libraries]) -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], - [enable_shared_with_static_runtimes], [0], - [Whether or not to disallow shared libs when runtime libs are static]) -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], - [Compiler flag to allow reflexive dlopens]) -_LT_TAGDECL([], [whole_archive_flag_spec], [1], - [Compiler flag to generate shared objects directly from archives]) -_LT_TAGDECL([], [compiler_needs_object], [1], - [Whether the compiler copes with passing no objects directly]) -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], - [Create an old-style archive from a shared archive]) -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], - [Create a temporary old-style archive to link instead of a shared archive]) -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -_LT_TAGDECL([], [archive_expsym_cmds], [2]) -_LT_TAGDECL([], [module_cmds], [2], - [Commands used to build a loadable module if different from building - a shared archive.]) -_LT_TAGDECL([], [module_expsym_cmds], [2]) -_LT_TAGDECL([], [with_gnu_ld], [1], - [Whether we are building with GNU ld or not]) -_LT_TAGDECL([], [allow_undefined_flag], [1], - [Flag that allows shared libraries with undefined symbols to be built]) -_LT_TAGDECL([], [no_undefined_flag], [1], - [Flag that enforces no undefined symbols]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], - [Flag to hardcode $libdir into a binary during linking. - This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], - [[If ld is used when linking, flag to hardcode $libdir into a binary - during linking. This must work even if $libdir does not exist]]) -_LT_TAGDECL([], [hardcode_libdir_separator], [1], - [Whether we need a single "-rpath" flag with a separated argument]) -_LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary]) -_LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting ${shlibpath_var} if the - library is relocated]) -_LT_TAGDECL([], [hardcode_minus_L], [0], - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_automatic], [0], - [Set to "yes" if building a shared library automatically hardcodes DIR - into the library and all subsequent libraries and executables linked - against it]) -_LT_TAGDECL([], [inherit_rpath], [0], - [Set to yes if linker adds runtime paths of dependent libraries - to runtime path list]) -_LT_TAGDECL([], [link_all_deplibs], [0], - [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [always_export_symbols], [0], - [Set to "yes" if exported symbols are required]) -_LT_TAGDECL([], [export_symbols_cmds], [2], - [The commands to list exported symbols]) -_LT_TAGDECL([], [exclude_expsyms], [1], - [Symbols that should not be listed in the preloaded symbols]) -_LT_TAGDECL([], [include_expsyms], [1], - [Symbols that must always be exported]) -_LT_TAGDECL([], [prelink_cmds], [2], - [Commands necessary for linking programs (against libraries) with templates]) -_LT_TAGDECL([], [postlink_cmds], [2], - [Commands necessary for finishing linking programs]) -_LT_TAGDECL([], [file_list_spec], [1], - [Specify filename containing input files]) -dnl FIXME: Not yet implemented -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -dnl [Compiler flag to generate thread safe objects]) -])# _LT_LINKER_SHLIBS - - -# _LT_LANG_C_CONFIG([TAG]) -# ------------------------ -# Ensure that the configuration variables for a C compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_C_CONFIG], -[m4_require([_LT_DECL_EGREP])dnl -lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_TAG_COMPILER -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - LT_SYS_DLOPEN_SELF - _LT_CMD_STRIPLIB - - # Report which library types will actually be built - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC="$lt_save_CC" -])# _LT_LANG_C_CONFIG - - -# _LT_LANG_CXX_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a C++ compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_CXX_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi - -AC_LANG_PUSH(C++) -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(compiler_needs_object, $1)=no -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - else - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - fi - - if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - LT_PATH_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) - _LT_TAGVAR(ld_shlibs, $1)=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - freebsd[[12]]*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - freebsd-elf*) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - gnu*) - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' - fi - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 and above use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - openbsd2*) - # C++ shared libraries are fairly broken - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - case $host in - osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - ;; - *) - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ - '"$_LT_TAGVAR(old_archive_cmds, $1)" - _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ - '"$_LT_TAGVAR(reload_cmds, $1)" - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - - _LT_TAGVAR(GCC, $1)="$GXX" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_FUNC_STRIPNAME_CNF -# ---------------------- -# func_stripname_cnf prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# -# This function is identical to the (non-XSI) version of func_stripname, -# except this one can be used by m4 code that may be executed by configure, -# rather than the libtool script. -m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl -AC_REQUIRE([_LT_DECL_SED]) -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) -func_stripname_cnf () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; - esac -} # func_stripname_cnf -])# _LT_FUNC_STRIPNAME_CNF - -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -# --------------------------------- -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl -# Dependencies to place before and after the object being linked: -_LT_TAGVAR(predep_objects, $1)= -_LT_TAGVAR(postdep_objects, $1)= -_LT_TAGVAR(predeps, $1)= -_LT_TAGVAR(postdeps, $1)= -_LT_TAGVAR(compiler_lib_search_path, $1)= - -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -int a; -void foo (void) { a = 0; } -_LT_EOF -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -_LT_EOF -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -_LT_EOF -]) - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -esac - -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case ${prev}${p} in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test "$pre_test_object_deps_done" = no; then - case ${prev} in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" - else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)="${prev}${p}" - else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)="$p" - else - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)="$p" - else - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -m4_if([$1], [CXX], -[case $host_os in -interix[[3-9]]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - _LT_TAGVAR(predep_objects,$1)= - _LT_TAGVAR(postdep_objects,$1)= - _LT_TAGVAR(postdeps,$1)= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC* | sunCC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) - -case " $_LT_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac - _LT_TAGVAR(compiler_lib_search_dirs, $1)= -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` -fi -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], - [The directories searched by this compiler when creating a shared library]) -_LT_TAGDECL([], [predep_objects], [1], - [Dependencies to place before and after the objects being linked to - create a shared library]) -_LT_TAGDECL([], [postdep_objects], [1]) -_LT_TAGDECL([], [predeps], [1]) -_LT_TAGDECL([], [postdeps], [1]) -_LT_TAGDECL([], [compiler_lib_search_path], [1], - [The library search path used internally by the compiler when linking - a shared library]) -])# _LT_SYS_HIDDEN_LIBDEPS - - -# _LT_LANG_F77_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a Fortran 77 compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_F77_CONFIG], -[AC_LANG_PUSH(Fortran 77) -if test -z "$F77" || test "X$F77" = "Xno"; then - _lt_disable_F77=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_F77" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${F77-"f77"} - CFLAGS=$FFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - GCC=$G77 - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$G77" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" - CFLAGS="$lt_save_CFLAGS" -fi # test "$_lt_disable_F77" != yes - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _LT_LANG_FC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for a Fortran compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_FC_CONFIG], -[AC_LANG_PUSH(Fortran) - -if test -z "$FC" || test "X$FC" = "Xno"; then - _lt_disable_FC=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_FC" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${FC-"f95"} - CFLAGS=$FCFLAGS - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test "$_lt_disable_FC" != yes - -AC_LANG_POP -])# _LT_LANG_FC_CONFIG - - -# _LT_LANG_GCJ_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Java Compiler compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GCJ_CONFIG], -[AC_REQUIRE([LT_PROG_GCJ])dnl -AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -CFLAGS=$GCJFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_RC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for the Windows resource compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_RC_CONFIG], -[AC_REQUIRE([LT_PROG_RC])dnl -AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -CFLAGS= -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -if test -n "$compiler"; then - : - _LT_CONFIG($1) -fi - -GCC=$lt_save_GCC -AC_LANG_RESTORE -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_RC_CONFIG - - -# LT_PROG_GCJ -# ----------- -AC_DEFUN([LT_PROG_GCJ], -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) - - -# LT_PROG_RC -# ---------- -AC_DEFUN([LT_PROG_RC], -[AC_CHECK_TOOL(RC, windres,) -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_RC], []) - - -# _LT_DECL_EGREP -# -------------- -# If we don't have a new enough Autoconf to choose the best grep -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_EGREP], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl -test -z "$GREP" && GREP=grep -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -_LT_DECL([], [EGREP], [1], [An ERE matcher]) -_LT_DECL([], [FGREP], [1], [A literal string matcher]) -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -AC_SUBST([GREP]) -]) - - -# _LT_DECL_OBJDUMP -# -------------- -# If we don't have a new enough Autoconf to choose the best objdump -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_OBJDUMP], -[AC_CHECK_TOOL(OBJDUMP, objdump, false) -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -AC_SUBST([OBJDUMP]) -]) - -# _LT_DECL_DLLTOOL -# ---------------- -# Ensure DLLTOOL variable is set. -m4_defun([_LT_DECL_DLLTOOL], -[AC_CHECK_TOOL(DLLTOOL, dlltool, false) -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) -AC_SUBST([DLLTOOL]) -]) - -# _LT_DECL_SED -# ------------ -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -m4_defun([_LT_DECL_SED], -[AC_PROG_SED -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_SED], []) - - -# _LT_CHECK_SHELL_FEATURES -# ------------------------ -# Find out whether the shell is Bourne or XSI compatible, -# or has some other useful features. -m4_defun([_LT_CHECK_SHELL_FEATURES], -[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -AC_MSG_RESULT([$xsi_shell]) -_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) - -AC_MSG_CHECKING([whether the shell understands "+="]) -lt_shell_append=no -( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -AC_MSG_RESULT([$lt_shell_append]) -_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -])# _LT_CHECK_SHELL_FEATURES - - -# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) -# ------------------------------------------------------ -# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and -# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. -m4_defun([_LT_PROG_FUNCTION_REPLACE], -[dnl { -sed -e '/^$1 ()$/,/^} # $1 /c\ -$1 ()\ -{\ -m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) -} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: -]) - - -# _LT_PROG_REPLACE_SHELLFNS -# ------------------------- -# Replace existing portable implementations of several shell functions with -# equivalent extended shell implementations where those features are available.. -m4_defun([_LT_PROG_REPLACE_SHELLFNS], -[if test x"$xsi_shell" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl - func_split_long_opt_name=${1%%=*} - func_split_long_opt_arg=${1#*=}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) - - _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) - - _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) - - _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) -fi - -if test x"$lt_shell_append" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) - - _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl - func_quote_for_eval "${2}" -dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ - eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) -fi -]) - -# _LT_PATH_CONVERSION_FUNCTIONS -# ----------------------------- -# Determine which file name conversion functions should be used by -# func_to_host_file (and, implicitly, by func_to_host_path). These are needed -# for certain cross-compile configurations and native mingw. -m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_MSG_CHECKING([how to convert $build file names to $host format]) -AC_CACHE_VAL(lt_cv_to_host_file_cmd, -[case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac -]) -to_host_file_cmd=$lt_cv_to_host_file_cmd -AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) -_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], - [0], [convert $build file names to $host format])dnl - -AC_MSG_CHECKING([how to convert $build file names to toolchain format]) -AC_CACHE_VAL(lt_cv_to_tool_file_cmd, -[#assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac -]) -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) -_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], - [0], [convert $build files to toolchain format])dnl -])# _LT_PATH_CONVERSION_FUNCTIONS - -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 7 ltoptions.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - - -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) -# ------------------------------------------ -m4_define([_LT_MANGLE_OPTION], -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) - - -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) -# --------------------------------------- -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a -# matching handler defined, dispatch to it. Other OPTION-NAMEs are -# saved as a flag. -m4_define([_LT_SET_OPTION], -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), - _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option `$2'])])[]dnl -]) - - -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) -# ------------------------------------------------------------ -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -m4_define([_LT_IF_OPTION], -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) - - -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) -# ------------------------------------------------------- -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME -# are set. -m4_define([_LT_UNLESS_OPTIONS], -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), - [m4_define([$0_found])])])[]dnl -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 -])[]dnl -]) - - -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) -# ---------------------------------------- -# OPTION-LIST is a space-separated list of Libtool options associated -# with MACRO-NAME. If any OPTION has a matching handler declared with -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about -# the unknown option and exit. -m4_defun([_LT_SET_OPTIONS], -[# Set options -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [_LT_SET_OPTION([$1], _LT_Option)]) - -m4_if([$1],[LT_INIT],[ - dnl - dnl Simply set some default values (i.e off) if boolean options were not - dnl specified: - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no - ]) - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no - ]) - dnl - dnl If no reference was made to various pairs of opposing options, then - dnl we run the default mode handler for the pair. For example, if neither - dnl `shared' nor `disable-shared' was passed, we enable building of shared - dnl archives by default: - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) - ]) -])# _LT_SET_OPTIONS - - - -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) -# ----------------------------------------- -m4_define([_LT_MANGLE_DEFUN], -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - - -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) -# ----------------------------------------------- -m4_define([LT_OPTION_DEFINE], -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl -])# LT_OPTION_DEFINE - - -# dlopen -# ------ -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes -]) - -AU_DEFUN([AC_LIBTOOL_DLOPEN], -[_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `dlopen' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - - -# win32-dll -# --------- -# Declare package support for building win32 dll's. -LT_OPTION_DEFINE([LT_INIT], [win32-dll], -[enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -test -z "$AS" && AS=as -_LT_DECL([], [AS], [1], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl -])# win32-dll - -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `win32-dll' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - - -# _LT_ENABLE_SHARED([DEFAULT]) -# ---------------------------- -# implement the --enable-shared flag, and supports the `shared' and -# `disable-shared' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_SHARED], -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# _LT_ENABLE_SHARED - -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) - -AC_DEFUN([AC_DISABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) - -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_SHARED], []) -dnl AC_DEFUN([AM_DISABLE_SHARED], []) - - - -# _LT_ENABLE_STATIC([DEFAULT]) -# ---------------------------- -# implement the --enable-static flag, and support the `static' and -# `disable-static' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_STATIC], -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# _LT_ENABLE_STATIC - -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) - -AC_DEFUN([AC_DISABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], [disable-static]) -]) - -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_STATIC], []) -dnl AC_DEFUN([AM_DISABLE_STATIC], []) - - - -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) -# ---------------------------------- -# implement the --enable-fast-install flag, and support the `fast-install' -# and `disable-fast-install' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_FAST_INSTALL], -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - -_LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation])dnl -])# _LT_ENABLE_FAST_INSTALL - -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) - -# Old names: -AU_DEFUN([AC_ENABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `fast-install' option into LT_INIT's first parameter.]) -]) - -AU_DEFUN([AC_DISABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `disable-fast-install' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - - -# _LT_WITH_PIC([MODE]) -# -------------------- -# implement the --with-pic flag, and support the `pic-only' and `no-pic' -# LT_INIT options. -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], - [pic_mode=default]) - -test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) - -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl -])# _LT_WITH_PIC - -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - -# Old name: -AU_DEFUN([AC_LIBTOOL_PICMODE], -[_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `pic-only' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) - - -m4_define([_LTDL_MODE], []) -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], - [m4_define([_LTDL_MODE], [nonrecursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [recursive], - [m4_define([_LTDL_MODE], [recursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [subproject], - [m4_define([_LTDL_MODE], [subproject])]) - -m4_define([_LTDL_TYPE], []) -LT_OPTION_DEFINE([LTDL_INIT], [installable], - [m4_define([_LTDL_TYPE], [installable])]) -LT_OPTION_DEFINE([LTDL_INIT], [convenience], - [m4_define([_LTDL_TYPE], [convenience])]) - -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59 which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -]) - -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# @configure_input@ - -# serial 3293 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.4]) -m4_define([LT_PACKAGE_REVISION], [1.3293]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4' -macro_revision='1.3293' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) - -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 5 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) -m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) -m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) -m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) -m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) -m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) -m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) - -# Copyright (C) 2002-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 8 - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.12' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.12], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.12])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to -# '$srcdir', '$srcdir/..', or '$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is '.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -]) - -# AM_COND_IF -*- Autoconf -*- - -# Copyright (C) 2008-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 3 - -# _AM_COND_IF -# _AM_COND_ELSE -# _AM_COND_ENDIF -# -------------- -# These macros are only used for tracing. -m4_define([_AM_COND_IF]) -m4_define([_AM_COND_ELSE]) -m4_define([_AM_COND_ENDIF]) - - -# AM_COND_IF(COND, [IF-TRUE], [IF-FALSE]) -# --------------------------------------- -# If the shell condition COND is true, execute IF-TRUE, otherwise execute -# IF-FALSE. Allow automake to learn about conditional instantiating macros -# (the AC_CONFIG_FOOS). -AC_DEFUN([AM_COND_IF], -[m4_ifndef([_AM_COND_VALUE_$1], - [m4_fatal([$0: no such condition "$1"])])dnl -_AM_COND_IF([$1])dnl -if test -z "$$1_TRUE"; then : - m4_n([$2])[]dnl -m4_ifval([$3], -[_AM_COND_ELSE([$1])dnl -else - $3 -])dnl -_AM_COND_ENDIF([$1])dnl -fi[]dnl -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 10 - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ([2.52])dnl - m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 1999-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 16 - -# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], - [$1], [CXX], [depcc="$CXX" am_compiler_list=], - [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], [UPC], [depcc="$UPC" am_compiler_list=], - [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES. -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE([dependency-tracking], [dnl -AS_HELP_STRING( - [--enable-dependency-tracking], - [do not reject slow dependency extractors]) -AS_HELP_STRING( - [--disable-dependency-tracking], - [speeds up one-time build])]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -AC_SUBST([am__nodep])dnl -_AM_SUBST_NOTMAKE([am__nodep])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 6 - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each '.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 18 - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.62])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), - [ok:ok],, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) - AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) -AM_MISSING_PROG([AUTOCONF], [autoconf]) -AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) -AM_MISSING_PROG([AUTOHEADER], [autoheader]) -AM_MISSING_PROG([MAKEINFO], [makeinfo]) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AM_PROG_MKDIR_P])dnl -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -]) -_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl -dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the -dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro -dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl -]) - -dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 8 - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST([install_sh])]) - -# Copyright (C) 2003-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- -# From Jim Meyering - -# Copyright (C) 1996-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 7 - -# AM_MAINTAINER_MODE([DEFAULT-MODE]) -# ---------------------------------- -# Control maintainer-specific portions of Makefiles. -# Default is to disable them, unless 'enable' is passed literally. -# For symmetry, 'disable' may be passed as well. Anyway, the user -# can override the default with the --enable/--disable switch. -AC_DEFUN([AM_MAINTAINER_MODE], -[m4_case(m4_default([$1], [disable]), - [enable], [m4_define([am_maintainer_other], [disable])], - [disable], [m4_define([am_maintainer_other], [enable])], - [m4_define([am_maintainer_other], [enable]) - m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) -AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) - dnl maintainer-mode's default is 'disable' unless 'enable' is passed - AC_ARG_ENABLE([maintainer-mode], - [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], - am_maintainer_other[ make rules and dependencies not useful - (and sometimes confusing) to the casual installer])], - [USE_MAINTAINER_MODE=$enableval], - [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) - AC_MSG_RESULT([$USE_MAINTAINER_MODE]) - AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) - MAINT=$MAINTAINER_MODE_TRUE - AC_SUBST([MAINT])dnl -] -) - -AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 5 - -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 7 - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it supports --run. -# If it does, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - AC_MSG_WARN(['missing' script is too old or missing]) -fi -]) - -# Copyright (C) 2003-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# AM_PROG_MKDIR_P -# --------------- -# Check for 'mkdir -p'. -AC_DEFUN([AM_PROG_MKDIR_P], -[AC_PREREQ([2.60])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -dnl while keeping a definition of mkdir_p for backward compatibility. -dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -dnl Makefile.ins that do not define MKDIR_P, so we do our own -dnl adjustment using top_builddir (which is defined more often than -dnl MKDIR_P). -AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -case $mkdir_p in - [[\\/$]]* | ?:[[\\/]]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 6 - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# -------------------- -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) - -# _AM_SET_OPTIONS(OPTIONS) -# ------------------------ -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 9 - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken - alias in your environment]) - fi - if test "$[2]" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT([yes]) -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi -AC_CONFIG_COMMANDS_PRE( - [AC_MSG_CHECKING([that generated files are newer than configure]) - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - AC_MSG_RESULT([done])]) -rm -f conftest.file -]) - -# Copyright (C) 2009-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 3 - -# AM_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# ("yes" being less verbose, "no" or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], [dnl -AS_HELP_STRING( - [--enable-silent-rules], - [less verbose build output (undo: "make V=1")]) -AS_HELP_STRING( - [--disable-silent-rules], - [verbose build output (undo: "make V=0")])dnl -]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -dnl -dnl A few 'make' implementations (e.g., NonStop OS and NextStep) -dnl do not support nested variable expansions. -dnl See automake bug#9928 and bug#10237. -am_make=${MAKE-make} -AC_CACHE_CHECK([whether $am_make supports nested variables], - [am_cv_make_support_nested_variables], - [if AS_ECHO([['TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AC_SUBST([AM_V])dnl -AM_SUBST_NOTMAKE([AM_V])dnl -AC_SUBST([AM_DEFAULT_V])dnl -AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) - -# Copyright (C) 2001-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor 'install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in "make install-strip", and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 3 - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# -------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 3 - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of 'v7', 'ustar', or 'pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of '-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar <conftest.tar]) - grep GrepMe conftest.dir/file >/dev/null 2>&1 && break - fi -done -rm -rf conftest.dir - -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - diff --git a/openair3/OPENAIRMME/autogen.sh b/openair3/OPENAIRMME/autogen.sh deleted file mode 100755 index 6d08b67921..0000000000 --- a/openair3/OPENAIRMME/autogen.sh +++ /dev/null @@ -1,6 +0,0 @@ -#! /bin/sh - -aclocal \ -&& autoheader \ -&& automake --add-missing \ -&& autoconf \ No newline at end of file diff --git a/openair3/OPENAIRMME/compile b/openair3/OPENAIRMME/compile deleted file mode 100644 index 7b4a9a7e1e..0000000000 --- a/openair3/OPENAIRMME/compile +++ /dev/null @@ -1,342 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand '-c -o'. - -scriptversion=2012-03-05.13; # UTC - -# Copyright (C) 1999-2012 Free Software Foundation, Inc. -# Written by Tom Tromey <tromey@cygnus.com>. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, 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 <http://www.gnu.org/licenses/>. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to <bug-automake@gnu.org> or send patches to -# <automake-patches@gnu.org>. - -nl=' -' - -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent tools from complaining about whitespace usage. -IFS=" "" $nl" - -file_conv= - -# func_file_conv build_file lazy -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv/,$2, in - *,$file_conv,*) - ;; - mingw/*) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin/*) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine/*) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_cl_dashL linkdir -# Make cl look for libraries in LINKDIR -func_cl_dashL () -{ - func_file_conv "$1" - if test -z "$lib_path"; then - lib_path=$file - else - lib_path="$lib_path;$file" - fi - linker_opts="$linker_opts -LIBPATH:$file" -} - -# func_cl_dashl library -# Do a library search-path lookup for cl -func_cl_dashl () -{ - lib=$1 - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do - IFS=$save_IFS - if $shared && test -f "$dir/$lib.dll.lib"; then - found=yes - lib=$dir/$lib.dll.lib - break - fi - if test -f "$dir/$lib.lib"; then - found=yes - lib=$dir/$lib.lib - break - fi - done - IFS=$save_IFS - - if test "$found" != yes; then - lib=$lib.lib - fi -} - -# func_cl_wrapper cl arg... -# Adjust compile command to suit cl -func_cl_wrapper () -{ - # Assume a capable shell - lib_path= - shared=: - linker_opts= - for arg - do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - eat=1 - case $2 in - *.o | *.[oO][bB][jJ]) - func_file_conv "$2" - set x "$@" -Fo"$file" - shift - ;; - *) - func_file_conv "$2" - set x "$@" -Fe"$file" - shift - ;; - esac - ;; - -I) - eat=1 - func_file_conv "$2" mingw - set x "$@" -I"$file" - shift - ;; - -I*) - func_file_conv "${1#-I}" mingw - set x "$@" -I"$file" - shift - ;; - -l) - eat=1 - func_cl_dashl "$2" - set x "$@" "$lib" - shift - ;; - -l*) - func_cl_dashl "${1#-l}" - set x "$@" "$lib" - shift - ;; - -L) - eat=1 - func_cl_dashL "$2" - ;; - -L*) - func_cl_dashL "${1#-L}" - ;; - -static) - shared=false - ;; - -Wl,*) - arg=${1#-Wl,} - save_ifs="$IFS"; IFS=',' - for flag in $arg; do - IFS="$save_ifs" - linker_opts="$linker_opts $flag" - done - IFS="$save_ifs" - ;; - -Xlinker) - eat=1 - linker_opts="$linker_opts $2" - ;; - -*) - set x "$@" "$1" - shift - ;; - *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) - func_file_conv "$1" - set x "$@" -Tp"$file" - shift - ;; - *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) - func_file_conv "$1" mingw - set x "$@" "$file" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift - done - if test -n "$linker_opts"; then - linker_opts="-link$linker_opts" - fi - exec "$@" $linker_opts - exit 1 -} - -eat= - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand '-c -o'. -Remove '-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file 'INSTALL'. - -Report bugs to <bug-automake@gnu.org>. -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) - func_cl_wrapper "$@" # Doesn't return... - ;; -esac - -ofile= -cfile= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - # So we strip '-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no '-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # '.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` - -# Create the lock directory. -# Note: use '[/\\:.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - test "$cofile" = "$ofile" || mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/openair3/OPENAIRMME/config.guess b/openair3/OPENAIRMME/config.guess deleted file mode 100644 index 40eaed4821..0000000000 --- a/openair3/OPENAIRMME/config.guess +++ /dev/null @@ -1,1517 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011 Free Software Foundation, Inc. - -timestamp='2011-05-11' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 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, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner. Please send patches (context -# diff format) to <config-patches@gnu.org> and include a ChangeLog -# entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to <config-patches@gnu.org>." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free -Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include <stdio.h> /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include <sys/systemcfg.h> - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include <stdlib.h> - #include <unistd.h> - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include <unistd.h> - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo ${UNAME_MACHINE}-unknown-linux-gnu - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo ${UNAME_MACHINE}-unknown-linux-gnueabi - else - echo ${UNAME_MACHINE}-unknown-linux-gnueabihf - fi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) - echo cris-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - LIBC=gnu - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-gnu - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - tile*:Linux:*:*) - echo ${UNAME_MACHINE}-tilera-linux-gnu - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` - echo ${UNAME_MACHINE}-pc-isc$UNAME_REL - elif /bin/uname -X 2>/dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says <Richard.M.Bartel@ccMail.Census.GOV> - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes <hewes@openmarket.com>. - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - i386) - eval $set_cc_for_build - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - UNAME_PROCESSOR="x86_64" - fi - fi ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c <<EOF -#ifdef _SEQUENT_ -# include <sys/types.h> -# include <sys/utsname.h> -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include <sys/param.h> - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include <sys/param.h> -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - -cat >&2 <<EOF -$0: unable to guess system type - -This script, last modified $timestamp, has failed to recognize -the operating system you are using. It is advised that you -download the most up to date version of the config scripts from - - http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD -and - http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD - -If the version you run ($0) is already up to date, please -send the following data and any information you think might be -pertinent to <config-patches@gnu.org> in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/openair3/OPENAIRMME/config.h.in b/openair3/OPENAIRMME/config.h.in deleted file mode 100644 index 7560f1e2f2..0000000000 --- a/openair3/OPENAIRMME/config.h.in +++ /dev/null @@ -1,272 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP - systems. This function is required for `alloca.c' support on those systems. - */ -#undef CRAY_STACKSEG_END - -/* Define to 1 if using `alloca.c'. */ -#undef C_ALLOCA - -/* Define to 1 if you have gnutls 2.10 installed */ -#undef GNUTLS_VERSION_210 - -/* Define to 1 if you have gnutls 3.0 installed */ -#undef GNUTLS_VERSION_300 - -/* Define to 1 if you have gnutls 3.1 installed */ -#undef GNUTLS_VERSION_310 - -/* Define to 1 if you have AI_ADDRCONFIG defined in netdb.h */ -#undef HAVE_AI_ADDRCONFIG - -/* Define to 1 if you have `alloca', as a function or macro. */ -#undef HAVE_ALLOCA - -/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). - */ -#undef HAVE_ALLOCA_H - -/* Define to 1 if you have the <arpa/inet.h> header file. */ -#undef HAVE_ARPA_INET_H - -/* Define to 1 if you have clock_gettime in librt */ -#undef HAVE_CLOCK_GETTIME - -/* Define to 1 if you have the <dlfcn.h> header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the <fcntl.h> header file. */ -#undef HAVE_FCNTL_H - -/* Define to 1 if you have the <float.h> header file. */ -#undef HAVE_FLOAT_H - -/* Define to 1 if you have the `ftruncate' function. */ -#undef HAVE_FTRUNCATE - -/* Define to 1 if you have the `getpagesize' function. */ -#undef HAVE_GETPAGESIZE - -/* Define to 1 if you have the `inet_ntoa' function. */ -#undef HAVE_INET_NTOA - -/* Define to 1 if you have the <inttypes.h> header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the `fdcore' library (-lfdcore). */ -#undef HAVE_LIBFDCORE - -/* Define to 1 if you have the `pthread' library (-lpthread). */ -#undef HAVE_LIBPTHREAD - -/* Define to 1 if you have the `rt' library (-lrt). */ -#undef HAVE_LIBRT - -/* Define to 1 if you have the `sctp' library (-lsctp). */ -#undef HAVE_LIBSCTP - -/* Define to 1 if you have the <limits.h> header file. */ -#undef HAVE_LIMITS_H - -/* Define to 1 if your system has a GNU libc compatible `malloc' function, and - to 0 otherwise. */ -#undef HAVE_MALLOC - -/* Define to 1 if you have the <malloc.h> header file. */ -#undef HAVE_MALLOC_H - -/* Define to 1 if you have the `memchr' function. */ -#undef HAVE_MEMCHR - -/* Define to 1 if you have the `memmove' function. */ -#undef HAVE_MEMMOVE - -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `memset' function. */ -#undef HAVE_MEMSET - -/* Define to 1 if you have a working `mmap' system call. */ -#undef HAVE_MMAP - -/* Define to 1 if you have the `munmap' function. */ -#undef HAVE_MUNMAP - -/* Define to 1 if you have the <netinet/in.h> header file. */ -#undef HAVE_NETINET_IN_H - -/* Define to 1 if you have the `ntohll' function. */ -#undef HAVE_NTOHLL - -/* Define to 1 if you have pthread_barrier_wait in libpthread */ -#undef HAVE_PTHREAD_BAR - -/* Define to 1 if the system has the type `ptrdiff_t'. */ -#undef HAVE_PTRDIFF_T - -/* Define to 1 if your system has a GNU libc compatible `realloc' function, - and to 0 otherwise. */ -#undef HAVE_REALLOC - -/* Define to 1 if you have the <signalent.h> header file. */ -#undef HAVE_SIGNALENT_H - -/* Define to 1 if you have the `socket' function. */ -#undef HAVE_SOCKET - -/* Define to 1 if you have the <stddef.h> header file. */ -#undef HAVE_STDDEF_H - -/* Define to 1 if you have the <stdint.h> header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the <stdlib.h> header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the `strchr' function. */ -#undef HAVE_STRCHR - -/* Define to 1 if you have the `strerror' function. */ -#undef HAVE_STRERROR - -/* Define to 1 if you have the <strings.h> header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the <string.h> header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strndup' function. */ -#undef HAVE_STRNDUP - -/* Define to 1 if you have the `strspn' function. */ -#undef HAVE_STRSPN - -/* Define to 1 if you have the <sys/param.h> header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define to 1 if you have the <sys/socket.h> header file. */ -#undef HAVE_SYS_SOCKET_H - -/* Define to 1 if you have the <sys/stat.h> header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the <sys/types.h> header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#undef LT_OBJDIR - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define to 1 if sctp_connectx function accepts 4 arguments */ -#undef SCTP_CONNECTX_4_ARGS - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at runtime. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown */ -#undef STACK_DIRECTION - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* SVN Revision */ -#undef SVN_REVISION - -/* Version number of package */ -#undef VERSION - -/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>, - <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -#undef _UINT32_T - -/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>, - <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -#undef _UINT64_T - -/* Define for Solaris 2.5.1 so the uint8_t typedef from <sys/synch.h>, - <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -#undef _UINT8_T - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -#undef inline -#endif - -/* Define to the type of a signed integer type of width exactly 16 bits if - such a type exists and the standard includes do not define it. */ -#undef int16_t - -/* Define to the type of a signed integer type of width exactly 32 bits if - such a type exists and the standard includes do not define it. */ -#undef int32_t - -/* Define to the type of a signed integer type of width exactly 64 bits if - such a type exists and the standard includes do not define it. */ -#undef int64_t - -/* Define to the type of a signed integer type of width exactly 8 bits if such - a type exists and the standard includes do not define it. */ -#undef int8_t - -/* Define to rpl_malloc if the replacement function should be used. */ -#undef malloc - -/* Define to `long int' if <sys/types.h> does not define. */ -#undef off_t - -/* Define to rpl_realloc if the replacement function should be used. */ -#undef realloc - -/* Define to `unsigned int' if <sys/types.h> does not define. */ -#undef size_t - -/* Define to `int' if <sys/types.h> does not define. */ -#undef ssize_t - -/* Define to the type of an unsigned integer type of width exactly 16 bits if - such a type exists and the standard includes do not define it. */ -#undef uint16_t - -/* Define to the type of an unsigned integer type of width exactly 32 bits if - such a type exists and the standard includes do not define it. */ -#undef uint32_t - -/* Define to the type of an unsigned integer type of width exactly 64 bits if - such a type exists and the standard includes do not define it. */ -#undef uint64_t - -/* Define to the type of an unsigned integer type of width exactly 8 bits if - such a type exists and the standard includes do not define it. */ -#undef uint8_t diff --git a/openair3/OPENAIRMME/config.sub b/openair3/OPENAIRMME/config.sub deleted file mode 100644 index 30fdca8121..0000000000 --- a/openair3/OPENAIRMME/config.sub +++ /dev/null @@ -1,1760 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011 Free Software Foundation, Inc. - -timestamp='2011-03-23' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 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, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Please send patches to <config-patches@gnu.org>. Submit a context -# diff and a properly formatted GNU ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to <config-patches@gnu.org>." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free -Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | fido | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 \ - | ns16k | ns32k \ - | open8 \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pyramid \ - | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e \ - | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12 | picochip) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; - - xscaleeb) - basic_machine=armeb-unknown - ;; - - xscaleel) - basic_machine=armel-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pyramid-* \ - | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile-* | tilegx-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze) - basic_machine=microblaze-xilinx - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - # This must be matched before tile*. - tilegx*) - basic_machine=tilegx-unknown - os=-linux-gnu - ;; - tile*) - basic_machine=tile-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux - ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -nacl*) - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - tic54x-*) - os=-coff - ;; - tic55x-*) - os=-coff - ;; - tic6x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -cnk*|-aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/openair3/OPENAIRMME/configure b/openair3/OPENAIRMME/configure deleted file mode 100755 index 9576f2e6b5..0000000000 --- a/openair3/OPENAIRMME/configure +++ /dev/null @@ -1,20662 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for oaisim_mme 0.3.2855:2886M. -# -# Report bugs to <openair_admin@eurecom.fr>. -# -# -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 - - test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ - || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and -$0: openair_admin@eurecom.fr about your system, including -$0: any error possibly output before this message. Then -$0: install a modern shell, or manually run the script -$0: under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - -SHELL=${CONFIG_SHELL-/bin/sh} - - -test -n "$DJDIR" || exec 7<&0 </dev/null -exec 6>&1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='oaisim_mme' -PACKAGE_TARNAME='oaisim_mme' -PACKAGE_VERSION='0.3.2855:2886M' -PACKAGE_STRING='oaisim_mme 0.3.2855:2886M' -PACKAGE_BUGREPORT='openair_admin@eurecom.fr' -PACKAGE_URL='' - -# Factoring default headers for most tests. -ac_includes_default="\ -#include <stdio.h> -#ifdef HAVE_SYS_TYPES_H -# include <sys/types.h> -#endif -#ifdef HAVE_SYS_STAT_H -# include <sys/stat.h> -#endif -#ifdef STDC_HEADERS -# include <stdlib.h> -# include <stddef.h> -#else -# ifdef HAVE_STDLIB_H -# include <stdlib.h> -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include <memory.h> -# endif -# include <string.h> -#endif -#ifdef HAVE_STRINGS_H -# include <strings.h> -#endif -#ifdef HAVE_INTTYPES_H -# include <inttypes.h> -#endif -#ifdef HAVE_STDINT_H -# include <stdint.h> -#endif -#ifdef HAVE_UNISTD_H -# include <unistd.h> -#endif" - -ac_header_list= -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -HAVE_DOXYGEN_FALSE -HAVE_DOXYGEN_TRUE -AM_CFLAGS -ASN1DIR -UPDATE_RELEASE_9_FALSE -UPDATE_RELEASE_9_TRUE -ADD_CFLAGS -ENABLE_USE_HSS_FALSE -ENABLE_USE_HSS_TRUE -POW_LIB -ALLOCA -LIBOBJS -CXXCPP -am__fastdepCXX_FALSE -am__fastdepCXX_TRUE -CXXDEPMODE -ac_ct_CXX -CXXFLAGS -CXX -ASN1C_CHECK -HAVE_PDFLATEX_FALSE -HAVE_PDFLATEX_TRUE -PDFLATEX -DOXYGEN -CONFIGURE_DEPENDS -CPP -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -MANIFEST_TOOL -RANLIB -ac_ct_AR -AR -DLLTOOL -OBJDUMP -LN_S -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -EGREP -GREP -SED -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -LIBTOOL -MAINT -MAINTAINER_MODE_FALSE -MAINTAINER_MODE_TRUE -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -target_os -target_vendor -target_cpu -target -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_silent_rules -enable_maintainer_mode -enable_shared -enable_static -with_pic -enable_fast_install -enable_dependency_tracking -with_gnu_ld -with_sysroot -enable_libtool_lock -enable_autoconf -enable_hss -enable_r9 -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -CXX -CXXFLAGS -CCC -CXXCPP' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures oaisim_mme 0.3.2855:2886M to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/oaisim_mme] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] - --target=TARGET configure for building compilers for TARGET [HOST] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of oaisim_mme 0.3.2855:2886M:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --enable-maintainer-mode - enable make rules and dependencies not useful (and - sometimes confusing) to the casual installer - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-static[=PKGS] build static libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build - --disable-libtool-lock avoid locking (might break parallel builds) - --disable-autoconf disable automatic generation of configure script - --enable-hss Enable 3GPP S6A support - --disable-r9 Disable 3GPP release 9 updates - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic try to use only PIC/non-PIC objects [default=use - both] - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-sysroot=DIR Search for dependent libraries within DIR - (or the compiler's sysroot if not specified). - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a - nonstandard directory <lib dir> - LIBS libraries to pass to the linker, e.g. -l<library> - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if - you have headers in a nonstandard directory <include dir> - CPP C preprocessor - CXX C++ compiler command - CXXFLAGS C++ compiler flags - CXXCPP C++ preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to <openair_admin@eurecom.fr>. -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -oaisim_mme configure 0.3.2855:2886M -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case <limits.h> declares $2. - For example, HP-UX 11i <limits.h> declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func - -# ac_fn_cxx_try_compile LINENO -# ---------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_compile - -# ac_fn_cxx_try_cpp LINENO -# ------------------------ -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_cpp - -# ac_fn_cxx_try_link LINENO -# ------------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_link - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## --------------------------------------- ## -## Report this to openair_admin@eurecom.fr ## -## --------------------------------------- ##" - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel - -# ac_fn_c_check_type LINENO TYPE VAR INCLUDES -# ------------------------------------------- -# Tests whether TYPE exists after having included INCLUDES, setting cache -# variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_type - -# ac_fn_c_find_intX_t LINENO BITS VAR -# ----------------------------------- -# Finds a signed integer type with width BITS, setting cache variable VAR -# accordingly. -ac_fn_c_find_intX_t () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for int$2_t" >&5 -$as_echo_n "checking for int$2_t... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - # Order is important - never check a type that is potentially smaller - # than half of the expected target width. - for ac_type in int$2_t 'int' 'long int' \ - 'long long int' 'short int' 'signed char'; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default - enum { N = $2 / 2 - 1 }; -int -main () -{ -static int test_array [1 - 2 * !(0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1))]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default - enum { N = $2 / 2 - 1 }; -int -main () -{ -static int test_array [1 - 2 * !(($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1) - < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 2))]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - case $ac_type in #( - int$2_t) : - eval "$3=yes" ;; #( - *) : - eval "$3=\$ac_type" ;; -esac -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if eval test \"x\$"$3"\" = x"no"; then : - -else - break -fi - done -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_find_intX_t - -# ac_fn_c_find_uintX_t LINENO BITS VAR -# ------------------------------------ -# Finds an unsigned integer type with width BITS, setting cache variable VAR -# accordingly. -ac_fn_c_find_uintX_t () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5 -$as_echo_n "checking for uint$2_t... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - # Order is important - never check a type that is potentially smaller - # than half of the expected target width. - for ac_type in uint$2_t 'unsigned int' 'unsigned long int' \ - 'unsigned long long int' 'unsigned short int' 'unsigned char'; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - case $ac_type in #( - uint$2_t) : - eval "$3=yes" ;; #( - *) : - eval "$3=\$ac_type" ;; -esac -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if eval test \"x\$"$3"\" = x"no"; then : - -else - break -fi - done -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_find_uintX_t - -# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES -# --------------------------------------------- -# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR -# accordingly. -ac_fn_c_check_decl () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - as_decl_name=`echo $2|sed 's/ *(.*//'` - as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -#ifndef $as_decl_name -#ifdef __cplusplus - (void) $as_decl_use; -#else - (void) $as_decl_name; -#endif -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_decl -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by oaisim_mme $as_me 0.3.2855:2886M, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -as_fn_append ac_header_list " stdlib.h" -as_fn_append ac_header_list " unistd.h" -as_fn_append ac_header_list " sys/param.h" -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 -$as_echo_n "checking target system type... " >&6; } -if ${ac_cv_target+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$target_alias" = x; then - ac_cv_target=$ac_cv_host -else - ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 -$as_echo "$ac_cv_target" >&6; } -case $ac_cv_target in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; -esac -target=$ac_cv_target -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_target -shift -target_cpu=$1 -target_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -target_os=$* -IFS=$ac_save_IFS -case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac - - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -test -n "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- -#AM_INIT_AUTOMAKE(oaisim_mme, 0.1.svnversion) -am__api_version='1.12' - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='oaisim_mme' - VERSION='0.3.2855:2886M' - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -ac_config_headers="$ac_config_headers config.h" - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 -$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } - # Check whether --enable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then : - enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval -else - USE_MAINTAINER_MODE=no -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 -$as_echo "$USE_MAINTAINER_MODE" >&6; } - if test $USE_MAINTAINER_MODE = yes; then - MAINTAINER_MODE_TRUE= - MAINTAINER_MODE_FALSE='#' -else - MAINTAINER_MODE_TRUE='#' - MAINTAINER_MODE_FALSE= -fi - - MAINT=$MAINTAINER_MODE_TRUE - - - -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=0;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - - -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.4' -macro_revision='1.3293' - - - - - - - - - - - - - -ltmain="$ac_aux_dir/ltmain.sh" - -# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "" -} - -case "$ECHO" in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; -esac - - - - - - - - - - - - - - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdio.h> -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdarg.h> -#include <stdio.h> -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_FGREP" || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break - ;; - *) - test "$with_gnu_ld" != yes && break - ;; - esac - fi - done - IFS="$lt_save_ifs" -else - lt_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$lt_cv_path_LD" -if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 </dev/null` in -*GNU* | *'with BFD'*) - lt_cv_prog_gnu_ld=yes - ;; -*) - lt_cv_prog_gnu_ld=no - ;; -esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - if test -n "$ac_tool_prefix"; then - for ac_prog in dumpbin "link -dump" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in dumpbin "link -dump" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols" - ;; - *) - DUMPBIN=: - ;; - esac - fi - - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n $lt_cv_sys_max_cmd_len ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 -$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 -$as_echo "$xsi_shell" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 -$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } -lt_shell_append=no -( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 -$as_echo "$lt_shell_append" >&6; } - - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac - -fi - -to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - #assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac - -fi - -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - if test "$GCC" != yes; then - reload_cmds=false - fi - ;; - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. - if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - - - - - - - - -if test -n "$ac_tool_prefix"; then - for ac_prog in ar - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} -: ${AR_FLAGS=cru} - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ar_at_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -eq 0; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -ne 0; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } - -if test "x$lt_cv_ar_at_file" = xno; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } - -# Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : - withval=$with_sysroot; -else - with_sysroot=no -fi - - -lt_sysroot= -case ${with_sysroot} in #( - yes) - if test "$GCC" = yes; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 -$as_echo "${with_sysroot}" >&6; } - as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 - ;; -esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } - - - - - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. -set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MANIFEST_TOOL"; then - ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL -if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MANIFEST_TOOL"; then - ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL - # Extract the first word of "mt", so it can be a program name with args. -set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MANIFEST_TOOL"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL -if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MANIFEST_TOOL" = x; then - MANIFEST_TOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL - fi -else - MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" -fi - -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&5 - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test "x$lt_cv_path_mainfest_tool" != xyes; then - MANIFEST_TOOL=: -fi - - - - - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes -else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cru libconftest.a conftest.o" >&5 - $AR cru libconftest.a conftest.o 2>&5 - echo "$RANLIB libconftest.a" >&5 - $RANLIB libconftest.a 2>&5 - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&5 - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[012]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <float.h> - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <string.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdlib.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ctype.h> -#include <stdlib.h> -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 -_ACEOF - -fi - -done - - - - - -# Set options - - - - enable_dlopen=no - - - enable_win32_dll=no - - - # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_shared=yes -fi - - - - - - - - - - # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_static=yes -fi - - - - - - - - - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; pic_mode="$withval" -else - pic_mode=default -fi - - -test -z "$pic_mode" && pic_mode=default - - - - - - - - # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC="$CC" -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test "$GCC" = yes; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - - - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl='-Xlinker ' - lt_prog_compiler_pic='-Xcompiler -fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ F* | *Sun*Fortran*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } -lt_prog_compiler_pic=$lt_cv_prog_compiler_pic - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test x"$lt_cv_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test x"$lt_cv_prog_compiler_static_works" = xyes; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test "$lt_use_gnu_ld_interface" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='${wl}--export-all-symbols' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - link_all_deplibs=yes - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld='-rpath $libdir' - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - export_dynamic_flag_spec='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - fi - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - always_export_symbols=yes - file_list_spec='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, )='true' - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds='chmod 644 $oldlib' - postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - else - whole_archive_flag_spec='' - fi - link_all_deplibs=yes - allow_undefined_flag="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - freebsd1*) - ld_shlibs=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_flag_spec_ld='+b $libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler__b=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -b" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler__b=yes - fi - else - lt_cv_prog_compiler__b=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } - -if test x"$lt_cv_prog_compiler__b" = xyes; then - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' -else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' -fi - - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test "$lt_cv_irix_exported_symbol" = yes; then - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - fi - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='${wl}-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='${wl}-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } - archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([A-Za-z]:\),\1,g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[4-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib<name>.so - # instead of lib<name>.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec="$LIB" - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -haiku*) - version_type=linux - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test "X$hardcode_automatic" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test "$hardcode_action" = relink || - test "$inherit_rpath" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include <dlfcn.h> -#endif - -#include <stdio.h> - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include <dlfcn.h> -#endif - -#include <stdio.h> - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -fi - - - - - - - - - - - - - # Report which library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - - -# Check whether --enable-autoconf was given. -if test "${enable_autoconf+set}" = set; then : - enableval=$enable_autoconf; enable_autoconf=$enableval -else - enable_autoconf=yes - -fi - -# Extract the first word of "autoconf", so it can be a program name with args. -set dummy autoconf; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_AUTOCONF+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $AUTOCONF in - [\\/]* | ?:[\\/]*) - ac_cv_path_AUTOCONF="$AUTOCONF" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_AUTOCONF="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_AUTOCONF" && ac_cv_path_AUTOCONF="@echo autoconf not available" - ;; -esac -fi -AUTOCONF=$ac_cv_path_AUTOCONF -if test -n "$AUTOCONF"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AUTOCONF" >&5 -$as_echo "$AUTOCONF" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "autoheader", so it can be a program name with args. -set dummy autoheader; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_AUTOHEADER+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $AUTOHEADER in - [\\/]* | ?:[\\/]*) - ac_cv_path_AUTOHEADER="$AUTOHEADER" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_AUTOHEADER="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_AUTOHEADER" && ac_cv_path_AUTOHEADER="@echo autoheader not available" - ;; -esac -fi -AUTOHEADER=$ac_cv_path_AUTOHEADER -if test -n "$AUTOHEADER"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AUTOHEADER" >&5 -$as_echo "$AUTOHEADER" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -if test -z "$AUTOCONF"; then enable_autoconf=no ; fi -if test -z "$AUTOHEADER"; then enable_autoconf=no ; fi -if test x$enable_autoconf = xyes; then - CONFIGURE_DEPENDS="configure.in aclocal.m4" -fi - - -for ac_prog in doxygen -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DOXYGEN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DOXYGEN"; then - ac_cv_prog_DOXYGEN="$DOXYGEN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DOXYGEN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DOXYGEN=$ac_cv_prog_DOXYGEN -if test -n "$DOXYGEN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5 -$as_echo "$DOXYGEN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DOXYGEN" && break -done - -if test -z "$DOXYGEN"; -then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Doxygen not found - continuing without Doxygen support" >&5 -$as_echo "$as_me: WARNING: Doxygen not found - continuing without Doxygen support" >&2;} -fi - -# Check for presence of pdfLaTeX -# Extract the first word of "pdflatex", so it can be a program name with args. -set dummy pdflatex; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_PDFLATEX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$PDFLATEX"; then - ac_cv_prog_PDFLATEX="$PDFLATEX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_PDFLATEX="pdflatex" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -PDFLATEX=$ac_cv_prog_PDFLATEX -if test -n "$PDFLATEX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PDFLATEX" >&5 -$as_echo "$PDFLATEX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -if test -z "$PDFLATEX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to create PDF version of the user manual." >&5 -$as_echo "$as_me: WARNING: Unable to create PDF version of the user manual." >&2;} -fi - - if test -n "$PDFLATEX"; then - HAVE_PDFLATEX_TRUE= - HAVE_PDFLATEX_FALSE='#' -else - HAVE_PDFLATEX_TRUE='#' - HAVE_PDFLATEX_FALSE= -fi - - -# Extract the first word of "asn1c", so it can be a program name with args. -set dummy asn1c; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ASN1C_CHECK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ASN1C_CHECK"; then - ac_cv_prog_ASN1C_CHECK="$ASN1C_CHECK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ASN1C_CHECK="yes" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_prog_ASN1C_CHECK" && ac_cv_prog_ASN1C_CHECK="as_fn_error $? "Please install asn1c before going further." "$LINENO" 5" -fi -fi -ASN1C_CHECK=$ac_cv_prog_ASN1C_CHECK -if test -n "$ASN1C_CHECK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ASN1C_CHECK" >&5 -$as_echo "$ASN1C_CHECK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - -# Checks for programs. -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if ${ac_cv_cxx_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if ${ac_cv_prog_cxx_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CXX" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CXX_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi - - - - -func_stripname_cnf () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; - esac -} # func_stripname_cnf - - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 -$as_echo_n "checking how to run the C++ preprocessor... " >&6; } -if test -z "$CXXCPP"; then - if ${ac_cv_prog_CXXCPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -$as_echo "$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -else - _lt_caught_CXX_error=yes -fi - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -archive_cmds_need_lc_CXX=no -allow_undefined_flag_CXX= -always_export_symbols_CXX=no -archive_expsym_cmds_CXX= -compiler_needs_object_CXX=no -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_direct_absolute_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_flag_spec_ld_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_shlibpath_var_CXX=unsupported -hardcode_automatic_CXX=no -inherit_rpath_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -reload_flag_CXX=$reload_flag -reload_cmds_CXX=$reload_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - - # save warnings/boilerplate of simple test code - ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - - ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - compiler_CXX=$CC - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` - - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' - else - lt_prog_compiler_no_builtin_flag_CXX= - fi - - if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break - ;; - *) - test "$with_gnu_ld" != yes && break - ;; - esac - fi - done - IFS="$lt_save_ifs" -else - lt_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$lt_cv_path_LD" -if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 </dev/null` in -*GNU* | *'with BFD'*) - lt_cv_prog_gnu_ld=yes - ;; -*) - lt_cv_prog_gnu_ld=no - ;; -esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_CXX= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - ld_shlibs_CXX=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - file_list_spec_CXX='${wl}-f,' - - if test "$GXX" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_CXX=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_CXX=yes - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_libdir_separator_CXX= - fi - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - export_dynamic_flag_spec_CXX='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - always_export_symbols_CXX=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_CXX='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX="/usr/lib:/lib" - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__CXX -fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - - archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX="/usr/lib:/lib" - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__CXX -fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' ${wl}-bernotok' - allow_undefined_flag_CXX=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX='$convenience' - fi - archive_cmds_need_lc_CXX=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_CXX=unsupported - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_CXX=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_CXX=' ' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=yes - file_list_spec_CXX='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' - enable_shared_with_static_runtimes_CXX=yes - # Don't use ranlib - old_postinstall_cmds_CXX='chmod 644 $oldlib' - postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-all-symbols' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=no - enable_shared_with_static_runtimes_CXX=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_CXX=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - - - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - else - whole_archive_flag_spec_CXX='' - fi - link_all_deplibs_CXX=yes - allow_undefined_flag_CXX="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - if test "$lt_cv_apple_cc_single_mod" != "yes"; then - archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi - - else - ld_shlibs_CXX=no - fi - - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - freebsd[12]*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - ld_shlibs_CXX=no - ;; - - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes - ;; - - gnu*) - ;; - - haiku*) - archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - link_all_deplibs_CXX=yes - ;; - - hpux9*) - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='${wl}-E' - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - export_dynamic_flag_spec_CXX='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - ;; - *) - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - interix[3-9]*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' - fi - fi - link_all_deplibs_CXX=yes - ;; - esac - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - inherit_rpath_CXX=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [1-5].* | *pgcpp\ [1-5].*) - prelink_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - old_archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 and above use weak symbols - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - esac - - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - hardcode_libdir_flag_spec_CXX='-R$libdir' - whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object_CXX=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - ld_shlibs_CXX=yes - ;; - - openbsd2*) - # C++ shared libraries are fairly broken - ld_shlibs_CXX=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - hardcode_direct_absolute_CXX=yes - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='${wl}-E' - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - ld_shlibs_CXX=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - case $host in - osf3*) - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - ;; - *) - allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - ;; - esac - - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_shlibpath_var_CXX=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' - ;; - esac - link_all_deplibs_CXX=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - no_undefined_flag_CXX=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_CXX='${wl}-z,text' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_CXX='${wl}-z,text' - allow_undefined_flag_CXX='${wl}-z,nodefs' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ - '"$old_archive_cmds_CXX" - reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ - '"$reload_cmds_CXX" - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } - test "$ld_shlibs_CXX" = no && can_build_shared=no - - GCC_CXX="$GXX" - LD_CXX="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - # Dependencies to place before and after the object being linked: -predep_objects_CXX= -postdep_objects_CXX= -predeps_CXX= -postdeps_CXX= -compiler_lib_search_path_CXX= - -cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF - - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -esac - -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case ${prev}${p} in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test "$pre_test_object_deps_done" = no; then - case ${prev} in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX="${prev}${p}" - else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_CXX"; then - postdeps_CXX="${prev}${p}" - else - postdeps_CXX="${postdeps_CXX} ${prev}${p}" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$predep_objects_CXX"; then - predep_objects_CXX="$p" - else - predep_objects_CXX="$predep_objects_CXX $p" - fi - else - if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX="$p" - else - postdep_objects_CXX="$postdep_objects_CXX $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling CXX test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -case $host_os in -interix[3-9]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - predep_objects_CXX= - postdep_objects_CXX= - postdeps_CXX= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC* | sunCC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac - - -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac - compiler_lib_search_dirs_CXX= -if test -n "${compiler_lib_search_path_CXX}"; then - compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= - - - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_CXX='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_CXX='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - lt_prog_compiler_pic_CXX= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_CXX= - ;; - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_CXX=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - else - case $host_os in - aix[4-9]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - else - lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - dgux*) - case $cc_basename in - ec++*) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - lt_prog_compiler_pic_CXX='+Z' - fi - ;; - aCC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-qpic' - lt_prog_compiler_static_CXX='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx*) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc*) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - lt_prog_compiler_can_build_shared_CXX=no - ;; - esac - fi - -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_CXX= - ;; - *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } -lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_CXX=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_CXX=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } - -if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then - case $lt_prog_compiler_pic_CXX in - "" | " "*) ;; - *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; - esac -else - lt_prog_compiler_pic_CXX= - lt_prog_compiler_can_build_shared_CXX=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_CXX=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_CXX=yes - fi - else - lt_cv_prog_compiler_static_works_CXX=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } - -if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then - : -else - lt_prog_compiler_static_CXX= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - case $host_os in - aix[4-9]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global defined - # symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - export_symbols_cmds_CXX="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - ;; - esac - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no - -with_gnu_ld_CXX=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_CXX" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_CXX=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_CXX in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_CXX - pic_flag=$lt_prog_compiler_pic_CXX - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_CXX - allow_undefined_flag_CXX= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_CXX=no - else - lt_cv_archive_cmds_need_lc_CXX=yes - fi - allow_undefined_flag_CXX=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } - archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[4-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib<name>.so - # instead of lib<name>.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec="$LIB" - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -haiku*) - version_type=linux - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_CXX= -if test -n "$hardcode_libdir_flag_spec_CXX" || - test -n "$runpath_var_CXX" || - test "X$hardcode_automatic_CXX" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$hardcode_direct_CXX" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && - test "$hardcode_minus_L_CXX" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_CXX=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 -$as_echo "$hardcode_action_CXX" >&6; } - -if test "$hardcode_action_CXX" = relink || - test "$inherit_rpath_CXX" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdarg.h> -#include <stdio.h> -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - - - -for ac_header in arpa/inet.h fcntl.h float.h inttypes.h limits.h malloc.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/socket.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -# Checks for library functions. - - - - for ac_header in $ac_header_list -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - - - - - -for ac_func in getpagesize -do : - ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" -if test "x$ac_cv_func_getpagesize" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETPAGESIZE 1 -_ACEOF - -fi -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 -$as_echo_n "checking for working mmap... " >&6; } -if ${ac_cv_func_mmap_fixed_mapped+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_mmap_fixed_mapped=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -/* malloc might have been renamed as rpl_malloc. */ -#undef malloc - -/* Thanks to Mike Haertel and Jim Avera for this test. - Here is a matrix of mmap possibilities: - mmap private not fixed - mmap private fixed at somewhere currently unmapped - mmap private fixed at somewhere already mapped - mmap shared not fixed - mmap shared fixed at somewhere currently unmapped - mmap shared fixed at somewhere already mapped - For private mappings, we should verify that changes cannot be read() - back from the file, nor mmap's back from the file at a different - address. (There have been systems where private was not correctly - implemented like the infamous i386 svr4.0, and systems where the - VM page cache was not coherent with the file system buffer cache - like early versions of FreeBSD and possibly contemporary NetBSD.) - For shared mappings, we should conversely verify that changes get - propagated back to all the places they're supposed to be. - - Grep wants private fixed already mapped. - The main things grep needs to know about mmap are: - * does it exist and is it safe to write into the mmap'd area - * how to use it (BSD variants) */ - -#include <fcntl.h> -#include <sys/mman.h> - -#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H -char *malloc (); -#endif - -/* This mess was copied from the GNU getpagesize.h. */ -#ifndef HAVE_GETPAGESIZE -# ifdef _SC_PAGESIZE -# define getpagesize() sysconf(_SC_PAGESIZE) -# else /* no _SC_PAGESIZE */ -# ifdef HAVE_SYS_PARAM_H -# include <sys/param.h> -# ifdef EXEC_PAGESIZE -# define getpagesize() EXEC_PAGESIZE -# else /* no EXEC_PAGESIZE */ -# ifdef NBPG -# define getpagesize() NBPG * CLSIZE -# ifndef CLSIZE -# define CLSIZE 1 -# endif /* no CLSIZE */ -# else /* no NBPG */ -# ifdef NBPC -# define getpagesize() NBPC -# else /* no NBPC */ -# ifdef PAGESIZE -# define getpagesize() PAGESIZE -# endif /* PAGESIZE */ -# endif /* no NBPC */ -# endif /* no NBPG */ -# endif /* no EXEC_PAGESIZE */ -# else /* no HAVE_SYS_PARAM_H */ -# define getpagesize() 8192 /* punt totally */ -# endif /* no HAVE_SYS_PARAM_H */ -# endif /* no _SC_PAGESIZE */ - -#endif /* no HAVE_GETPAGESIZE */ - -int -main () -{ - char *data, *data2, *data3; - const char *cdata2; - int i, pagesize; - int fd, fd2; - - pagesize = getpagesize (); - - /* First, make a file with some known garbage in it. */ - data = (char *) malloc (pagesize); - if (!data) - return 1; - for (i = 0; i < pagesize; ++i) - *(data + i) = rand (); - umask (0); - fd = creat ("conftest.mmap", 0600); - if (fd < 0) - return 2; - if (write (fd, data, pagesize) != pagesize) - return 3; - close (fd); - - /* Next, check that the tail of a page is zero-filled. File must have - non-zero length, otherwise we risk SIGBUS for entire page. */ - fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600); - if (fd2 < 0) - return 4; - cdata2 = ""; - if (write (fd2, cdata2, 1) != 1) - return 5; - data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L); - if (data2 == MAP_FAILED) - return 6; - for (i = 0; i < pagesize; ++i) - if (*(data2 + i)) - return 7; - close (fd2); - if (munmap (data2, pagesize)) - return 8; - - /* Next, try to mmap the file at a fixed address which already has - something else allocated at it. If we can, also make sure that - we see the same garbage. */ - fd = open ("conftest.mmap", O_RDWR); - if (fd < 0) - return 9; - if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) - return 10; - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data2 + i)) - return 11; - - /* Finally, make sure that changes to the mapped area do not - percolate back to the file as seen by read(). (This is a bug on - some variants of i386 svr4.0.) */ - for (i = 0; i < pagesize; ++i) - *(data2 + i) = *(data2 + i) + 1; - data3 = (char *) malloc (pagesize); - if (!data3) - return 12; - if (read (fd, data3, pagesize) != pagesize) - return 13; - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data3 + i)) - return 14; - close (fd); - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_mmap_fixed_mapped=yes -else - ac_cv_func_mmap_fixed_mapped=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5 -$as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; } -if test $ac_cv_func_mmap_fixed_mapped = yes; then - -$as_echo "#define HAVE_MMAP 1" >>confdefs.h - -fi -rm -f conftest.mmap conftest.txt - -for ac_header in stdlib.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" -if test "x$ac_cv_header_stdlib_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDLIB_H 1 -_ACEOF - -fi - -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 -$as_echo_n "checking for GNU libc compatible malloc... " >&6; } -if ${ac_cv_func_malloc_0_nonnull+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_malloc_0_nonnull=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined STDC_HEADERS || defined HAVE_STDLIB_H -# include <stdlib.h> -#else -char *malloc (); -#endif - -int -main () -{ -return ! malloc (0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_malloc_0_nonnull=yes -else - ac_cv_func_malloc_0_nonnull=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 -$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } -if test $ac_cv_func_malloc_0_nonnull = yes; then : - -$as_echo "#define HAVE_MALLOC 1" >>confdefs.h - -else - $as_echo "#define HAVE_MALLOC 0" >>confdefs.h - - case " $LIBOBJS " in - *" malloc.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS malloc.$ac_objext" - ;; -esac - - -$as_echo "#define malloc rpl_malloc" >>confdefs.h - -fi - - -ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF - -fi - -# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works -# for constant arguments. Useless! -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 -$as_echo_n "checking for working alloca.h... " >&6; } -if ${ac_cv_working_alloca_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <alloca.h> -int -main () -{ -char *p = (char *) alloca (2 * sizeof (int)); - if (p) return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_working_alloca_h=yes -else - ac_cv_working_alloca_h=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 -$as_echo "$ac_cv_working_alloca_h" >&6; } -if test $ac_cv_working_alloca_h = yes; then - -$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 -$as_echo_n "checking for alloca... " >&6; } -if ${ac_cv_func_alloca_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __GNUC__ -# define alloca __builtin_alloca -#else -# ifdef _MSC_VER -# include <malloc.h> -# define alloca _alloca -# else -# ifdef HAVE_ALLOCA_H -# include <alloca.h> -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -void *alloca (size_t); -# endif -# endif -# endif -# endif -#endif - -int -main () -{ -char *p = (char *) alloca (1); - if (p) return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_func_alloca_works=yes -else - ac_cv_func_alloca_works=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 -$as_echo "$ac_cv_func_alloca_works" >&6; } - -if test $ac_cv_func_alloca_works = yes; then - -$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h - -else - # The SVR3 libPW and SVR4 libucb both contain incompatible functions -# that cause trouble. Some versions do not even contain alloca or -# contain a buggy version. If you still want to use their alloca, -# use ar to extract alloca.o from them instead of compiling alloca.c. - -ALLOCA=\${LIBOBJDIR}alloca.$ac_objext - -$as_echo "#define C_ALLOCA 1" >>confdefs.h - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 -$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } -if ${ac_cv_os_cray+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined CRAY && ! defined CRAY2 -webecray -#else -wenotbecray -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "webecray" >/dev/null 2>&1; then : - ac_cv_os_cray=yes -else - ac_cv_os_cray=no -fi -rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 -$as_echo "$ac_cv_os_cray" >&6; } -if test $ac_cv_os_cray = yes; then - for ac_func in _getb67 GETB67 getb67; do - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - -cat >>confdefs.h <<_ACEOF -#define CRAY_STACKSEG_END $ac_func -_ACEOF - - break -fi - - done -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 -$as_echo_n "checking stack direction for C alloca... " >&6; } -if ${ac_cv_c_stack_direction+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_c_stack_direction=0 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -find_stack_direction (int *addr, int depth) -{ - int dir, dummy = 0; - if (! addr) - addr = &dummy; - *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; - dir = depth ? find_stack_direction (addr, depth - 1) : 0; - return dir + dummy; -} - -int -main (int argc, char **argv) -{ - return find_stack_direction (0, argc + !argv + 20) < 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_stack_direction=1 -else - ac_cv_c_stack_direction=-1 -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 -$as_echo "$ac_cv_c_stack_direction" >&6; } -cat >>confdefs.h <<_ACEOF -#define STACK_DIRECTION $ac_cv_c_stack_direction -_ACEOF - - -fi - -for ac_header in stdlib.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" -if test "x$ac_cv_header_stdlib_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDLIB_H 1 -_ACEOF - -fi - -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible realloc" >&5 -$as_echo_n "checking for GNU libc compatible realloc... " >&6; } -if ${ac_cv_func_realloc_0_nonnull+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_realloc_0_nonnull=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined STDC_HEADERS || defined HAVE_STDLIB_H -# include <stdlib.h> -#else -char *realloc (); -#endif - -int -main () -{ -return ! realloc (0, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_realloc_0_nonnull=yes -else - ac_cv_func_realloc_0_nonnull=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5 -$as_echo "$ac_cv_func_realloc_0_nonnull" >&6; } -if test $ac_cv_func_realloc_0_nonnull = yes; then : - -$as_echo "#define HAVE_REALLOC 1" >>confdefs.h - -else - $as_echo "#define HAVE_REALLOC 0" >>confdefs.h - - case " $LIBOBJS " in - *" realloc.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS realloc.$ac_objext" - ;; -esac - - -$as_echo "#define realloc rpl_realloc" >>confdefs.h - -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strtod" >&5 -$as_echo_n "checking for working strtod... " >&6; } -if ${ac_cv_func_strtod+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_strtod=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -$ac_includes_default -#ifndef strtod -double strtod (); -#endif -int -main() -{ - { - /* Some versions of Linux strtod mis-parse strings with leading '+'. */ - char *string = " +69"; - char *term; - double value; - value = strtod (string, &term); - if (value != 69 || term != (string + 4)) - return 1; - } - - { - /* Under Solaris 2.4, strtod returns the wrong value for the - terminating character under some conditions. */ - char *string = "NaN"; - char *term; - strtod (string, &term); - if (term != string && *(term - 1) == 0) - return 1; - } - return 0; -} - -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_strtod=yes -else - ac_cv_func_strtod=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strtod" >&5 -$as_echo "$ac_cv_func_strtod" >&6; } -if test $ac_cv_func_strtod = no; then - case " $LIBOBJS " in - *" strtod.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS strtod.$ac_objext" - ;; -esac - -ac_fn_c_check_func "$LINENO" "pow" "ac_cv_func_pow" -if test "x$ac_cv_func_pow" = xyes; then : - -fi - -if test $ac_cv_func_pow = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pow in -lm" >&5 -$as_echo_n "checking for pow in -lm... " >&6; } -if ${ac_cv_lib_m_pow+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lm $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pow (); -int -main () -{ -return pow (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_m_pow=yes -else - ac_cv_lib_m_pow=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_pow" >&5 -$as_echo "$ac_cv_lib_m_pow" >&6; } -if test "x$ac_cv_lib_m_pow" = xyes; then : - POW_LIB=-lm -else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot find library containing definition of pow" >&5 -$as_echo "$as_me: WARNING: cannot find library containing definition of pow" >&2;} -fi - -fi - -fi - -for ac_func in ftruncate inet_ntoa memchr memmove memset munmap socket strchr strerror strspn -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - -# Checks for typedefs, structures, and compiler characteristics. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 -$as_echo_n "checking for inline... " >&6; } -if ${ac_cv_c_inline+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __cplusplus -typedef int foo_t; -static $ac_kw foo_t static_foo () {return 0; } -$ac_kw foo_t foo () {return 0; } -#endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_inline=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_inline" != no && break -done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 -$as_echo "$ac_cv_c_inline" >&6; } - -case $ac_cv_c_inline in - inline | yes) ;; - *) - case $ac_cv_c_inline in - no) ac_val=;; - *) ac_val=$ac_cv_c_inline;; - esac - cat >>confdefs.h <<_ACEOF -#ifndef __cplusplus -#define inline $ac_val -#endif -_ACEOF - ;; -esac - -ac_fn_c_find_intX_t "$LINENO" "8" "ac_cv_c_int8_t" -case $ac_cv_c_int8_t in #( - no|yes) ;; #( - *) - -cat >>confdefs.h <<_ACEOF -#define int8_t $ac_cv_c_int8_t -_ACEOF -;; -esac - -ac_fn_c_find_intX_t "$LINENO" "16" "ac_cv_c_int16_t" -case $ac_cv_c_int16_t in #( - no|yes) ;; #( - *) - -cat >>confdefs.h <<_ACEOF -#define int16_t $ac_cv_c_int16_t -_ACEOF -;; -esac - -ac_fn_c_find_intX_t "$LINENO" "32" "ac_cv_c_int32_t" -case $ac_cv_c_int32_t in #( - no|yes) ;; #( - *) - -cat >>confdefs.h <<_ACEOF -#define int32_t $ac_cv_c_int32_t -_ACEOF -;; -esac - -ac_fn_c_find_intX_t "$LINENO" "64" "ac_cv_c_int64_t" -case $ac_cv_c_int64_t in #( - no|yes) ;; #( - *) - -cat >>confdefs.h <<_ACEOF -#define int64_t $ac_cv_c_int64_t -_ACEOF -;; -esac - -ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" -if test "x$ac_cv_type_off_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define off_t long int -_ACEOF - -fi - -ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF - -fi - -ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" -if test "x$ac_cv_type_ssize_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define ssize_t int -_ACEOF - -fi - -ac_fn_c_find_uintX_t "$LINENO" "8" "ac_cv_c_uint8_t" -case $ac_cv_c_uint8_t in #( - no|yes) ;; #( - *) - -$as_echo "#define _UINT8_T 1" >>confdefs.h - - -cat >>confdefs.h <<_ACEOF -#define uint8_t $ac_cv_c_uint8_t -_ACEOF -;; - esac - -ac_fn_c_find_uintX_t "$LINENO" "16" "ac_cv_c_uint16_t" -case $ac_cv_c_uint16_t in #( - no|yes) ;; #( - *) - - -cat >>confdefs.h <<_ACEOF -#define uint16_t $ac_cv_c_uint16_t -_ACEOF -;; - esac - -ac_fn_c_find_uintX_t "$LINENO" "32" "ac_cv_c_uint32_t" -case $ac_cv_c_uint32_t in #( - no|yes) ;; #( - *) - -$as_echo "#define _UINT32_T 1" >>confdefs.h - - -cat >>confdefs.h <<_ACEOF -#define uint32_t $ac_cv_c_uint32_t -_ACEOF -;; - esac - -ac_fn_c_find_uintX_t "$LINENO" "64" "ac_cv_c_uint64_t" -case $ac_cv_c_uint64_t in #( - no|yes) ;; #( - *) - -$as_echo "#define _UINT64_T 1" >>confdefs.h - - -cat >>confdefs.h <<_ACEOF -#define uint64_t $ac_cv_c_uint64_t -_ACEOF -;; - esac - -ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" -if test "x$ac_cv_type_ptrdiff_t" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_PTRDIFF_T 1 -_ACEOF - - -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sctp_sendmsg in -lsctp" >&5 -$as_echo_n "checking for sctp_sendmsg in -lsctp... " >&6; } -if ${ac_cv_lib_sctp_sctp_sendmsg+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsctp $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char sctp_sendmsg (); -int -main () -{ -return sctp_sendmsg (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_sctp_sctp_sendmsg=yes -else - ac_cv_lib_sctp_sctp_sendmsg=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sctp_sctp_sendmsg" >&5 -$as_echo "$ac_cv_lib_sctp_sctp_sendmsg" >&6; } -if test "x$ac_cv_lib_sctp_sctp_sendmsg" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBSCTP 1 -_ACEOF - - LIBS="-lsctp $LIBS" - -else - as_fn_error $? "libsctp not found, consider installing libsctp-dev package" "$LINENO" 5 -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_init in -lpthread" >&5 -$as_echo_n "checking for pthread_mutex_init in -lpthread... " >&6; } -if ${ac_cv_lib_pthread_pthread_mutex_init+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpthread $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pthread_mutex_init (); -int -main () -{ -return pthread_mutex_init (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_pthread_pthread_mutex_init=yes -else - ac_cv_lib_pthread_pthread_mutex_init=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_mutex_init" >&5 -$as_echo "$ac_cv_lib_pthread_pthread_mutex_init" >&6; } -if test "x$ac_cv_lib_pthread_pthread_mutex_init" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBPTHREAD 1 -_ACEOF - - LIBS="-lpthread $LIBS" - -else - as_fn_error $? "pthread library needed!" "$LINENO" 5 -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for timer_create in -lrt" >&5 -$as_echo_n "checking for timer_create in -lrt... " >&6; } -if ${ac_cv_lib_rt_timer_create+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lrt $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char timer_create (); -int -main () -{ -return timer_create (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_rt_timer_create=yes -else - ac_cv_lib_rt_timer_create=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_timer_create" >&5 -$as_echo "$ac_cv_lib_rt_timer_create" >&6; } -if test "x$ac_cv_lib_rt_timer_create" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBRT 1 -_ACEOF - - LIBS="-lrt $LIBS" - -else - as_fn_error $? "rt library needed!" "$LINENO" 5 -fi - - -# Check whether --enable-hss was given. -if test "${enable_hss+set}" = set; then : - enableval=$enable_hss; CFLAGS="$CFLAGS -DENABLE_USE_HSS" -else - CFLAGS="$CFLAGS -DDISABLE_USE_HSS" -fi - - -if test "x$enable_hss" == "xyes"; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fd_core_initialize in -lfdcore" >&5 -$as_echo_n "checking for fd_core_initialize in -lfdcore... " >&6; } -if ${ac_cv_lib_fdcore_fd_core_initialize+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lfdcore $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char fd_core_initialize (); -int -main () -{ -return fd_core_initialize (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_fdcore_fd_core_initialize=yes -else - ac_cv_lib_fdcore_fd_core_initialize=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fdcore_fd_core_initialize" >&5 -$as_echo "$ac_cv_lib_fdcore_fd_core_initialize" >&6; } -if test "x$ac_cv_lib_fdcore_fd_core_initialize" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBFDCORE 1 -_ACEOF - - LIBS="-lfdcore $LIBS" - -else - as_fn_error $? "Free diameter lib not installed" "$LINENO" 5 -fi - - for ac_header in signalent.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "signalent.h" "ac_cv_header_signalent_h" "$ac_includes_default" -if test "x$ac_cv_header_signalent_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SIGNALENT_H 1 -_ACEOF - -fi - -done - - for ac_func in ntohll strndup -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - -$as_echo "#define HAVE_AI_ADDRCONFIG /**/" >>confdefs.h - - -$as_echo "#define HAVE_CLOCK_GETTIME /**/" >>confdefs.h - - -$as_echo "#define HAVE_PTHREAD_BAR /**/" >>confdefs.h - - -$as_echo "#define SCTP_CONNECTX_4_ARGS /**/" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lrt" >&5 -$as_echo_n "checking for clock_gettime in -lrt... " >&6; } -if ${ac_cv_lib_rt_clock_gettime+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lrt $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char clock_gettime (); -int -main () -{ -return clock_gettime (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_rt_clock_gettime=yes -else - ac_cv_lib_rt_clock_gettime=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_clock_gettime" >&5 -$as_echo "$ac_cv_lib_rt_clock_gettime" >&6; } -if test "x$ac_cv_lib_rt_clock_gettime" = xyes; then : - $as_echo "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_barrier_wait in -lpthread" >&5 -$as_echo_n "checking for pthread_barrier_wait in -lpthread... " >&6; } -if ${ac_cv_lib_pthread_pthread_barrier_wait+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpthread $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pthread_barrier_wait (); -int -main () -{ -return pthread_barrier_wait (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_pthread_pthread_barrier_wait=yes -else - ac_cv_lib_pthread_pthread_barrier_wait=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_barrier_wait" >&5 -$as_echo "$ac_cv_lib_pthread_pthread_barrier_wait" >&6; } -if test "x$ac_cv_lib_pthread_pthread_barrier_wait" = xyes; then : - $as_echo "#define HAVE_PTHREAD_BAR 1" >>confdefs.h - -fi - - ac_fn_c_check_decl "$LINENO" "AI_ADDRCONFIG" "ac_cv_have_decl_AI_ADDRCONFIG" "#include <netdb.h> -" -if test "x$ac_cv_have_decl_AI_ADDRCONFIG" = xyes; then : - $as_echo "#define HAVE_AI_ADDRCONFIG 1" >>confdefs.h - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if sctp_connectx accepts 4 arguments" >&5 -$as_echo_n "checking if sctp_connectx accepts 4 arguments... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - int main() { return sctp_connectx(0, NULL, 0, NULL); } - -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - $as_echo "#define SCTP_CONNECTX_4_ARGS 1" >>confdefs.h - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnutls_hash in -lgnutls" >&5 -$as_echo_n "checking for gnutls_hash in -lgnutls... " >&6; } -if ${ac_cv_lib_gnutls_gnutls_hash+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lgnutls $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gnutls_hash (); -int -main () -{ -return gnutls_hash (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_gnutls_gnutls_hash=yes -else - ac_cv_lib_gnutls_gnutls_hash=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gnutls_gnutls_hash" >&5 -$as_echo "$ac_cv_lib_gnutls_gnutls_hash" >&6; } -if test "x$ac_cv_lib_gnutls_gnutls_hash" = xyes; then : - -$as_echo "#define GNUTLS_VERSION_210 1" >>confdefs.h - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnutls_x509_trust_list_verify_crt in -lgnutls" >&5 -$as_echo_n "checking for gnutls_x509_trust_list_verify_crt in -lgnutls... " >&6; } -if ${ac_cv_lib_gnutls_gnutls_x509_trust_list_verify_crt+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lgnutls $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gnutls_x509_trust_list_verify_crt (); -int -main () -{ -return gnutls_x509_trust_list_verify_crt (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_gnutls_gnutls_x509_trust_list_verify_crt=yes -else - ac_cv_lib_gnutls_gnutls_x509_trust_list_verify_crt=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gnutls_gnutls_x509_trust_list_verify_crt" >&5 -$as_echo "$ac_cv_lib_gnutls_gnutls_x509_trust_list_verify_crt" >&6; } -if test "x$ac_cv_lib_gnutls_gnutls_x509_trust_list_verify_crt" = xyes; then : - -$as_echo "#define GNUTLS_VERSION_300 1" >>confdefs.h - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnutls_handshake_set_timeout in -lgnutls" >&5 -$as_echo_n "checking for gnutls_handshake_set_timeout in -lgnutls... " >&6; } -if ${ac_cv_lib_gnutls_gnutls_handshake_set_timeout+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lgnutls $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gnutls_handshake_set_timeout (); -int -main () -{ -return gnutls_handshake_set_timeout (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_gnutls_gnutls_handshake_set_timeout=yes -else - ac_cv_lib_gnutls_gnutls_handshake_set_timeout=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gnutls_gnutls_handshake_set_timeout" >&5 -$as_echo "$ac_cv_lib_gnutls_gnutls_handshake_set_timeout" >&6; } -if test "x$ac_cv_lib_gnutls_gnutls_handshake_set_timeout" = xyes; then : - -$as_echo "#define GNUTLS_VERSION_310 1" >>confdefs.h - -fi - - -fi - - if test x$enable_hss == xyes; then - ENABLE_USE_HSS_TRUE= - ENABLE_USE_HSS_FALSE='#' -else - ENABLE_USE_HSS_TRUE='#' - ENABLE_USE_HSS_FALSE= -fi - - - -# Check whether --enable-r9 was given. -if test "${enable_r9+set}" = set; then : - enableval=$enable_r9; -else - CFLAGS="$CFLAGS -DUPDATE_RELEASE_9" -fi - -if test x$enable_r9 != xno; then - ASN1DIR=R9.8 -else - ASN1DIR=R8.10 -fi - if test x$enable_r9 != xno; then - UPDATE_RELEASE_9_TRUE= - UPDATE_RELEASE_9_FALSE='#' -else - UPDATE_RELEASE_9_TRUE='#' - UPDATE_RELEASE_9_FALSE= -fi - - - -CFLAGS="$CFLAGS -Wall" -CFLAGS="$CFLAGS -Wshadow" -CFLAGS="$CFLAGS -Wcast-qual" -CFLAGS="$CFLAGS -Wcast-align" -CFLAGS="$CFLAGS -Wchar-subscripts" -CFLAGS="$CFLAGS -Wmissing-prototypes" -CFLAGS="$CFLAGS -Wmissing-declarations" -CFLAGS="$CFLAGS -Werror=implicit-function-declaration" - - - - if test -n "$DOXYGEN"; then - HAVE_DOXYGEN_TRUE= - HAVE_DOXYGEN_FALSE='#' -else - HAVE_DOXYGEN_TRUE='#' - HAVE_DOXYGEN_FALSE= -fi -if test -z "$HAVE_DOXYGEN_TRUE"; then : - ac_config_files="$ac_config_files DOCS/DOXYGEN/Doxyfile" - -fi - -ac_config_files="$ac_config_files GTPV1-U/Makefile INTERTASK_INTERFACE/Makefile S1AP/MESSAGES/ASN1/Makefile S1AP/MESSAGES/Makefile S1AP/Makefile S6A/Makefile SCTP/Makefile SGW-LITE/Makefile TEST/Makefile UTILS/TIMER/Makefile UTILS/Makefile UDP/Makefile OAISIM_MME/Makefile DOCS/DOXYGEN/Makefile DOCS/Makefile Makefile" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then - as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_PDFLATEX_TRUE}" && test -z "${HAVE_PDFLATEX_FALSE}"; then - as_fn_error $? "conditional \"HAVE_PDFLATEX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_USE_HSS_TRUE}" && test -z "${ENABLE_USE_HSS_FALSE}"; then - as_fn_error $? "conditional \"ENABLE_USE_HSS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${UPDATE_RELEASE_9_TRUE}" && test -z "${UPDATE_RELEASE_9_FALSE}"; then - as_fn_error $? "conditional \"UPDATE_RELEASE_9\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_DOXYGEN_TRUE}" && test -z "${HAVE_DOXYGEN_FALSE}"; then - as_fn_error $? "conditional \"HAVE_DOXYGEN\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by oaisim_mme $as_me 0.3.2855:2886M, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to <openair_admin@eurecom.fr>." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -oaisim_mme config.status 0.3.2855:2886M -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' -macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' -enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' -enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' -pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' -SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' -ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' -host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' -host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' -host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' -build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' -build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' -build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' -SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' -Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' -GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' -EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' -FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' -LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' -NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' -LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' -ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' -exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' -lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' -lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' -lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' -reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' -file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' -want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' -sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' -AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' -archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' -STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' -RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' -lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' -CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' -compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' -GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' -nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' -lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' -objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' -need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' -MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' -LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' -libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' -module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' -postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' -version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' -runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' -libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' -soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' -install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' -finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' -old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' -striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' -predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' -postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' -predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' -postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' -LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' -reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' -reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' -compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' -GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' -archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' -module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_ld_CXX='`$ECHO "$hardcode_libdir_flag_spec_ld_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' -inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' -always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' -include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' -prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' -postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' -file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' -predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' -postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' -predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' -postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in SHELL \ -ECHO \ -SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -OBJDUMP \ -deplibs_check_method \ -file_magic_cmd \ -file_magic_glob \ -want_nocaseglob \ -DLLTOOL \ -sharedlib_from_linklib_cmd \ -AR \ -AR_FLAGS \ -archiver_list_spec \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -nm_file_list_spec \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_pic \ -lt_prog_compiler_wl \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -MANIFEST_TOOL \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_flag_spec_ld \ -hardcode_libdir_separator \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -install_override_mode \ -finish_eval \ -old_striplib \ -striplib \ -compiler_lib_search_dirs \ -predep_objects \ -postdep_objects \ -predeps \ -postdeps \ -compiler_lib_search_path \ -LD_CXX \ -reload_flag_CXX \ -compiler_CXX \ -lt_prog_compiler_no_builtin_flag_CXX \ -lt_prog_compiler_pic_CXX \ -lt_prog_compiler_wl_CXX \ -lt_prog_compiler_static_CXX \ -lt_cv_prog_compiler_c_o_CXX \ -export_dynamic_flag_spec_CXX \ -whole_archive_flag_spec_CXX \ -compiler_needs_object_CXX \ -with_gnu_ld_CXX \ -allow_undefined_flag_CXX \ -no_undefined_flag_CXX \ -hardcode_libdir_flag_spec_CXX \ -hardcode_libdir_flag_spec_ld_CXX \ -hardcode_libdir_separator_CXX \ -exclude_expsyms_CXX \ -include_expsyms_CXX \ -file_list_spec_CXX \ -compiler_lib_search_dirs_CXX \ -predep_objects_CXX \ -postdep_objects_CXX \ -predeps_CXX \ -postdeps_CXX \ -compiler_lib_search_path_CXX; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postlink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -sys_lib_dlsearch_path_spec \ -reload_cmds_CXX \ -old_archive_cmds_CXX \ -old_archive_from_new_cmds_CXX \ -old_archive_from_expsyms_cmds_CXX \ -archive_cmds_CXX \ -archive_expsym_cmds_CXX \ -module_cmds_CXX \ -module_expsym_cmds_CXX \ -export_symbols_cmds_CXX \ -prelink_cmds_CXX \ -postlink_cmds_CXX; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -ac_aux_dir='$ac_aux_dir' -xsi_shell='$xsi_shell' -lt_shell_append='$lt_shell_append' - -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile' - - - - - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "DOCS/DOXYGEN/Doxyfile") CONFIG_FILES="$CONFIG_FILES DOCS/DOXYGEN/Doxyfile" ;; - "GTPV1-U/Makefile") CONFIG_FILES="$CONFIG_FILES GTPV1-U/Makefile" ;; - "INTERTASK_INTERFACE/Makefile") CONFIG_FILES="$CONFIG_FILES INTERTASK_INTERFACE/Makefile" ;; - "S1AP/MESSAGES/ASN1/Makefile") CONFIG_FILES="$CONFIG_FILES S1AP/MESSAGES/ASN1/Makefile" ;; - "S1AP/MESSAGES/Makefile") CONFIG_FILES="$CONFIG_FILES S1AP/MESSAGES/Makefile" ;; - "S1AP/Makefile") CONFIG_FILES="$CONFIG_FILES S1AP/Makefile" ;; - "S6A/Makefile") CONFIG_FILES="$CONFIG_FILES S6A/Makefile" ;; - "SCTP/Makefile") CONFIG_FILES="$CONFIG_FILES SCTP/Makefile" ;; - "SGW-LITE/Makefile") CONFIG_FILES="$CONFIG_FILES SGW-LITE/Makefile" ;; - "TEST/Makefile") CONFIG_FILES="$CONFIG_FILES TEST/Makefile" ;; - "UTILS/TIMER/Makefile") CONFIG_FILES="$CONFIG_FILES UTILS/TIMER/Makefile" ;; - "UTILS/Makefile") CONFIG_FILES="$CONFIG_FILES UTILS/Makefile" ;; - "UDP/Makefile") CONFIG_FILES="$CONFIG_FILES UDP/Makefile" ;; - "OAISIM_MME/Makefile") CONFIG_FILES="$CONFIG_FILES OAISIM_MME/Makefile" ;; - "DOCS/DOXYGEN/Makefile") CONFIG_FILES="$CONFIG_FILES DOCS/DOXYGEN/Makefile" ;; - "DOCS/Makefile") CONFIG_FILES="$CONFIG_FILES DOCS/Makefile" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' <conf$$subs.awk | sed ' -/^[^""]/{ - N - s/\n// -} -' >>$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' <confdefs.h | sed ' -s/'"$ac_delim"'/"\\\ -"/g' >>$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, -# Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - -# The names of the tagged configurations supported by this script. -available_tags="CXX " - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# An object symbol dumper. -OBJDUMP=$lt_OBJDUMP - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and in which our libraries should be installed. -lt_sysroot=$lt_sysroot - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# If ld is used when linking, flag to hardcode \$libdir into a binary -# during linking. This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects -postdep_objects=$lt_postdep_objects -predeps=$lt_predeps -postdeps=$lt_postdeps - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path - -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain="$ac_aux_dir/ltmain.sh" - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - if test x"$xsi_shell" = xyes; then - sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ -func_dirname ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_basename ()$/,/^} # func_basename /c\ -func_basename ()\ -{\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ -func_dirname_and_basename ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ -func_stripname ()\ -{\ -\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ -\ # positional parameters, so assign one to ordinary parameter first.\ -\ func_stripname_result=${3}\ -\ func_stripname_result=${func_stripname_result#"${1}"}\ -\ func_stripname_result=${func_stripname_result%"${2}"}\ -} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ -func_split_long_opt ()\ -{\ -\ func_split_long_opt_name=${1%%=*}\ -\ func_split_long_opt_arg=${1#*=}\ -} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ -func_split_short_opt ()\ -{\ -\ func_split_short_opt_arg=${1#??}\ -\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ -} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ -func_lo2o ()\ -{\ -\ case ${1} in\ -\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ -\ *) func_lo2o_result=${1} ;;\ -\ esac\ -} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_xform ()$/,/^} # func_xform /c\ -func_xform ()\ -{\ - func_xform_result=${1%.*}.lo\ -} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_arith ()$/,/^} # func_arith /c\ -func_arith ()\ -{\ - func_arith_result=$(( $* ))\ -} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_len ()$/,/^} # func_len /c\ -func_len ()\ -{\ - func_len_result=${#1}\ -} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - -fi - -if test x"$lt_shell_append" = xyes; then - sed -e '/^func_append ()$/,/^} # func_append /c\ -func_append ()\ -{\ - eval "${1}+=\\${2}"\ -} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ -func_append_quoted ()\ -{\ -\ func_quote_for_eval "${2}"\ -\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ -} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 -$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} -fi - - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: CXX - -# The linker used to build libraries. -LD=$lt_LD_CXX - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_CXX -reload_cmds=$lt_reload_cmds_CXX - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_CXX - -# A language specific compiler. -CC=$lt_compiler_CXX - -# Is the compiler the GNU compiler? -with_gcc=$GCC_CXX - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_CXX - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_CXX - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - -# If ld is used when linking, flag to hardcode \$libdir into a binary -# during linking. This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_CXX - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_CXX - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_CXX - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_CXX - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_CXX - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_CXX - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_CXX - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_CXX -postdep_objects=$lt_postdep_objects_CXX -predeps=$lt_predeps_CXX -postdeps=$lt_postdeps_CXX - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - -# ### END LIBTOOL TAG CONFIG: CXX -_LT_EOF - - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - - -echo " -($PACKAGE_NAME) version $PACKAGE_VERSION -Prefix.........: $prefix -C Compiler.....: $CC $CFLAGS -Linker.........: $LD $LDFLAGS $LIBS -Doxygen........: ${DOXYGEN:-no} -HSS............: ${enable_hss:-no}" - -if test x$enable_r9 != xno; then - echo "Release........: 9.8" -else - echo "Release........: 8.10" -fi diff --git a/openair3/OPENAIRMME/configure.ac b/openair3/OPENAIRMME/configure.ac deleted file mode 100644 index 679c3b97cf..0000000000 --- a/openair3/OPENAIRMME/configure.ac +++ /dev/null @@ -1,187 +0,0 @@ -AC_PREREQ([2.68]) - -define([svnversion], esyscmd([sh -c "svnversion ..|tr -d '\n'"])) - -AC_DEFINE(SVN_REVISION, "svnversion", [SVN Revision]) - -AC_INIT([oaisim_mme], [0.3.svnversion], [openair_admin@eurecom.fr]) -AC_CANONICAL_BUILD -AC_CANONICAL_TARGET -#AM_INIT_AUTOMAKE(oaisim_mme, 0.1.svnversion) -AM_INIT_AUTOMAKE([1.11 silent-rules]) - -AC_CONFIG_HEADERS([config.h]) - -AM_MAINTAINER_MODE - -AM_SILENT_RULES([yes]) - -AM_PROG_LIBTOOL - -dnl *** Autoconf support *** -AC_ARG_ENABLE(autoconf, - [ --disable-autoconf disable automatic generation of configure script ], - enable_autoconf=$enableval, enable_autoconf=yes -) -AC_PATH_PROG(AUTOCONF, autoconf, @echo autoconf not available) -AC_PATH_PROG(AUTOHEADER, autoheader, @echo autoheader not available) -if test -z "$AUTOCONF"; then enable_autoconf=no ; fi -if test -z "$AUTOHEADER"; then enable_autoconf=no ; fi -if test x$enable_autoconf = xyes; then - CONFIGURE_DEPENDS="configure.in aclocal.m4" -fi -AC_SUBST(CONFIGURE_DEPENDS) - -AC_CHECK_PROGS([DOXYGEN], [doxygen]) -if test -z "$DOXYGEN"; -then AC_MSG_WARN([Doxygen not found - continuing without Doxygen support]) -fi - -# Check for presence of pdfLaTeX -AC_CHECK_PROG(PDFLATEX, pdflatex, pdflatex) -if test -z "$PDFLATEX"; then - AC_MSG_WARN([Unable to create PDF version of the user manual.]) -fi - -AM_CONDITIONAL([HAVE_PDFLATEX], test -n "$PDFLATEX") - -dnl ***asn1c support*** -AC_CHECK_PROG(ASN1C_CHECK,asn1c,yes,[AC_MSG_ERROR(Please install asn1c before going further.)]) - -# Checks for programs. -AC_PROG_CXX -AC_PROG_AWK -AC_PROG_CC -AC_PROG_CPP -AC_PROG_INSTALL -AC_PROG_LN_S -AC_PROG_MAKE_SET -AC_PROG_RANLIB -AC_PROG_MKDIR_P - -AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h inttypes.h limits.h malloc.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/socket.h unistd.h]) - -# Checks for library functions. -AC_FUNC_MMAP -AC_FUNC_MALLOC -AC_FUNC_ALLOCA -AC_FUNC_REALLOC -AC_FUNC_STRTOD -AC_CHECK_FUNCS([ftruncate inet_ntoa memchr memmove memset munmap socket strchr strerror strspn]) - -# Checks for typedefs, structures, and compiler characteristics. -AC_C_INLINE -AC_TYPE_INT8_T -AC_TYPE_INT16_T -AC_TYPE_INT32_T -AC_TYPE_INT64_T -AC_TYPE_OFF_T -AC_TYPE_SIZE_T -AC_TYPE_SSIZE_T -AC_TYPE_UINT8_T -AC_TYPE_UINT16_T -AC_TYPE_UINT32_T -AC_TYPE_UINT64_T -AC_CHECK_TYPES([ptrdiff_t]) - -dnl *** libsctp-dev support *** -AC_CHECK_LIB([sctp], [sctp_sendmsg], [], [AC_MSG_ERROR([libsctp not found, consider installing libsctp-dev package])]) - -dnl *** pthread support *** -AC_CHECK_LIB([pthread], [pthread_mutex_init], [], [AC_MSG_ERROR(pthread library needed!)]) - -dnl *** real time support *** -AC_CHECK_LIB([rt], [timer_create], [], [AC_MSG_ERROR(rt library needed!)]) - -dnl *** Disable HSS support by default *** -AC_ARG_ENABLE([hss], - AS_HELP_STRING([--enable-hss], - [Enable 3GPP S6A support]), - [CFLAGS="$CFLAGS -DENABLE_USE_HSS"], - [CFLAGS="$CFLAGS -DDISABLE_USE_HSS"]) - -dnl *** If user requested support for HSS, add some freediameter dependencies *** -AS_IF([test "x$enable_hss" == "xyes"], [ - dnl ***freediameter support*** - AC_CHECK_LIB([fdcore], [fd_core_initialize], [], [AC_MSG_ERROR(Free diameter lib not installed)]) - dnl *** Freediameter requirements *** - AC_CHECK_HEADERS([signalent.h]) - AC_CHECK_FUNCS([ntohll strndup]) - AC_DEFINE([HAVE_AI_ADDRCONFIG], [], [Define to 1 if you have AI_ADDRCONFIG defined in netdb.h]) - AC_DEFINE([HAVE_CLOCK_GETTIME], [], [Define to 1 if you have clock_gettime in librt]) - AC_DEFINE([HAVE_PTHREAD_BAR], [], [Define to 1 if you have pthread_barrier_wait in libpthread]) - AC_DEFINE([SCTP_CONNECTX_4_ARGS], [], [Define to 1 if sctp_connectx function accepts 4 arguments]) - AC_CHECK_LIB([rt], [clock_gettime], [AC_DEFINE(HAVE_CLOCK_GETTIME, 1)], []) - AC_CHECK_LIB([pthread], [pthread_barrier_wait], [AC_DEFINE(HAVE_PTHREAD_BAR, 1)], []) - AC_CHECK_DECL([AI_ADDRCONFIG], [AC_DEFINE(HAVE_AI_ADDRCONFIG, 1)], [], [[#include <netdb.h>]]) - AC_MSG_CHECKING(if sctp_connectx accepts 4 arguments) - AC_LINK_IFELSE([ - AC_LANG_SOURCE( - [[int main() { return sctp_connectx(0, NULL, 0, NULL); }]]) - ], [AC_DEFINE(SCTP_CONNECTX_4_ARGS, 1)]) - AC_CHECK_LIB([gnutls], [gnutls_hash], [AC_DEFINE(GNUTLS_VERSION_210, 1, [Define to 1 if you have gnutls 2.10 installed])], []) - AC_CHECK_LIB([gnutls], [gnutls_x509_trust_list_verify_crt], [AC_DEFINE(GNUTLS_VERSION_300, 1, [Define to 1 if you have gnutls 3.0 installed])], []) - AC_CHECK_LIB([gnutls], [gnutls_handshake_set_timeout], [AC_DEFINE(GNUTLS_VERSION_310, 1, [Define to 1 if you have gnutls 3.1 installed])], []) -]) - -AM_CONDITIONAL([ENABLE_USE_HSS], [test x$enable_hss == xyes]) -AC_SUBST(ADD_CFLAGS) - -dnl *** Enable r9 update by default *** -AC_ARG_ENABLE([r9], AS_HELP_STRING([--disable-r9], [Disable 3GPP release 9 updates]), [], [CFLAGS="$CFLAGS -DUPDATE_RELEASE_9"]) -if test x$enable_r9 != xno; then - ASN1DIR=R9.8 -else - ASN1DIR=R8.10 -fi -AM_CONDITIONAL([UPDATE_RELEASE_9], [test x$enable_r9 != xno]) -AC_SUBST(ASN1DIR) - -dnl Add these flags -CFLAGS="$CFLAGS -Wall" -CFLAGS="$CFLAGS -Wshadow" -CFLAGS="$CFLAGS -Wcast-qual" -CFLAGS="$CFLAGS -Wcast-align" -CFLAGS="$CFLAGS -Wchar-subscripts" -CFLAGS="$CFLAGS -Wmissing-prototypes" -CFLAGS="$CFLAGS -Wmissing-declarations" -CFLAGS="$CFLAGS -Werror=implicit-function-declaration" - -AC_SUBST([AM_CFLAGS]) - -dnl Doxygen section -AM_CONDITIONAL([HAVE_DOXYGEN], - [test -n "$DOXYGEN"])AM_COND_IF([HAVE_DOXYGEN], [AC_CONFIG_FILES([DOCS/DOXYGEN/Doxyfile])]) - -AC_OUTPUT( \ - GTPV1-U/Makefile \ - INTERTASK_INTERFACE/Makefile \ - S1AP/MESSAGES/ASN1/Makefile \ - S1AP/MESSAGES/Makefile \ - S1AP/Makefile \ - S6A/Makefile \ - SCTP/Makefile \ - SGW-LITE/Makefile \ - TEST/Makefile \ - UTILS/TIMER/Makefile \ - UTILS/Makefile \ - UDP/Makefile \ - OAISIM_MME/Makefile \ - DOCS/DOXYGEN/Makefile \ - DOCS/Makefile \ - Makefile \ -) - -echo " -($PACKAGE_NAME) version $PACKAGE_VERSION -Prefix.........: $prefix -C Compiler.....: $CC $CFLAGS -Linker.........: $LD $LDFLAGS $LIBS -Doxygen........: ${DOXYGEN:-no} -HSS............: ${enable_hss:-no}" - -if test x$enable_r9 != xno; then - echo "Release........: 9.8" -else - echo "Release........: 8.10" -fi diff --git a/openair3/OPENAIRMME/depcomp b/openair3/OPENAIRMME/depcomp deleted file mode 100644 index debb6ffa3e..0000000000 --- a/openair3/OPENAIRMME/depcomp +++ /dev/null @@ -1,707 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2012-03-27.16; # UTC - -# Copyright (C) 1999-2012 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, 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 <http://www.gnu.org/licenses/>. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by 'PROGRAMS ARGS'. - object Object file output by 'PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputting dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to <bug-automake@gnu.org>. -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -# A tabulation character. -tab=' ' -# A newline character. -nl=' -' - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -cygpath_u="cygpath -u -f -" -if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvisualcpp -fi - -if test "$depmode" = msvc7msys; then - # This is just like msvc7 but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvc7 -fi - -if test "$depmode" = xlc; then - # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations. - gccflag=-qmakedep=gcc,-MF - depmode=gcc -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. -## Unfortunately, FreeBSD c89 acceptance of flags depends upon -## the command line argument order; so add the flags where they -## appear in depend2.am. Note that the slowdown incurred here -## affects only configure: in makefiles, %FASTDEP% shortcuts this. - for arg - do - case $arg in - -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; - *) set fnord "$@" "$arg" ;; - esac - shift # fnord - shift # $arg - done - "$@" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the "deleted header file" problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. - tr ' ' "$nl" < "$tmpdepfile" | -## Some versions of gcc put a space before the ':'. On the theory -## that the space means something, we add a space to the output as -## well. hp depmode also adds that space, but also prefixes the VPATH -## to the object. Take care to not repeat it in the output. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like '#:fec' to the end of the - # dependency line. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr "$nl" ' ' >> "$depfile" - echo >> "$depfile" - - # The second pass generates a dummy entry for each header file. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -xlc) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts '$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.u - tmpdepfile2=$base.u - tmpdepfile3=$dir.libs/$base.u - "$@" -Wc,-M - else - tmpdepfile1=$dir$base.u - tmpdepfile2=$dir$base.u - tmpdepfile3=$dir$base.u - "$@" -M - fi - stat=$? - - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - # Each line is of the form 'foo.o: dependent.h'. - # Do two passes, one to just change these to - # '$object: dependent.h' and one to simply 'dependent.h:'. - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -icc) - # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'. - # However on - # $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using '\': - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - # tcc 0.9.26 (FIXME still under development at the moment of writing) - # will emit a similar output, but also prepend the continuation lines - # with horizontal tabulation characters. - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form 'foo.o: dependent.h', - # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'. - # Do two passes, one to just change these to - # '$object: dependent.h' and one to simply 'dependent.h:'. - sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \ - < "$tmpdepfile" > "$depfile" - sed ' - s/[ '"$tab"'][ '"$tab"']*/ /g - s/^ *// - s/ *\\*$// - s/^[^:]*: *// - /^$/d - /:$/d - s/$/ :/ - ' < "$tmpdepfile" >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp2) - # The "hp" stanza above does not work with aCC (C++) and HP's ia64 - # compilers, which have integrated preprocessors. The correct option - # to use with these is +Maked; it writes dependencies to a file named - # 'foo.d', which lands next to the object file, wherever that - # happens to be. - # Much of this is similar to the tru64 case; see comments there. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir.libs/$base.d - "$@" -Wc,+Maked - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - "$@" +Maked - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" - # Add 'dependent.h:' lines. - sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" "$tmpdepfile2" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in 'foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # With Tru64 cc, shared objects can also be used to make a - # static library. This mechanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -msvc7) - if test "$libtool" = yes; then - showIncludes=-Wc,-showIncludes - else - showIncludes=-showIncludes - fi - "$@" $showIncludes > "$tmpdepfile" - stat=$? - grep -v '^Note: including file: ' "$tmpdepfile" - if test "$stat" = 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The first sed program below extracts the file names and escapes - # backslashes for cygpath. The second sed program outputs the file - # name when reading, but also accumulates all include files in the - # hold buffer in order to output them again at the end. This only - # works with sed implementations that can handle large buffers. - sed < "$tmpdepfile" -n ' -/^Note: including file: *\(.*\)/ { - s//\1/ - s/\\/\\\\/g - p -}' | $cygpath_u | sort -u | sed -n ' -s/ /\\ /g -s/\(.*\)/'"$tab"'\1 \\/p -s/.\(.*\) \\/\1:/ -H -$ { - s/.*/'"$tab"'/ - G - p -}' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvc7msys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for ':' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. - "$@" $dashmflag | - sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tr ' ' "$nl" < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no eat=no - for arg - do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - if test $eat = yes; then - eat=no - continue - fi - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -arch) - eat=yes ;; - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix=`echo "$object" | sed 's/^.*\././'` - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - # makedepend may prepend the VPATH from the source file name to the object. - # No need to regex-escape $object, excess matching of '.' is harmless. - sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E | - sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - IFS=" " - for arg - do - case "$arg" in - -o) - shift - ;; - $object) - shift - ;; - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E 2>/dev/null | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" - echo "$tab" >> "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvcmsys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/openair3/OPENAIRMME/install-sh b/openair3/OPENAIRMME/install-sh deleted file mode 100644 index 377bb8687f..0000000000 --- a/openair3/OPENAIRMME/install-sh +++ /dev/null @@ -1,527 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2011-11-20.07; # UTC - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# 'make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. - -nl=' -' -IFS=" "" $nl" - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit=${DOITPROG-} -if test -z "$doit"; then - doit_exec=exec -else - doit_exec=$doit -fi - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -chgrpprog=${CHGRPPROG-chgrp} -chmodprog=${CHMODPROG-chmod} -chownprog=${CHOWNPROG-chown} -cmpprog=${CMPPROG-cmp} -cpprog=${CPPROG-cp} -mkdirprog=${MKDIRPROG-mkdir} -mvprog=${MVPROG-mv} -rmprog=${RMPROG-rm} -stripprog=${STRIPPROG-strip} - -posix_glob='?' -initialize_posix_glob=' - test "$posix_glob" != "?" || { - if (set -f) 2>/dev/null; then - posix_glob= - else - posix_glob=: - fi - } -' - -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chgrpcmd= -chmodcmd=$chmodprog -chowncmd= -mvcmd=$mvprog -rmcmd="$rmprog -f" -stripcmd= - -src= -dst= -dir_arg= -dst_arg= - -copy_on_change=false -no_target_directory= - -usage="\ -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: - --help display this help and exit. - --version display version info and exit. - - -c (ignored) - -C install only if different (preserve the last data modification time) - -d create directories instead of installing files. - -g GROUP $chgrpprog installed files to GROUP. - -m MODE $chmodprog installed files to MODE. - -o USER $chownprog installed files to USER. - -s $stripprog installed files. - -t DIRECTORY install into DIRECTORY. - -T report an error if DSTFILE is a directory. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG - RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) ;; - - -C) copy_on_change=true;; - - -d) dir_arg=true;; - - -g) chgrpcmd="$chgrpprog $2" - shift;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - case $mode in - *' '* | *' '* | *' -'* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -s) stripcmd=$stripprog;; - - -t) dst_arg=$2 - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - shift;; - - -T) no_target_directory=true;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dst_arg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dst_arg" - shift # fnord - fi - shift # arg - dst_arg=$arg - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call 'install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - do_exit='(exit $ret); exit $ret' - trap "ret=129; $do_exit" 1 - trap "ret=130; $do_exit" 2 - trap "ret=141; $do_exit" 13 - trap "ret=143; $do_exit" 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names problematic for 'test' and other utilities. - case $src in - -* | [=\(\)!]) src=./$src;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dst_arg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - dst=$dst_arg - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - # Prefer dirname, but fall back on a substitute if dirname fails. - dstdir=` - (dirname "$dst") 2>/dev/null || - expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$dst" : 'X\(//\)[^/]' \| \ - X"$dst" : 'X\(//\)$' \| \ - X"$dst" : 'X\(/\)' \| . 2>/dev/null || - echo X"$dst" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' - ` - - test -d "$dstdir" - dstdir_status=$? - fi - fi - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix='/';; - [-=\(\)!]*) prefix='./';; - *) prefix='';; - esac - - eval "$initialize_posix_glob" - - oIFS=$IFS - IFS=/ - $posix_glob set -f - set fnord $dstdir - shift - $posix_glob set +f - IFS=$oIFS - - prefixes= - - for d - do - test X"$d" = X && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && - { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && - { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # If -C, don't bother to copy if it wouldn't change the file. - if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - - eval "$initialize_posix_glob" && - $posix_glob set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - $posix_glob set +f && - - test "$old" = "$new" && - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 - then - rm -f "$dsttmp" - else - # Rename the file to the real destination. - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || - - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - fi || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/openair3/OPENAIRMME/ltmain.sh b/openair3/OPENAIRMME/ltmain.sh deleted file mode 100644 index b4a3231ca3..0000000000 --- a/openair3/OPENAIRMME/ltmain.sh +++ /dev/null @@ -1,9642 +0,0 @@ - -# libtool (GNU libtool) 2.4 -# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# Usage: $progname [OPTION]... [MODE-ARG]... -# -# Provide generalized library-building support services. -# -# --config show all configuration variables -# --debug enable verbose shell tracing -# -n, --dry-run display commands without modifying any files -# --features display basic configuration information and exit -# --mode=MODE use operation mode MODE -# --preserve-dup-deps don't remove duplicate dependency libraries -# --quiet, --silent don't print informational messages -# --no-quiet, --no-silent -# print informational messages (default) -# --tag=TAG use configuration variables from tag TAG -# -v, --verbose print more informational messages than default -# --no-verbose don't print the extra informational messages -# --version print version information -# -h, --help, --help-all print short, long, or detailed help message -# -# MODE must be one of the following: -# -# clean remove files from the build directory -# compile compile a source file into a libtool object -# execute automatically set library path, then run a program -# finish complete the installation of libtool libraries -# install install libraries or executables -# link create a library or an executable -# uninstall remove libraries from an installed directory -# -# MODE-ARGS vary depending on the MODE. When passed as first option, -# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. -# Try `$progname --help --mode=MODE' for a more detailed description of MODE. -# -# When reporting a bug, please describe a test case to reproduce it and -# include the following information: -# -# host-triplet: $host -# shell: $SHELL -# compiler: $LTCC -# compiler flags: $LTCFLAGS -# linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.4 Debian-2.4-2ubuntu1 -# automake: $automake_version -# autoconf: $autoconf_version -# -# Report bugs to <bug-libtool@gnu.org>. -# GNU libtool home page: <http://www.gnu.org/software/libtool/>. -# General help using GNU software: <http://www.gnu.org/gethelp/>. - -PROGRAM=libtool -PACKAGE=libtool -VERSION="2.4 Debian-2.4-2ubuntu1" -TIMESTAMP="" -package_revision=1.3293 - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# NLS nuisances: We save the old values to restore during execute mode. -lt_user_locale= -lt_safe_locale= -for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test \"\${$lt_var+set}\" = set; then - save_$lt_var=\$$lt_var - $lt_var=C - export $lt_var - lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" - lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" - fi" -done -LC_ALL=C -LANGUAGE=C -export LANGUAGE LC_ALL - -$lt_unset CDPATH - - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - - - -: ${CP="cp -f"} -test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} -: ${EGREP="/bin/grep -E"} -: ${FGREP="/bin/grep -F"} -: ${GREP="/bin/grep"} -: ${LN_S="ln -s"} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SED="/bin/sed"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} -: ${Xsed="$SED -e 1s/^X//"} - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -exit_status=$EXIT_SUCCESS - -# Make sure IFS has a sensible default -lt_nl=' -' -IFS=" $lt_nl" - -dirname="s,/[^/]*$,," -basename="s,^.*/,," - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} # func_dirname may be replaced by extended shell implementation - - -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "${1}" | $SED "$basename"` -} # func_basename may be replaced by extended shell implementation - - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi - func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` -} # func_dirname_and_basename may be replaced by extended shell implementation - - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; - esac -} # func_stripname may be replaced by extended shell implementation - - -# These SED scripts presuppose an absolute path with a trailing slash. -pathcar='s,^/\([^/]*\).*$,\1,' -pathcdr='s,^/[^/]*,,' -removedotparts=':dotsl - s@/\./@/@g - t dotsl - s,/\.$,/,' -collapseslashes='s@/\{1,\}@/@g' -finalslash='s,/*$,/,' - -# func_normal_abspath PATH -# Remove doubled-up and trailing slashes, "." path components, -# and cancel out any ".." path components in PATH after making -# it an absolute path. -# value returned in "$func_normal_abspath_result" -func_normal_abspath () -{ - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` - while :; do - # Processed it all yet? - if test "$func_normal_abspath_tpath" = / ; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result" ; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$pathcar"` - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} - -# func_relative_path SRCDIR DSTDIR -# generates a relative path from SRCDIR to DSTDIR, with a trailing -# slash if non-empty, suitable for immediately appending a filename -# without needing to append a separator. -# value returned in "$func_relative_path_result" -func_relative_path () -{ - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. - fi - break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=${func_dirname_result} - if test "x$func_relative_path_tlibdir" = x ; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done - - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test "x$func_stripname_result" != x ; then - func_relative_path_result=${func_relative_path_result}/${func_stripname_result} - fi - - # Normalisation. If bindir is libdir, return empty string, - # else relative path ending with a slash; either way, target - # file name can be directly appended. - if test ! -z "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result/" - func_relative_path_result=$func_stripname_result - fi -} - -# The name of this program: -func_dirname_and_basename "$progpath" -progname=$func_basename_result - -# Make sure we have an absolute path for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=$func_dirname_result - progdir=`cd "$progdir" && pwd` - progpath="$progdir/$progname" - ;; - *) - save_IFS="$IFS" - IFS=: - for progdir in $PATH; do - IFS="$save_IFS" - test -x "$progdir/$progname" && break - done - IFS="$save_IFS" - test -n "$progdir" || progdir=`pwd` - progpath="$progdir/$progname" - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed="${SED}"' -e 1s/^X//' -sed_quote_subst='s/\([`"$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution that turns a string into a regex matching for the -# string literally. -sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' - -# Sed substitution that converts a w32 file name or path -# which contains forward slashes, into one that contains -# (escaped) backslashes. A very naive implementation. -lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - -# Re-`\' parameter expansions in output of double_quote_subst that were -# `\'-ed in input to the same. If an odd number of `\' preceded a '$' -# in input to double_quote_subst, that '$' was protected from expansion. -# Since each input `\' is now two `\'s, look for any number of runs of -# four `\'s followed by two `\'s and then a '$'. `\' that '$'. -bs='\\' -bs2='\\\\' -bs4='\\\\\\\\' -dollar='\$' -sed_double_backslash="\ - s/$bs4/&\\ -/g - s/^$bs2$dollar/$bs&/ - s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g - s/\n//g" - -# Standard options: -opt_dry_run=false -opt_help=false -opt_quiet=false -opt_verbose=false -opt_warning=: - -# func_echo arg... -# Echo program name prefixed message, along with the current mode -# name if it has been set yet. -func_echo () -{ - $ECHO "$progname: ${opt_mode+$opt_mode: }$*" -} - -# func_verbose arg... -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $opt_verbose && func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -# func_error arg... -# Echo program name prefixed message to standard error. -func_error () -{ - $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 -} - -# func_warning arg... -# Echo program name prefixed warning message to standard error. -func_warning () -{ - $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 - - # bash bug again: - : -} - -# func_fatal_error arg... -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - -# func_fatal_help arg... -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - func_error ${1+"$@"} - func_fatal_error "$help" -} -help="Try \`$progname --help' for more information." ## default - - -# func_grep expression filename -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_mkdir_p directory-path -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - my_directory_path="$1" - my_dir_list= - - if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then - - # Protect directory names starting with `-' - case $my_directory_path in - -*) my_directory_path="./$my_directory_path" ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$my_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - my_dir_list="$my_directory_path:$my_dir_list" - - # If the last portion added has no slash in it, the list is done - case $my_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` - done - my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` - - save_mkdir_p_IFS="$IFS"; IFS=':' - for my_dir in $my_dir_list; do - IFS="$save_mkdir_p_IFS" - # mkdir can fail with a `File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$my_dir" 2>/dev/null || : - done - IFS="$save_mkdir_p_IFS" - - # Bail out if we (or some other process) failed to create a directory. - test -d "$my_directory_path" || \ - func_fatal_error "Failed to create \`$1'" - fi -} - - -# func_mktempdir [string] -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, STRING is the basename for that directory. -func_mktempdir () -{ - my_template="${TMPDIR-/tmp}/${1-$progname}" - - if test "$opt_dry_run" = ":"; then - # Return a directory name, but don't create it in dry-run mode - my_tmpdir="${my_template}-$$" - else - - # If mktemp works, use that first and foremost - my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` - - if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" - - save_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$my_tmpdir" - umask $save_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || \ - func_fatal_error "cannot create temporary directory \`$my_tmpdir'" - fi - - $ECHO "$my_tmpdir" -} - - -# func_quote_for_eval arg -# Aesthetically quote ARG to be evaled later. -# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT -# is double-quoted, suitable for a subsequent eval, whereas -# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters -# which are still active within double quotes backslashified. -func_quote_for_eval () -{ - case $1 in - *[\\\`\"\$]*) - func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; - *) - func_quote_for_eval_unquoted_result="$1" ;; - esac - - case $func_quote_for_eval_unquoted_result in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and and variable - # expansion for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" - ;; - *) - func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" - esac -} - - -# func_quote_for_expand arg -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ - case $1 in - *[\\\`\"]*) - my_arg=`$ECHO "$1" | $SED \ - -e "$double_quote_subst" -e "$sed_double_backslash"` ;; - *) - my_arg="$1" ;; - esac - - case $my_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - my_arg="\"$my_arg\"" - ;; - esac - - func_quote_for_expand_result="$my_arg" -} - - -# func_show_eval cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$my_cmd" - my_status=$? - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - - -# func_show_eval_locale cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$lt_user_locale - $my_cmd" - my_status=$? - eval "$lt_safe_locale" - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - -# func_tr_sh -# Turn $1 into a string suitable for a shell variable name. -# Result is stored in $func_tr_sh_result. All characters -# not in the set a-zA-Z0-9_ are replaced with '_'. Further, -# if $1 begins with a digit, a '_' is prepended as well. -func_tr_sh () -{ - case $1 in - [0-9]* | *[!a-zA-Z0-9_]*) - func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` - ;; - * ) - func_tr_sh_result=$1 - ;; - esac -} - - -# func_version -# Echo version message to standard output and exit. -func_version () -{ - $opt_debug - - $SED -n '/(C)/!b go - :more - /\./!{ - N - s/\n# / / - b more - } - :go - /^# '$PROGRAM' (GNU /,/# warranty; / { - s/^# // - s/^# *$// - s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ - p - }' < "$progpath" - exit $? -} - -# func_usage -# Echo short help message to standard output and exit. -func_usage () -{ - $opt_debug - - $SED -n '/^# Usage:/,/^# *.*--help/ { - s/^# // - s/^# *$// - s/\$progname/'$progname'/ - p - }' < "$progpath" - echo - $ECHO "run \`$progname --help | more' for full usage" - exit $? -} - -# func_help [NOEXIT] -# Echo long help message to standard output and exit, -# unless 'noexit' is passed as argument. -func_help () -{ - $opt_debug - - $SED -n '/^# Usage:/,/# Report bugs to/ { - :print - s/^# // - s/^# *$// - s*\$progname*'$progname'* - s*\$host*'"$host"'* - s*\$SHELL*'"$SHELL"'* - s*\$LTCC*'"$LTCC"'* - s*\$LTCFLAGS*'"$LTCFLAGS"'* - s*\$LD*'"$LD"'* - s/\$with_gnu_ld/'"$with_gnu_ld"'/ - s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ - s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ - p - d - } - /^# .* home page:/b print - /^# General help using/b print - ' < "$progpath" - ret=$? - if test -z "$1"; then - exit $ret - fi -} - -# func_missing_arg argname -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - $opt_debug - - func_error "missing argument for $1." - exit_cmd=exit -} - - -# func_split_short_opt shortopt -# Set func_split_short_opt_name and func_split_short_opt_arg shell -# variables after splitting SHORTOPT after the 2nd character. -func_split_short_opt () -{ - my_sed_short_opt='1s/^\(..\).*$/\1/;q' - my_sed_short_rest='1s/^..\(.*\)$/\1/;q' - - func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"` - func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"` -} # func_split_short_opt may be replaced by extended shell implementation - - -# func_split_long_opt longopt -# Set func_split_long_opt_name and func_split_long_opt_arg shell -# variables after splitting LONGOPT at the `=' sign. -func_split_long_opt () -{ - my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' - my_sed_long_arg='1s/^--[^=]*=//' - - func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"` - func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"` -} # func_split_long_opt may be replaced by extended shell implementation - -exit_cmd=: - - - - - -magic="%%%MAGIC variable%%%" -magic_exe="%%%MAGIC EXE variable%%%" - -# Global variables. -nonopt= -preserve_args= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" -extracted_archives= -extracted_serial=0 - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "${1}=\$${1}\${2}" -} # func_append may be replaced by extended shell implementation - -# func_append_quoted var value -# Quote VALUE and append to the end of shell variable VAR, separated -# by a space. -func_append_quoted () -{ - func_quote_for_eval "${2}" - eval "${1}=\$${1}\\ \$func_quote_for_eval_result" -} # func_append_quoted may be replaced by extended shell implementation - - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "${@}"` -} # func_arith may be replaced by extended shell implementation - - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len` -} # func_len may be replaced by extended shell implementation - - -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` -} # func_lo2o may be replaced by extended shell implementation - - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` -} # func_xform may be replaced by extended shell implementation - - -# func_fatal_configuration arg... -# Echo program name prefixed message to standard error, followed by -# a configuration failure hint, and exit. -func_fatal_configuration () -{ - func_error ${1+"$@"} - func_error "See the $PACKAGE documentation for more information." - func_fatal_error "Fatal configuration error." -} - - -# func_config -# Display the configuration for all the tags in this script. -func_config () -{ - re_begincf='^# ### BEGIN LIBTOOL' - re_endcf='^# ### END LIBTOOL' - - # Default configuration. - $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" - - # Now print the configurations for the tags. - for tagname in $taglist; do - $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" - done - - exit $? -} - -# func_features -# Display the features supported by this script. -func_features () -{ - echo "host: $host" - if test "$build_libtool_libs" = yes; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test "$build_old_libs" = yes; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - - exit $? -} - -# func_enable_tag tagname -# Verify that TAGNAME is valid, and either flag an error and exit, or -# enable the TAGNAME tag. We also add TAGNAME to the global $taglist -# variable here. -func_enable_tag () -{ - # Global variable: - tagname="$1" - - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf="/$re_begincf/,/$re_endcf/p" - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac - - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; - *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} - -# func_check_version_match -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -# Shorthand for --mode=foo, only valid as the first argument -case $1 in -clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; -compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; -execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; -finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; -install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; -link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; -uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; -esac - - - -# Option defaults: -opt_debug=: -opt_dry_run=false -opt_config=false -opt_preserve_dup_deps=false -opt_features=false -opt_finish=false -opt_help=false -opt_help_all=false -opt_silent=: -opt_verbose=: -opt_silent=false -opt_verbose=false - - -# Parse options once, thoroughly. This comes as soon as possible in the -# script to make things like `--version' happen as quickly as we can. -{ - # this just eases exit handling - while test $# -gt 0; do - opt="$1" - shift - case $opt in - --debug|-x) opt_debug='set -x' - func_echo "enabling shell trace mode" - $opt_debug - ;; - --dry-run|--dryrun|-n) - opt_dry_run=: - ;; - --config) - opt_config=: -func_config - ;; - --dlopen|-dlopen) - optarg="$1" - opt_dlopen="${opt_dlopen+$opt_dlopen -}$optarg" - shift - ;; - --preserve-dup-deps) - opt_preserve_dup_deps=: - ;; - --features) - opt_features=: -func_features - ;; - --finish) - opt_finish=: -set dummy --mode finish ${1+"$@"}; shift - ;; - --help) - opt_help=: - ;; - --help-all) - opt_help_all=: -opt_help=': help-all' - ;; - --mode) - test $# = 0 && func_missing_arg $opt && break - optarg="$1" - opt_mode="$optarg" -case $optarg in - # Valid mode arguments: - clean|compile|execute|finish|install|link|relink|uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $opt" - exit_cmd=exit - break - ;; -esac - shift - ;; - --no-silent|--no-quiet) - opt_silent=false -func_append preserve_args " $opt" - ;; - --no-verbose) - opt_verbose=false -func_append preserve_args " $opt" - ;; - --silent|--quiet) - opt_silent=: -func_append preserve_args " $opt" - opt_verbose=false - ;; - --verbose|-v) - opt_verbose=: -func_append preserve_args " $opt" -opt_silent=false - ;; - --tag) - test $# = 0 && func_missing_arg $opt && break - optarg="$1" - opt_tag="$optarg" -func_append preserve_args " $opt $optarg" -func_enable_tag "$optarg" - shift - ;; - - -\?|-h) func_usage ;; - --help) func_help ;; - --version) func_version ;; - - # Separate optargs to long options: - --*=*) - func_split_long_opt "$opt" - set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} - shift - ;; - - # Separate non-argument short options: - -\?*|-h*|-n*|-v*) - func_split_short_opt "$opt" - set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - --) break ;; - -*) func_fatal_help "unrecognized option \`$opt'" ;; - *) set dummy "$opt" ${1+"$@"}; shift; break ;; - esac - done - - # Validate options: - - # save first non-option argument - if test "$#" -gt 0; then - nonopt="$opt" - shift - fi - - # preserve --debug - test "$opt_debug" = : || func_append preserve_args " --debug" - - case $host in - *cygwin* | *mingw* | *pw32* | *cegcc*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps - ;; - esac - - $opt_help || { - # Sanity checks first: - func_check_version_match - - if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - func_fatal_configuration "not configured to build any kind of library" - fi - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$opt_dlopen" && test "$opt_mode" != execute; then - func_error "unrecognized option \`-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$progname --help --mode=$opt_mode' for more information." - } - - - # Bail if the options were screwed - $exit_cmd $EXIT_FAILURE -} - - - - -## ----------- ## -## Main. ## -## ----------- ## - -# func_lalib_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null \ - | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# func_lalib_unsafe_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if `file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case "$lalib_p_line" in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test "$lalib_p" = yes -} - -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - func_lalib_p "$1" -} - -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $opt_debug - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$save_ifs - eval cmd=\"$cmd\" - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# `FILE.' does not work on cygwin managed mounts. -func_source () -{ - $opt_debug - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_resolve_sysroot PATH -# Replace a leading = in PATH with a sysroot. Store the result into -# func_resolve_sysroot_result -func_resolve_sysroot () -{ - func_resolve_sysroot_result=$1 - case $func_resolve_sysroot_result in - =*) - func_stripname '=' '' "$func_resolve_sysroot_result" - func_resolve_sysroot_result=$lt_sysroot$func_stripname_result - ;; - esac -} - -# func_replace_sysroot PATH -# If PATH begins with the sysroot, replace it with = and -# store the result into func_replace_sysroot_result. -func_replace_sysroot () -{ - case "$lt_sysroot:$1" in - ?*:"$lt_sysroot"*) - func_stripname "$lt_sysroot" '' "$1" - func_replace_sysroot_result="=$func_stripname_result" - ;; - *) - # Including no sysroot. - func_replace_sysroot_result=$1 - ;; - esac -} - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $opt_debug - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case "$@ " in - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with \`--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=${1} - if test "$build_libtool_libs" = yes; then - write_lobj=\'${2}\' - else - write_lobj=none - fi - - if test "$build_old_libs" = yes; then - write_oldobj=\'${3}\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T <<EOF -# $write_libobj - a libtool object file -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object=$write_lobj - -# Name of the non-PIC object -non_pic_object=$write_oldobj - -EOF - $MV "${write_libobj}T" "${write_libobj}" - } -} - - -################################################## -# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS # -################################################## - -# func_convert_core_file_wine_to_w32 ARG -# Helper function used by file name conversion functions when $build is *nix, -# and $host is mingw, cygwin, or some other w32 environment. Relies on a -# correctly configured wine environment available, with the winepath program -# in $build's $PATH. -# -# ARG is the $build file name to be converted to w32 format. -# Result is available in $func_convert_core_file_wine_to_w32_result, and will -# be empty on error (or when ARG is empty) -func_convert_core_file_wine_to_w32 () -{ - $opt_debug - func_convert_core_file_wine_to_w32_result="$1" - if test -n "$1"; then - # Unfortunately, winepath does not exit with a non-zero error code, so we - # are forced to check the contents of stdout. On the other hand, if the - # command is not found, the shell will set an exit code of 127 and print - # *an error message* to stdout. So we must check for both error code of - # zero AND non-empty stdout, which explains the odd construction: - func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null` - if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then - func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | - $SED -e "$lt_sed_naive_backslashify"` - else - func_convert_core_file_wine_to_w32_result= - fi - fi -} -# end: func_convert_core_file_wine_to_w32 - - -# func_convert_core_path_wine_to_w32 ARG -# Helper function used by path conversion functions when $build is *nix, and -# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly -# configured wine environment available, with the winepath program in $build's -# $PATH. Assumes ARG has no leading or trailing path separator characters. -# -# ARG is path to be converted from $build format to win32. -# Result is available in $func_convert_core_path_wine_to_w32_result. -# Unconvertible file (directory) names in ARG are skipped; if no directory names -# are convertible, then the result may be empty. -func_convert_core_path_wine_to_w32 () -{ - $opt_debug - # unfortunately, winepath doesn't convert paths, only file names - func_convert_core_path_wine_to_w32_result="" - if test -n "$1"; then - oldIFS=$IFS - IFS=: - for func_convert_core_path_wine_to_w32_f in $1; do - IFS=$oldIFS - func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" - if test -n "$func_convert_core_file_wine_to_w32_result" ; then - if test -z "$func_convert_core_path_wine_to_w32_result"; then - func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" - else - func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" - fi - fi - done - IFS=$oldIFS - fi -} -# end: func_convert_core_path_wine_to_w32 - - -# func_cygpath ARGS... -# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when -# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) -# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or -# (2), returns the Cygwin file name or path in func_cygpath_result (input -# file name or path is assumed to be in w32 format, as previously converted -# from $build's *nix or MSYS format). In case (3), returns the w32 file name -# or path in func_cygpath_result (input file name or path is assumed to be in -# Cygwin format). Returns an empty string on error. -# -# ARGS are passed to cygpath, with the last one being the file name or path to -# be converted. -# -# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH -# environment variable; do not put it in $PATH. -func_cygpath () -{ - $opt_debug - if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then - func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` - if test "$?" -ne 0; then - # on failure, ensure result is empty - func_cygpath_result= - fi - else - func_cygpath_result= - func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" - fi -} -#end: func_cygpath - - -# func_convert_core_msys_to_w32 ARG -# Convert file name or path ARG from MSYS format to w32 format. Return -# result in func_convert_core_msys_to_w32_result. -func_convert_core_msys_to_w32 () -{ - $opt_debug - # awkward: cmd appends spaces to result - func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` -} -#end: func_convert_core_msys_to_w32 - - -# func_convert_file_check ARG1 ARG2 -# Verify that ARG1 (a file name in $build format) was converted to $host -# format in ARG2. Otherwise, emit an error message, but continue (resetting -# func_to_host_file_result to ARG1). -func_convert_file_check () -{ - $opt_debug - if test -z "$2" && test -n "$1" ; then - func_error "Could not determine host file name corresponding to" - func_error " \`$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_file_result="$1" - fi -} -# end func_convert_file_check - - -# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH -# Verify that FROM_PATH (a path in $build format) was converted to $host -# format in TO_PATH. Otherwise, emit an error message, but continue, resetting -# func_to_host_file_result to a simplistic fallback value (see below). -func_convert_path_check () -{ - $opt_debug - if test -z "$4" && test -n "$3"; then - func_error "Could not determine the host path corresponding to" - func_error " \`$3'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This is a deliberately simplistic "conversion" and - # should not be "improved". See libtool.info. - if test "x$1" != "x$2"; then - lt_replace_pathsep_chars="s|$1|$2|g" - func_to_host_path_result=`echo "$3" | - $SED -e "$lt_replace_pathsep_chars"` - else - func_to_host_path_result="$3" - fi - fi -} -# end func_convert_path_check - - -# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG -# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT -# and appending REPL if ORIG matches BACKPAT. -func_convert_path_front_back_pathsep () -{ - $opt_debug - case $4 in - $1 ) func_to_host_path_result="$3$func_to_host_path_result" - ;; - esac - case $4 in - $2 ) func_append func_to_host_path_result "$3" - ;; - esac -} -# end func_convert_path_front_back_pathsep - - -################################################## -# $build to $host FILE NAME CONVERSION FUNCTIONS # -################################################## -# invoked via `$to_host_file_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# Result will be available in $func_to_host_file_result. - - -# func_to_host_file ARG -# Converts the file name ARG from $build format to $host format. Return result -# in func_to_host_file_result. -func_to_host_file () -{ - $opt_debug - $to_host_file_cmd "$1" -} -# end func_to_host_file - - -# func_to_tool_file ARG LAZY -# converts the file name ARG from $build format to toolchain format. Return -# result in func_to_tool_file_result. If the conversion in use is listed -# in (the comma separated) LAZY, no conversion takes place. -func_to_tool_file () -{ - $opt_debug - case ,$2, in - *,"$to_tool_file_cmd",*) - func_to_tool_file_result=$1 - ;; - *) - $to_tool_file_cmd "$1" - func_to_tool_file_result=$func_to_host_file_result - ;; - esac -} -# end func_to_tool_file - - -# func_convert_file_noop ARG -# Copy ARG to func_to_host_file_result. -func_convert_file_noop () -{ - func_to_host_file_result="$1" -} -# end func_convert_file_noop - - -# func_convert_file_msys_to_w32 ARG -# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_file_result. -func_convert_file_msys_to_w32 () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_to_host_file_result="$func_convert_core_msys_to_w32_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_w32 - - -# func_convert_file_cygwin_to_w32 ARG -# Convert file name ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_file_cygwin_to_w32 () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - # because $build is cygwin, we call "the" cygpath in $PATH; no need to use - # LT_CYGPATH in this case. - func_to_host_file_result=`cygpath -m "$1"` - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_cygwin_to_w32 - - -# func_convert_file_nix_to_w32 ARG -# Convert file name ARG from *nix to w32 format. Requires a wine environment -# and a working winepath. Returns result in func_to_host_file_result. -func_convert_file_nix_to_w32 () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - func_convert_core_file_wine_to_w32 "$1" - func_to_host_file_result="$func_convert_core_file_wine_to_w32_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_w32 - - -# func_convert_file_msys_to_cygwin ARG -# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_file_msys_to_cygwin () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_cygpath -u "$func_convert_core_msys_to_w32_result" - func_to_host_file_result="$func_cygpath_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_cygwin - - -# func_convert_file_nix_to_cygwin ARG -# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed -# in a wine environment, working winepath, and LT_CYGPATH set. Returns result -# in func_to_host_file_result. -func_convert_file_nix_to_cygwin () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. - func_convert_core_file_wine_to_w32 "$1" - func_cygpath -u "$func_convert_core_file_wine_to_w32_result" - func_to_host_file_result="$func_cygpath_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_cygwin - - -############################################# -# $build to $host PATH CONVERSION FUNCTIONS # -############################################# -# invoked via `$to_host_path_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# The result will be available in $func_to_host_path_result. -# -# Path separators are also converted from $build format to $host format. If -# ARG begins or ends with a path separator character, it is preserved (but -# converted to $host format) on output. -# -# All path conversion functions are named using the following convention: -# file name conversion function : func_convert_file_X_to_Y () -# path conversion function : func_convert_path_X_to_Y () -# where, for any given $build/$host combination the 'X_to_Y' value is the -# same. If conversion functions are added for new $build/$host combinations, -# the two new functions must follow this pattern, or func_init_to_host_path_cmd -# will break. - - -# func_init_to_host_path_cmd -# Ensures that function "pointer" variable $to_host_path_cmd is set to the -# appropriate value, based on the value of $to_host_file_cmd. -to_host_path_cmd= -func_init_to_host_path_cmd () -{ - $opt_debug - if test -z "$to_host_path_cmd"; then - func_stripname 'func_convert_file_' '' "$to_host_file_cmd" - to_host_path_cmd="func_convert_path_${func_stripname_result}" - fi -} - - -# func_to_host_path ARG -# Converts the path ARG from $build format to $host format. Return result -# in func_to_host_path_result. -func_to_host_path () -{ - $opt_debug - func_init_to_host_path_cmd - $to_host_path_cmd "$1" -} -# end func_to_host_path - - -# func_convert_path_noop ARG -# Copy ARG to func_to_host_path_result. -func_convert_path_noop () -{ - func_to_host_path_result="$1" -} -# end func_convert_path_noop - - -# func_convert_path_msys_to_w32 ARG -# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_path_result. -func_convert_path_msys_to_w32 () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # Remove leading and trailing path separator characters from ARG. MSYS - # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; - # and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result="$func_convert_core_msys_to_w32_result" - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_msys_to_w32 - - -# func_convert_path_cygwin_to_w32 ARG -# Convert path ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_path_cygwin_to_w32 () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_cygwin_to_w32 - - -# func_convert_path_nix_to_w32 ARG -# Convert path ARG from *nix to w32 format. Requires a wine environment and -# a working winepath. Returns result in func_to_host_file_result. -func_convert_path_nix_to_w32 () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_nix_to_w32 - - -# func_convert_path_msys_to_cygwin ARG -# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_path_msys_to_cygwin () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_msys_to_w32_result" - func_to_host_path_result="$func_cygpath_result" - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_msys_to_cygwin - - -# func_convert_path_nix_to_cygwin ARG -# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a -# a wine environment, working winepath, and LT_CYGPATH set. Returns result in -# func_to_host_file_result. -func_convert_path_nix_to_cygwin () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" - func_to_host_path_result="$func_cygpath_result" - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_nix_to_cygwin - - -# func_mode_compile arg... -func_mode_compile () -{ - $opt_debug - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - pie_flag= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" - arg_mode=normal - ;; - - target ) - libobj="$arg" - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - test -n "$libobj" && \ - func_fatal_error "you cannot specify \`-o' more than once" - arg_mode=target - continue - ;; - - -pie | -fpie | -fPIE) - func_append pie_flag " $arg" - continue - ;; - - -shared | -static | -prefer-pic | -prefer-non-pic) - func_append later " $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - func_append_quoted lastarg "$arg" - done - IFS="$save_ifs" - func_stripname ' ' '' "$lastarg" - lastarg=$func_stripname_result - - # Add the arguments to base_compile. - func_append base_compile " $lastarg" - continue - ;; - - *) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg="$srcfile" - srcfile="$arg" - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - func_append_quoted base_compile "$lastarg" - done # for arg - - case $arg_mode in - arg) - func_fatal_error "you must specify an argument for -Xcompile" - ;; - target) - func_fatal_error "you must specify a target with \`-o'" - ;; - *) - # Get the name of the library object. - test -z "$libobj" && { - func_basename "$srcfile" - libobj="$func_basename_result" - } - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - case $libobj in - *.[cCFSifmso] | \ - *.ada | *.adb | *.ads | *.asm | \ - *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup) - func_xform "$libobj" - libobj=$func_xform_result - ;; - esac - - case $libobj in - *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; - *) - func_fatal_error "cannot determine name of library object from \`$libobj'" - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" - build_old_libs=no - continue - ;; - - -static) - build_libtool_libs=no - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ - && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name \`$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname="$func_basename_result" - xdir="$func_dirname_result" - lobj=${xdir}$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $ECHO "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - func_append removelist " $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - func_append removelist " $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 - srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result - - # Only build a PIC object if we are building libtool libraries. - if test "$build_libtool_libs" = yes; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test "$pic_mode" != no; then - command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $qsrcfile" - fi - - func_mkdir_p "$xdir$objdir" - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - func_append command " -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - - # Allow error messages only from the first compilation. - if test "$suppress_opt" = yes; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test "$build_old_libs" = yes; then - if test "$pic_mode" != yes; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test "$compiler_c_o" = yes; then - func_append command " -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - func_append command "$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - fi - - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - - # Unlock the critical section if it was locked - if test "$need_locks" != no; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { - test "$opt_mode" = compile && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $opt_mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; - - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to build PIC objects only - -prefer-non-pic try to build non-PIC objects only - -shared do not build a \`.o' file suitable for static linking - -static only build a \`.o' file suitable for static linking - -Wc,FLAG pass FLAG directly to the compiler - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The following components of INSTALL-COMMAND are treated specially: - - -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -bindir BINDIR specify path to binaries directory (for systems where - libraries must be found in the PATH setting at runtime) - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface - -Wc,FLAG - -Xcompiler FLAG pass linker-specific FLAG directly to the compiler - -Wl,FLAG - -Xlinker FLAG pass linker-specific FLAG directly to the linker - -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - - *) - func_fatal_help "invalid operation mode \`$opt_mode'" - ;; - esac - - echo - $ECHO "Try \`$progname --help' for more information about other modes." -} - -# Now that we've collected a possible --mode arg, show help if necessary -if $opt_help; then - if test "$opt_help" = :; then - func_mode_help - else - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - func_mode_help - done - } | sed -n '1p; 2,$s/^Usage:/ or: /p' - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - echo - func_mode_help - done - } | - sed '1d - /^When reporting/,/^Report/{ - H - d - } - $x - /information about other modes/d - /more detailed .*MODE/d - s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' - fi - exit $? -fi - - -# func_mode_execute arg... -func_mode_execute () -{ - $opt_debug - # The first argument is the command name. - cmd="$nonopt" - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" - - # Handle -dlopen flags immediately. - for file in $opt_dlopen; do - test -f "$file" \ - || func_fatal_help "\`$file' is not a file" - - dir= - case $file in - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$lib' is not a valid libtool archive" - - # Read the libtool library. - dlname= - library_names= - func_source "$file" - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "\`$file' was not linked with \`-export-dynamic'" - continue - fi - - func_dirname "$file" "" "." - dir="$func_dirname_result" - - if test -f "$dir/$objdir/$dlname"; then - func_append dir "/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir="$func_dirname_result" - ;; - - *) - func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -* | *.la | *.lo ) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file="$progdir/$program" - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_append_quoted args "$file" - done - - if test "X$opt_dry_run" = Xfalse; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - echo "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - fi -} - -test "$opt_mode" = execute && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $opt_debug - libs= - libdirs= - admincmds= - - for opt in "$nonopt" ${1+"$@"} - do - if test -d "$opt"; then - func_append libdirs " $opt" - - elif test -f "$opt"; then - if func_lalib_unsafe_p "$opt"; then - func_append libs " $opt" - else - func_warning "\`$opt' is not a valid libtool archive" - fi - - else - func_fatal_error "invalid argument \`$opt'" - fi - done - - if test -n "$libs"; then - if test -n "$lt_sysroot"; then - sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` - sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" - else - sysroot_cmd= - fi - - # Remove sysroot references - if $opt_dry_run; then - for lib in $libs; do - echo "removing references to $lt_sysroot and \`=' prefixes from $lib" - done - else - tmpdir=`func_mktempdir` - for lib in $libs; do - sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ - > $tmpdir/tmp-la - mv -f $tmpdir/tmp-la $lib - done - ${RM}r "$tmpdir" - fi - fi - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || func_append admincmds " - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_silent && exit $EXIT_SUCCESS - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - echo " during execution" - fi - if test -n "$runpath_var"; then - echo " - add LIBDIR to the \`$runpath_var' environment variable" - echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $ECHO " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - echo - - echo "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" - echo "pages." - ;; - *) - echo "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - echo "----------------------------------------------------------------------" - fi - exit $EXIT_SUCCESS -} - -test "$opt_mode" = finish && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $opt_debug - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - case $nonopt in *shtool*) :;; *) false;; esac; then - # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_for_eval "$arg" - func_append install_prog "$func_quote_for_eval_result" - install_shared_prog=$install_prog - case " $install_prog " in - *[\\\ /]cp\ *) install_cp=: ;; - *) install_cp=false ;; - esac - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - no_mode=: - for arg - do - arg2= - if test -n "$dest"; then - func_append files " $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) - if $install_cp; then :; else - prev=$arg - fi - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - if test "x$prev" = x-m && test -n "$install_override_mode"; then - arg2=$install_override_mode - no_mode=false - fi - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_for_eval "$arg" - func_append install_prog " $func_quote_for_eval_result" - if test -n "$arg2"; then - func_quote_for_eval "$arg2" - fi - func_append install_shared_prog " $func_quote_for_eval_result" - done - - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" - - test -n "$prev" && \ - func_fatal_help "the \`$prev' option requires an argument" - - if test -n "$install_override_mode" && $no_mode; then - if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - func_append install_shared_prog " -m $func_quote_for_eval_result" - fi - fi - - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi - - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir="$func_dirname_result" - destname="$func_basename_result" - - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "\`$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "\`$destdir' must be an absolute directory name" - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - func_append staticlibs " $file" - ;; - - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$file' is not a valid libtool archive" - - library_names= - old_library= - relink_command= - func_source "$file" - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) func_append current_libdirs " $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) func_append future_libdirs " $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir="$func_dirname_result" - func_append dir "$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - - func_warning "relinking \`$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' - fi - - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname="$1" - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme="$stripme" - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme="" - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi - - # Install the pseudo-library for information purposes. - func_basename "$file" - name="$func_basename_result" - instname="$dir/$name"i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - - # Maybe install the static library, too. - test -n "$old_library" && func_append staticlibs " $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to \`$destfile'" - ;; - esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= - - func_source "$wrapper" - - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script \`$wrapper'" - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "\`$lib' has not been installed in \`$libdir'" - finalize=no - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - $opt_dry_run || { - if test "$finalize" = yes; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file="$func_basename_result" - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_silent || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink \`$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file="$outputname" - else - func_warning "cannot relink \`$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name="$func_basename_result" - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run \`$progname --finish$future_libdirs'" - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi -} - -test "$opt_mode" = install && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $opt_debug - my_outputname="$1" - my_originator="$2" - my_pic_p="${3-no}" - my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms="${my_outputname}S.c" - else - func_error "not configured to extract global symbols from dlpreopened files" - fi - fi - - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${my_outputname}.nm" - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) -#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - func_verbose "generating symbol list for \`$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_to_tool_file "$progfile" func_convert_file_msys_to_w32 - func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" - $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $opt_dry_run || { - $RM $export_symbols - eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - } - else - $opt_dry_run || { - eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from \`$dlprefile'" - func_basename "$dlprefile" - name="$func_basename_result" - case $host in - *cygwin* | *mingw* | *cegcc* ) - # if an import library, we need to obtain dlname - if func_win32_import_lib_p "$dlprefile"; then - func_tr_sh "$dlprefile" - eval "curr_lafile=\$libfile_$func_tr_sh_result" - dlprefile_dlbasename="" - if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then - # Use subshell, to avoid clobbering current variable values - dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` - if test -n "$dlprefile_dlname" ; then - func_basename "$dlprefile_dlname" - dlprefile_dlbasename="$func_basename_result" - else - # no lafile. user explicitly requested -dlpreopen <import library>. - $sharedlib_from_linklib_cmd "$dlprefile" - dlprefile_dlbasename=$sharedlib_from_linklib_result - fi - fi - $opt_dry_run || { - if test -n "$dlprefile_dlbasename" ; then - eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' - else - func_warning "Could not compute DLL name from $name" - eval '$ECHO ": $name " >> "$nlist"' - fi - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | - $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" - } - else # not an import lib - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - fi - ;; - *) - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - ;; - esac - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3 </dev/null >/dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - echo '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi - - echo >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -extern LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[]; -LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{\ - { \"$my_originator\", (void *) 0 }," - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - echo >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run - - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; - *) - if test "X$my_pic_p" != Xno; then - pic_flag_for_symtable=" $pic_flag" - fi - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) func_append symtab_cflags " $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' - - # Transform the symbol file into the correct name. - symfileobj="$output_objdir/${my_outputname}S.$objext" - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for \`$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` - fi -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -# Despite the name, also deal with 64 bit binaries. -func_win32_libid () -{ - $opt_debug - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then - func_to_tool_file "$1" func_convert_file_msys_to_w32 - win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | - $SED -n -e ' - 1,100{ - / I /{ - s,.*,import, - p - q - } - }'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - -# func_cygming_dll_for_implib ARG -# -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib () -{ - $opt_debug - sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` -} - -# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs -# -# The is the core of a fallback implementation of a -# platform-specific function to extract the name of the -# DLL associated with the specified import library LIBNAME. -# -# SECTION_NAME is either .idata$6 or .idata$7, depending -# on the platform and compiler that created the implib. -# -# Echos the name of the DLL associated with the -# specified import library. -func_cygming_dll_for_implib_fallback_core () -{ - $opt_debug - match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` - $OBJDUMP -s --section "$1" "$2" 2>/dev/null | - $SED '/^Contents of section '"$match_literal"':/{ - # Place marker at beginning of archive member dllname section - s/.*/====MARK====/ - p - d - } - # These lines can sometimes be longer than 43 characters, but - # are always uninteresting - /:[ ]*file format pe[i]\{,1\}-/d - /^In archive [^:]*:/d - # Ensure marker is printed - /^====MARK====/p - # Remove all lines with less than 43 characters - /^.\{43\}/!d - # From remaining lines, remove first 43 characters - s/^.\{43\}//' | - $SED -n ' - # Join marker and all lines until next marker into a single line - /^====MARK====/ b para - H - $ b para - b - :para - x - s/\n//g - # Remove the marker - s/^====MARK====// - # Remove trailing dots and whitespace - s/[\. \t]*$// - # Print - /./p' | - # we now have a list, one entry per line, of the stringified - # contents of the appropriate section of all members of the - # archive which possess that section. Heuristic: eliminate - # all those which have a first or second character that is - # a '.' (that is, objdump's representation of an unprintable - # character.) This should work for all archives with less than - # 0x302f exports -- but will fail for DLLs whose name actually - # begins with a literal '.' or a single character followed by - # a '.'. - # - # Of those that remain, print the first one. - $SED -e '/^\./d;/^.\./d;q' -} - -# func_cygming_gnu_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is a GNU/binutils-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_gnu_implib_p () -{ - $opt_debug - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` - test -n "$func_cygming_gnu_implib_tmp" -} - -# func_cygming_ms_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is an MS-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_ms_implib_p () -{ - $opt_debug - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` - test -n "$func_cygming_ms_implib_tmp" -} - -# func_cygming_dll_for_implib_fallback ARG -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# -# This fallback implementation is for use when $DLLTOOL -# does not support the --identify-strict option. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib_fallback () -{ - $opt_debug - if func_cygming_gnu_implib_p "$1" ; then - # binutils import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` - elif func_cygming_ms_implib_p "$1" ; then - # ms-generated import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` - else - # unknown - sharedlib_from_linklib_result="" - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $opt_debug - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - if test "$lock_old_archive_extraction" = yes; then - lockfile=$f_ex_an_ar_oldlib.lock - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - fi - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ - 'stat=$?; rm -f "$lockfile"; exit $stat' - if test "$lock_old_archive_extraction" = yes; then - $opt_dry_run || rm -f "$lockfile" - fi - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $opt_debug - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib="$func_basename_result" - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" - - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`basename "$darwin_archive"` - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` - done - - func_extract_archives_result="$my_oldobjs" -} - - -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory in which it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=${1-no} - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - file=\"\$0\"" - - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` - $ECHO "\ - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - ECHO=\"$qECHO\" - fi - -# Very basic option parsing. These options are (a) specific to -# the libtool wrapper, (b) are identical between the wrapper -# /script/ and the wrapper /executable/ which is used only on -# windows platforms, and (c) all begin with the string "--lt-" -# (application programs are unlikely to have options which match -# this pattern). -# -# There are only two supported options: --lt-debug and -# --lt-dump-script. There is, deliberately, no --lt-help. -# -# The first argument to this parsing function should be the -# script's $0 value, followed by "$@". -lt_option_debug= -func_parse_lt_options () -{ - lt_script_arg0=\$0 - shift - for lt_opt - do - case \"\$lt_opt\" in - --lt-debug) lt_option_debug=1 ;; - --lt-dump-script) - lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` - test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. - lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` - cat \"\$lt_dump_D/\$lt_dump_F\" - exit 0 - ;; - --lt-*) - \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 - exit 1 - ;; - esac - done - - # Print the debug banner immediately: - if test -n \"\$lt_option_debug\"; then - echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 - fi -} - -# Used when --lt-debug. Prints its arguments to stdout -# (redirection is the responsibility of the caller) -func_lt_dump_args () -{ - lt_dump_args_N=1; - for lt_arg - do - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" - lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` - done -} - -# Core function for launching the target application -func_exec_program_core () -{ -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 -} - -# A function to encapsulate launching the target application -# Strips options in the --lt-* namespace from \$@ and -# launches target application with the remaining arguments. -func_exec_program () -{ - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done - func_exec_program_core \${1+\"\$@\"} -} - - # Parse options - func_parse_lt_options \"\$0\" \${1+\"\$@\"} - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` - done - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" - - $ECHO "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi - - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $ECHO "\ - - if test -f \"\$progdir/\$program\"; then" - - # fixup the dll searchpath if we need to. - # - # Fix the DLL searchpath if we need to. Do this before prepending - # to shlibpath, because on Windows, both are PATH and uninstalled - # libraries must come first. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` - - export $shlibpath_var -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - func_exec_program \${1+\"\$@\"} - fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} - - -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat <<EOF - -/* $cwrappersource - temporary wrapper executable for $objdir/$outputname - Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION - - The $output program cannot be directly executed until all the libtool - libraries that it depends on are installed. - - This wrapper executable should never be moved out of the build directory. - If it is, it will not operate correctly. -*/ -EOF - cat <<"EOF" -#ifdef _MSC_VER -# define _CRT_SECURE_NO_DEPRECATE 1 -#endif -#include <stdio.h> -#include <stdlib.h> -#ifdef _MSC_VER -# include <direct.h> -# include <process.h> -# include <io.h> -#else -# include <unistd.h> -# include <stdint.h> -# ifdef __CYGWIN__ -# include <io.h> -# endif -#endif -#include <malloc.h> -#include <stdarg.h> -#include <assert.h> -#include <string.h> -#include <ctype.h> -#include <errno.h> -#include <fcntl.h> -#include <sys/stat.h> - -/* declarations of non-ANSI functions */ -#if defined(__MINGW32__) -# ifdef __STRICT_ANSI__ -int _putenv (const char *); -# endif -#elif defined(__CYGWIN__) -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -/* #elif defined (other platforms) ... */ -#endif - -/* portability defines, excluding path handling macros */ -#if defined(_MSC_VER) -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -# define S_IXUSR _S_IEXEC -# ifndef _INTPTR_T_DEFINED -# define _INTPTR_T_DEFINED -# define intptr_t int -# endif -#elif defined(__MINGW32__) -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -#elif defined(__CYGWIN__) -# define HAVE_SETENV -# define FOPEN_WB "wb" -/* #elif defined (other platforms) ... */ -#endif - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif - -/* path handling portability macros */ -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) - -#if defined(LT_DEBUGWRAPPER) -static int lt_debug = 1; -#else -static int lt_debug = 0; -#endif - -const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ - -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_debugprintf (const char *file, int line, const char *fmt, ...); -void lt_fatal (const char *file, int line, const char *message, ...); -static const char *nonnull (const char *s); -static const char *nonempty (const char *s); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); -char **prepare_spawn (char **argv); -void lt_dump_script (FILE *f); -EOF - - cat <<EOF -volatile const char * MAGIC_EXE = "$magic_exe"; -const char * LIB_PATH_VARNAME = "$shlibpath_var"; -EOF - - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - func_to_host_path "$temp_rpath" - cat <<EOF -const char * LIB_PATH_VALUE = "$func_to_host_path_result"; -EOF - else - cat <<"EOF" -const char * LIB_PATH_VALUE = ""; -EOF - fi - - if test -n "$dllsearchpath"; then - func_to_host_path "$dllsearchpath:" - cat <<EOF -const char * EXE_PATH_VARNAME = "PATH"; -const char * EXE_PATH_VALUE = "$func_to_host_path_result"; -EOF - else - cat <<"EOF" -const char * EXE_PATH_VARNAME = ""; -const char * EXE_PATH_VALUE = ""; -EOF - fi - - if test "$fast_install" = yes; then - cat <<EOF -const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */ -EOF - else - cat <<EOF -const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */ -EOF - fi - - - cat <<"EOF" - -#define LTWRAPPER_OPTION_PREFIX "--lt-" - -static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX; -static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script"; -static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug"; - -int -main (int argc, char *argv[]) -{ - char **newargz; - int newargc; - char *tmp_pathspec; - char *actual_cwrapper_path; - char *actual_cwrapper_name; - char *target_name; - char *lt_argv_zero; - intptr_t rval = 127; - - int i; - - program_name = (char *) xstrdup (base_name (argv[0])); - newargz = XMALLOC (char *, argc + 1); - - /* very simple arg parsing; don't want to rely on getopt - * also, copy all non cwrapper options to newargz, except - * argz[0], which is handled differently - */ - newargc=0; - for (i = 1; i < argc; i++) - { - if (strcmp (argv[i], dumpscript_opt) == 0) - { -EOF - case "$host" in - *mingw* | *cygwin* ) - # make stdout use "unix" line endings - echo " setmode(1,_O_BINARY);" - ;; - esac - - cat <<"EOF" - lt_dump_script (stdout); - return 0; - } - if (strcmp (argv[i], debug_opt) == 0) - { - lt_debug = 1; - continue; - } - if (strcmp (argv[i], ltwrapper_option_prefix) == 0) - { - /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX - namespace, but it is not one of the ones we know about and - have already dealt with, above (inluding dump-script), then - report an error. Otherwise, targets might begin to believe - they are allowed to use options in the LTWRAPPER_OPTION_PREFIX - namespace. The first time any user complains about this, we'll - need to make LTWRAPPER_OPTION_PREFIX a configure-time option - or a configure.ac-settable value. - */ - lt_fatal (__FILE__, __LINE__, - "unrecognized %s option: '%s'", - ltwrapper_option_prefix, argv[i]); - } - /* otherwise ... */ - newargz[++newargc] = xstrdup (argv[i]); - } - newargz[++newargc] = NULL; - -EOF - cat <<EOF - /* The GNU banner must be the first non-error debug message */ - lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n"); -EOF - cat <<"EOF" - lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]); - lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name); - - tmp_pathspec = find_executable (argv[0]); - if (tmp_pathspec == NULL) - lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]); - lt_debugprintf (__FILE__, __LINE__, - "(main) found exe (before symlink chase) at: %s\n", - tmp_pathspec); - - actual_cwrapper_path = chase_symlinks (tmp_pathspec); - lt_debugprintf (__FILE__, __LINE__, - "(main) found exe (after symlink chase) at: %s\n", - actual_cwrapper_path); - XFREE (tmp_pathspec); - - actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path)); - strendzap (actual_cwrapper_path, actual_cwrapper_name); - - /* wrapper name transforms */ - strendzap (actual_cwrapper_name, ".exe"); - tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1); - XFREE (actual_cwrapper_name); - actual_cwrapper_name = tmp_pathspec; - tmp_pathspec = 0; - - /* target_name transforms -- use actual target program name; might have lt- prefix */ - target_name = xstrdup (base_name (TARGET_PROGRAM_NAME)); - strendzap (target_name, ".exe"); - tmp_pathspec = lt_extend_str (target_name, ".exe", 1); - XFREE (target_name); - target_name = tmp_pathspec; - tmp_pathspec = 0; - - lt_debugprintf (__FILE__, __LINE__, - "(main) libtool target name: %s\n", - target_name); -EOF - - cat <<EOF - newargz[0] = - XMALLOC (char, (strlen (actual_cwrapper_path) + - strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1)); - strcpy (newargz[0], actual_cwrapper_path); - strcat (newargz[0], "$objdir"); - strcat (newargz[0], "/"); -EOF - - cat <<"EOF" - /* stop here, and copy so we don't have to do this twice */ - tmp_pathspec = xstrdup (newargz[0]); - - /* do NOT want the lt- prefix here, so use actual_cwrapper_name */ - strcat (newargz[0], actual_cwrapper_name); - - /* DO want the lt- prefix here if it exists, so use target_name */ - lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1); - XFREE (tmp_pathspec); - tmp_pathspec = NULL; -EOF - - case $host_os in - mingw*) - cat <<"EOF" - { - char* p; - while ((p = strchr (newargz[0], '\\')) != NULL) - { - *p = '/'; - } - while ((p = strchr (lt_argv_zero, '\\')) != NULL) - { - *p = '/'; - } - } -EOF - ;; - esac - - cat <<"EOF" - XFREE (target_name); - XFREE (actual_cwrapper_path); - XFREE (actual_cwrapper_name); - - lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */ - lt_setenv ("DUALCASE", "1"); /* for MSK sh */ - /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must - be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath) - because on Windows, both *_VARNAMEs are PATH but uninstalled - libraries must come first. */ - lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE); - lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE); - - lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n", - nonnull (lt_argv_zero)); - for (i = 0; i < newargc; i++) - { - lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n", - i, nonnull (newargz[i])); - } - -EOF - - case $host_os in - mingw*) - cat <<"EOF" - /* execv doesn't actually work on mingw as expected on unix */ - newargz = prepare_spawn (newargz); - rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); - if (rval == -1) - { - /* failed to start process */ - lt_debugprintf (__FILE__, __LINE__, - "(main) failed to launch target \"%s\": %s\n", - lt_argv_zero, nonnull (strerror (errno))); - return 127; - } - return rval; -EOF - ;; - *) - cat <<"EOF" - execv (lt_argv_zero, newargz); - return rval; /* =127, but avoids unused variable warning */ -EOF - ;; - esac - - cat <<"EOF" -} - -void * -xmalloc (size_t num) -{ - void *p = (void *) malloc (num); - if (!p) - lt_fatal (__FILE__, __LINE__, "memory exhausted"); - - return p; -} - -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), - string) : NULL; -} - -const char * -base_name (const char *name) -{ - const char *base; - -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha ((unsigned char) name[0]) && name[1] == ':') - name += 2; -#endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return base; -} - -int -check_executable (const char *path) -{ - struct stat st; - - lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n", - nonempty (path)); - if ((!path) || (!*path)) - return 0; - - if ((stat (path, &st) >= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} - -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; - - lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", - nonempty (path)); - if ((!path) || (!*path)) - return 0; - - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char *concat_name; - - lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", - nonempty (wrapper)); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - lt_debugprintf (__FILE__, __LINE__, - "checking path component for symlinks: %s\n", - tmp_pathspec); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - lt_fatal (__FILE__, __LINE__, - "error accessing file \"%s\": %s", - tmp_pathspec, nonnull (strerror (errno))); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal (__FILE__, __LINE__, - "could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; - - assert (str != NULL); - assert (pat != NULL); - - len = strlen (str); - patlen = strlen (pat); - - if (patlen <= len) - { - str += len - patlen; - if (strcmp (str, pat) == 0) - *str = '\0'; - } - return str; -} - -void -lt_debugprintf (const char *file, int line, const char *fmt, ...) -{ - va_list args; - if (lt_debug) - { - (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); - } -} - -static void -lt_error_core (int exit_status, const char *file, - int line, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *file, int line, const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); - va_end (ap); -} - -static const char * -nonnull (const char *s) -{ - return s ? s : "(null)"; -} - -static const char * -nonempty (const char *s) -{ - return (s && !*s) ? "(empty)" : nonnull (s); -} - -void -lt_setenv (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_setenv) setting '%s' to '%s'\n", - nonnull (name), nonnull (value)); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - int len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} - -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - int orig_value_len = strlen (orig_value); - int add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - int len = strlen (new_value); - while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[len-1] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -EOF - case $host_os in - mingw*) - cat <<"EOF" - -/* Prepares an argument vector before calling spawn(). - Note that spawn() does not by itself call the command interpreter - (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : - ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&v); - v.dwPlatformId == VER_PLATFORM_WIN32_NT; - }) ? "cmd.exe" : "command.com"). - Instead it simply concatenates the arguments, separated by ' ', and calls - CreateProcess(). We must quote the arguments since Win32 CreateProcess() - interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a - special way: - - Space and tab are interpreted as delimiters. They are not treated as - delimiters if they are surrounded by double quotes: "...". - - Unescaped double quotes are removed from the input. Their only effect is - that within double quotes, space and tab are treated like normal - characters. - - Backslashes not followed by double quotes are not special. - - But 2*n+1 backslashes followed by a double quote become - n backslashes followed by a double quote (n >= 0): - \" -> " - \\\" -> \" - \\\\\" -> \\" - */ -#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -char ** -prepare_spawn (char **argv) -{ - size_t argc; - char **new_argv; - size_t i; - - /* Count number of arguments. */ - for (argc = 0; argv[argc] != NULL; argc++) - ; - - /* Allocate new argument vector. */ - new_argv = XMALLOC (char *, argc + 1); - - /* Put quoted arguments into the new argument vector. */ - for (i = 0; i < argc; i++) - { - const char *string = argv[i]; - - if (string[0] == '\0') - new_argv[i] = xstrdup ("\"\""); - else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) - { - int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); - size_t length; - unsigned int backslashes; - const char *s; - char *quoted_string; - char *p; - - length = 0; - backslashes = 0; - if (quote_around) - length++; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - length += backslashes + 1; - length++; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - length += backslashes + 1; - - quoted_string = XMALLOC (char, length + 1); - - p = quoted_string; - backslashes = 0; - if (quote_around) - *p++ = '"'; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - { - unsigned int j; - for (j = backslashes + 1; j > 0; j--) - *p++ = '\\'; - } - *p++ = c; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - { - unsigned int j; - for (j = backslashes; j > 0; j--) - *p++ = '\\'; - *p++ = '"'; - } - *p = '\0'; - - new_argv[i] = quoted_string; - } - else - new_argv[i] = (char *) string; - } - new_argv[argc] = NULL; - - return new_argv; -} -EOF - ;; - esac - - cat <<"EOF" -void lt_dump_script (FILE* f) -{ -EOF - func_emit_wrapper yes | - $SED -e 's/\([\\"]\)/\\\1/g' \ - -e 's/^/ fputs ("/' -e 's/$/\\n", f);/' - - cat <<"EOF" -} -EOF -} -# end: func_emit_cwrapperexe_src - -# func_win32_import_lib_p ARG -# True if ARG is an import lib, as indicated by $file_magic_cmd -func_win32_import_lib_p () -{ - $opt_debug - case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in - *import*) : ;; - *) false ;; - esac -} - -# func_mode_link arg... -func_mode_link () -{ - $opt_debug - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # which system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll which has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= - - avoid_version=no - bindir= - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=no - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module="${wl}-single_module" - func_infer_tag $base_compile - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - func_append compile_command " @OUTPUT@" - func_append finalize_command " @OUTPUT@" - ;; - esac - - case $prev in - bindir) - bindir="$arg" - prev= - continue - ;; - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - func_append dlfiles " $arg" - else - func_append dlprefiles " $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - test -f "$arg" \ - || func_fatal_error "symbol file \`$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) func_append deplibs " $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# func_append moreargs " $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file \`$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) func_append rpath " $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) func_append xrpath " $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - weak) - func_append weak_libs " $arg" - prev= - continue - ;; - xcclinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $wl$qarg" - prev= - func_append compile_command " $wl$qarg" - func_append finalize_command " $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - func_append compile_command " $link_static_flag" - func_append finalize_command " $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "\`-allow-undefined' must not be used because it is the default" - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -bindir) - prev=bindir - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework) - prev=framework - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - func_append compile_command " $arg" - func_append finalize_command " $arg" - ;; - esac - continue - ;; - - -L*) - func_stripname "-L" '' "$arg" - if test -z "$func_stripname_result"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between \`-L' and \`$1'" - else - func_fatal_error "need path for \`-L' option" - fi - fi - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of \`$dir'" - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "* | *" $arg "*) - # Will only happen for absolute or sysroot arguments - ;; - *) - # Preserve sysroot, but never include relative directories - case $dir in - [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; - *) func_append deplibs " -L$dir" ;; - esac - func_append lib_search_path " $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) func_append dllsearchpath ":$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - func_append deplibs " System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - func_append deplibs " $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot|--sysroot) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) func_append new_inherited_linker_flags " $arg" ;; - esac - continue - ;; - - -multi_module) - single_module="${wl}-multi_module" - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "\`-no-install' is ignored for $host" - func_warning "assuming \`-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - =*) - func_stripname '=' '' "$dir" - dir=$lt_sysroot$func_stripname_result - ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - continue - ;; - - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -weak) - prev=weak - continue - ;; - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - func_append arg " $func_quote_for_eval_result" - func_append compiler_flags " $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - func_append arg " $wl$func_quote_for_eval_result" - func_append compiler_flags " $wl$func_quote_for_eval_result" - func_append linker_flags " $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # -msg_* for osf cc - -msg_*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - # Flags to be passed through unchanged, with rationale: - # -64, -mips[0-9] enable 64-bit mode for the SGI compiler - # -r[0-9][0-9]* specify processor for the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler - # +DA*, +DD* enable 64-bit mode for the HP compiler - # -q* compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* architecture-specific flags for GCC - # -F/path path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* profiling flags for GCC - # @file GCC response files - # -tp=* Portland pgcc target processor selection - # --sysroot=* for sysroot support - # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-flto*|-fwhopr*|-fuse-linker-plugin) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - func_append compile_command " $arg" - func_append finalize_command " $arg" - func_append compiler_flags " $arg" - continue - ;; - - # Some other compiler flag. - -* | +*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - *.$objext) - # A standard object. - func_append objs " $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - ;; - - *.$libext) - # An archive. - func_append deplibs " $arg" - func_append old_deplibs " $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - func_resolve_sysroot "$arg" - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - func_append dlfiles " $func_resolve_sysroot_result" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - func_append dlprefiles " $func_resolve_sysroot_result" - prev= - else - func_append deplibs " $func_resolve_sysroot_result" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - done # argument parsing loop - - test -n "$prev" && \ - func_fatal_help "the \`$prevarg' option requires an argument" - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname="$func_basename_result" - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - func_dirname "$output" "/" "" - output_objdir="$func_dirname_result$objdir" - func_to_tool_file "$output_objdir/" - tool_output_objdir=$func_to_tool_file_result - # Create the object directory. - func_mkdir_p "$output_objdir" - - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_preserve_dup_deps ; then - case "$libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append libs " $deplib" - done - - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; - esac - func_append pre_post_deps " $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test "$linkmode,$pass" = "lib,link"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs="$tmp_deplibs" - fi - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) - libs="$deplibs %DEPLIBS%" - test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" - ;; - esac - fi - if test "$linkmode,$pass" = "lib,dlpreopen"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - func_resolve_sysroot "$lib" - case $lib in - *.la) func_source "$func_resolve_sysroot_result" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - func_basename "$deplib" - deplib_base=$func_basename_result - case " $weak_libs " in - *" $deplib_base "*) ;; - *) func_append deplibs " $deplib" ;; - esac - done - done - libs="$dlprefiles" - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append compiler_flags " $deplib" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - func_warning "\`-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test "$linkmode" = lib; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - *.ltframework) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - *) - func_warning "\`-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - func_stripname '-R' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) - func_resolve_sysroot "$deplib" - lib=$func_resolve_sysroot_result - ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - echo - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because the file extensions .$libext of this argument makes me believe" - echo "*** that it is just a static archive that I should not use here." - else - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - ;; - esac - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - func_append newdlprefiles " $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append newdlfiles " $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - - if test "$found" = yes || test -f "$lib"; then : - else - func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" - fi - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "\`$lib' is not a valid libtool archive" - - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && func_append dlfiles " $dlopen" - test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" - fi - - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - # It is a libtool convenience library, so add in its objects. - func_append convenience " $ladir/$objdir/$old_library" - func_append old_convenience " $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps ; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - func_fatal_error "\`$lib' is not a convenience library" - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - if test -n "$old_library" && - { test "$prefer_static_libs" = yes || - test "$prefer_static_libs,$installed" = "built,no"; }; then - linklib=$old_library - else - for l in $old_library $library_names; do - linklib="$l" - done - fi - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - func_fatal_error "cannot -dlopen a convenience library: \`$lib'" - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - func_append dlprefiles " $lib $dependency_libs" - else - func_append newdlfiles " $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of \`$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir="$ladir" - fi - ;; - esac - func_basename "$lib" - laname="$func_basename_result" - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library \`$lib' was moved." - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$lt_sysroot$libdir" - absdir="$lt_sysroot$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - func_append notinst_path " $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - func_append notinst_path " $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result - - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir" && test "$linkmode" = prog; then - func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" - fi - case "$host" in - # special handling for platforms with PE-DLLs. - *cygwin* | *mingw* | *cegcc* ) - # Linker will automatically link against shared library if both - # static and shared are present. Therefore, ensure we extract - # symbols from the import library if a shared library is present - # (otherwise, the dlopen module name will be incorrect). We do - # this by putting the import library name into $newdlprefiles. - # We recover the dlopen module name by 'saving' the la file - # name in a special purpose variable, and (later) extracting the - # dlname from the la file. - if test -n "$dlname"; then - func_tr_sh "$dir/$linklib" - eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" - func_append newdlprefiles " $dir/$linklib" - else - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - fi - ;; - * ) - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - func_append newdlprefiles " $dir/$dlname" - else - func_append newdlprefiles " $dir/$linklib" - fi - ;; - esac - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - func_append newlib_search_path " $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_preserve_dup_deps ; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath:" in - *"$absdir:"*) ;; - *) func_append temp_rpath "$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc*) - # No point in relinking DLLs because paths are not encoded - func_append notinst_deplibs " $lib" - need_relink=no - ;; - *) - if test "$installed" = no; then - func_append notinst_deplibs " $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule="" - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule="$dlpremoduletest" - break - fi - done - if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then - echo - if test "$linkmode" = prog; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname="$1" - shift - libname=`eval "\\$ECHO \"$libname_spec\""` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc*) - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - func_basename "$soroot" - soname="$func_basename_result" - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from \`$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for \`$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$opt_mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we can not - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null ; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - echo - echo "*** And there doesn't seem to be a static archive available" - echo "*** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - elif test -n "$old_library"; then - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) func_append compile_shlibpath "$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && - test "$hardcode_minus_L" != yes && - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$opt_mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - echo - $ECHO "*** Warning: This system can not link to static lib archive $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - echo "*** But as you try to build a module library, libtool will still create " - echo "*** a static module, that should work as long as the dlopening application" - echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) func_append xrpath " $temp_xrpath";; - esac;; - *) func_append temp_deplibs " $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - func_append newlib_search_path " $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result";; - *) func_resolve_sysroot "$deplib" ;; - esac - if $opt_preserve_dup_deps ; then - case "$tmp_libs " in - *" $func_resolve_sysroot_result "*) - func_append specialdeplibs " $func_resolve_sysroot_result" ;; - esac - fi - func_append tmp_libs " $func_resolve_sysroot_result" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path="$deplib" ;; - *.la) - func_resolve_sysroot "$deplib" - deplib=$func_resolve_sysroot_result - func_dirname "$deplib" "" "." - dir=$func_dirname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of \`$dir'" - absdir="$dir" - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl" ; then - depdepl="$absdir/$objdir/$depdepl" - darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" - func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}" - path= - fi - fi - ;; - *) - path="-L$absdir/$objdir" - ;; - esac - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "\`$deplib' seems to be moved" - - path="-L$absdir" - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test "$pass" = link; then - if test "$linkmode" = "prog"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) func_append lib_search_path " $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) func_append tmp_libs " $deplib" ;; - esac - ;; - *) func_append tmp_libs " $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - func_append tmp_libs " $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - fi - if test "$linkmode" = prog || test "$linkmode" = lib; then - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "\`-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "\`-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - func_append objs "$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - test "$module" = no && \ - func_fatal_help "libtool library \`$output' must begin with \`lib'" - - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" - else - echo - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - func_append libobjs " $objs" - fi - fi - - test "$dlself" != no && \ - func_warning "\`-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test "$#" -gt 1 && \ - func_warning "ignoring multiple \`-rpath's for a libtool library" - - install_libdir="$1" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "\`-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - shift - IFS="$save_ifs" - - test -n "$7" && \ - func_fatal_help "too many parameters to \`-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$1" - number_minor="$2" - number_revision="$3" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - darwin|linux|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|qnx|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_minor" - lt_irix_increment=no - ;; - *) - func_fatal_configuration "$modename: unknown library version type \`$version_type'" - ;; - esac - ;; - no) - current="$1" - revision="$2" - age="$3" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT \`$current' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION \`$revision' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE \`$age' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE \`$age' is greater than the current interface number \`$current'" - func_fatal_error "\`$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current" - ;; - - irix | nonstopux) - if test "X$lt_irix_increment" = "Xno"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - func_append verstring ":${current}.0" - ;; - - qnx) - major=".$current" - versuffix=".$current" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - - *) - func_fatal_configuration "unknown library version type \`$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - func_warning "undefined symbols not allowed in $host shared libraries" - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - - fi - - func_generate_dlsyms "$libname" "$libname" "yes" - func_append libobjs " $symfileobj" - test "X$libobjs" = "X " && libobjs= - - if test "$opt_mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - func_append removelist " $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - func_append oldlibs " $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` - # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` - # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - func_replace_sysroot "$libdir" - func_append temp_xrpath " -R$func_replace_sysroot_result" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) func_append dlfiles " $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) func_append dlprefiles " $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - func_append deplibs " System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - func_append deplibs " -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c <<EOF - int main() { return 0; } -EOF - $opt_dry_run || $RM conftest - if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then - ldd_output=`ldd conftest` - for i in $deplibs; do - case $i in - -l*) - func_stripname -l '' "$i" - name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $i "*) - func_append newdeplibs " $i" - i="" - ;; - esac - fi - if test -n "$i" ; then - libname=`eval "\\$ECHO \"$libname_spec\""` - deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` - set dummy $deplib_matches; shift - deplib_match=$1 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then - func_append newdeplibs " $i" - else - droppeddeps=yes - echo - $ECHO "*** Warning: dynamic linker does not accept needed library $i." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which I believe you do not have" - echo "*** because a test_compile did reveal that the linker did not use it for" - echo "*** its dynamic dependency list that programs get resolved with at runtime." - fi - fi - ;; - *) - func_append newdeplibs " $i" - ;; - esac - done - else - # Error occurred in the first compile. Let's try to salvage - # the situation: Compile a separate program for each library. - for i in $deplibs; do - case $i in - -l*) - func_stripname -l '' "$i" - name=$func_stripname_result - $opt_dry_run || $RM conftest - if $LTCC $LTCFLAGS -o conftest conftest.c $i; then - ldd_output=`ldd conftest` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $i "*) - func_append newdeplibs " $i" - i="" - ;; - esac - fi - if test -n "$i" ; then - libname=`eval "\\$ECHO \"$libname_spec\""` - deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` - set dummy $deplib_matches; shift - deplib_match=$1 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then - func_append newdeplibs " $i" - else - droppeddeps=yes - echo - $ECHO "*** Warning: dynamic linker does not accept needed library $i." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because a test_compile did reveal that the linker did not use this one" - echo "*** as a dynamic dependency that programs can get resolved with at runtime." - fi - fi - else - droppeddeps=yes - echo - $ECHO "*** Warning! Library $i is needed by this library but I was not able to" - echo "*** make it link in! You will probably need to install it or some" - echo "*** library that it depends on before this library will be fully" - echo "*** functional. Installing it before continuing would be even better." - fi - ;; - *) - func_append newdeplibs " $i" - ;; - esac - done - fi - ;; - file_magic*) - set dummy $deplibs_check_method; shift - file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - func_append newdeplibs " $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval "\\$ECHO \"$libname_spec\""` - if test -n "$file_magic_glob"; then - libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob` - else - libnameglob=$libname - fi - test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - if test "$want_nocaseglob" = yes; then - shopt -s nocaseglob - potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` - $nocaseglob - else - potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` - fi - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - func_append newdeplibs " $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` - done - fi - case $tmp_deplibs in - *[!\ \ ]*) - echo - if test "X$deplibs_check_method" = "Xnone"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." - else - echo "*** Warning: inter-library dependencies are not known to be supported." - fi - echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - ;; - esac - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - - if test "$allow_undefined" = no; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" - echo "*** it was explicitly requested with -no-undefined," - echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - deplibs="$new_libs" - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$opt_mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - func_replace_sysroot "$libdir" - libdir=$func_replace_sysroot_result - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append dep_rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_apped perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then - eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" - else - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - shift - realname="$1" - shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib="$output_objdir/$realname" - linknames= - for link - do - func_append linknames " $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= - - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols="$output_objdir/$libname.uexp" - func_append delfiles " $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - if test "x`$SED 1q $export_symbols`" != xEXPORTS; then - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols="$export_symbols" - export_symbols= - always_export_symbols=yes - fi - fi - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd1 in $cmds; do - IFS="$save_ifs" - # Take the normal branch if the nm_file_list_spec branch - # doesn't work or if tool conversion is not needed. - case $nm_file_list_spec~$to_tool_file_cmd in - *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) - try_normal_branch=yes - eval cmd=\"$cmd1\" - func_len " $cmd" - len=$func_len_result - ;; - *) - try_normal_branch=no - ;; - esac - if test "$try_normal_branch" = yes \ - && { test "$len" -lt "$max_cmd_len" \ - || test "$max_cmd_len" -le -1; } - then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - elif test -n "$nm_file_list_spec"; then - func_basename "$output" - output_la=$func_basename_result - save_libobjs=$libobjs - save_output=$output - output=${output_objdir}/${output_la}.nm - func_to_tool_file "$output" - libobjs=$nm_file_list_spec$func_to_tool_file_result - func_append delfiles " $output" - func_verbose "creating $NM input file list: $output" - for obj in $save_libobjs; do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > "$output" - eval cmd=\"$cmd1\" - func_show_eval "$cmd" 'exit $?' - output=$save_output - libobjs=$save_libobjs - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - func_append tmp_deplibs " $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test "$compiler_needs_object" = yes && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - else - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - func_append linker_flags " $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$opt_mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test "X$skipped_export" != "X:" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - func_basename "$output" - output_la=$func_basename_result - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 - - if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then - output=${output_objdir}/${output_la}.lnkscript - func_verbose "creating GNU ld script: $output" - echo 'INPUT (' > $output - for obj in $save_libobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - echo ')' >> $output - func_append delfiles " $output" - func_to_tool_file "$output" - output=$func_to_tool_file_result - elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then - output=${output_objdir}/${output_la}.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test "$compiler_needs_object" = yes; then - firstobj="$1 " - shift - fi - for obj - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - func_append delfiles " $output" - func_to_tool_file "$output" - output=$firstobj\"$file_list_spec$func_to_tool_file_result\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-${k}.$objext - eval test_cmds=\"$reload_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test "X$objlist" = X || - test "$len" -lt "$max_cmd_len"; then - func_append objlist " $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - reload_objs=$objlist - eval concat_cmds=\"$reload_cmds\" - else - # All subsequent reloadable object files will link in - # the last one created. - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-${k}.$objext - objlist=" $obj" - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\${concat_cmds}$reload_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" - fi - func_append delfiles " $output" - - else - output= - fi - - if ${skipped_export-false}; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - fi - - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - - if ${skipped_export-false}; then - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - fi - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval cmds=\"\$cmds~\$RM $delfiles\" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "\`-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object \`$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` - else - gentop="$output_objdir/${obj}x" - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # If we're not building shared, we need to use non_pic_objs - test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - func_execute_cmds "$reload_cmds" 'exit $?' - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - func_execute_cmds "$reload_cmds" 'exit $?' - fi - - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for programs" - - test -n "$release" && \ - func_warning "\`-release' is ignored for programs" - - test "$preload" = yes \ - && test "$dlopen_support" = unknown \ - && test "$dlopen_self" = unknown \ - && test "$dlopen_self_static" = unknown && \ - func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test "$tagname" = CXX ; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - func_append compile_command " ${wl}-bind_at_load" - func_append finalize_command " ${wl}-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - compile_deplibs="$new_libs" - - - func_append compile_command " $compile_deplibs" - func_append finalize_command " $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) func_append dllsearchpath ":$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) func_append finalize_perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" "no" - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=yes - case $host in - *cegcc* | *mingw32ce*) - # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=no - ;; - *cygwin* | *mingw* ) - if test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - *) - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - esac - if test "$wrappers_required" = no; then - # Replace the output file specification. - compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.${objext}"; then - func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' - fi - - exit $exit_status - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - func_append rpath "$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - exit $EXIT_SUCCESS - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "\`$output' will be relinked during installation" - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output_objdir/$outputname" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Now create the wrapper script. - func_verbose "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - fi - - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } - - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host" ; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result - else - func_emit_wrapper no > $func_ltwrapper_scriptname_result - fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - - func_emit_wrapper no > $output - chmod +x $output - ;; - esac - } - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save $symfileobj" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - if test "$preload" = yes && test -f "$symfileobj"; then - func_append oldobjs " $symfileobj" - fi - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - - func_extract_archives $gentop $addlibs - func_append oldobjs " $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append oldobjs " $func_extract_archives_result" - fi - - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - echo "copying selected object files to avoid basename conflicts..." - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase="$func_basename_result" - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - func_append oldobjs " $gentop/$newobj" - ;; - *) func_append oldobjs " $obj" ;; - esac - done - fi - eval cmds=\"$old_archive_cmds\" - - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - elif test -n "$archiver_list_spec"; then - func_verbose "using command file archive linking..." - for obj in $oldobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > $output_objdir/$libname.libcmd - func_to_tool_file "$output_objdir/$libname.libcmd" - oldobjs=" $archiver_list_spec$func_to_tool_file_result" - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval test_cmds=\"$old_archive_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - func_append objlist " $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= - len=$len0 - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - func_execute_cmds "$cmds" 'exit $?' - done - - test -n "$generated" && \ - func_show_eval "${RM}r$generated" - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - func_verbose "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" - ;; - -L*) - func_stripname -L '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -L$func_replace_sysroot_result" - ;; - -R*) - func_stripname -R '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -R$func_replace_sysroot_result" - ;; - *) func_append newdependency_libs " $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" - ;; - *) func_append newdlfiles " $lib" ;; - esac - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" - ;; - esac - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlfiles " $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlprefiles " $abs" - done - dlprefiles="$newdlprefiles" - fi - $RM $output - # place dlname in correct position for cygwin - # In fact, it would be nice if we could use this code for all target - # systems that can't hard-code library paths into their executables - # and that have no shared library path variable independent of PATH, - # but it turns out we can't easily determine that from inspecting - # libtool variables, so we have to hard-code the OSs to which it - # applies here; at the moment, that means platforms that use the PE - # object format with DLL files. See the long comment at the top of - # tests/bindir.at for full details. - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) - # If a -bindir argument was supplied, place the dll there. - if test "x$bindir" != x ; - then - func_relative_path "$install_libdir" "$bindir" - tdlname=$func_relative_path_result$dlname - else - # Otherwise fall back on heuristic. - tdlname=../bin/$dlname - fi - ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Linker flags that can not go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} - -{ test "$opt_mode" = link || test "$opt_mode" = relink; } && - func_mode_link ${1+"$@"} - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $opt_debug - RM="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) func_append RM " $arg"; rmforce=yes ;; - -*) func_append RM " $arg" ;; - *) func_append files " $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - for file in $files; do - func_dirname "$file" "" "." - dir="$func_dirname_result" - if test "X$dir" = X.; then - odir="$objdir" - else - odir="$dir/$objdir" - fi - func_basename "$file" - name="$func_basename_result" - test "$opt_mode" = uninstall && odir="$dir" - - # Remember odir for removal later, being careful to avoid duplicates - if test "$opt_mode" = clean; then - case " $rmdirs " in - *" $odir "*) ;; - *) func_append rmdirs " $odir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - func_append rmfiles " $odir/$n" - done - test -n "$old_library" && func_append rmfiles " $odir/$old_library" - - case "$opt_mode" in - clean) - case " $library_names " in - *" $dlname "*) ;; - *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; - esac - test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then - - # Read the .lo file - func_source $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" && - test "$pic_object" != none; then - func_append rmfiles " $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && - test "$non_pic_object" != none; then - func_append rmfiles " $dir/$non_pic_object" - fi - fi - ;; - - *) - if test "$opt_mode" = clean ; then - noexename=$name - case $file in - *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result - # $file with .exe has already been added to rmfiles, - # add $file without .exe - func_append rmfiles " $file" - ;; - esac - # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - func_append rmfiles " $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - func_append rmfiles " $odir/$name $odir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - func_append rmfiles " $odir/lt-$name" - fi - if test "X$noexename" != "X$name" ; then - func_append rmfiles " $odir/lt-${noexename}.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" - fi - done - - exit $exit_status -} - -{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && - func_mode_uninstall ${1+"$@"} - -test -z "$opt_mode" && { - help="$generic_help" - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode \`$opt_mode'" - -if test -n "$exec_cmd"; then - eval exec "$exec_cmd" - exit $EXIT_FAILURE -fi - -exit $exit_status - - -# The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: -# vi:sw=2 - diff --git a/openair3/OPENAIRMME/missing b/openair3/OPENAIRMME/missing deleted file mode 100644 index 9a5564823d..0000000000 --- a/openair3/OPENAIRMME/missing +++ /dev/null @@ -1,330 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. - -scriptversion=2012-01-06.18; # UTC - -# Copyright (C) 1996-2012 Free Software Foundation, Inc. -# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, 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 <http://www.gnu.org/licenses/>. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try '$0 --help' for more information" - exit 1 -fi - -run=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# In the cases where this matters, 'missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi - -msg="missing on your system" - -case $1 in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails - -Supported PROGRAM values: - aclocal touch file 'aclocal.m4' - autoconf touch file 'configure' - autoheader touch file 'config.h.in' - autom4te touch the output file, or create a stub one - automake touch all 'Makefile.in' files - bison create 'y.tab.[ch]', if possible, from existing .[ch] - flex create 'lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create 'lex.yy.c', if possible, from existing .c - makeinfo touch the output file - yacc create 'y.tab.[ch]', if possible, from existing .[ch] - -Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and -'g' are ignored when checking the name. - -Send bug reports to <bug-automake@gnu.org>." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: Unknown '$1' option" - echo 1>&2 "Try '$0 --help' for more information" - exit 1 - ;; - -esac - -# normalize program name to check for. -program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). This is about non-GNU programs, so use $1 not -# $program. -case $1 in - lex*|yacc*) - # Not GNU programs, they don't have --version. - ;; - - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running '$TOOL --version' or '$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case $program in - aclocal*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified 'acinclude.m4' or '${configure_ac}'. You might want - to install the Automake and Perl packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified '${configure_ac}'. You might want to install the - Autoconf and GNU m4 packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified 'acconfig.h' or '${configure_ac}'. You might want - to install the Autoconf and GNU m4 packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case $f in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'. - You might want to install the Automake and Perl packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te*) - echo 1>&2 "\ -WARNING: '$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get '$1' as part of Autoconf from any GNU - archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison*|yacc*) - echo 1>&2 "\ -WARNING: '$1' $msg. You should only need it if - you modified a '.y' file. You may need the Bison package - in order for those modifications to take effect. You can get - Bison from any GNU archive site." - rm -f y.tab.c y.tab.h - if test $# -ne 1; then - eval LASTARG=\${$#} - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -f y.tab.c; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex*|flex*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified a '.l' file. You may need the Flex package - in order for those modifications to take effect. You can get - Flex from any GNU archive site." - rm -f lex.yy.c - if test $# -ne 1; then - eval LASTARG=\${$#} - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -f lex.yy.c; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - Help2man package in order for those modifications to take - effect. You can get Help2man from any GNU archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit $? - fi - ;; - - makeinfo*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified a '.texi' or '.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy 'make' (AIX, - DU, IRIX). You might want to install the Texinfo package or - the GNU make package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - *) - echo 1>&2 "\ -WARNING: '$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the 'README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing '$1' program." - exit 1 - ;; -esac - -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: -- GitLab