merge with master
This commit is contained in:
+1
-6
@@ -6,15 +6,10 @@ openair1: 3GPP LTE Rel-8 PHY layer + PHY RF simulation
|
||||
|
||||
openair2: 3GPP LTE Rel-9 RLC/MAC/PDCP/RRC implementations, eNB application, X2AP. Note that for RLC, the following versions are userL UM_v9.3.0, TM_v9.3.0, and AM_v9.3.0. For PDCP, PDCP_v10.1.0 is used. For RRC, only LITE is used.
|
||||
|
||||
openair3: additional networking protocols (PMIP, MIH, Multicasting) and scripts
|
||||
|
||||
openair-cn: 3GPP LTE Rel9 and 10 MME/NAS, S+P-GW, HSS, S1AP (ENB and MME).
|
||||
|
||||
openairITS: IEEE 802.11p software modem (all layers)
|
||||
openair3: 3GPP LTE Rel9 and 10 MME/NAS, S+P-GW, HSS, S1AP (ENB and MME).
|
||||
|
||||
common: some common OAI utilities, other tools can be found at openair2/UTILS
|
||||
|
||||
|
||||
targets: scripts to compile and lauch different system targets (simulation, emulation and real-time platforms, user-space tools for these platforms (tbd))
|
||||
|
||||
see README files in these subdirectories for more information
|
||||
|
||||
+1135
-609
File diff suppressed because it is too large
Load Diff
Executable
+694
@@ -0,0 +1,694 @@
|
||||
################################################################################
|
||||
# OpenAirInterface
|
||||
# Copyright(c) 1999 - 2014 Eurecom
|
||||
#
|
||||
# OpenAirInterface 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.
|
||||
#
|
||||
# OpenAirInterface 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 OpenAirInterface.The full GNU General Public License is
|
||||
# included in this distribution in the file called "COPYING". If not,
|
||||
# see <http:/www.gnu.org/licenses/>.
|
||||
#
|
||||
# Contact Information
|
||||
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||
#
|
||||
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||
# Author: Lionel GAUTHIER
|
||||
###############################################################################
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(CMAKE_VERBOSE_MAKEFILE ON)
|
||||
|
||||
|
||||
project(at_nas_ue)
|
||||
|
||||
|
||||
ENABLE_LANGUAGE(C)
|
||||
#Sends the -std=c99 flag to the gcc compiler
|
||||
#add_definitions(-std=c99)
|
||||
|
||||
ADD_DEFINITIONS(-D_GNU_SOURCE)
|
||||
|
||||
set (OPENAIR_DIR $ENV{OPENAIR_DIR})
|
||||
|
||||
if( NOT DEFINED OPENAIR_DIR)
|
||||
message(SEND_ERROR "OPENAIR_DIR not set: ${OPENAIR_DIR}")
|
||||
endif( NOT DEFINED OPENAIR_DIR)
|
||||
|
||||
set(OPENAIR1_DIR ${OPENAIR_DIR}/openair1)
|
||||
set(OPENAIR2_DIR ${OPENAIR_DIR}/openair2)
|
||||
set(OPENAIR3_DIR ${OPENAIR_DIR}/openair3)
|
||||
set(OPENAIR3_DIR ${OPENAIR_DIR}/openair3)
|
||||
set(OPENAIR_TARGETS ${OPENAIR_DIR}/targets)
|
||||
set(OPENAIR_CMAKE_SCRIPTS ${OPENAIR_DIR}/cmake_targets/tools)
|
||||
set(OPENAIR_BIN_DIR ${OPENAIR_DIR}/targets/bin)
|
||||
set(OPENAIR_NAS_DIR ${OPENAIR_DIR}/openair3/NAS)
|
||||
|
||||
|
||||
set(CMAKE_MODULE_PATH "${OPENAIR_DIR}/cmake_targets/tools/MODULES" "${CMAKE_MODULE_PATH}")
|
||||
|
||||
macro(add_option name val helpstr)
|
||||
if(DEFINED ${name})
|
||||
set(value ${${name}})
|
||||
else(DEFINED ${name})
|
||||
set(value ${val})
|
||||
endif()
|
||||
set(${name} ${value} CACHE STRING "${helpstr}")
|
||||
add_definitions("-D${name}=${value}")
|
||||
endmacro(add_option)
|
||||
|
||||
macro(add_boolean_option name val helpstr)
|
||||
if(DEFINED ${name})
|
||||
set(value ${${name}})
|
||||
else(DEFINED ${name})
|
||||
set(value ${val})
|
||||
endif()
|
||||
set(${name} ${value} CACHE STRING "${helpstr}")
|
||||
set_property(CACHE ${name} PROPERTY TYPE BOOL)
|
||||
if (${value})
|
||||
add_definitions("-D${name}")
|
||||
endif (${value})
|
||||
endmacro(add_boolean_option)
|
||||
|
||||
# compilation flags
|
||||
# added CMAKER conditional compilation to not bother legacy building system
|
||||
#############################################
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
|
||||
endif()
|
||||
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS Debug Release RelWithDebInfo MinSizeRel)
|
||||
|
||||
#
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse4.2 -std=gnu99 -Wall -Wstrict-prototypes -fno-strict-aliasing -rdynamic -funroll-loops -Wno-packed-bitfield-compat -DCMAKER")
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ggdb -DMALLOC_CHECK_=3")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -ggdb -DMALLOC_CHECK_=3 -O2")
|
||||
|
||||
|
||||
include(FindPkgConfig)
|
||||
|
||||
INCLUDE(FindNettle)
|
||||
IF( NOT NETTLE_FOUND )
|
||||
MESSAGE( SEND_ERROR "Nettle is required" )
|
||||
ENDIF( NOT NETTLE_FOUND )
|
||||
|
||||
|
||||
pkg_search_module(OPENSSL openssl REQUIRED)
|
||||
include_directories(${OPENSSL_INCLUDE_DIRS})
|
||||
|
||||
|
||||
pkg_search_module(CRYPTO libcrypto REQUIRED)
|
||||
include_directories(${CRYPTO_INCLUDE_DIRS})
|
||||
|
||||
|
||||
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
set (FIRMWARE_VERSION "No svn information")
|
||||
add_definitions("-DFIRMWARE_VERSION=\"${FIRMWARE_VERSION}\"")
|
||||
|
||||
add_boolean_option(LINUX True "????")
|
||||
add_boolean_option(ENB_MODE True "????") # to avoid backtrace
|
||||
|
||||
##########################
|
||||
# NAS LAYER OPTIONS
|
||||
##########################
|
||||
add_boolean_option(ENABLE_NAS_UE_LOGGING True "????")
|
||||
add_boolean_option(NAS_BUILT_IN_EPC False "MME NAS layer not present in this executable")
|
||||
add_boolean_option(NAS_BUILT_IN_UE False "UE NAS layer present in this executable")
|
||||
add_boolean_option(NAS_UE True "NAS UE INSTANCE (<> NAS_MME)")
|
||||
add_boolean_option(NAS_MME False "NAS_UE and NAS_MME are incompatible options")
|
||||
|
||||
################################################################################
|
||||
# SECU LIB
|
||||
################################################################################
|
||||
set(secu_cn_SRC
|
||||
${OPENAIR3_DIR}/SECU/kdf.c
|
||||
${OPENAIR3_DIR}/SECU/rijndael.c
|
||||
${OPENAIR3_DIR}/SECU/snow3g.c
|
||||
${OPENAIR3_DIR}/SECU/key_nas_deriver.c
|
||||
${OPENAIR3_DIR}/SECU/nas_stream_eea1.c
|
||||
${OPENAIR3_DIR}/SECU/nas_stream_eia1.c
|
||||
${OPENAIR3_DIR}/SECU/nas_stream_eea2.c
|
||||
${OPENAIR3_DIR}/SECU/nas_stream_eia2.c
|
||||
)
|
||||
add_library(secu_cn ${secu_cn_SRC})
|
||||
target_include_directories(secu_cn PRIVATE
|
||||
${OPENAIR_DIR}/common/utils/itti
|
||||
${OPENAIR_DIR}/openair2/COMMON
|
||||
${OPENAIR3_DIR}/UTILS
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# UTIL LIB
|
||||
################################################################################
|
||||
set(util_SRC
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/device.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/memory.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/nas_log.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/nas_timer.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/OctetString.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/parser.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/TLVDecoder.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/TLVEncoder.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/socket.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/stty.c
|
||||
)
|
||||
set(util_HDR
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/device.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/memory.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/nas_log.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/nas_timer.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/OctetString.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/parser.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/TLVDecoder.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/TLVEncoder.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL/socket.h
|
||||
)
|
||||
|
||||
add_library(util ${util_SRC} ${util_HDR})
|
||||
target_include_directories(util PRIVATE ${OPENAIR_NAS_DIR}/COMMON/UTIL
|
||||
${OPENAIR_NAS_DIR}/COMMON
|
||||
)
|
||||
|
||||
|
||||
################################################################################
|
||||
# api_user LIB
|
||||
################################################################################
|
||||
set(api_user_SRC
|
||||
${OPENAIR_NAS_DIR}/UE/API/USER/at_command.c
|
||||
${OPENAIR_NAS_DIR}/UE/API/USER/at_error.c
|
||||
${OPENAIR_NAS_DIR}/UE/API/USER/at_response.c
|
||||
${OPENAIR_NAS_DIR}/UE/API/USER/user_api.c
|
||||
${OPENAIR_NAS_DIR}/UE/API/USER/user_indication.c
|
||||
)
|
||||
|
||||
set(api_user_HDR
|
||||
${OPENAIR_NAS_DIR}/UE/API/USER/at_command.h
|
||||
${OPENAIR_NAS_DIR}/UE/API/USER/at_error.h
|
||||
${OPENAIR_NAS_DIR}/UE/API/USER/at_response.h
|
||||
${OPENAIR_NAS_DIR}/UE/API/USER/user_api.h
|
||||
${OPENAIR_NAS_DIR}/UE/API/USER/user_indication.h
|
||||
)
|
||||
|
||||
add_library(api_user ${api_user_SRC} ${api_user_HDR})
|
||||
target_include_directories(api_user PRIVATE ${OPENAIR_NAS_DIR}/UE/API/USER
|
||||
${OPENAIR_NAS_DIR}/UE
|
||||
${OPENAIR_NAS_DIR}/COMMON
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# api_usim LIB
|
||||
################################################################################
|
||||
set(api_usim_SRC
|
||||
${OPENAIR_NAS_DIR}/UE/API/USIM/aka_functions.c
|
||||
${OPENAIR_NAS_DIR}/UE/API/USIM/usim_api.c
|
||||
)
|
||||
|
||||
set(api_usim_HDR
|
||||
${OPENAIR_NAS_DIR}/UE/API/USIM/aka_functions.h
|
||||
${OPENAIR_NAS_DIR}/UE/API/USIM/usim_api.h
|
||||
|
||||
)
|
||||
|
||||
add_library(api_usim ${api_usim_SRC} ${api_usim_HDR})
|
||||
target_include_directories(api_usim PRIVATE ${OPENAIR_NAS_DIR}/UE/API/USIM)
|
||||
|
||||
################################################################################
|
||||
# api_network LIB
|
||||
################################################################################
|
||||
set(api_network_SRC
|
||||
${OPENAIR_NAS_DIR}/COMMON/API/NETWORK/as_message.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/API/NETWORK/nas_message.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/API/NETWORK/network_api.c
|
||||
)
|
||||
set(api_network_HDR
|
||||
${OPENAIR_NAS_DIR}/COMMON/API/NETWORK/as_message.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/API/NETWORK/nas_message.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/API/NETWORK/network_api.h
|
||||
)
|
||||
|
||||
add_library(api_network ${api_network_SRC} ${api_network_HDR})
|
||||
target_include_directories(api_network PRIVATE ${OPENAIR_NAS_DIR}/COMMON/API/NETWORK
|
||||
${OPENAIR_NAS_DIR}/COMMON
|
||||
)
|
||||
|
||||
|
||||
################################################################################
|
||||
# emm LIB
|
||||
################################################################################
|
||||
set(emm_SRC
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/Attach.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/Authentication.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/Detach.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/emm_main.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/EmmStatusHdl.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/Identification.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/IdleMode.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/LowerLayer.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SecurityModeControl.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/ServiceRequestHdl.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/TrackingAreaUpdate.c
|
||||
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/emm_msg.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachAccept.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachComplete.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachReject.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachAccept.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachComplete.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachReject.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachRequest.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AuthenticationFailure.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AuthenticationReject.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AuthenticationRequest.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AuthenticationResponse.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/CsServiceNotification.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/DetachAccept.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/DetachRequest.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/DownlinkNasTransport.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/EmmInformation.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/emm_msg.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/EmmStatus.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/ExtendedServiceRequest.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/GutiReallocationCommand.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/GutiReallocationComplete.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/IdentityRequest.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/IdentityResponse.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/SecurityModeCommand.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/SecurityModeComplete.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/SecurityModeReject.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/ServiceReject.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/ServiceRequest.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/TrackingAreaUpdateAccept.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/TrackingAreaUpdateComplete.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/TrackingAreaUpdateReject.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/TrackingAreaUpdateRequest.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/UplinkNasTransport.c
|
||||
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_as.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregisteredAttachNeeded.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregistered.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregisteredInitiated.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregisteredLimitedService.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregisteredNoImsi.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregisteredNormalService.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmDeregisteredPlmnSearch.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_esm.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_fsm.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmNull.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_recv.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_reg.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegistered.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegisteredInitiated.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegisteredLimitedService.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegisteredNoCellAvailable.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegisteredNormalService.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegisteredPlmnSearch.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmRegisteredUpdateNeeded.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_sap.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_send.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmServiceRequestInitiated.c
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c
|
||||
|
||||
)
|
||||
|
||||
set(emm_HDR
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/emmData.h
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/emm_main.h
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/emm_proc.h
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/IdleMode.h
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/LowerLayer.h
|
||||
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachAccept.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachComplete.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachReject.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AttachRequest.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AuthenticationFailure.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AuthenticationReject.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AuthenticationRequest.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/AuthenticationResponse.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/CsServiceNotification.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/DetachAccept.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/DetachRequest.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/DownlinkNasTransport.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/emm_cause.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/EmmInformation.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/emm_msgDef.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/emm_msg.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/EmmStatus.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/ExtendedServiceRequest.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/GutiReallocationCommand.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/GutiReallocationComplete.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/IdentityRequest.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/IdentityResponse.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/NASSecurityModeCommand.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/NASSecurityModeComplete.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/SecurityModeReject.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/ServiceReject.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/ServiceRequest.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/TrackingAreaUpdateAccept.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/TrackingAreaUpdateComplete.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/TrackingAreaUpdateReject.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/TrackingAreaUpdateRequest.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG/UplinkNasTransport.h
|
||||
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_asDef.h
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_as.h
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_esmDef.h
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_esm.h
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_fsm.h
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_recv.h
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_regDef.h
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_reg.h
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_sap.h
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP/emm_send.h
|
||||
|
||||
)
|
||||
|
||||
add_library(emm ${emm_SRC} ${emm_HDR})
|
||||
|
||||
target_include_directories(emm PRIVATE
|
||||
${OPENAIR_DIR}/common/utils/msc
|
||||
${OPENAIR_DIR}/common/utils
|
||||
${OPENAIR_DIR}/openair2/COMMON
|
||||
${OPENAIR_NAS_DIR}/UE/API/USIM
|
||||
${OPENAIR_NAS_DIR}/UE/EMM
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES
|
||||
)
|
||||
|
||||
|
||||
################################################################################
|
||||
# esm LIB
|
||||
################################################################################
|
||||
set(esm_SRC
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/esm_main.c
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/DedicatedEpsBearerContextActivation.c
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/DefaultEpsBearerContextActivation.c
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/EpsBearerContextDeactivation.c
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/esm_ebr.c
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/esm_ebr_context.c
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/esm_ip.c
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/esm_main.c
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/esm_pt.c
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/EsmStatusHdl.c
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/PdnConnectivity.c
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/PdnDisconnect.c
|
||||
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/BearerResourceAllocationReject.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/BearerResourceAllocationRequest.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/BearerResourceModificationReject.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/BearerResourceModificationRequest.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/EsmInformationRequest.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/EsmInformationResponse.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/esm_msg.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/EsmStatus.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ModifyEpsBearerContextReject.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/PdnConnectivityReject.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/PdnConnectivityRequest.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/PdnDisconnectReject.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/PdnDisconnectRequest.c
|
||||
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/SAP/esm_recv.c
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/SAP/esm_sap.c
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/SAP/esm_send.c
|
||||
)
|
||||
|
||||
set(esm_HDR
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/esm_main.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextAccept.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextReject.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDedicatedEpsBearerContextRequest.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextAccept.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextReject.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ActivateDefaultEpsBearerContextRequest.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/BearerResourceAllocationReject.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/BearerResourceAllocationRequest.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/BearerResourceModificationReject.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/BearerResourceModificationRequest.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/DeactivateEpsBearerContextAccept.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/DeactivateEpsBearerContextRequest.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/esm_cause.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/EsmInformationRequest.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/EsmInformationResponse.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/esm_msgDef.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/esm_msg.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/EsmStatus.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ModifyEpsBearerContextAccept.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ModifyEpsBearerContextReject.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/ModifyEpsBearerContextRequest.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/PdnConnectivityReject.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/PdnConnectivityRequest.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/PdnDisconnectReject.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG/PdnDisconnectRequest.h
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/SAP/esm_recv.h
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/SAP/esm_sap.h
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/SAP/esm_send.h
|
||||
)
|
||||
|
||||
add_library(esm ${esm_SRC} ${esm_HDR})
|
||||
|
||||
target_include_directories(esm PRIVATE
|
||||
${OPENAIR_NAS_DIR}/UE/API/USER
|
||||
${OPENAIR_NAS_DIR}/UE/ESM
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/SAP
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# ies LIB
|
||||
################################################################################
|
||||
set(ies_SRC
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/AccessPointName.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/AdditionalUpdateResult.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/AdditionalUpdateType.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/ApnAggregateMaximumBitRate.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/AuthenticationFailureParameter.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/AuthenticationParameterAutn.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/AuthenticationParameterRand.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/AuthenticationResponseParameter.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/CipheringKeySequenceNumber.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/Cli.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/CsfbResponse.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/DaylightSavingTime.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/DetachType.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/DrxParameter.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EmergencyNumberList.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EmmCause.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsAttachResult.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsAttachType.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsBearerContextStatus.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsBearerIdentity.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsMobileIdentity.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsNetworkFeatureSupport.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsQualityOfService.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsUpdateResult.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsUpdateType.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EsmCause.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EsmInformationTransferFlag.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EsmMessageContainer.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/GprsTimer.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/GutiType.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/IdentityType2.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/ImeisvRequest.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/KsiAndSequenceNumber.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/LcsClientIdentity.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/LcsIndicator.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/LinkedEpsBearerIdentity.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/LlcServiceAccessPointIdentifier.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/LocationAreaIdentification.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/MessageType.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/MobileIdentity.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/MobileStationClassmark2.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/MobileStationClassmark3.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/MsNetworkCapability.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/MsNetworkFeatureSupport.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/NasKeySetIdentifier.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/NasMessageContainer.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/NasRequestType.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/NasSecurityAlgorithms.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/NetworkName.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/Nonce.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/PacketFlowIdentifier.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/PagingIdentity.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/PdnAddress.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/PdnType.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/PlmnList.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/ProcedureTransactionIdentity.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/ProtocolConfigurationOptions.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/ProtocolDiscriminator.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/PTmsiSignature.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/QualityOfService.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/RadioPriority.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/SecurityHeaderType.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/ServiceType.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/ShortMac.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/SsCode.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/SupportedCodecList.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/TimeZoneAndTime.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/TimeZone.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/TmsiStatus.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/TrackingAreaIdentity.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/TrackingAreaIdentityList.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/TrafficFlowAggregateDescription.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/TrafficFlowTemplate.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/TransactionIdentifier.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/UeNetworkCapability.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/UeSecurityCapability.c
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.c
|
||||
)
|
||||
set(ies_HDR
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/AccessPointName.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/AdditionalUpdateResult.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/AdditionalUpdateType.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/ApnAggregateMaximumBitRate.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/AuthenticationFailureParameter.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/AuthenticationParameterAutn.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/AuthenticationParameterRand.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/AuthenticationResponseParameter.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/CipheringKeySequenceNumber.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/Cli.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/CsfbResponse.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/DaylightSavingTime.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/DetachType.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/DrxParameter.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EmergencyNumberList.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EmmCause.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsAttachResult.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsAttachType.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsBearerContextStatus.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsBearerIdentity.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsMobileIdentity.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsNetworkFeatureSupport.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsQualityOfService.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsUpdateResult.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EpsUpdateType.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EsmCause.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EsmInformationTransferFlag.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/EsmMessageContainer.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/GprsTimer.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/GutiType.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/IdentityType2.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/ImeisvRequest.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/KsiAndSequenceNumber.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/LcsClientIdentity.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/LcsIndicator.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/LinkedEpsBearerIdentity.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/LlcServiceAccessPointIdentifier.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/LocationAreaIdentification.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/MessageType.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/MobileIdentity.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/MobileStationClassmark2.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/MobileStationClassmark3.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/MsNetworkCapability.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/MsNetworkFeatureSupport.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/NasKeySetIdentifier.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/NasMessageContainer.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/NasRequestType.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/NasSecurityAlgorithms.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/NetworkName.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/Nonce.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/PacketFlowIdentifier.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/PagingIdentity.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/PdnAddress.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/PdnType.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/PlmnList.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/ProcedureTransactionIdentity.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/ProtocolConfigurationOptions.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/ProtocolDiscriminator.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/PTmsiSignature.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/QualityOfService.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/RadioPriority.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/SecurityHeaderType.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/ServiceType.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/ShortMac.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/SsCode.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/SupportedCodecList.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/TimeZoneAndTime.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/TimeZone.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/TmsiStatus.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/TrackingAreaIdentity.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/TrackingAreaIdentityList.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/TrafficFlowAggregateDescription.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/TrafficFlowTemplate.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/TransactionIdentifier.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/UeNetworkCapability.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/UeRadioCapabilityInformationUpdateNeeded.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/UeSecurityCapability.h
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES/VoiceDomainPreferenceAndUeUsageSetting.h
|
||||
|
||||
)
|
||||
|
||||
add_library(ies ${ies_SRC} ${ies_HDR})
|
||||
|
||||
target_include_directories(ies PRIVATE
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES
|
||||
)
|
||||
|
||||
|
||||
|
||||
################################################################################
|
||||
# EXECUTABLE at_nas_ue
|
||||
################################################################################
|
||||
include_directories(
|
||||
${OPENAIR_DIR}/common/utils/msc
|
||||
${OPENAIR3_DIR}/COMMON
|
||||
${OPENAIR3_DIR}/SECU
|
||||
${OPENAIR_NAS_DIR}/src
|
||||
${OPENAIR_NAS_DIR}/COMMON
|
||||
${OPENAIR_NAS_DIR}/COMMON/API/NETWORK
|
||||
${OPENAIR_NAS_DIR}/UE/API/USER
|
||||
${OPENAIR_NAS_DIR}/UE/EMM
|
||||
${OPENAIR_NAS_DIR}/COMMON/EMM/MSG
|
||||
${OPENAIR_NAS_DIR}/UE/EMM/SAP
|
||||
${OPENAIR_NAS_DIR}/UE/ESM
|
||||
${OPENAIR_NAS_DIR}/UE/ESM/SAP
|
||||
${OPENAIR_NAS_DIR}/COMMON/ESM/MSG
|
||||
${OPENAIR_NAS_DIR}/COMMON/IES
|
||||
${OPENAIR_NAS_DIR}/COMMON/UTIL )
|
||||
|
||||
ADD_EXECUTABLE(at_nas_ue ${OPENAIR_NAS_DIR}/UE/UEprocess.c
|
||||
${OPENAIR_NAS_DIR}/UE/nas_network.c
|
||||
${OPENAIR_NAS_DIR}/UE/nas_parser.c
|
||||
${OPENAIR_NAS_DIR}/UE/nas_proc.c
|
||||
${OPENAIR_NAS_DIR}/UE/nas_user.c
|
||||
)
|
||||
|
||||
target_link_libraries (at_nas_ue
|
||||
-Wl,-whole-archive
|
||||
api_network api_user api_usim emm esm ies util secu_cn
|
||||
-Wl,-no-whole-archive
|
||||
${NETTLE_LIBRARIES}
|
||||
${OPENSSL_LIBRARIES}
|
||||
${CMAKE_THREAD_LIBS_INIT} m )
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_USE_NAS False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 False )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI False )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False )
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE True )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD True )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX False )
|
||||
set ( NAS_BUILT_IN_EPC False )
|
||||
set ( NAS_BUILT_IN_UE False )
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_NETLINK False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX 2 )
|
||||
set ( NB_ANTENNAS_TX 2 )
|
||||
set ( NB_ANTENNAS_TXRX 2 )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
||||
set ( OAISIM True )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PBS_SIM False )
|
||||
set ( PC_DSP False )
|
||||
set ( PC_TARGET False )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PDCP_USE_NETLINK False )
|
||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT 1 )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM False )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_ASN1_VERSION Rel8 )
|
||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
||||
set ( S1AP_VERSION R10 )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
||||
set ( TEST_OMG False )
|
||||
set ( TRACE_RLC_AM_BO False )
|
||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
||||
set ( TRACE_RLC_AM_HOLE False )
|
||||
set ( TRACE_RLC_AM_PDU True )
|
||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
||||
set ( TRACE_RLC_AM_RX False )
|
||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
||||
set ( TRACE_RLC_AM_TX False )
|
||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
||||
set ( TRACE_RLC_PAYLOAD False )
|
||||
set ( TRACE_RLC_UM_DAR False )
|
||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
||||
set ( TRACE_RLC_UM_PDU True )
|
||||
set ( TRACE_RLC_UM_RX False )
|
||||
set ( TRACE_RLC_UM_SEGMENT False )
|
||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME "R8" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT True )
|
||||
set ( XFORMS False )
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,106 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_USE_NAS False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 False )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI False )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False )
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_VCD_FIFO True )
|
||||
set ( ENB_MODE True )
|
||||
set ( EPC_BUILD False )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD True )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX False )
|
||||
set ( NAS_BUILT_IN_EPC False )
|
||||
set ( NAS_BUILT_IN_UE False )
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_NETLINK False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX 2 )
|
||||
set ( NB_ANTENNAS_TX 2 )
|
||||
set ( NB_ANTENNAS_TXRX 2 )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
||||
set ( OAISIM True )
|
||||
set ( OPENAIR1 False )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PBS_SIM False )
|
||||
set ( PC_DSP False )
|
||||
set ( PC_TARGET False )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT 1 )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM False )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD False )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_ASN1_VERSION Rel8 )
|
||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
||||
set ( S1AP_VERSION R10 )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
||||
set ( TEST_OMG False )
|
||||
set ( TRACE_RLC_AM_BO False )
|
||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
||||
set ( TRACE_RLC_AM_HOLE False )
|
||||
set ( TRACE_RLC_AM_PDU True )
|
||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
||||
set ( TRACE_RLC_AM_RX False )
|
||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
||||
set ( TRACE_RLC_AM_TX False )
|
||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
||||
set ( TRACE_RLC_PAYLOAD False )
|
||||
set ( TRACE_RLC_UM_DAR False )
|
||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
||||
set ( TRACE_RLC_UM_PDU True )
|
||||
set ( TRACE_RLC_UM_RX False )
|
||||
set ( TRACE_RLC_UM_SEGMENT False )
|
||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME False )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT True )
|
||||
set ( XFORMS False )
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,107 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_USE_NAS False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI False )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST False )
|
||||
set ( ENABLE_PGM_TRANSPORT False )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False )
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_VCD_FIFO True )
|
||||
set ( ENB_MODE True )
|
||||
set ( EPC_BUILD False )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
||||
set ( LINUX False )
|
||||
set ( LINUX_LIST False )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD True )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX False )
|
||||
set ( NAS_BUILT_IN_EPC False )
|
||||
set ( NAS_BUILT_IN_UE False )
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_NETLINK False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX 2 )
|
||||
set ( NB_ANTENNAS_TX 2 )
|
||||
set ( NB_ANTENNAS_TXRX 2 )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU False )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
||||
set ( OAISIM False )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PBS_SIM False )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PDCP_USE_NETLINK False )
|
||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION False )
|
||||
set ( PHY_CONTEXT 1 )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD OAI_USRP )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_ASN1_VERSION Rel10 )
|
||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
||||
set ( S1AP_VERSION R10 )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
||||
set ( TEST_OMG False )
|
||||
set ( TRACE_RLC_AM_BO False )
|
||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
||||
set ( TRACE_RLC_AM_HOLE False )
|
||||
set ( TRACE_RLC_AM_PDU False )
|
||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
||||
set ( TRACE_RLC_AM_RX False )
|
||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
||||
set ( TRACE_RLC_AM_TX False )
|
||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
||||
set ( TRACE_RLC_PAYLOAD False )
|
||||
set ( TRACE_RLC_UM_DAR False )
|
||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
||||
set ( TRACE_RLC_UM_PDU False )
|
||||
set ( TRACE_RLC_UM_RX False )
|
||||
set ( TRACE_RLC_UM_SEGMENT False )
|
||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME False )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
set(PACKAGE_NAME "lte-softmodem")
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,107 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_USE_NAS False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI False )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST False )
|
||||
set ( ENABLE_PGM_TRANSPORT False )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False )
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_VCD_FIFO True )
|
||||
set ( ENB_MODE True )
|
||||
set ( EPC_BUILD False )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
||||
set ( LINUX False )
|
||||
set ( LINUX_LIST False )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD True )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX False )
|
||||
set ( NAS_BUILT_IN_EPC False )
|
||||
set ( NAS_BUILT_IN_UE False )
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_NETLINK False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX 2 )
|
||||
set ( NB_ANTENNAS_TX 2 )
|
||||
set ( NB_ANTENNAS_TXRX 2 )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU False )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
||||
set ( OAISIM False )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PBS_SIM False )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PDCP_USE_NETLINK False )
|
||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION False )
|
||||
set ( PHY_CONTEXT 1 )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD EXMIMO )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_ASN1_VERSION Rel10 )
|
||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
||||
set ( S1AP_VERSION R10 )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
||||
set ( TEST_OMG False )
|
||||
set ( TRACE_RLC_AM_BO False )
|
||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
||||
set ( TRACE_RLC_AM_HOLE False )
|
||||
set ( TRACE_RLC_AM_PDU False )
|
||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
||||
set ( TRACE_RLC_AM_RX False )
|
||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
||||
set ( TRACE_RLC_AM_TX False )
|
||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
||||
set ( TRACE_RLC_PAYLOAD False )
|
||||
set ( TRACE_RLC_UM_DAR False )
|
||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
||||
set ( TRACE_RLC_UM_PDU False )
|
||||
set ( TRACE_RLC_UM_RX False )
|
||||
set ( TRACE_RLC_UM_SEGMENT False )
|
||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME False )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
set(PACKAGE_NAME "lte-softmodem")
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,107 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_USE_NAS False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI False )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST False )
|
||||
set ( ENABLE_PGM_TRANSPORT False )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False )
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_VCD_FIFO True )
|
||||
set ( ENB_MODE True )
|
||||
set ( EPC_BUILD False )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
||||
set ( LINUX False )
|
||||
set ( LINUX_LIST False )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD True )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX False )
|
||||
set ( NAS_BUILT_IN_EPC False )
|
||||
set ( NAS_BUILT_IN_UE False )
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_NETLINK False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX 2 )
|
||||
set ( NB_ANTENNAS_TX 2 )
|
||||
set ( NB_ANTENNAS_TXRX 2 )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU False )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
||||
set ( OAISIM False )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PBS_SIM False )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PDCP_USE_NETLINK False )
|
||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION False )
|
||||
set ( PHY_CONTEXT 1 )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD EXMIMO )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_ASN1_VERSION Rel8 )
|
||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
||||
set ( S1AP_VERSION R10 )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
||||
set ( TEST_OMG False )
|
||||
set ( TRACE_RLC_AM_BO False )
|
||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
||||
set ( TRACE_RLC_AM_HOLE False )
|
||||
set ( TRACE_RLC_AM_PDU False )
|
||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
||||
set ( TRACE_RLC_AM_RX False )
|
||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
||||
set ( TRACE_RLC_AM_TX False )
|
||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
||||
set ( TRACE_RLC_PAYLOAD False )
|
||||
set ( TRACE_RLC_UM_DAR False )
|
||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
||||
set ( TRACE_RLC_UM_PDU False )
|
||||
set ( TRACE_RLC_UM_RX False )
|
||||
set ( TRACE_RLC_UM_SEGMENT False )
|
||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME False )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
set(PACKAGE_NAME "lte-softmodem")
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,107 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_USE_NAS False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI False )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST False )
|
||||
set ( ENABLE_PGM_TRANSPORT False )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False )
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_VCD_FIFO True )
|
||||
set ( ENB_MODE True )
|
||||
set ( EPC_BUILD False )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
||||
set ( LINUX False )
|
||||
set ( LINUX_LIST False )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD True )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX False )
|
||||
set ( NAS_BUILT_IN_EPC False )
|
||||
set ( NAS_BUILT_IN_UE False )
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_NETLINK False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX 2 )
|
||||
set ( NB_ANTENNAS_TX 2 )
|
||||
set ( NB_ANTENNAS_TXRX 2 )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU False )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
||||
set ( OAISIM False )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PBS_SIM False )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PDCP_USE_NETLINK False )
|
||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION False )
|
||||
set ( PHY_CONTEXT 1 )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD OAI_USRP )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_ASN1_VERSION Rel10 )
|
||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
||||
set ( S1AP_VERSION R10 )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
||||
set ( TEST_OMG False )
|
||||
set ( TRACE_RLC_AM_BO False )
|
||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
||||
set ( TRACE_RLC_AM_HOLE False )
|
||||
set ( TRACE_RLC_AM_PDU False )
|
||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
||||
set ( TRACE_RLC_AM_RX False )
|
||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
||||
set ( TRACE_RLC_AM_TX False )
|
||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
||||
set ( TRACE_RLC_PAYLOAD False )
|
||||
set ( TRACE_RLC_UM_DAR False )
|
||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
||||
set ( TRACE_RLC_UM_PDU False )
|
||||
set ( TRACE_RLC_UM_RX False )
|
||||
set ( TRACE_RLC_UM_SEGMENT False )
|
||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME False )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
set(PACKAGE_NAME "lte-softmodem")
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER Flase)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,75 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(ADDR_CONF False)
|
||||
set(DEBUG_OMG False)
|
||||
set(DISABLE_XER_PRINT False)
|
||||
set(DRIVER2013 False)
|
||||
set(ENABLE_FXP True)
|
||||
set(ENABLE_ITTI True)
|
||||
set(ENABLE_NAS_UE_LOGGING False)
|
||||
set(ENABLE_NEW_MULTICAST True)
|
||||
set(ENABLE_PGM_TRANSPORT True)
|
||||
set(ENABLE_RAL False)
|
||||
set(ENABLE_SECURITY False)
|
||||
set(ENABLE_USE_CPU_EXECUTION_TIME True)
|
||||
set(ENABLE_USE_MME False)
|
||||
set(ENABLE_VCD_FIFO True)
|
||||
set(HARD_RT False)
|
||||
set(JUMBO_FRAME True)
|
||||
set(LARGE_SCALE False)
|
||||
set(LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set(LINUX_LIST False)
|
||||
set(LINUX True)
|
||||
set(LOCALIZATION False)
|
||||
set(LOG_NO_THREAD True)
|
||||
set(LOWLATENCY False)
|
||||
set(MAC_CONTEXT 1)
|
||||
set(MAX_NUM_CCs 1)
|
||||
set(MESSAGE_CHART_GENERATOR False )
|
||||
set(MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set(MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set(MIH_C_MEDIEVAL_EXTENSIONS False)
|
||||
set(MSG_PRINT False)
|
||||
set(MU_RECEIVER False)
|
||||
set(NAS_ADDRESS_FIX true)
|
||||
set(NAS_NETLINK True)
|
||||
set(NAS_UE True)
|
||||
set(NEW_FFT True)
|
||||
set(NO_RRM True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_NW_DRIVER_TYPE_ETHERNET False)
|
||||
set(OPENAIR1 False)
|
||||
set(OPENAIR2 True)
|
||||
set(OPENAIR_EMU True)
|
||||
set(OPENAIR_LTE True)
|
||||
set (PACKAGE_NAME "oaisim")
|
||||
set(PACKAGE_NAME "oaisim")
|
||||
set(PBS_SIM False)
|
||||
set(PC_DSP False)
|
||||
set(PC_TARGET False)
|
||||
set(PDCP_MSG_PRINT False)
|
||||
set(PERFECT_CE False)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_EMUL False)
|
||||
set(PHYSIM False)
|
||||
set(PUCCH True)
|
||||
set(RANDOM_BF False)
|
||||
set(RF_BOARD "NoBoard")
|
||||
set(RLC_STOP_ON_LOST_PDU False)
|
||||
set(RRC_ASN1_VERSION Rel8)
|
||||
set(RRC_ASN1_VERSION "Rel8")
|
||||
set(RRC_MSG_PRINT False)
|
||||
set(RTAI False)
|
||||
set(SECU False)
|
||||
set(SMBV False)
|
||||
set(SPECTRA False)
|
||||
set(TEST_OMG False)
|
||||
set(USE_3GPP_ADDR_AS_LINK_ADDR False)
|
||||
set(USE_MME False)
|
||||
set(USER_MODE True)
|
||||
set(XER_PRINT False)
|
||||
set(XFORMS False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,107 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_USE_NAS False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 False )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI False )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False )
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_VCD_FIFO True )
|
||||
set ( ENB_MODE True )
|
||||
set ( EPC_BUILD False )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD True )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX False )
|
||||
set ( NAS_BUILT_IN_EPC False )
|
||||
set ( NAS_BUILT_IN_UE False )
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_NETLINK False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX 2 )
|
||||
set ( NB_ANTENNAS_TX 2 )
|
||||
set ( NB_ANTENNAS_TXRX 2 )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
||||
set ( OAISIM True )
|
||||
set ( OPENAIR1 False )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PBS_SIM False )
|
||||
set ( PC_DSP False )
|
||||
set ( PC_TARGET False )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PDCP_USE_NETLINK False )
|
||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT 1 )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM False )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD False )
|
||||
set ( RLC_STOP_ON_LOST_PDU True )
|
||||
set ( RRC_ASN1_VERSION Rel10 )
|
||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
||||
set ( S1AP_VERSION R10 )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
||||
set ( TEST_OMG False )
|
||||
set ( TRACE_RLC_AM_BO False )
|
||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
||||
set ( TRACE_RLC_AM_HOLE False )
|
||||
set ( TRACE_RLC_AM_PDU True )
|
||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
||||
set ( TRACE_RLC_AM_RX False )
|
||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
||||
set ( TRACE_RLC_AM_TX False )
|
||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
||||
set ( TRACE_RLC_PAYLOAD False )
|
||||
set ( TRACE_RLC_UM_DAR False )
|
||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
||||
set ( TRACE_RLC_UM_PDU True )
|
||||
set ( TRACE_RLC_UM_RX False )
|
||||
set ( TRACE_RLC_UM_SEGMENT False )
|
||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME False )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT True )
|
||||
set ( XFORMS False )
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,74 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(ADDR_CONF False)
|
||||
set(DEBUG_OMG False)
|
||||
set(DISABLE_XER_PRINT False)
|
||||
set(DRIVER2013 False)
|
||||
set(ENABLE_FXP True)
|
||||
set(ENABLE_ITTI True)
|
||||
set(ENABLE_NAS_UE_LOGGING False)
|
||||
set(ENABLE_NEW_MULTICAST True)
|
||||
set(ENABLE_PGM_TRANSPORT True)
|
||||
set(ENABLE_RAL False)
|
||||
set(ENABLE_SECURITY False)
|
||||
set(ENABLE_USE_CPU_EXECUTION_TIME True)
|
||||
set(ENABLE_USE_MME False)
|
||||
set(ENABLE_VCD_FIFO True)
|
||||
set(HARD_RT False)
|
||||
set(JUMBO_FRAME True)
|
||||
set(LARGE_SCALE False)
|
||||
set(LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set(LINUX_LIST False)
|
||||
set(LINUX True)
|
||||
set(LOCALIZATION False)
|
||||
set(LOG_NO_THREAD True)
|
||||
set(LOWLATENCY False)
|
||||
set(MAC_CONTEXT 1)
|
||||
set(MAX_NUM_CCs 1)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
set(MESSAGE_CHART_GENERATOR_RLC_MAC False)
|
||||
set(MESSAGE_CHART_GENERATOR_PHY False)
|
||||
set(MIH_C_MEDIEVAL_EXTENSIONS False)
|
||||
set(MSG_PRINT False)
|
||||
set(MU_RECEIVER False)
|
||||
set(NAS_ADDRESS_FIX true)
|
||||
set(NAS_NETLINK True)
|
||||
set(NAS_UE True)
|
||||
set(NEW_FFT True)
|
||||
set(NO_RRM True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_NW_DRIVER_TYPE_ETHERNET False)
|
||||
set(OPENAIR1 False)
|
||||
set(OPENAIR2 True)
|
||||
set(OPENAIR_EMU True)
|
||||
set(OPENAIR_LTE True)
|
||||
set (PACKAGE_NAME "oaisim")
|
||||
set(PACKAGE_NAME "oaisim")
|
||||
set(PBS_SIM False)
|
||||
set(PC_DSP False)
|
||||
set(PC_TARGET False)
|
||||
set(PDCP_MSG_PRINT False)
|
||||
set(PERFECT_CE False)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_EMUL False)
|
||||
set(PHYSIM False)
|
||||
set(PUCCH True)
|
||||
set(RANDOM_BF False)
|
||||
set(RF_BOARD "NoBoard")
|
||||
set(RLC_STOP_ON_LOST_PDU True)
|
||||
set(RRC_ASN1_VERSION Rel10)
|
||||
set(RRC_ASN1_VERSION "Rel10")
|
||||
set(RRC_MSG_PRINT False)
|
||||
set(RTAI False)
|
||||
set(SECU False)
|
||||
set(SMBV False)
|
||||
set(SPECTRA False)
|
||||
set(TEST_OMG False)
|
||||
set(USE_3GPP_ADDR_AS_LINK_ADDR False)
|
||||
set(USE_MME False)
|
||||
set(USER_MODE True)
|
||||
set(XER_PRINT False)
|
||||
set(XFORMS False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,5 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(OAI_NW_DRIVER_TYPE_ETHERNET True)
|
||||
set(OAI_NW_DRIVER_USE_NETLINK True)
|
||||
set(NAS_NETLINK True)
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,72 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(ADDR_CONF False)
|
||||
set(DEBUG_OMG False)
|
||||
set(DISABLE_XER_PRINT False)
|
||||
set(DRIVER2013 False)
|
||||
set(ENABLE_FXP True)
|
||||
set(ENABLE_ITTI True)
|
||||
set(ENABLE_NAS_UE_LOGGING False)
|
||||
set(ENABLE_NEW_MULTICAST True)
|
||||
set(ENABLE_PGM_TRANSPORT True)
|
||||
set(ENABLE_RAL False)
|
||||
set(ENABLE_SECURITY False)
|
||||
set(ENABLE_USE_CPU_EXECUTION_TIME True)
|
||||
set(ENABLE_USE_MME False)
|
||||
set(ENABLE_VCD_FIFO True)
|
||||
set(HARD_RT False)
|
||||
set(JUMBO_FRAME True)
|
||||
set(LARGE_SCALE False)
|
||||
set(LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set(LINUX_LIST False)
|
||||
set(LINUX True)
|
||||
set(LOCALIZATION False)
|
||||
set(LOG_NO_THREAD True)
|
||||
set(LOWLATENCY False)
|
||||
set(MAC_CONTEXT 1)
|
||||
set(MAX_NUM_CCs 1)
|
||||
set(MIH_C_MEDIEVAL_EXTENSIONS False)
|
||||
set(MSG_PRINT False)
|
||||
set(MU_RECEIVER False)
|
||||
set(NAS_ADDRESS_FIX true)
|
||||
set(NAS_NETLINK True)
|
||||
set(NAS_UE True)
|
||||
set(NEW_FFT True)
|
||||
set(NO_RRM True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_NW_DRIVER_TYPE_ETHERNET True)
|
||||
set(OPENAIR1 False)
|
||||
set(OPENAIR2 True)
|
||||
set(OPENAIR_EMU True)
|
||||
set(OPENAIR_LTE True)
|
||||
set (PACKAGE_NAME "oaisim")
|
||||
set(PACKAGE_NAME "oaisim")
|
||||
set(PBS_SIM False)
|
||||
set(PC_DSP False)
|
||||
set(PC_TARGET False)
|
||||
set(PDCP_MSG_PRINT False)
|
||||
set(PERFECT_CE False)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_EMUL False)
|
||||
set(PHYSIM False)
|
||||
set(PUCCH True)
|
||||
set(RANDOM_BF False)
|
||||
set(RF_BOARD "NoBoard")
|
||||
set(RLC_STOP_ON_LOST_PDU True)
|
||||
set(RRC_ASN1_VERSION Rel8)
|
||||
set(RRC_ASN1_VERSION "Rel8")
|
||||
set(RRC_MSG_PRINT False)
|
||||
set(RTAI False)
|
||||
set(SECU False)
|
||||
set(SMBV False)
|
||||
set(SPECTRA False)
|
||||
set(TEST_OMG False)
|
||||
set(USE_3GPP_ADDR_AS_LINK_ADDR False)
|
||||
set(USE_MME False)
|
||||
set(USER_MODE True)
|
||||
set(XER_PRINT False)
|
||||
set(XFORMS False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,107 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_USE_NAS False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 False )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False )
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_VCD_FIFO True )
|
||||
set ( ENB_MODE True )
|
||||
set ( EPC_BUILD False )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD True )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX False )
|
||||
set ( NAS_BUILT_IN_EPC False )
|
||||
set ( NAS_BUILT_IN_UE False )
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_NETLINK False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX 2 )
|
||||
set ( NB_ANTENNAS_TX 2 )
|
||||
set ( NB_ANTENNAS_TXRX 2 )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
||||
set ( OAISIM True )
|
||||
set ( OPENAIR1 False )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PBS_SIM False )
|
||||
set ( PC_DSP False )
|
||||
set ( PC_TARGET False )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT 1 )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM False )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD False )
|
||||
set ( RLC_STOP_ON_LOST_PDU True )
|
||||
set ( RRC_ASN1_VERSION Rel10 )
|
||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
||||
set ( S1AP_VERSION R10 )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
||||
set ( TEST_OMG False )
|
||||
set ( TRACE_RLC_AM_BO False )
|
||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
||||
set ( TRACE_RLC_AM_HOLE False )
|
||||
set ( TRACE_RLC_AM_PDU True )
|
||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
||||
set ( TRACE_RLC_AM_RX False )
|
||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
||||
set ( TRACE_RLC_AM_TX False )
|
||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
||||
set ( TRACE_RLC_PAYLOAD False )
|
||||
set ( TRACE_RLC_UM_DAR False )
|
||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
||||
set ( TRACE_RLC_UM_PDU True )
|
||||
set ( TRACE_RLC_UM_RX False )
|
||||
set ( TRACE_RLC_UM_SEGMENT False )
|
||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME False )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,106 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_USE_NAS False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 False )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI False )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False )
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_VCD_FIFO True )
|
||||
set ( ENB_MODE True )
|
||||
set ( EPC_BUILD False )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD True )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX False )
|
||||
set ( NAS_BUILT_IN_EPC False )
|
||||
set ( NAS_BUILT_IN_UE False )
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_NETLINK False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX 2 )
|
||||
set ( NB_ANTENNAS_TX 2 )
|
||||
set ( NB_ANTENNAS_TXRX 2 )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
||||
set ( OAISIM True )
|
||||
set ( OPENAIR1 False )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PBS_SIM False )
|
||||
set ( PC_DSP False )
|
||||
set ( PC_TARGET False )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT 1 )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM False )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD False )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_ASN1_VERSION Rel8 )
|
||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
||||
set ( S1AP_VERSION R10 )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
||||
set ( TEST_OMG False )
|
||||
set ( TRACE_RLC_AM_BO False )
|
||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
||||
set ( TRACE_RLC_AM_HOLE False )
|
||||
set ( TRACE_RLC_AM_PDU True )
|
||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
||||
set ( TRACE_RLC_AM_RX False )
|
||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
||||
set ( TRACE_RLC_AM_TX False )
|
||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
||||
set ( TRACE_RLC_PAYLOAD False )
|
||||
set ( TRACE_RLC_UM_DAR False )
|
||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
||||
set ( TRACE_RLC_UM_PDU True )
|
||||
set ( TRACE_RLC_UM_RX False )
|
||||
set ( TRACE_RLC_UM_SEGMENT False )
|
||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME False )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT True )
|
||||
set ( XFORMS False )
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,6 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(ENABLE_VCD_FIFO False )
|
||||
set(ENABLE_ITTI False )
|
||||
set(RF_BOARD "ETHERNET")
|
||||
set(PACKAGE_NAME "\"rrh_gw\"")
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,82 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False)
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE True )
|
||||
set ( EXMIMO_IOT True )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD 1 )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX True )
|
||||
set ( NAS_BUILT_IN_UE False)
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX "2" )
|
||||
set ( NB_ANTENNAS_TX "2" )
|
||||
set ( NB_ANTENNAS_TXRX "2" )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAISIM True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PACKAGE_NAME "oaisim" )
|
||||
set ( PBS_SIM False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT False )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RRC_ASN1_VERSION "Rel10" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( SECU False )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( TEST_OMG False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME "R10" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
@@ -0,0 +1,87 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False)
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE True )
|
||||
set ( EXMIMO_IOT True )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD 1 )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX True )
|
||||
set ( NAS_BUILT_IN_UE False)
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX "2" )
|
||||
set ( NB_ANTENNAS_TX "2" )
|
||||
set ( NB_ANTENNAS_TXRX "2" )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAISIM True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PACKAGE_NAME "oaisim" )
|
||||
set ( PBS_SIM False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT False )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RRC_ASN1_VERSION "Rel10" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( SECU False )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( TEST_OMG False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME "R10" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
set ( PRINT_STATS False )
|
||||
set ( RRC_ASN1_VERSION "Rel10")
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,82 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False)
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE True )
|
||||
set ( EXMIMO_IOT True )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD 1 )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX True )
|
||||
set ( NAS_BUILT_IN_UE False)
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX "2" )
|
||||
set ( NB_ANTENNAS_TX "2" )
|
||||
set ( NB_ANTENNAS_TXRX "2" )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAISIM True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PACKAGE_NAME "oaisim" )
|
||||
set ( PBS_SIM False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT False )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RRC_ASN1_VERSION "Rel10" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( SECU False )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( TEST_OMG False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME "R10" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
@@ -0,0 +1,87 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False)
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE True )
|
||||
set ( EXMIMO_IOT True )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD 1 )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX True )
|
||||
set ( NAS_BUILT_IN_UE False)
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX "2" )
|
||||
set ( NB_ANTENNAS_TX "2" )
|
||||
set ( NB_ANTENNAS_TXRX "2" )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAISIM True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PACKAGE_NAME "oaisim" )
|
||||
set ( PBS_SIM False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT False )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RRC_ASN1_VERSION "Rel10" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( SECU False )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( TEST_OMG False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME "R10" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
set ( PRINT_STATS False )
|
||||
set ( RRC_ASN1_VERSION "Rel10")
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,87 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False)
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE True )
|
||||
set ( EXMIMO_IOT True )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD 1 )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX True )
|
||||
set ( NAS_BUILT_IN_UE False)
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX "2" )
|
||||
set ( NB_ANTENNAS_TX "2" )
|
||||
set ( NB_ANTENNAS_TXRX "2" )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAISIM True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PACKAGE_NAME "oaisim" )
|
||||
set ( PBS_SIM False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT False )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RRC_ASN1_VERSION "Rel10" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( SECU False )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( TEST_OMG False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME "R10" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
set ( PRINT_STATS False )
|
||||
set ( RRC_ASN1_VERSION "Rel10")
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,87 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False)
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE True )
|
||||
set ( EXMIMO_IOT True )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD 1 )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX True )
|
||||
set ( NAS_BUILT_IN_UE False)
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX "2" )
|
||||
set ( NB_ANTENNAS_TX "2" )
|
||||
set ( NB_ANTENNAS_TXRX "2" )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAISIM True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PACKAGE_NAME "oaisim" )
|
||||
set ( PBS_SIM False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT False )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RRC_ASN1_VERSION "Rel10" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( SECU False )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( TEST_OMG False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME "R10" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
set ( PRINT_STATS False )
|
||||
set ( RRC_ASN1_VERSION "Rel10")
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER Flase)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER Flase)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER Flase)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER Flase)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER Flase)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER Flase)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER Flase)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER Flase)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER Flase)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,15 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER Flase)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
||||
@@ -0,0 +1,50 @@
|
||||
OAI Test PLAN
|
||||
#UNDER CONSTRUCTION. Not correct at the moment
|
||||
|
||||
Obj.# Case# Test# Description
|
||||
|
||||
01 pre-commit test case
|
||||
01 01 Build OAI
|
||||
01 01 00 Check Makefiles and
|
||||
01 01 01 Build oaisim Rel8
|
||||
01 01 02 Build oaisim Rel8 + network device driver(nasmesh_fix)
|
||||
01 01 03 Build lte-softmode Rel8
|
||||
01 01 04 Build dlsim Rel8
|
||||
01 01 05 Build ulsim Rel8
|
||||
01 01 06 Build oaisim Rel10
|
||||
01 01 07 Build oaisim Rel8 with cellular RRC for eNB
|
||||
01 01 08 Build oaisim Rel8 with cellular RRC for UE
|
||||
01 01 09 "commented test in targets/TEST/OAI/case01.py"
|
||||
01 01 10 "commented test in targets/TEST/OAI/case01.py"
|
||||
01 01 11 "commented test in targets/TEST/OAI/case01.py"
|
||||
01 01 12 "commented test in targets/TEST/OAI/case01.py"
|
||||
01 01 13 Build network device driver(oai_nw_drv type ethernet)
|
||||
01 01 14 Build oaisim Rel8 with RRC lite (new cellular+ITTI) + RAL (802.21)
|
||||
01 01 15 Build oaisim Rel10 with RRC lite (new cellular+ITTI) + RAL (802.21)
|
||||
|
||||
01 02 Run OAI Rel8, and check the operation
|
||||
01 02 00 Run OAI Rel8, and search for segmentation fault or exit
|
||||
01 02 01 Run OAI Rel8, and search for execution errors
|
||||
01 02 02 Run OAI Rel8 in abstraction mode and check that RRC proc is finished completely for the configured number of eNB and UE
|
||||
01 02 03 Run OAI Rel8 in abstraction mode, send ping from from one eNB to each UE, and check that there is no packet losses
|
||||
01 02 04 Run OAI Rel8 with full PHY, and check that the RRC proc for eNBsxUEs
|
||||
01 02 05 Run OAI Rel8 with full PHY in FDD mode, and check that the RRC proc for eNBsxUEs
|
||||
|
||||
01 03 Run OAI Rel10, and check the operation
|
||||
01 03 00 Run OAI Rel10, and search for segmentation fault or exit
|
||||
01 03 01 Run OAI Rel10, and search for execution errors
|
||||
01 03 02 Run OAI Rel10 in abstraction mode, and check the RRC proc for eNBsxUEs
|
||||
01 03 03 Run OAI Rel10 in full phy mode, and check the RRC proc for eNBsxUEs
|
||||
01 03 04 Run OAI Rel10 in full phy mode in FDD mode, and check the RRC proc for eNBsxUEs
|
||||
01 03 05 Run OAI Rel10 with eMBMS enabled, and check the SIB13 and MCCH
|
||||
01 03 06 Run OAI Rel10 with eMBMS enabled, and check the MTCH
|
||||
01 03 07 Run OAI Rel10 with eMBMS enabled and FDD mode, and check the MTCH
|
||||
|
||||
02 Functional test case
|
||||
|
||||
03 Non-Functional test case
|
||||
|
||||
04 Failure test case
|
||||
|
||||
05 Performance test case
|
||||
|
||||
+175
@@ -0,0 +1,175 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -s $OPENAIR_DIR/cmake_targets/tools/build_helper ] ; then
|
||||
source $OPENAIR_DIR/cmake_targets/tools/build_helper
|
||||
else
|
||||
echo "Error: no file in the file tree: is OPENAIR_DIR variable set?"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tdir=$OPENAIR_DIR/cmake_targets/autotests
|
||||
|
||||
results_file=$tdir/log/compilation_autotests.xml
|
||||
|
||||
# include the jUnit-like logging functions
|
||||
source $OPENAIR_DIR/cmake_targets/tools/test_helper
|
||||
|
||||
test_compile() {
|
||||
xUnit_start
|
||||
test_name=$1.$2
|
||||
compile_prog=$2
|
||||
exec_prog=$3
|
||||
build_dir=$tdir/$1/build
|
||||
log_file=$tdir/log/test.$1.txt
|
||||
target=$5
|
||||
echo "Compiling test case $test_name. Log file = $log_file"
|
||||
rm -fr $build_dir
|
||||
mkdir -p $tdir/$1/build
|
||||
cd $build_dir
|
||||
{
|
||||
cmake ..
|
||||
rm -f $exec_prog
|
||||
make -j`nproc` $compile_prog
|
||||
} >> $log_file 2>&1
|
||||
if [ -s $exec_prog ] ; then
|
||||
cp $exec_prog $tdir/bin/`basename $exec_prog`.$target.$test_name
|
||||
echo_success "$test_name $exec_prog $target compiled"
|
||||
xUnit_success "compilation" $test_name "PASS" 1
|
||||
else
|
||||
echo_error "$test_name $exec_prog $target compilation failed"
|
||||
xUnit_fail "compilation" $test_name "FAIL" 1
|
||||
fi
|
||||
}
|
||||
|
||||
mkdir -p $tdir/bin $tdir/log
|
||||
|
||||
updated=$(svn st -q $OPENAIR_DIR)
|
||||
if [ "$updated" != "" ] ; then
|
||||
echo_warning "some files are not in svn:\n $updated"
|
||||
fi
|
||||
|
||||
cd $tdir
|
||||
|
||||
test_compile \
|
||||
010101 oaisim_nos1 \
|
||||
oaisim_nos1 $tdir/bin/oaisim.r8 rel8.nos1
|
||||
|
||||
test_compile \
|
||||
010102 oaisim_nos1 \
|
||||
oaisim_nos1 $tdir/bin/oaisim.r8.nas rel8.nos1.nas
|
||||
|
||||
cp $tdir/010103/CMakeLists.txt.Rel8 $tdir/010103/CMakeLists.txt
|
||||
test_compile \
|
||||
010103 lte-softmodem \
|
||||
lte-softmodem $tdir/bin/lte-softmodem.r8.rf Rel8.EXMIMO
|
||||
|
||||
cp $tdir/010103/CMakeLists.txt.Rel10 $tdir/010103/CMakeLists.txt
|
||||
test_compile \
|
||||
010103 lte-softmodem \
|
||||
lte-softmodem $tdir/bin/lte-softmodem.r10.rf Rel10.EXMIMO
|
||||
|
||||
cp $tdir/010103/CMakeLists.txt.USRP $tdir/010103/CMakeLists.txt
|
||||
test_compile \
|
||||
010103 lte-softmodem \
|
||||
lte-softmodem $tdir/bin/lte-softmodem.r10.rf Rel10.USRP
|
||||
|
||||
test_compile \
|
||||
010104 dlsim \
|
||||
dlsim $tdir/bin/dlsim dlsim.Rel8
|
||||
|
||||
test_compile \
|
||||
010104 ulsim \
|
||||
ulsim $tdir/bin/ulsim ulsim.Rel8
|
||||
|
||||
test_compile \
|
||||
010104 pucchsim \
|
||||
pucchsim $tdir/bin/pucchsim pucchsim.Rel8
|
||||
|
||||
test_compile \
|
||||
010104 prachsim \
|
||||
prachsim $tdir/bin/prachsim prachsim.Rel8
|
||||
|
||||
test_compile \
|
||||
010104 pdcchsim \
|
||||
pdcchsim $tdir/bin/pdcchsim pdcchsim.Rel8
|
||||
|
||||
test_compile \
|
||||
010104 pbchsim \
|
||||
pbchsim $tdir/bin/pbchim pbchsim.Rel8
|
||||
|
||||
test_compile \
|
||||
010104 mbmssim \
|
||||
mbmssim $tdir/bin/mbmssim mbmssim.Rel8
|
||||
|
||||
test_compile \
|
||||
010104 test_secu_knas_encrypt_eia1 \
|
||||
test_secu_knas_encrypt_eia1 $tdir/bin/test_secu_knas_encrypt_eia1 test_secu_knas_encrypt_eia1.Rel10
|
||||
|
||||
test_compile \
|
||||
010104 test_secu_kenb \
|
||||
test_secu_kenb $tdir/bin/test_secu_kenb test_secu_kenb.Rel10
|
||||
|
||||
test_compile \
|
||||
010104 test_aes128_ctr_encrypt \
|
||||
test_aes128_ctr_encrypt $tdir/bin/test_aes128_ctr_encrypt test_aes128_ctr_encrypt.Rel10
|
||||
|
||||
test_compile \
|
||||
010104 test_aes128_ctr_decrypt \
|
||||
test_aes128_ctr_decrypt $tdir/bin/test_aes128_ctr_decrypt test_aes128_ctr_decrypt.Rel10
|
||||
|
||||
test_compile \
|
||||
010104 test_secu_knas_encrypt_eea2 \
|
||||
test_secu_knas_encrypt_eea2 $tdir/bin/test_secu_knas_encrypt_eea2 test_secu_knas_encrypt_eea2.Rel10
|
||||
|
||||
test_compile \
|
||||
010104 test_secu_knas \
|
||||
test_secu_knas $tdir/bin/test_secu_knas test_secu_knas.Rel10
|
||||
|
||||
test_compile \
|
||||
010104 test_secu_knas_encrypt_eea1 \
|
||||
test_secu_knas_encrypt_eea1 $tdir/bin/test_secu_knas_encrypt_eea1 test_secu_knas_encrypt_eea1.Rel10
|
||||
|
||||
test_compile \
|
||||
010104 test_kdf \
|
||||
test_kdf $tdir/bin/test_kdf test_kdf.Rel10
|
||||
|
||||
test_compile \
|
||||
010104 test_aes128_cmac_encrypt \
|
||||
test_aes128_cmac_encrypt $tdir/bin/test_aes128_cmac_encrypt test_aes128_cmac_encrypt.Rel10
|
||||
|
||||
test_compile \
|
||||
010104 test_secu_knas_encrypt_eia2 \
|
||||
test_secu_knas_encrypt_eia2 $tdir/bin/test_secu_knas_encrypt_eia2 test_secu_knas_encrypt_eia2.Rel10
|
||||
|
||||
test_compile \
|
||||
010106 oaisim \
|
||||
oaisim $tdir/bin/oaisim.r8.itti Rel8.itti
|
||||
|
||||
test_compile \
|
||||
010107 oaisim_nos1 \
|
||||
oaisim_nos1 $tdir/bin/oaisim.r10 Rel10.nos1
|
||||
|
||||
test_compile \
|
||||
010108 oaisim \
|
||||
oaisim $tdir/bin/oaisim.r10.itti rel10.itti
|
||||
|
||||
#test_compile \ LG: RAL REMOVED
|
||||
# test.0114 oaisim \
|
||||
# oaisim $tdir/bin/oaisim.r8.itti.ral rel8.itti.ral
|
||||
|
||||
#test_compile \ LG: RAL REMOVED
|
||||
# test.0115 oaisim \
|
||||
# oaisim $tdir/bin/oaisim.r10.itti.ral rel10.itti.ral
|
||||
|
||||
test_compile \
|
||||
010120 nasmesh \
|
||||
CMakeFiles/nasmesh/nasmesh.ko $tdir/bin/nasmesh.ko
|
||||
|
||||
test_compile \
|
||||
010130 rrh_gw \
|
||||
rrh_gw $tdir/bin/rrh_gw
|
||||
|
||||
# write the test results into a file
|
||||
xUnit_write "$results_file"
|
||||
|
||||
echo "Test Results are written to $results_file"
|
||||
+242
@@ -0,0 +1,242 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -s $OPENAIR_DIR/cmake_targets/tools/build_helper ] ; then
|
||||
source $OPENAIR_DIR/cmake_targets/tools/build_helper
|
||||
else
|
||||
echo "Error: no file in the file tree: is OPENAIR_DIR variable set?"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
source $OPENAIR_DIR/cmake_targets/tools/test_helper
|
||||
|
||||
#SUDO="sudo -E "
|
||||
tdir=$OPENAIR_DIR/cmake_targets/autotests
|
||||
mkdir -p $tdir/bin $tdir/log
|
||||
results_file="$tdir/log/execution_autotests.xml"
|
||||
|
||||
updated=$(svn st -q $OPENAIR_DIR)
|
||||
if [ "$updated" != "" ] ; then
|
||||
echo "some files are not in svn:\n $updated"
|
||||
fi
|
||||
|
||||
cd $tdir
|
||||
|
||||
|
||||
#\param $1 -> name of test case
|
||||
#\param $2 -> name of compilation program
|
||||
#\param $3 -> arguments for compilation program
|
||||
#\param $4 -> name of pre-executable to install kernel modules, etc
|
||||
#\param $5 -> arguments of pre-executable
|
||||
#\param $6 -> name of executable
|
||||
#\param $7 -> arguments for running the program
|
||||
#\param $8 -> search expression
|
||||
#\param $9 -> search expression which should NOT be found (for ex. segmentation fault)
|
||||
#\param $10 -> number of runs
|
||||
|
||||
test_compile_and_run() {
|
||||
xUnit_start
|
||||
test_case_name=$1.$2
|
||||
log_dir=$tdir/log
|
||||
log_file=$tdir/log/test.$1.txt
|
||||
compile_prog=$2
|
||||
compile_args=$3
|
||||
pre_exec_file=$4
|
||||
pre_exec_args=$5
|
||||
exec_args=$7
|
||||
search_expr_array=("${!8}")
|
||||
search_expr_negative=$9
|
||||
nruns=${10}
|
||||
build_dir=$tdir/$1/build
|
||||
exec_file=$build_dir/$6
|
||||
|
||||
#Temporary log file where execution log is stored.
|
||||
temp_exec_log=$log_dir/temp_log.txt
|
||||
|
||||
echo "Compiling test case $test_case_name. Log file = $log_file"
|
||||
|
||||
rm -fr $build_dir
|
||||
mkdir -p $build_dir
|
||||
|
||||
#echo "log_dir = $log_dir"
|
||||
#echo "log_file = $log_file"
|
||||
#echo "exec_file = $exec_file"
|
||||
#echo "args = $args"
|
||||
#echo "search_expr = $search_expr"
|
||||
#echo "pre_exec_file = $pre_exec_file"
|
||||
#echo "nruns = $nruns"
|
||||
|
||||
|
||||
|
||||
|
||||
echo "<COMPILATION LOG>" > $log_file
|
||||
cd $build_dir
|
||||
{
|
||||
cmake ..
|
||||
#rm -fv $exec_file
|
||||
make -j`nproc` $compile_prog
|
||||
}>> $log_file 2>&1
|
||||
echo "</COMPILATION LOG>" >> $log_file 2>&1
|
||||
|
||||
for (( run_index=1; run_index <= $nruns; run_index++ ))
|
||||
do
|
||||
|
||||
echo "Executing test case $test_case_name, Run Index = $run_index, Log file = $log_file"
|
||||
|
||||
echo "-----------------------------------------------------------------------------" >> $log_file 2>&1
|
||||
echo "<EXECUTION LOG Run = $run_index >" >> $log_file 2>&1
|
||||
|
||||
if [ -n "$pre_exec_file" ]; then
|
||||
{ source $pre_exec_file $pre_exec_args; } >> $log_file 2>&1
|
||||
fi
|
||||
|
||||
{ $exec_file $exec_args ;} > $temp_exec_log 2>&1
|
||||
|
||||
cat $temp_exec_log >> $log_file 2>&1
|
||||
echo "</EXECUTION LOG Run = $run_index >" >> $log_file 2>&1
|
||||
|
||||
result=1
|
||||
for search_expr in "${search_expr_array[@]}"
|
||||
do
|
||||
|
||||
search_result=`grep -E "$search_expr" $temp_exec_log`
|
||||
|
||||
#echo "search_expr = $search_expr"
|
||||
#echo "search_result = $search_result"
|
||||
|
||||
if [ -z "$search_result" ]; then
|
||||
let "result = result & 0"
|
||||
else
|
||||
let "result = result & 1"
|
||||
fi
|
||||
done
|
||||
|
||||
#echo "result = $result"
|
||||
|
||||
test_case_result=""
|
||||
if [ "$result" -eq "0" ]; then
|
||||
test_case_result="FAIL"
|
||||
fi
|
||||
|
||||
if [ "$result" -eq "1" ]; then
|
||||
test_case_result="PASS"
|
||||
fi
|
||||
|
||||
#If we find a negative search result then there is crash of program and test case is failed even if above condition is true
|
||||
|
||||
search_result=`grep -iE "$search_expr_negative" $temp_exec_log`
|
||||
if [ -n "$search_result" ]; then
|
||||
test_case_result="FAIL"
|
||||
fi
|
||||
|
||||
if [ "$test_case_result" == "FAIL" ]; then
|
||||
echo_error "execution $test_case_name FAIL $run_index"
|
||||
xUnit_fail "execution" "$test_case_name" "FAIL" "$run_index"
|
||||
fi
|
||||
|
||||
if [ "$test_case_result" == "PASS" ]; then
|
||||
echo_success "execution $test_case_name PASS $run_index"
|
||||
xUnit_success "execution" "$test_case_name" "PASS" "$run_index"
|
||||
fi
|
||||
|
||||
# End of for loop
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
dbin=$OPENAIR_DIR/cmake_targets/autotests/bin
|
||||
dlog=$OPENAIR_DIR/cmake_targets/autotests/log
|
||||
|
||||
run_test() {
|
||||
case=case$1; shift
|
||||
cmd=$1; shift
|
||||
expected=$3; shift
|
||||
echo "expected = $expected"
|
||||
exit
|
||||
|
||||
$cmd > $dlog/$case.txt 2>&1
|
||||
if [ $expected = "true" ] ; then
|
||||
if $* $dlog/$case.txt; then
|
||||
echo_success "test $case, command: $cmd ok"
|
||||
else
|
||||
echo_error "test $case, command: $cmd Failed"
|
||||
fi
|
||||
else
|
||||
if $* $dlog/$case.txt; then
|
||||
echo_error "test $case, command: $cmd Failed"
|
||||
else
|
||||
echo_success "test $case, command: $cmd ok"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
#$1 -> name of test case
|
||||
#$2 -> name of compilation program
|
||||
#$3 -> arguments for compilation program
|
||||
#$4 -> name of pre-executable to install kernel modules, etc
|
||||
#$5 -> arguments of pre-executable
|
||||
#$6 -> name of executable
|
||||
#$7 -> arguments for running the program
|
||||
#$8 -> search expression ARRAY which needs to be found
|
||||
#$9 -> search expression which should NOT be found (for ex. segmentation fault)
|
||||
#$10 -> number of runs
|
||||
|
||||
#oaisim tests
|
||||
search_array=("Received RRCConnectionReconfigurationComplete from UE 0")
|
||||
test_compile_and_run 010200 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u1 -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("Received RRCConnectionReconfigurationComplete from UE 0")
|
||||
test_compile_and_run 010201 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u1 -a -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2")
|
||||
test_compile_and_run 010202 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u3 -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2")
|
||||
test_compile_and_run 010203 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u3 -a -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
#PHY unitary simulations for secuirity tests
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010300 "test_aes128_cmac_encrypt" "" "" "" "test_aes128_cmac_encrypt" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010301 "test_aes128_ctr_decrypt" "" "" "" "test_aes128_ctr_decrypt" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010302 "test_aes128_ctr_encrypt" "" "" "" "test_aes128_ctr_encrypt" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010303 "test_secu_kenb" "" "" "" "test_secu_kenb" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010304 "test_secu_knas" "" "" "" "test_secu_knas" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010305 "test_secu_knas_encrypt_eea1" "" "" "" "test_secu_knas_encrypt_eea1" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010306 "test_secu_knas_encrypt_eea2" "" "" "" "test_secu_knas_encrypt_eea2" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010307 "test_secu_knas_encrypt_eia1" "" "" "" "test_secu_knas_encrypt_eia1" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010308 "test_secu_knas_encrypt_eia2" "" "" "" "test_secu_knas_encrypt_eia2" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fataln" 3
|
||||
|
||||
search_array=("finished with 0 errors")
|
||||
test_compile_and_run 010309 "test_kdf" "" "" "" "test_kdf" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
|
||||
|
||||
#TODO: Add test cases for 10,20 MHz
|
||||
#TODO: Test and compile seperately for Rel8/Rel10
|
||||
|
||||
|
||||
#test_compile_and_run 0200 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O /home/calisson/rohit/oai_snav/taets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u1 -a " "RRC_CONN" 3
|
||||
|
||||
#run_test 0200 "$dbin/oaisim.r8 -a -A AWGN -n 100" false grep -q '(Segmentation.fault)|(Exiting)|(FATAL)'
|
||||
|
||||
#run_test 0201 "$dbin/oaisim.r8 -a -A AWGN -n 100" false fgrep -q '[E]'
|
||||
|
||||
# write the test results into a file
|
||||
|
||||
xUnit_write "$results_file"
|
||||
|
||||
echo "Test Results are written to $results_file"
|
||||
|
||||
Executable
+587
@@ -0,0 +1,587 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
#
|
||||
# Copyright (c) 2015, EURECOM (www.eurecom.fr)
|
||||
# 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 COPYRIGHT HOLDERS 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 COPYRIGHT OWNER 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.
|
||||
#
|
||||
# The views and conclusions contained in the software and documentation are those
|
||||
# of the authors and should not be interpreted as representing official policies,
|
||||
# either expressed or implied, of the FreeBSD Project.
|
||||
#
|
||||
################################################################################
|
||||
# file build_oai
|
||||
# brief OAI automated build tool that can be used to install, compile, run OAI.
|
||||
# author Navid Nikaein, Lionel GAUTHIER, Laurent Thomas
|
||||
|
||||
|
||||
################################
|
||||
# include helper functions
|
||||
################################
|
||||
ORIGIN_PATH=$PWD
|
||||
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
|
||||
source $THIS_SCRIPT_PATH/tools/build_helper
|
||||
|
||||
MSC_GEN="False"
|
||||
XFORMS="False"
|
||||
PRINT_STATS="False"
|
||||
VCD_TIMING="False"
|
||||
REL="Rel10"
|
||||
HW="EXMIMO"
|
||||
NOS1=0
|
||||
EPC=0
|
||||
VERBOSE_COMPILE=0
|
||||
CFLAGS_PROCESSOR_USER=""
|
||||
|
||||
function print_help() {
|
||||
echo_info '
|
||||
This program installs OpenAirInterface Software
|
||||
You should have ubuntu 14.xx, updated, and the Linux kernel >= 3.14
|
||||
Options
|
||||
-h
|
||||
This help
|
||||
-c | --clean
|
||||
Erase all files to make a rebuild from start"
|
||||
-C | --clean-all
|
||||
Erase all files made by previous compilations, installations"
|
||||
--clean-kernel
|
||||
Erase previously installed features in kernel: iptables, drivers, ...
|
||||
-I | --install-external-packages
|
||||
Installs required packages such as LibXML, asn1.1 compiler, freediameter, ...
|
||||
This option will require root password
|
||||
--install-optional-packages
|
||||
Install useful but not mandatory packages such as valgrind
|
||||
-g | --run-with-gdb
|
||||
Add debugging symbols to compilation directives
|
||||
-h | --help
|
||||
Print this help
|
||||
--eNB
|
||||
Makes the LTE softmodem
|
||||
--UE
|
||||
Makes the UE specific parts (ue_ip, usim, nvram)
|
||||
--EPC
|
||||
Makes the EPC (MME-SPGW, HSS)
|
||||
--RRH
|
||||
Makes the RRH
|
||||
-r | --3gpp-release
|
||||
default is Rel10,
|
||||
Rel8 limits the implementation to 3GPP Release 8 version
|
||||
-w | --hardware
|
||||
EXMIMO (Default), USRP, BLADERF, ETHERNET, None
|
||||
Adds this RF board support (in external packages installation and in compilation)
|
||||
--oaisim
|
||||
Makes the oaisim simulator. Hardware will be defaulted to "NONE".
|
||||
--phy_simulators
|
||||
Makes the unitary tests Layer 1 simulators
|
||||
--core_simulators
|
||||
Makes the core security features unitary simulators
|
||||
-s | --check
|
||||
runs a set of auto-tests based on simulators and several compilation tests
|
||||
-V | --vcd
|
||||
Adds a debgging facility to the binary files: GUI with major internal synchronization events
|
||||
-x | --xforms
|
||||
Adds a software oscilloscope feature to the produced binaries. If oaisim, then enable PRINT_STATS.
|
||||
--install-system-files
|
||||
Install OpenArInterface required files in Linux system
|
||||
(will ask root password)
|
||||
--noS1
|
||||
Compiles oaisim or lte-softmodem without S1 interface, using direct link to IP instead
|
||||
--verbose-compile
|
||||
Shows detailed compilation instructions in makefile
|
||||
--cflags_processor
|
||||
Manually Add CFLAGS of processor if they are not detected correctly by script. Only add these flags if you know your processor supports them. Example flags: -msse3 -msse4.1 -msse4.2 -mavx2
|
||||
|
||||
Usage (first build):
|
||||
oaisim (eNB + UE): ./build_oai -I -g --oaisim -x --install-system-files
|
||||
Eurecom EXMIMO + COTS UE : ./build_oai -I -g --eNB --EPC -x --install-system-files
|
||||
NI/ETTUS B201 + COTS UE : ./build_oai -I -g --eNB --EPC -x --install-system-files -w USRP
|
||||
Usage (Regular):
|
||||
oaisim : ./build_oai --oaisim -x
|
||||
Eurecom EXMIMO + OAI ENB : ./build_oai --eNB -x
|
||||
NI/ETTUS B201 + OAI ENB : ./build_oai --eNB -x -w USRP'
|
||||
}
|
||||
|
||||
|
||||
function main() {
|
||||
until [ -z "$1" ]
|
||||
do
|
||||
case "$1" in
|
||||
-c | --clean)
|
||||
CLEAN=1
|
||||
shift;;
|
||||
-C | --clean-all)
|
||||
CLEAN_ALL=1
|
||||
shift;;
|
||||
--clean-kernel)
|
||||
clean_kernel
|
||||
echo_info "Erased iptables config and removed modules from kernel"
|
||||
shift;;
|
||||
-I | --install-external-packages)
|
||||
INSTALL_EXTERNAL=1
|
||||
echo_info "Will install external packages"
|
||||
shift;;
|
||||
--install-optional-packages)
|
||||
INSTALL_OPTIONAL=1
|
||||
echo_info "Will install optional packages"
|
||||
shift;;
|
||||
-g | --run-with-gdb)
|
||||
GDB=1
|
||||
echo_info "Will Compile with gdb symbols"
|
||||
shift;;
|
||||
--eNB)
|
||||
eNB=1
|
||||
echo_info "Will compile eNB"
|
||||
shift;;
|
||||
--UE)
|
||||
UE=1
|
||||
echo_info "Will compile UE"
|
||||
shift;;
|
||||
--EPC)
|
||||
EPC=1
|
||||
echo_info "Will compile EPC"
|
||||
shift;;
|
||||
--RRH)
|
||||
RRH=1
|
||||
echo_info "Will compile RRH"
|
||||
shift;;
|
||||
-r | --3gpp-release)
|
||||
REL=$2
|
||||
echo_info "setting release to: $REL"
|
||||
shift 2;;
|
||||
-w | --hardware)
|
||||
HW="$2" #"${i#*=}"
|
||||
# Use OAI_USRP as the key word USRP is used inside UHD driver
|
||||
if [ "$HW" == "USRP" ] ; then
|
||||
HW="OAI_USRP"
|
||||
fi
|
||||
if [ "$HW" == "BLADERF" ] ; then
|
||||
HW="OAI_BLADERF"
|
||||
fi
|
||||
echo_info "setting hardware to: $HW"
|
||||
shift 2;;
|
||||
--oaisim)
|
||||
oaisim=1
|
||||
echo_info "Will compile oaisim and drivers nasmesh, ..."
|
||||
shift;;
|
||||
--phy_simulators)
|
||||
SIMUS_PHY=1
|
||||
echo_info "Will compile dlsim, ulsim, ..."
|
||||
shift;;
|
||||
--core_simulators)
|
||||
SIMUS_CORE=1
|
||||
echo_info "Will compile security unitary tests"
|
||||
shift;;
|
||||
-s | --check)
|
||||
OAI_TEST=1
|
||||
echo_info "Will run auto-tests"
|
||||
shift;;
|
||||
-V | --vcd)
|
||||
echo_info "setting gtk-wave output"
|
||||
VCD_TIMING=1
|
||||
EXE_ARGUMENTS="$EXE_ARGUMENTS -V"
|
||||
shift;;
|
||||
-x | --xforms)
|
||||
XFORMS="True"
|
||||
EXE_ARGUMENTS="$EXE_ARGUMENTS -d"
|
||||
echo_info "Will generate the software oscilloscope features"
|
||||
shift;;
|
||||
--install-system-files)
|
||||
INSTALL_SYSTEM_FILES=1
|
||||
echo_info "Will copy OpenAirInterface files in Linux directories"
|
||||
shift;;
|
||||
--noS1)
|
||||
NOS1=1
|
||||
echo_info "Will compile without S1 interface"
|
||||
shift;;
|
||||
--verbose-compile)
|
||||
VERBOSE_COMPILE=1
|
||||
echo_info "Will compile with verbose instructions"
|
||||
shift;;
|
||||
--cflags_processor)
|
||||
CFLAGS_PROCESSOR_USER=$2
|
||||
echo_info "setting CPU FLAGS from USER to: $CFLAGS_PROCESSOR_USER"
|
||||
shift 2;;
|
||||
-h | --help)
|
||||
print_help
|
||||
exit 1;;
|
||||
*)
|
||||
print_help
|
||||
echo_fatal "Unknown option $1"
|
||||
break;;
|
||||
esac
|
||||
done
|
||||
|
||||
############################################
|
||||
# setting and printing OAI envs, we should check here
|
||||
############################################
|
||||
|
||||
echo_info "2. Setting the OAI PATHS ..."
|
||||
|
||||
set_openair_env
|
||||
cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
|
||||
|
||||
# for conf files copy in this bash script
|
||||
if [ -d /usr/lib/freeDiameter ]; then
|
||||
export FREEDIAMETER_PREFIX=/usr
|
||||
else
|
||||
if [ -d /usr/local/lib/freeDiameter ]; then
|
||||
export FREEDIAMETER_PREFIX=/usr/local
|
||||
else
|
||||
echo_warning "FreeDiameter prefix not found, install freeDiameter if EPC, HSS"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [ "$CLEAN_ALL" = "1" ] ; then
|
||||
clean_all_files
|
||||
echo_info "Erased all previously producted files"
|
||||
fi
|
||||
|
||||
dbin=$OPENAIR_DIR/targets/bin
|
||||
dlog=$OPENAIR_DIR/cmake_targets/log
|
||||
mkdir -p $dbin $dlog
|
||||
|
||||
if [ "$INSTALL_EXTERNAL" = "1" ] ; then
|
||||
echo_info "Installing packages"
|
||||
check_install_oai_software
|
||||
if [ "$HW" == "OAI_USRP" ] ; then
|
||||
echo_info "installing packages for USRP support"
|
||||
check_install_usrp_uhd_driver
|
||||
fi
|
||||
if [ "$HW" == "OAI_BLADERF" ] ; then
|
||||
echo_info "installing packages for BALDERF support"
|
||||
check_install_bladerf_driver
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [ "$INSTALL_OPTIONAL" = "1" ] ; then
|
||||
echo_info "Installing optional packages"
|
||||
check_install_additional_tools
|
||||
fi
|
||||
|
||||
if [ "$oaisim" = "1" ] ; then
|
||||
if [ "$HW" != "ETHERNET" ] ; then
|
||||
HW="NONE"
|
||||
fi
|
||||
if [ "$XFORMS" == "True" ] ; then
|
||||
PRINT_STATS="True"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
echo_info "3. building the compilation directives ..."
|
||||
|
||||
DIR=$OPENAIR_DIR/cmake_targets
|
||||
if [ "$NOS1" = "1" ] ; then
|
||||
lte_build_dir=lte_noS1_build_oai
|
||||
lte_exec=lte-softmodem-nos1
|
||||
else
|
||||
lte_build_dir=lte_build_oai
|
||||
lte_exec=lte-softmodem
|
||||
fi
|
||||
|
||||
# first generate the CMakefile in the right directory
|
||||
if [ "$eNB" = "1" -o "$UE" = "1" -o "$HW" = "EXMIMO" ] ; then
|
||||
|
||||
# LTE softmodem compilation
|
||||
[ "$CLEAN" = "1" ] && rm -rf $DIR/$lte_build_dir/build
|
||||
mkdir -p $DIR/$lte_build_dir/build
|
||||
cmake_file=$DIR/$lte_build_dir/CMakeLists.txt
|
||||
echo "cmake_minimum_required(VERSION 2.8)" > $cmake_file
|
||||
if [ "$NOS1" = "1" ] ; then
|
||||
cat $DIR/$lte_build_dir/CMakeLists.template >> $cmake_file
|
||||
fi
|
||||
echo "set ( CFLAGS_PROCESSOR_USER \"$CFLAGS_PROCESSOR_USER\" )" >> $cmake_file
|
||||
echo "set ( XFORMS $XFORMS )" >> $cmake_file
|
||||
echo "set ( RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file
|
||||
echo "set ( ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
|
||||
echo "set ( RF_BOARD \"${HW}\")" >> $cmake_file
|
||||
echo "set(PACKAGE_NAME \"${lte_exec}\")" >> $cmake_file
|
||||
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
|
||||
cd $DIR/$lte_build_dir/build
|
||||
cmake ..
|
||||
fi
|
||||
|
||||
if [ "$eNB" = "1" -o "$UE" = "1" ] ; then
|
||||
echo_info "Compiling $lte_exec"
|
||||
compilations \
|
||||
$lte_build_dir $lte_exec \
|
||||
$lte_exec $dbin/$lte_exec.$REL
|
||||
|
||||
if [ "$NOS1" = "1" ] ; then
|
||||
compilations \
|
||||
$lte_build_dir nasmesh \
|
||||
CMakeFiles/nasmesh/nasmesh.ko $dbin/nasmesh.ko
|
||||
compilations \
|
||||
$lte_build_dir rb_tool \
|
||||
rb_tool $dbin/rb_tool
|
||||
cp $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $dbin
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$UE" = 1 -a "$NOS1" = "0" ] ; then
|
||||
# ue_ip driver compilation
|
||||
echo_info "Compiling UE specific part"
|
||||
compilations \
|
||||
$lte_build_dir ue_ip \
|
||||
CMakeFiles/ue_ip/ue_ip.ko $dbin/ue_ip.ko
|
||||
|
||||
# mkdir -p $DIR/at_commands/build
|
||||
# cd $DIR/at_commands/build
|
||||
# cmake ..
|
||||
# compilations \
|
||||
# at_commands at_nas_ue \
|
||||
# at_nas_ue $dbin/at_nas_ue
|
||||
|
||||
[ "$CLEAN" = "1" ] && rm -rf $DIR/nas_sim_tools/build
|
||||
mkdir -p $DIR/nas_sim_tools/build
|
||||
cd $DIR/nas_sim_tools/build
|
||||
|
||||
cmake ..
|
||||
compilations \
|
||||
nas_sim_tools usim \
|
||||
usim $dbin/usim
|
||||
compilations \
|
||||
nas_sim_tools nvram \
|
||||
nvram $dbin/nvram
|
||||
|
||||
# generate USIM data
|
||||
if [ -f $dbin/nvram ]; then
|
||||
install_nas_tools $dbin $dconf
|
||||
else
|
||||
echo_warning "not generated UE NAS files: binaries not found"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$SIMUS_PHY" = "1" -o "$SIMUS_CORE" = "1" ] ; then
|
||||
cd $OPENAIR_DIR/cmake_targets/lte-simulators
|
||||
[ "$CLEAN" = "1" ] && rm -rf build
|
||||
mkdir -p build
|
||||
cd build
|
||||
rm -f *sim
|
||||
cmake ..
|
||||
fi
|
||||
|
||||
if [ "$SIMUS_PHY" = "1" ] ; then
|
||||
# lte unitary simulators compilation
|
||||
echo_info "Compiling unitary tests simulators"
|
||||
simlist="dlsim ulsim pucchsim prachsim pdcchsim pbchsim mbmssim"
|
||||
for f in $simlist ; do
|
||||
compilations \
|
||||
lte-simulators $f \
|
||||
$f $dbin/$f.$REL
|
||||
done
|
||||
fi
|
||||
|
||||
# Core simulators
|
||||
#############
|
||||
if [ "$SIMUS_CORE" = "1" ] ; then
|
||||
# lte unitary simulators compilation
|
||||
echo_info "Compiling unitary tests simulators"
|
||||
simlist="secu_knas_encrypt_eia1 secu_kenb aes128_ctr_encrypt aes128_ctr_decrypt secu_knas_encrypt_eea2 secu_knas secu_knas_encrypt_eea1 kdf aes128_cmac_encrypt secu_knas_encrypt_eia2"
|
||||
for f in $simlist ; do
|
||||
compilations \
|
||||
lte-simulators test_$f \
|
||||
test_$f $dbin/test_$f.$REL
|
||||
done
|
||||
fi
|
||||
|
||||
# EXMIMO drivers & firmware loader
|
||||
###############
|
||||
if [ "$HW" = "EXMIMO" -a "$EPC" = "0" ] ; then
|
||||
|
||||
echo_info "Compiling Express MIMO 2 board drivers"
|
||||
compilations \
|
||||
$lte_build_dir openair_rf \
|
||||
CMakeFiles/openair_rf/openair_rf.ko $dbin/openair_rf.ko
|
||||
compilations \
|
||||
$lte_build_dir updatefw \
|
||||
updatefw $dbin/updatefw
|
||||
make -C $OPENAIR_DIR/cmake_targets/$lte_build_dir/build oarf > $dlog/oarf.txt 2>&1
|
||||
cp $OPENAIR_DIR/cmake_targets/$lte_build_dir/build/*.oct $dbin
|
||||
if [ -s $dbin/oarf_config_exmimo.oct ] ; then
|
||||
echo_success "oarf tools compiled"
|
||||
else
|
||||
echo_error "oarf tools compilation failed"
|
||||
fi
|
||||
cp $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 $dbin
|
||||
fi
|
||||
|
||||
if [ "$oaisim" = "1" ] ; then
|
||||
dconf=$OPENAIR_DIR/targets/bin
|
||||
if [ "$NOS1" = "1" ] ; then
|
||||
oaisim_build_dir=oaisim_noS1_build_oai
|
||||
oaisim_exec=oaisim_nos1
|
||||
else
|
||||
oaisim_build_dir=oaisim_build_oai
|
||||
oaisim_exec=oaisim
|
||||
fi
|
||||
|
||||
echo_info "Compiling $oaisim_exec ($oaisim_build_dir)"
|
||||
cmake_file=$DIR/$oaisim_build_dir/CMakeLists.txt
|
||||
cp $DIR/$oaisim_build_dir/CMakeLists.template $cmake_file
|
||||
echo "set ( CFLAGS_PROCESSOR_USER \"$CFLAGS_PROCESSOR_USER\" )" >> $cmake_file
|
||||
echo "set ( XFORMS $XFORMS )" >> $cmake_file
|
||||
echo "set ( PRINT_STATS $PRINT_STATS )" >> $cmake_file
|
||||
echo "set ( RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file
|
||||
echo "set ( ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
|
||||
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
|
||||
[ "$CLEAN" = "1" ] && rm -rf $DIR/$oaisim_build_dir/build
|
||||
mkdir -p $DIR/$oaisim_build_dir/build
|
||||
cd $DIR/$oaisim_build_dir/build
|
||||
cmake ..
|
||||
compilations \
|
||||
$oaisim_build_dir $oaisim_exec \
|
||||
$oaisim_exec $dbin/$oaisim_exec.$REL
|
||||
|
||||
if [ "$NOS1" != "1" ] ; then
|
||||
|
||||
[ "$CLEAN" = "1" ] && rm -rf $DIR/at_commands/build
|
||||
echo_info "Compiling at_nas_ue"
|
||||
mkdir -p $DIR/at_commands/build
|
||||
cd $DIR/at_commands/build
|
||||
cmake ..
|
||||
compilations \
|
||||
at_commands at_nas_ue \
|
||||
at_nas_ue $dbin/at_nas_ue
|
||||
|
||||
# ue_ip driver compilation
|
||||
echo_info "Compiling UE specific part (ue_ip driver and usim tools)"
|
||||
compilations \
|
||||
oaisim_build_oai ue_ip \
|
||||
CMakeFiles/ue_ip/ue_ip.ko $dbin/ue_ip.ko
|
||||
|
||||
[ "$CLEAN" = "1" ] && rm -rf $DIR/nas_sim_tools/build
|
||||
mkdir -p $DIR/nas_sim_tools/build
|
||||
cd $DIR/nas_sim_tools/build
|
||||
cmake ..
|
||||
compilations \
|
||||
nas_sim_tools usim \
|
||||
usim $dbin/usim
|
||||
compilations \
|
||||
nas_sim_tools nvram \
|
||||
nvram $dbin/nvram
|
||||
|
||||
# generate USIM data
|
||||
if [ -f $dbin/nvram ]; then
|
||||
install_nas_tools $dbin $dconf
|
||||
else
|
||||
echo_warning "not generated UE NAS files: binaries not found"
|
||||
fi
|
||||
else
|
||||
|
||||
compilations \
|
||||
$oaisim_build_dir rb_tool \
|
||||
rb_tool $dbin/rb_tool
|
||||
|
||||
# nasmesh driver compilation
|
||||
compilations \
|
||||
$oaisim_build_dir nasmesh \
|
||||
CMakeFiles/nasmesh/nasmesh.ko $dbin/nasmesh.ko
|
||||
|
||||
#oai_nw_drv
|
||||
compilations \
|
||||
$oaisim_build_dir oai_nw_drv \
|
||||
CMakeFiles/oai_nw_drv/oai_nw_drv.ko $dbin/oai_nw_drv.ko
|
||||
fi
|
||||
|
||||
cmake_file=$DIR/oaisim_mme_build_oai/CMakeLists.txt
|
||||
cp $DIR/oaisim_mme_build_oai/CMakeLists.template $cmake_file
|
||||
echo "set(XFORMS $XFORMS )" >> $cmake_file
|
||||
echo "set(RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file
|
||||
echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
|
||||
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
|
||||
#[ "$CLEAN" = "1" ] && rm -rf $DIR/oaisim_mme_build_oai/build
|
||||
#mkdir -p $DIR/oaisim_mme_build_oai/build
|
||||
#cd $DIR/oaisim_mme_build_oai/build
|
||||
#cmake ..
|
||||
#compilations \
|
||||
# oaisim_mme_build_oai oaisim_mme \
|
||||
# oaisim_mme $dbin/oaisim_mme.$REL
|
||||
fi
|
||||
|
||||
# RRH compilation
|
||||
##################
|
||||
if [ "$RRH" = "1" ] ; then
|
||||
echo_info "Compiling RRH"
|
||||
if [ $HW == "ETHERNET" ] ; then
|
||||
echo_info "RF frontend for RRH is not defined. This mode is used for testing (loopback)."
|
||||
elif [ $HW != "EXMIMO" -a $HW != "OAI_USRP" -a $HW != "OAI_BLADERF" ] ; then
|
||||
echo_fatal "Hardware not defined ($HW)"
|
||||
fi
|
||||
cmake_file=$DIR/rrh_gw/CMakeLists.txt
|
||||
echo "cmake_minimum_required(VERSION 2.8)" > $cmake_file
|
||||
echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
|
||||
echo "set(ENABLE_ITTI False )" >> $cmake_file
|
||||
echo "set(RF_BOARD \"${HW}\")" >> $cmake_file
|
||||
echo 'set(PACKAGE_NAME "\"rrh_gw\"")' >> $cmake_file
|
||||
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
|
||||
|
||||
[ "$CLEAN" = "1" ] && rm -rf $DIR/rrh_gw/build
|
||||
mkdir -p $DIR/rrh_gw/build
|
||||
cd $DIR/rrh_gw/build
|
||||
cmake ..
|
||||
compilations \
|
||||
rrh_gw rrh_gw \
|
||||
rrh_gw $dbin/rrh_gw
|
||||
fi
|
||||
|
||||
# EPC compilation
|
||||
##################
|
||||
if [ "$EPC" = "1" ] ; then
|
||||
echo_info "Compiling EPC"
|
||||
# Example HSS and EPC run on the same host
|
||||
if [ "$CLEAN" = "1" ]; then
|
||||
$OPENAIR_DIR/cmake_targets/tools/build_epc --clean --debug --transport-tcp-only --transport-prefer-tcp --s6a-server
|
||||
$OPENAIR_DIR/cmake_targets/tools/build_hss --clean --debug --transport-tcp-only --transport-prefer-tcp --fqdn `hostname --fqdn` --connect-to-mme `hostname --fqdn`
|
||||
else
|
||||
$OPENAIR_DIR/cmake_targets/tools/build_epc --debug --transport-tcp-only --transport-prefer-tcp --s6a-server
|
||||
$OPENAIR_DIR/cmake_targets/tools/build_hss --debug --transport-tcp-only --transport-prefer-tcp --fqdn `hostname --fqdn` --connect-to-mme `hostname --fqdn`
|
||||
fi
|
||||
|
||||
# if [ "$INSTALL_SYSTEM_FILES" = "1" ] ;then
|
||||
# if [ -f $dbin/hss.conf ] ; then
|
||||
# sed -e 's/ *= */=/' $dbin/hss.conf > $dconf/hss.conf.nospace
|
||||
# source $dconf/hss.conf.nospace
|
||||
# rm -f $dconf/hss.conf.nospace
|
||||
# create_hss_database root linux "$MYSQL_user" "$MYSQL_pass" "$MYSQL_db"
|
||||
# else
|
||||
# echo_warning "not created HSS database: config not found"
|
||||
# fi
|
||||
# fi
|
||||
fi
|
||||
|
||||
# Auto-tests
|
||||
#####################
|
||||
if [ "$OAI_TEST" = "1" ]; then
|
||||
echo_info "10. Running OAI pre commit tests (pre-ci) ..."
|
||||
rm -fr $OPENAIR_DIR/cmake_targets/autotests/log
|
||||
mkdir -p $OPENAIR_DIR/cmake_targets/autotests/log
|
||||
$OPENAIR_DIR/cmake_targets/autotests/run_compilation_autotests.bash
|
||||
$OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash
|
||||
else
|
||||
echo_info "10. Bypassing the Tests ..."
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,588 +0,0 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
# OpenAirInterface
|
||||
# Copyright(c) 1999 - 2014 Eurecom
|
||||
#
|
||||
# OpenAirInterface 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) anylater version.
|
||||
#
|
||||
#
|
||||
# OpenAirInterface 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 OpenAirInterface.The full GNU General Public License is
|
||||
# included in this distribution in the file called "COPYING". If not,
|
||||
# see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Contact Information
|
||||
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||
# OpenAirInterface Dev : openair4g-devel@eurecom.fr
|
||||
#
|
||||
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||
#
|
||||
################################################################################
|
||||
# file build_oai.bash
|
||||
# brief OAI automated build tool that can be used to install, compile, run OAI.
|
||||
# author Navid Nikaein, Lionel GAUTHIER, Laurent Thomas
|
||||
|
||||
|
||||
################################
|
||||
# include helper functions
|
||||
################################
|
||||
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
|
||||
source $THIS_SCRIPT_PATH/build_helper.bash
|
||||
|
||||
#EMULATION_DEV_INTERFACE="eth0"
|
||||
#EMULATION_MULTICAST_GROUP=1
|
||||
#EMULATION_DEV_ADDRESS=`ifconfig $EMULATION_DEV_INTERFACE | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`
|
||||
|
||||
TARGET="ALL"
|
||||
XFORMS="False"
|
||||
VCD_TIMING="False"
|
||||
REL="Rel10"
|
||||
HW="EXMIMO"
|
||||
|
||||
until [ -z "$1" ]
|
||||
do
|
||||
case "$1" in
|
||||
-c | --clean)
|
||||
CLEAN=1
|
||||
echo "Will re-compile ALL"
|
||||
shift;
|
||||
;;
|
||||
--clean-iptables)
|
||||
CLEAN_IPTABLES=1;
|
||||
shift;
|
||||
;;
|
||||
-C | --config-file)
|
||||
CONFIG_FILE=$2
|
||||
# may be relative path
|
||||
if [ -f $(dirname $(readlink -f $0))/$CONFIG_FILE ]; then
|
||||
CONFIG_FILE=$(dirname $(readlink -f $0))/$CONFIG_FILE
|
||||
echo "setting config file to: $CONFIG_FILE"
|
||||
CONFIG_FILE_ACCESS_OK=1
|
||||
else
|
||||
# may be absolute path
|
||||
if [ -f $CONFIG_FILE ]; then
|
||||
echo "setting config file to: $CONFIG_FILE"
|
||||
CONFIG_FILE_ACCESS_OK=1
|
||||
else
|
||||
echo "config file not found"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
shift 2;
|
||||
;;
|
||||
-D | --disable-check-installed-software)
|
||||
DISABLE_CHECK_INSTALLED_SOFTWARE=1
|
||||
echo "disable check installed software"
|
||||
shift;
|
||||
;;
|
||||
-g | --run-with-gdb)
|
||||
GDB=1
|
||||
echo "Running with gdb"
|
||||
shift;
|
||||
;;
|
||||
-K | --itti-dump-file)
|
||||
ITTI_ANALYZER=1
|
||||
ITTI_DUMP_FILE=$2
|
||||
echo "setting ITTI dump file to: $ITTI_DUMP_FILE"
|
||||
EXE_ARGUMENTS="$EXE_ARGUMENTS -K $ITTI_DUMP_FILE"
|
||||
shift 2;
|
||||
;;
|
||||
-l | --build-target)
|
||||
TARGET=$2
|
||||
echo "setting top-level build target to: $2"
|
||||
shift 2;
|
||||
;;
|
||||
-h | --help)
|
||||
print_help
|
||||
exit 1
|
||||
;;
|
||||
-r | --3gpp-release)
|
||||
REL=$2
|
||||
echo "setting release to: $REL"
|
||||
shift 2 ;
|
||||
;;
|
||||
-s | --check)
|
||||
OAI_TEST=1
|
||||
echo "setting sanity check to: $OAI_TEST"
|
||||
shift;
|
||||
;;
|
||||
-V | --vcd)
|
||||
echo "setting gtk-wave output"
|
||||
VCD_TIMING=1
|
||||
EXE_ARGUMENTS="$EXE_ARGUMENTS -V"
|
||||
shift ;
|
||||
;;
|
||||
-w | --hardware)
|
||||
HW="$2" #"${i#*=}"
|
||||
echo "setting hardware to: $HW"
|
||||
shift 2 ;
|
||||
;;
|
||||
-x | --xforms)
|
||||
XFORMS=1
|
||||
EXE_ARGUMENTS="$EXE_ARGUMENTS -d"
|
||||
echo "setting xforms to: $XFORMS"
|
||||
shift;
|
||||
;;
|
||||
*)
|
||||
echo "Unknown option $1"
|
||||
break ;
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
################################
|
||||
# cleanup first
|
||||
################################
|
||||
echo_info "1. Cleaning ..."
|
||||
|
||||
if [ "$CLEAN_IPTABLES" == "1" ] ; then
|
||||
echo_info "Flushing iptables..."
|
||||
$SUDO modprobe ip_tables
|
||||
$SUDO modprobe x_tables
|
||||
$SUDO iptables -P INPUT ACCEPT
|
||||
$SUDO iptables -F INPUT
|
||||
$SUDO iptables -P OUTPUT ACCEPT
|
||||
$SUDO iptables -F OUTPUT
|
||||
$SUDO iptables -P FORWARD ACCEPT
|
||||
$SUDO iptables -F FORWARD
|
||||
$SUDO iptables -t nat -F
|
||||
$SUDO iptables -t mangle -F
|
||||
$SUDO iptables -t filter -F
|
||||
$SUDO iptables -t raw -F
|
||||
echo_info "Flushed iptables"
|
||||
fi
|
||||
|
||||
|
||||
############################################
|
||||
# setting and printing OAI envs, we should check here
|
||||
############################################
|
||||
|
||||
echo_info "2. Setting the OAI PATHS ..."
|
||||
|
||||
set_openair_env
|
||||
cecho "OPENAIR_HOME = $OPENAIR_HOME" $green
|
||||
cecho "OPENAIR1_DIR = $OPENAIR1_DIR" $green
|
||||
cecho "OPENAIR2_DIR = $OPENAIR2_DIR" $green
|
||||
cecho "OPENAIR3_DIR = $OPENAIR3_DIR" $green
|
||||
cecho "OPENAIRCN_DIR = $OPENAIRCN_DIR" $green
|
||||
cecho "OPENAIR_TARGETS = $OPENAIR_TARGETS" $green
|
||||
|
||||
dbin=$OPENAIR_HOME/cmake_targets/bin
|
||||
dlog=$OPENAIR_HOME/cmake_targets/log
|
||||
|
||||
if [ "$CLEAN" == "1" ] ; then
|
||||
rm -rf $OPENAIR_DIR/cmake_targets/*/build $dbin $dlog
|
||||
echo_info "deleted all compilation results"
|
||||
fi
|
||||
mkdir -p $dbin $dlog
|
||||
|
||||
if [ "$DISABLE_CHECK_INSTALLED_SOFTWARE" != "1" ] ; then
|
||||
check_install_oai_software
|
||||
make_certs
|
||||
check_epc_s6a_certificate
|
||||
check_hss_s6a_certificate
|
||||
if [ "$HW" == "USRP" ] ; then
|
||||
check_install_usrp_uhd_driver
|
||||
fi
|
||||
fi
|
||||
|
||||
echo_info "3. building the compilation directives ..."
|
||||
|
||||
if [ "$TARGET" = "ALL" -o "$TARGET" = "SOFTMODEM" ] ; then
|
||||
DIR=$OPENAIR_HOME/cmake_targets
|
||||
|
||||
# LTE softmodem compilation
|
||||
mkdir -p $DIR/lte_build_oai
|
||||
cmake_file=$DIR/lte_build_oai/CMakeLists.txt
|
||||
echo "cmake_minimum_required(VERSION 2.8)" > $cmake_file
|
||||
echo "set(XFORMS $XFORMS )" >> $cmake_file
|
||||
echo "set(RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file
|
||||
echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
|
||||
echo "set(RF_BOARD \"${HW}\")" >> $cmake_file
|
||||
echo 'set(PACKAGE_NAME "lte-softmodem")' >> $cmake_file
|
||||
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
|
||||
|
||||
if compilations lte_build_oai lte-softmodem lte-softmodem $dbin/lte-softmodem.$REL \
|
||||
> $dlog/lte-softmodem.$REL.txt 2>&1 ; then
|
||||
echo_success "lte-softmodem compiled"
|
||||
else
|
||||
echo_error "lte-softmodem compilation failed"
|
||||
fi
|
||||
|
||||
# nasmesh driver compilation
|
||||
if compilations lte_build_oai nasmesh CMakeFiles/nasmesh/nasmesh.ko $dbin/nasmesk.ko \
|
||||
> $dlog/nasmesh.txt 2>&1 ; then
|
||||
echo_success "nasmesh driver compiled"
|
||||
else
|
||||
echo_error "nasmesh driver compilation failed"
|
||||
fi
|
||||
|
||||
# lte unitary simulators compilation
|
||||
simlist="dlsim ulsim pucchsim prachsim pdcchsim pbchsim mbmssim"
|
||||
log=$dlog/lte-simulators.log
|
||||
cd $OPENAIR_DIR/cmake_targets/lte-simulators
|
||||
mkdir -p build
|
||||
cd build
|
||||
rm -f *sim
|
||||
cmake .. > $log 2>&1
|
||||
make -j4 $simlist > $log 2>&1
|
||||
for f in $simlist ; do
|
||||
if [ -s $f ] ; then
|
||||
echo_success "$f compiled"
|
||||
cp $f $OPENAIR_DIR/cmake_targets/tests/bin
|
||||
else
|
||||
echo_error "$f compilation failed"
|
||||
fi
|
||||
done
|
||||
|
||||
# EXMIMO drivers & firmware loader
|
||||
if [ "$HW" = "EXMIMO" ] ; then
|
||||
if compilations lte_build_oai openair_rf CMakeFiles/openair_rf/openair_rf.ko $dbin/openair_rf.ko \
|
||||
> $dlog/openair_rf.txt 2>&1 ; then
|
||||
echo_success "EXMIMO driver compiled"
|
||||
else
|
||||
echo_error "EXMIMO driver compilation failed"
|
||||
fi
|
||||
if compilations lte_build_oai updatefw updatefw $dbin/updatefw \
|
||||
> $dlog/updatefw.txt 2>&1 ; then
|
||||
echo_success "EXMIMO firmware loader compiled"
|
||||
else
|
||||
echo_error "EXMIMO firmware loader compilation failed"
|
||||
fi
|
||||
fi
|
||||
|
||||
# TBD: oasim compilation
|
||||
cmake_file=$DIR/oaisim_build_oai/CMakeLists.txt
|
||||
cp $DIR/oaisim_build_oai/CMakeLists.template $cmake_file
|
||||
echo "set(XFORMS $XFORMS )" >> $cmake_file
|
||||
echo "set(RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file
|
||||
echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
|
||||
echo "set(RF_BOARD \"${HW}\")" >> $cmake_file
|
||||
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
|
||||
|
||||
if compilations oaisim_build_oai oaisim oaisim $dbin/oaisim.$REL \
|
||||
> $dlog/oaisim.$REL.txt 2>&1 ; then
|
||||
echo_success "oaisim compiled"
|
||||
else
|
||||
echo_error "oaisim compilation failed"
|
||||
fi
|
||||
|
||||
fi
|
||||
exit 0
|
||||
|
||||
build_epc(){
|
||||
|
||||
epc_compiled=1
|
||||
|
||||
echo_info "Note: this scripts tested only on Ubuntu 14.04x64"
|
||||
|
||||
######################################
|
||||
# CHECK MISC SOFTWARES AND LIBS #
|
||||
######################################
|
||||
if [ $DISABLE_CHECK_INSTALLED_SOFTWARE -eq 0 ]; then
|
||||
echo_info "4. Checking the the required softwares/packages for EPC..."
|
||||
|
||||
check_install_epc_software
|
||||
check_install_asn1c
|
||||
if [ $OAI_CLEAN -eq 1 ]; then
|
||||
check_install_freediamter
|
||||
else
|
||||
if [ ! -d /usr/local/etc/freeDiameter ]; then
|
||||
check_install_freediamter
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo_info "4. Not checking the required softwares/packages for EPC"
|
||||
fi
|
||||
|
||||
###########################################
|
||||
# configure and compile
|
||||
##########################################
|
||||
|
||||
echo_info "5. configure and compile epc"
|
||||
|
||||
output=$(compile_epc $OAI_CLEAN >> $OPENAIR_TARGETS/bin/install_log.txt 2>&1 )
|
||||
epc_compiled=$?
|
||||
if [ $epc_compiled -ne 0 ]; then
|
||||
echo_error "EPC compilation failed : check the installation log file bin/install_log.txt"
|
||||
exit 1
|
||||
fi
|
||||
check_for_epc_executable
|
||||
echo_info "finished epc target: check the installation log file bin/install_log.txt"
|
||||
|
||||
if [ $CONFIG_FILE_ACCESS_OK -eq 0 ]; then
|
||||
echo_error "You have to provide a EPC config file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TEMP_FILE=`tempfile`
|
||||
VARIABLES=" S6A_CONF\|\
|
||||
HSS_HOSTNAME\|\
|
||||
REALM"
|
||||
|
||||
VARIABLES=$(echo $VARIABLES | sed -e 's/\\r//g')
|
||||
VARIABLES=$(echo $VARIABLES | tr -d ' ')
|
||||
cat $CONFIG_FILE | grep -w "$VARIABLES"| tr -d " " | tr -d ";" > $TEMP_FILE
|
||||
source $TEMP_FILE
|
||||
rm -f $TEMP_FILE
|
||||
|
||||
if [ x"$REALM" == "x" ]; then
|
||||
echo_error "Your config file do not contain a REALM for S6A configuration"
|
||||
exit 1
|
||||
fi
|
||||
if [ x"$S6A_CONF" != "x./epc_s6a.conf" ]; then
|
||||
echo_error "Your config file do not contain the good path for the S6A config file,"
|
||||
echo_error "accordingly to what is done in this script, it should be set to epc_s6a.conf"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
check_epc_s6a_certificate $REALM
|
||||
|
||||
###########################################
|
||||
# install the binary in bin
|
||||
##########################################
|
||||
|
||||
echo_info "6. install the binary file"
|
||||
|
||||
if [ $epc_compiled -eq 0 ]; then
|
||||
echo_success "target epc built and installed in the bin directory"
|
||||
echo "target epc built and installed in the bin directory" >> bin/${oai_build_date}
|
||||
cp -f $CONFIG_FILE $OPENAIR_TARGETS/bin
|
||||
cp -f $OPENAIRCN_DIR/objs/UTILS/CONF/s6a.conf $OPENAIR_TARGETS/bin/epc_s6a.conf
|
||||
fi
|
||||
}
|
||||
|
||||
build_hss(){
|
||||
echo_info "Note: this script tested only for Ubuntu 12.04 x64 -> 14.04 x64"
|
||||
|
||||
######################################
|
||||
# CHECK MISC SOFTWARES AND LIBS #
|
||||
######################################
|
||||
if [ $DISABLE_CHECK_INSTALLED_SOFTWARE -eq 0 ]; then
|
||||
echo_info "4. check the required packages for HSS"
|
||||
check_install_hss_software
|
||||
if [ $OAI_CLEAN -eq 1 ]; then
|
||||
check_install_freediamter
|
||||
else
|
||||
if [ ! -d /usr/local/etc/freeDiameter ]; then
|
||||
check_install_freediamter
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo_info "4. Not checking the required packages for HSS"
|
||||
fi
|
||||
|
||||
|
||||
######################################
|
||||
# compile HSS #
|
||||
######################################
|
||||
echo_info "5. compile HSS"
|
||||
|
||||
# Bad behaviour of $OAI_CLEAN with ./.lock_oaibuild ...
|
||||
compile_hss $CLEAN_HSS
|
||||
hss_compiled=$?
|
||||
check_for_hss_executable
|
||||
echo_info "finished hss target"
|
||||
|
||||
######################################
|
||||
# Check certificates #
|
||||
######################################
|
||||
|
||||
TEMP_FILE=`tempfile`
|
||||
cat $OPENAIRCN_DIR/OPENAIRHSS/conf/hss_fd.conf | grep -w "Identity" | tr -d " " | tr -d ";" > $TEMP_FILE
|
||||
cat $OPENAIRCN_DIR/OPENAIRHSS/conf/hss.conf | grep -w "MYSQL_user" | tr -d " " | tr -d ";" >> $TEMP_FILE
|
||||
cat $OPENAIRCN_DIR/OPENAIRHSS/conf/hss.conf | grep -w "MYSQL_pass" | tr -d " " | tr -d ";" >> $TEMP_FILE
|
||||
cat $OPENAIRCN_DIR/OPENAIRHSS/conf/hss.conf | grep -w "MYSQL_db" | tr -d " " | tr -d ";" >> $TEMP_FILE
|
||||
source $TEMP_FILE
|
||||
rm -f $TEMP_FILE
|
||||
|
||||
if [ x"$Identity" == "x" ]; then
|
||||
echo_error "Your config file do not contain a host identity for S6A configuration"
|
||||
exit 1
|
||||
fi
|
||||
HSS_REALM=$(echo $Identity | sed 's/.*\.//')
|
||||
HSS_HOSTNAME=${Identity%.$HSS_REALM}
|
||||
NEW_HOSTNAME=`hostname -s`
|
||||
if [ "x$HSS_HOSTNAME" != "x$NEW_HOSTNAME" ]; then
|
||||
echo_warning "Changing identity of HSS from <$HSS_HOSTNAME.$HSS_REALM> to <$NEW_HOSTNAME.$HSS_REALM>"
|
||||
sed -ibak "s/$HSS_HOSTNAME/$NEW_HOSTNAME/" $OPENAIRCN_DIR/OPENAIRHSS/conf/hss_fd.conf
|
||||
fi
|
||||
check_hss_s6a_certificate $HSS_REALM
|
||||
|
||||
######################################
|
||||
# fill the HSS DB
|
||||
######################################
|
||||
echo_info "6. create HSS database (for EURECOM SIM CARDS)"
|
||||
hss_db_created=1
|
||||
create_hss_database $OAI_DB_ADMIN_USER_NAME $OAI_DB_ADMIN_USER_PASSWORD $MYSQL_user $MYSQL_pass $MYSQL_db
|
||||
if [ $? -eq 1 ]; then
|
||||
echo_fatal "hss DB not created"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
echo_info "3. set the top-level build target"
|
||||
case "$BUILD_LTE" in
|
||||
'ENB')
|
||||
echo_success "build LTE eNB"
|
||||
build_enb
|
||||
;;
|
||||
'EPC')
|
||||
echo_success "build EPC(MME and xGW)"
|
||||
build_epc
|
||||
;;
|
||||
'HSS')
|
||||
echo_success "build HSS"
|
||||
build_hss
|
||||
;;
|
||||
'NONE')
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# Additional operation
|
||||
|
||||
############################################
|
||||
# Generate doxygen documentation
|
||||
############################################
|
||||
|
||||
if [ $DOXYGEN = 1 ]; then
|
||||
echo_info "9. Generate doxygen documentation ..."
|
||||
doxygen $OPENAIR_TARGETS/DOCS/Doxyfile
|
||||
echo_info "9.1 use your navigator to open $OPENAIR_TARGETS/DOCS/html/index.html "
|
||||
else
|
||||
echo_info "9. Bypassing doxygen documentation ..."
|
||||
fi
|
||||
|
||||
|
||||
############################################
|
||||
# testing
|
||||
############################################
|
||||
|
||||
if [ $OAI_TEST -eq 1 ]; then
|
||||
echo_info "10. Running OAI pre commit tests (pre-ci) ..."
|
||||
python $OPENAIR_TARGETS/TEST/OAI/test01.py -l
|
||||
else
|
||||
echo_info "10. Bypassing the Tests ..."
|
||||
fi
|
||||
|
||||
############################################
|
||||
# run
|
||||
############################################
|
||||
|
||||
if [ $RUN -ne 0 ]; then
|
||||
echo_info "11. Running ..."
|
||||
cd $OPENAIR_TARGETS/bin
|
||||
case "$BUILD_LTE" in
|
||||
'ENB')
|
||||
if [ $TARGET == "SOFTMODEM" ]; then
|
||||
if [ $HW == "EXMIMO" ]; then
|
||||
$SUDO chmod 777 $OPENAIR_TARGETS/RT/USER/init_exmimo2.sh
|
||||
$SUDO $OPENAIR_TARGETS/RT/USER/init_exmimo2.sh
|
||||
fi
|
||||
echo "############# running ltesoftmodem #############"
|
||||
if [ $RUN_GDB -eq 0 ]; then
|
||||
$SUDO $OPENAIR_TARGETS/bin/lte-softmodem `echo $EXE_ARGUMENTS`
|
||||
else
|
||||
$SUDO setenv MALLOC_CHECK_ 2
|
||||
$SUDO touch ~/.gdb_lte_softmodem
|
||||
$SUDO echo "file $OPENAIR_TARGETS/bin/lte-softmodem" > ~/.gdb_lte_softmodem
|
||||
$SUDO echo "set args $EXE_ARGUMENTS" >> ~/.gdb_lte_softmodem
|
||||
$SUDO echo "run" >> ~/.gdb_lte_softmodem
|
||||
$SUDO gdb -nh -x ~/.gdb_lte_softmodem 2>&1
|
||||
fi
|
||||
|
||||
elif [ $TARGET == "OAISIM" ]; then
|
||||
|
||||
if [ $ENB_S1 -eq 0 ]; then
|
||||
install_nasmesh
|
||||
else
|
||||
# prepare NAS for UE
|
||||
if [ ! -f .ue.nvram ]; then
|
||||
echo_success "generate .ue_emm.nvram .ue.nvram"
|
||||
$OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/ue_data --gen
|
||||
fi
|
||||
|
||||
if [ ! -f .usim.nvram ]; then
|
||||
echo_success "generate .usim.nvram"
|
||||
$OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/usim_data --gen
|
||||
fi
|
||||
$OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/ue_data --print
|
||||
$OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/usim_data --print
|
||||
|
||||
insmod $OPENAIR2_DIR/NETWORK_DRIVER/UE_IP/ue_ip.ko
|
||||
|
||||
fi
|
||||
|
||||
if [ $RUN_GDB -eq 0 ]; then
|
||||
$SUDO exec $OPENAIR_TARGETS/bin/oaisim `echo $EXE_ARGUMENTS`
|
||||
else
|
||||
$SUDO setenv MALLOC_CHECK_ 2
|
||||
$SUDO touch ~/.gdb_oaisim
|
||||
$SUDO echo "file $OPENAIR_TARGETS/bin/lte-oaisim" > ~/.gdb_oaisim
|
||||
$SUDO echo "set args $EXE_ARGUMENTS" >> ~/.gdb_oaisim
|
||||
$SUDO echo "run" >> ~/.gdb_oaisim
|
||||
$SUDO gdb -nh -x ~/.gdb_oaisim 2>&1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
|
||||
|
||||
'EPC')
|
||||
echo "############# running EPC #############"
|
||||
test_is_host_reachable $HSS_HOSTNAME.$REALM HSS
|
||||
if [ $RUN_GDB -eq 0 ]; then
|
||||
$SUDO $OPENAIR_TARGETS/bin/oai_epc `echo $EXE_ARGUMENTS`
|
||||
else
|
||||
touch ~/.gdb_epc
|
||||
chmod 777 ~/.gdb_epc
|
||||
echo "file $OPENAIR_TARGETS/bin/oai_epc" > ~/.gdb_epc
|
||||
echo "set args $EXE_ARGUMENTS" >> ~/.gdb_epc
|
||||
echo "run" >> ~/.gdb_epc
|
||||
$SUDO gdb -nh -x ~/.gdb_epc 2>&1
|
||||
fi
|
||||
;;
|
||||
|
||||
|
||||
'HSS')
|
||||
echo "############# running HSS #############"
|
||||
cd $OPENAIRCN_DIR/OPENAIRHSS/objs
|
||||
if [ $RUN_GDB -eq 0 ]; then
|
||||
$SUDO exec ./openair-hss -c ./conf/hss.conf
|
||||
else
|
||||
touch ~/.gdb_hss
|
||||
chmod 777 ~/.gdb_hss
|
||||
echo "file ./openair-hss" > ~/.gdb_hss
|
||||
echo "set args -c ./conf/hss.conf" >> ~/.gdb_hss
|
||||
echo "run" >> ~/.gdb_hss
|
||||
$SUDO gdb -nh -x ~/.gdb_hss 2>&1
|
||||
fi
|
||||
;;
|
||||
|
||||
|
||||
'NONE')
|
||||
;;
|
||||
|
||||
|
||||
*)
|
||||
echo_error "Unknown option $BUILD_LTE: do not execute"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
echo_info "11. No run requested, end of script"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
find_package(Doxygen)
|
||||
if(DOXYGEN_FOUND)
|
||||
configure_file(${OPENAIR_TARGETS}/DOCS/Doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
|
||||
add_custom_target(doc
|
||||
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Generating API documentation with Doxygen" VERBATIM
|
||||
)
|
||||
endif(DOXYGEN_FOUND)
|
||||
@@ -0,0 +1,77 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING True )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_SECURITY True )
|
||||
set ( ENABLE_STANDALONE_EPC False)
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME True )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI True)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE True )
|
||||
set ( EXMIMO_IOT True )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U True)
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD True )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False)
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX False )
|
||||
set ( NAS_BUILT_IN_UE True)
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_UE True )
|
||||
set ( NB_ANTENNAS_RX "2" )
|
||||
set ( NB_ANTENNAS_TX "2" )
|
||||
set ( NB_ANTENNAS_TXRX "2" )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU False )
|
||||
set ( OAISIM False )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
||||
set ( OPENAIR1 False )
|
||||
set ( OPENAIR2 False )
|
||||
set ( OPENAIR_LTE F )
|
||||
set ( PACKAGE_NAME "epc_test" )
|
||||
set ( PBS_SIM False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT False )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_ASN1_VERSION "Rel10" )
|
||||
set ( RRC_DEFAULT_RAB_IS_AM True)
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( SECU False )
|
||||
set ( SMBV False )
|
||||
set ( TEST_OMG False )
|
||||
set ( USE_MME "R10" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
@@ -1,28 +0,0 @@
|
||||
|
||||
mkdir -p $1
|
||||
cd $1
|
||||
shift
|
||||
|
||||
asn1c -gen-PER -fcompound-names $* 2>&1 | grep -v -- '->' | grep -v '^Compiled' |grep -v sample
|
||||
|
||||
awk '
|
||||
BEGIN {
|
||||
print "#ifndef __ASN1_CONSTANTS_H__"
|
||||
print "#define __ASN1_CONSTANTS_H__"
|
||||
}
|
||||
/INTEGER ::=/ {
|
||||
gsub("INTEGER ::=","")
|
||||
gsub("--","//")
|
||||
gsub("-1","_minus_1")
|
||||
gsub("-","_")
|
||||
printf("#define %s\n",$0)
|
||||
}
|
||||
/::=.*INTEGER.*[(]/ {
|
||||
nb_fields=split($0,val,"[:=().]+");
|
||||
gsub("-","_",val[1]);
|
||||
printf("#define min_val_%s %s\n",val[1],val[nb_fields-2]);
|
||||
printf("#define max_val_%s %s\n",val[1],val[nb_fields-1]);
|
||||
}
|
||||
END {
|
||||
print "#endif ";
|
||||
} ' $1 > asn1_constants.h
|
||||
@@ -1,3 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "lte-softmodem")
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -1,4 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "lte-softmodem")
|
||||
set(RF_BOARD "USRP")
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -1,4 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "lte-softmodem")
|
||||
set(RRC_ASN1_VERSION "Rel8")
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -5,9 +5,11 @@ set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER Flase)
|
||||
set(MU_RECIEVER False)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE False)
|
||||
set(NAS_UE False)
|
||||
set(MESSAGE_CHART_GENERATOR False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(XFORMS False )
|
||||
set(RRC_ASN1_VERSION "Rel10")
|
||||
set(ENABLE_VCD_FIFO False )
|
||||
set(RF_BOARD "EXMIMO")
|
||||
set(PACKAGE_NAME "lte-softmodem")
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -0,0 +1,9 @@
|
||||
set(ENABLE_ITTI True)
|
||||
set(ENABLE_USE_MME False)
|
||||
set(PDCP_USE_NETLINK True)
|
||||
set(LINK_ENB_PDCP_TO_IP_DRIVER True)
|
||||
set(LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set(PDCP_USE_NETLINK_QUEUES False)
|
||||
set(LINUX True)
|
||||
set(SECU False)
|
||||
set(NAS_UE False)
|
||||
@@ -0,0 +1,71 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
project(NAS_SIM_TOOLS)
|
||||
|
||||
|
||||
ENABLE_LANGUAGE(C)
|
||||
#Sends the -std=c99 flag to the gcc compiler
|
||||
add_definitions(-std=c99)
|
||||
add_definitions(-DNAS_UE)
|
||||
|
||||
set(OPENAIR_DIR $ENV{OPENAIR_DIR})
|
||||
set(OPENAIR1_DIR $ENV{OPENAIR_DIR}/openair1)
|
||||
set(OPENAIR2_DIR $ENV{OPENAIR_DIR}/openair2)
|
||||
set(OPENAIR3_DIR $ENV{OPENAIR_DIR}/openair3)
|
||||
set(OPENAIR3_DIR $ENV{OPENAIR_DIR}/openair3)
|
||||
set(OPENAIR_TARGETS $ENV{OPENAIR_DIR}/targets)
|
||||
|
||||
#set(EXECUTABLE_OUTPUT_PATH ${OPENAIR_DIR}/targets/bin)
|
||||
|
||||
|
||||
# Add .h files for dependancies
|
||||
set(usim_SRC
|
||||
${OPENAIR_DIR}/openair3/NAS/TOOLS/usim_data.c
|
||||
${OPENAIR_DIR}/openair3/NAS/UE/API/USIM/usim_api.c
|
||||
${OPENAIR_DIR}/openair3/NAS/UE/API/USIM/aka_functions.c
|
||||
${OPENAIR_DIR}/openair3/NAS/COMMON/UTIL/memory.c
|
||||
${OPENAIR_DIR}/openair3/NAS/COMMON/UTIL/nas_log.c
|
||||
${OPENAIR_DIR}/openair3/NAS/COMMON/UTIL/OctetString.c
|
||||
${OPENAIR_DIR}/openair3/NAS/COMMON/UTIL/TLVEncoder.c
|
||||
)
|
||||
set(usim_HDR
|
||||
${OPENAIR_DIR}/openair3/NAS/TOOLS/network.h
|
||||
${OPENAIR_DIR}/openair3/NAS/UE/API/USIM/usim_api.h
|
||||
${OPENAIR_DIR}/openair3/NAS/UE/API/USIM/aka_functions.h
|
||||
${OPENAIR_DIR}/openair3/NAS/COMMON/UTIL/memory.h
|
||||
${OPENAIR_DIR}/openair3/NAS/COMMON/UTIL/nas_log.h
|
||||
${OPENAIR_DIR}/openair3/NAS/COMMON/UTIL/OctetString.h
|
||||
${OPENAIR_DIR}/openair3/NAS/COMMON/UTIL/TLVEncoder.h
|
||||
)
|
||||
include_directories(
|
||||
${OPENAIR_DIR}/openair3/NAS/COMMON
|
||||
${OPENAIR_DIR}/openair3/NAS/UE/API/USIM
|
||||
${OPENAIR_DIR}/openair3/NAS/UE/EMM/
|
||||
${OPENAIR_DIR}/openair3/NAS/UE/ESM/
|
||||
${OPENAIR_DIR}/openair3/NAS/COMMON/IES/
|
||||
${OPENAIR_DIR}/openair3/NAS/COMMON/UTIL
|
||||
)
|
||||
ADD_EXECUTABLE(usim ${usim_SRC} ${usim_HDR})
|
||||
|
||||
|
||||
|
||||
|
||||
set(nvram_SRC
|
||||
${OPENAIR_DIR}/openair3/NAS/TOOLS/ue_data.c
|
||||
${OPENAIR_DIR}/openair3/NAS/COMMON/UTIL/memory.c
|
||||
${OPENAIR_DIR}/openair3/NAS/COMMON/UTIL/nas_log.c
|
||||
)
|
||||
|
||||
set(nvram_HDR
|
||||
${OPENAIR_DIR}/openair3/NAS/UE/EMM/emmData.h
|
||||
${OPENAIR_DIR}/openair3/NAS/COMMON/UTIL/memory.h
|
||||
${OPENAIR_DIR}/openair3/NAS/COMMON/userDef.h
|
||||
)
|
||||
|
||||
ADD_EXECUTABLE(nvram ${nvram_SRC} ${nvram_HDR})
|
||||
|
||||
#install (TARGETS usim DESTINATION ${EXECUTABLE_OUTPUT_PATH})
|
||||
#install (TARGETS nvram DESTINATION ${EXECUTABLE_OUTPUT_PATH})
|
||||
|
||||
#install(CODE "EXECUTE_PROCESS (COMMAND ${OPENAIR_TARGETS}/bin/nvram --gen WORKING_DIRECTORY ${OPENAIR_TARGETS}/bin)")
|
||||
#install(CODE "EXECUTE_PROCESS (COMMAND ${OPENAIR_TARGETS}/bin/usim --gen WORKING_DIRECTORY ${OPENAIR_TARGETS}/bin)")
|
||||
@@ -1,13 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set (PACKAGE_NAME "oaisim")
|
||||
set(MAC_CONTEXT True)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(OPENAIR_EMU True)
|
||||
set(OAI_EMU True)
|
||||
set(NAS_ADDRESS_FIX true)
|
||||
set(XER_PRINT True)
|
||||
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -1,15 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set (PACKAGE_NAME "oaisim")
|
||||
set(MAC_CONTEXT True)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(OPENAIR_EMU True)
|
||||
set(OAI_EMU True)
|
||||
set(NAS_ADDRESS_FIX true)
|
||||
set(RRC_ASN1_VERSION "Rel8")
|
||||
set(XER_PRINT True)
|
||||
|
||||
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -1,70 +1,80 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(ADDR_CONF False)
|
||||
set(ASSERT True)
|
||||
set(DEBUG_OMG False)
|
||||
set(DRIVER2013 True)
|
||||
set(ENABLE_FXP True)
|
||||
set(ENABLE_ITTI True)
|
||||
set(ENABLE_NAS_UE_LOGGING True)
|
||||
set(ENABLE_NEW_MULTICAST True)
|
||||
set(ENABLE_PDCP_NETLINK_FIFO False)
|
||||
set(ENABLE_PGM_TRANSPORT True)
|
||||
set(ENABLE_RAL False)
|
||||
set(ENABLE_SECURITY True)
|
||||
set(ENABLE_USE_CPU_EXECUTION_TIME True)
|
||||
set(ENABLE_USE_MME True)
|
||||
set(HARD_RT False)
|
||||
set(JUMBO_FRAME False)
|
||||
set(LARGE_SCALE False)
|
||||
set(LINK_PDCP_TO_GTPV1U True)
|
||||
set(LINUX_LIST False)
|
||||
set(LINUX True)
|
||||
set(LOCALIZATION False)
|
||||
set(LOG_NO_THREAD True)
|
||||
set(LOWLATENCY True)
|
||||
set(MAC_CONTEXT 1)
|
||||
set(MAX_NUM_CCs 1)
|
||||
set(MIH_C_MEDIEVAL_EXTENSIONS True)
|
||||
set(MSG_PRINT False)
|
||||
set(MU_RECEIVER False)
|
||||
set(NAS_ADDRESS_FIX true)
|
||||
set(NAS_NETLINK False)
|
||||
set(NAS_UE False)
|
||||
set(NEW_FFT True)
|
||||
set(NO_RRM True)
|
||||
set(OAI_EMU True)
|
||||
set(OAISIM True)
|
||||
set(OAI_NW_DRIVER_TYPE_ETHERNET False)
|
||||
set(OPENAIR1 True)
|
||||
set(OPENAIR2 True)
|
||||
set(OPENAIR_EMU False)
|
||||
set(OPENAIR_LTE True)
|
||||
set(PACKAGE_NAME "oaisim")
|
||||
set(PBS_SIM False)
|
||||
set(PC_DSP True)
|
||||
set(PC_TARGET True)
|
||||
set(PDCP_MSG_PRINT False)
|
||||
set(PERFECT_CE False)
|
||||
set(PHY_ABSTRACTION False)
|
||||
set(PHY_ABSTRACTION False)
|
||||
set(PHY_EMUL False)
|
||||
set(PHYSIM True)
|
||||
set(PUCCH True)
|
||||
set(RANDOM_BF False)
|
||||
set(RF_BOARD "EXMIMO")
|
||||
set(RLC_STOP_ON_LOST_PDU False)
|
||||
set(RRC_ASN1_VERSION False)
|
||||
set(RRC_ASN1_VERSION "Rel10")
|
||||
set(RRC_MSG_PRINT False)
|
||||
set(RTAI False)
|
||||
set(SECU False)
|
||||
set(SMBV False)
|
||||
set(SPECTRA False)
|
||||
set(TEST_OMG False)
|
||||
set(UE_BUILD False)
|
||||
set(USE_3GPP_ADDR_AS_LINK_ADDR False)
|
||||
set(USE_MME False)
|
||||
set(USER_MODE True)
|
||||
set(XER_PRINT False)
|
||||
|
||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING True )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY True )
|
||||
set ( ENABLE_STANDALONE_EPC False)
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME True )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI True)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE True )
|
||||
set ( EXMIMO_IOT True )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U True)
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD True )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False)
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX False )
|
||||
set ( NAS_BUILT_IN_UE True)
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_UE True )
|
||||
set ( NB_ANTENNAS_RX "2" )
|
||||
set ( NB_ANTENNAS_TX "2" )
|
||||
set ( NB_ANTENNAS_TXRX "2" )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAISIM True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PACKAGE_NAME "oaisim" )
|
||||
set ( PBS_SIM False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT False )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_ASN1_VERSION "Rel10" )
|
||||
set ( RRC_DEFAULT_RAB_IS_AM True)
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( SECU False )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( TEST_OMG False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME "R10" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(ADDR_CONF False)
|
||||
set(ASSERT True)
|
||||
set(DEBUG_OMG False)
|
||||
set(DRIVER2013 True)
|
||||
set(ENABLE_FXP True)
|
||||
set(ENABLE_ITTI True)
|
||||
set(ENABLE_NAS_UE_LOGGING True)
|
||||
set(ENABLE_NEW_MULTICAST True)
|
||||
set(ENABLE_PDCP_NETLINK_FIFO False)
|
||||
set(ENABLE_PGM_TRANSPORT True)
|
||||
set(ENABLE_RAL False)
|
||||
set(ENABLE_SECURITY True)
|
||||
set(ENABLE_USE_CPU_EXECUTION_TIME True)
|
||||
set(ENABLE_USE_MME True)
|
||||
set(HARD_RT False)
|
||||
set(JUMBO_FRAME False)
|
||||
set(LARGE_SCALE False)
|
||||
set(LINK_PDCP_TO_GTPV1U True)
|
||||
set(LINUX_LIST False)
|
||||
set(LINUX True)
|
||||
set(LOCALIZATION False)
|
||||
set(LOG_NO_THREAD True)
|
||||
set(LOWLATENCY True)
|
||||
set(MAC_CONTEXT 1)
|
||||
set(MAX_NUM_CCs 1)
|
||||
set(MIH_C_MEDIEVAL_EXTENSIONS True)
|
||||
set(MSG_PRINT False)
|
||||
set(MU_RECEIVER False)
|
||||
set(NAS_ADDRESS_FIX true)
|
||||
set(NAS_NETLINK False)
|
||||
set(NAS_UE False)
|
||||
set(NEW_FFT True)
|
||||
set(NO_RRM True)
|
||||
set(OAI_EMU True)
|
||||
set(OAISIM True)
|
||||
set(OAI_NW_DRIVER_TYPE_ETHERNET False)
|
||||
set(OPENAIR1 True)
|
||||
set(OPENAIR2 True)
|
||||
set(OPENAIR_EMU False)
|
||||
set(OPENAIR_LTE True)
|
||||
set(PACKAGE_NAME "oaisim")
|
||||
set(PBS_SIM False)
|
||||
set(PC_DSP True)
|
||||
set(PC_TARGET True)
|
||||
set(PDCP_MSG_PRINT False)
|
||||
set(PERFECT_CE False)
|
||||
set(PHY_ABSTRACTION False)
|
||||
set(PHY_ABSTRACTION False)
|
||||
set(PHY_EMUL False)
|
||||
set(PHYSIM True)
|
||||
set(PUCCH True)
|
||||
set(RANDOM_BF False)
|
||||
set(RF_BOARD "EXMIMO")
|
||||
set(RLC_STOP_ON_LOST_PDU False)
|
||||
set(RRC_ASN1_VERSION False)
|
||||
set(RRC_ASN1_VERSION "Rel10")
|
||||
set(RRC_MSG_PRINT False)
|
||||
set(RTAI False)
|
||||
set(SECU False)
|
||||
set(SMBV False)
|
||||
set(SPECTRA False)
|
||||
set(TEST_OMG False)
|
||||
set(UE_BUILD False)
|
||||
set(USE_3GPP_ADDR_AS_LINK_ADDR False)
|
||||
set(USE_MME False)
|
||||
set(USER_MODE True)
|
||||
set(XER_PRINT False)
|
||||
|
||||
set(XFORMS False )
|
||||
set(RRC_ASN1_VERSION "Rel10")
|
||||
set(ENABLE_VCD_FIFO False )
|
||||
set(RF_BOARD "EXMIMO")
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -0,0 +1,83 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 False )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP False )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST False )
|
||||
set ( ENABLE_PGM_TRANSPORT False )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False )
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME False )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI True)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE False )
|
||||
set ( EPC_BUILD True )
|
||||
set ( EXMIMO_IOT False )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME False )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U True)
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX False )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD False )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX False )
|
||||
set ( NAS_BUILT_IN_EPC True )
|
||||
set ( NAS_MME True )
|
||||
set ( NAS_NETLINK False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX "2" )
|
||||
set ( NB_ANTENNAS_TX "2" )
|
||||
set ( NB_ANTENNAS_TXRX "2" )
|
||||
set ( NEW_FFT False )
|
||||
set ( NO_RRM False )
|
||||
set ( OAI_EMU False )
|
||||
set ( OAISIM False )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
||||
set ( OPENAIR1 False )
|
||||
set ( OPENAIR2 False )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE False )
|
||||
set ( PACKAGE_NAME "EPC" )
|
||||
set ( PBS_SIM False )
|
||||
set ( PC_DSP False )
|
||||
set ( PC_TARGET False )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION False )
|
||||
set ( PHY_CONTEXT False )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM False )
|
||||
set ( PUCCH False )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RRC_ASN1_VERSION "Rel10" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( SECU False )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( TEST_OMG False )
|
||||
set ( UPDATE_RELEASE_9 True)
|
||||
set ( UPDATE_RELEASE_10 True)
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME "R10" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
@@ -0,0 +1,85 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING False )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY False )
|
||||
set ( ENABLE_STANDALONE_EPC False)
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME False )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE True )
|
||||
set ( EXMIMO_IOT True )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD 1 )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False )
|
||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX True )
|
||||
set ( NAS_BUILT_IN_UE False)
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_UE False )
|
||||
set ( NB_ANTENNAS_RX "2" )
|
||||
set ( NB_ANTENNAS_TX "2" )
|
||||
set ( NB_ANTENNAS_TXRX "2" )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAISIM True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_EMU False )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PACKAGE_NAME "oaisim" )
|
||||
set ( PBS_SIM False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT False )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RRC_ASN1_VERSION "Rel10" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( SECU False )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( TEST_OMG False )
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME "R10" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( DEBUG_PHY False )
|
||||
set ( DEBUG_PHY_PROC False)
|
||||
set ( DEBUG_DLSCH False)
|
||||
@@ -0,0 +1,6 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(ENABLE_VCD_FIFO False )
|
||||
set(ENABLE_ITTI False )
|
||||
set(RF_BOARD "ETHERNET")
|
||||
set(PACKAGE_NAME "\"rrh_gw\"")
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -0,0 +1,85 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||
set ( ADDR_CONF False )
|
||||
set ( DEBUG_OMG False )
|
||||
set ( DISABLE_XER_PRINT False )
|
||||
set ( DRIVER2013 True )
|
||||
set ( EMOS False )
|
||||
set ( ENABLE_FXP True )
|
||||
set ( ENABLE_ITTI True )
|
||||
set ( ENABLE_NAS_UE_LOGGING True )
|
||||
set ( ENABLE_NEW_MULTICAST True )
|
||||
set ( ENABLE_PDCP_NETLINK_FIFO False )
|
||||
set ( ENABLE_PGM_TRANSPORT True )
|
||||
set ( ENABLE_RAL False )
|
||||
set ( ENABLE_SECURITY True )
|
||||
set ( ENABLE_STANDALONE_EPC False)
|
||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
||||
set ( ENABLE_USE_MME True )
|
||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI True)
|
||||
set ( ENABLE_VCD_FIFO False )
|
||||
set ( ENB_MODE True )
|
||||
set ( EXMIMO_IOT True )
|
||||
set ( HARD_RT False )
|
||||
set ( JUMBO_FRAME True )
|
||||
set ( LARGE_SCALE False )
|
||||
set ( LINK_ENB_PDCP_TO_GTPV1U True)
|
||||
set ( LINUX_LIST False )
|
||||
set ( LINUX True )
|
||||
set ( LOCALIZATION False )
|
||||
set ( LOG_NO_THREAD True )
|
||||
set ( LOWLATENCY False )
|
||||
set ( MAC_CONTEXT 1 )
|
||||
set ( MAX_NUM_CCs 1 )
|
||||
set ( MESSAGE_CHART_GENERATOR False)
|
||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||
set ( MSG_PRINT False )
|
||||
set ( MU_RECEIVER False )
|
||||
set ( NAS_ADDRESS_FIX False )
|
||||
set ( NAS_BUILT_IN_UE True)
|
||||
set ( NAS_MME False )
|
||||
set ( NAS_UE True )
|
||||
set ( NB_ANTENNAS_RX "2" )
|
||||
set ( NB_ANTENNAS_TX "2" )
|
||||
set ( NB_ANTENNAS_TXRX "2" )
|
||||
set ( NEW_FFT True )
|
||||
set ( NO_RRM True )
|
||||
set ( OAI_EMU True )
|
||||
set ( OAISIM True )
|
||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
||||
set ( OPENAIR1 True )
|
||||
set ( OPENAIR2 True )
|
||||
set ( OPENAIR_LTE True )
|
||||
set ( PACKAGE_NAME "oaisim" )
|
||||
set ( PBS_SIM False )
|
||||
set ( PDCP_USE_NETLINK True )
|
||||
set ( PC_DSP True )
|
||||
set ( PC_TARGET True )
|
||||
set ( PDCP_MSG_PRINT False )
|
||||
set ( PERFECT_CE False )
|
||||
set ( PHY_ABSTRACTION True )
|
||||
set ( PHY_CONTEXT False )
|
||||
set ( PHY_EMUL False )
|
||||
set ( PHYSIM True )
|
||||
set ( PUCCH True )
|
||||
set ( RANDOM_BF False )
|
||||
set ( RF_BOARD "False" )
|
||||
set ( RLC_STOP_ON_LOST_PDU False )
|
||||
set ( RRC_ASN1_VERSION "Rel10" )
|
||||
set ( RRC_DEFAULT_RAB_IS_AM True)
|
||||
set ( RRC_MSG_PRINT False )
|
||||
set ( RTAI False )
|
||||
set ( SECU False )
|
||||
set ( SMBV False )
|
||||
set ( SPECTRA False )
|
||||
set ( TEST_OMG False )
|
||||
|
||||
set ( TEST_S1C_MME True )
|
||||
|
||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
||||
set ( USE_MME "R10" )
|
||||
set ( USER_MODE True )
|
||||
set ( XER_PRINT False )
|
||||
set ( XFORMS False )
|
||||
@@ -1,75 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(ADDR_CONF False)
|
||||
set(ASSERT True)
|
||||
set(DEBUG_OMG False)
|
||||
set(DISABLE_XER_PRINT False)
|
||||
set(DRIVER2013 False)
|
||||
set(ENABLE_FXP True)
|
||||
set(ENABLE_ITTI False)
|
||||
set(ENABLE_NAS_UE_LOGGING False)
|
||||
set(ENABLE_NEW_MULTICAST True)
|
||||
set(ENABLE_PDCP_NETLINK_FIFO False)
|
||||
set(ENABLE_PGM_TRANSPORT True)
|
||||
set(ENABLE_RAL False)
|
||||
set(ENABLE_SECURITY False)
|
||||
set(ENABLE_USE_CPU_EXECUTION_TIME True)
|
||||
set(ENABLE_USE_MME False)
|
||||
set(ENABLE_VCD_FIFO True)
|
||||
set(HARD_RT False)
|
||||
set(JUMBO_FRAME True)
|
||||
set(LARGE_SCALE False)
|
||||
set(LINK_PDCP_TO_GTPV1U False)
|
||||
set(LINUX_LIST False)
|
||||
set(LINUX True)
|
||||
set(LOCALIZATION False)
|
||||
set(LOG_NO_THREAD True)
|
||||
set(LOWLATENCY False)
|
||||
set(MAC_CONTEXT 1)
|
||||
set(MAX_NUM_CCs 1)
|
||||
set(MIH_C_MEDIEVAL_EXTENSIONS True)
|
||||
set(MSG_PRINT False)
|
||||
set(MU_RECEIVER False)
|
||||
set(NAS_ADDRESS_FIX true)
|
||||
set(NAS_NETLINK True)
|
||||
set(NAS_UE True)
|
||||
set(NEW_FFT True)
|
||||
set(NO_RRM True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_NW_DRIVER_TYPE_ETHERNET False)
|
||||
set(OPENAIR1 False)
|
||||
set(OPENAIR2 True)
|
||||
set(OPENAIR_EMU True)
|
||||
set(OPENAIR_LTE True)
|
||||
set (PACKAGE_NAME "oaisim")
|
||||
set(PACKAGE_NAME "oaisim")
|
||||
set(PBS_SIM False)
|
||||
set(PC_DSP False)
|
||||
set(PC_TARGET False)
|
||||
set(PDCP_MSG_PRINT False)
|
||||
set(PERFECT_CE False)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_EMUL False)
|
||||
set(PHYSIM False)
|
||||
set(PUCCH True)
|
||||
set(RANDOM_BF False)
|
||||
set(RF_BOARD "NoBoard")
|
||||
set(RLC_STOP_ON_LOST_PDU False)
|
||||
set(RRC_ASN1_VERSION False)
|
||||
set(RRC_ASN1_VERSION "Rel8")
|
||||
set(RRC_MSG_PRINT False)
|
||||
set(RTAI False)
|
||||
set(SECU False)
|
||||
set(SMBV False)
|
||||
set(SPECTRA False)
|
||||
set(TEST_OMG False)
|
||||
set(UE_BUILD False)
|
||||
set(USE_3GPP_ADDR_AS_LINK_ADDR False)
|
||||
set(USE_MME False)
|
||||
set(USER_MODE True)
|
||||
set(XER_PRINT True)
|
||||
set(XFORMS False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -1,75 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(ADDR_CONF False)
|
||||
set(ASSERT True)
|
||||
set(DEBUG_OMG False)
|
||||
set(DISABLE_XER_PRINT False)
|
||||
set(DRIVER2013 False)
|
||||
set(ENABLE_FXP True)
|
||||
set(ENABLE_ITTI False)
|
||||
set(ENABLE_NAS_UE_LOGGING False)
|
||||
set(ENABLE_NEW_MULTICAST True)
|
||||
set(ENABLE_PDCP_NETLINK_FIFO True)
|
||||
set(ENABLE_PGM_TRANSPORT True)
|
||||
set(ENABLE_RAL False)
|
||||
set(ENABLE_SECURITY False)
|
||||
set(ENABLE_USE_CPU_EXECUTION_TIME True)
|
||||
set(ENABLE_USE_MME False)
|
||||
set(ENABLE_VCD_FIFO True)
|
||||
set(HARD_RT False)
|
||||
set(JUMBO_FRAME True)
|
||||
set(LARGE_SCALE False)
|
||||
set(LINK_PDCP_TO_GTPV1U False)
|
||||
set(LINUX_LIST False)
|
||||
set(LINUX True)
|
||||
set(LOCALIZATION False)
|
||||
set(LOG_NO_THREAD True)
|
||||
set(LOWLATENCY False)
|
||||
set(MAC_CONTEXT 1)
|
||||
set(MAX_NUM_CCs 1)
|
||||
set(MIH_C_MEDIEVAL_EXTENSIONS True)
|
||||
set(MSG_PRINT False)
|
||||
set(MU_RECEIVER False)
|
||||
set(NAS_ADDRESS_FIX true)
|
||||
set(NAS_NETLINK True)
|
||||
set(NAS_UE True)
|
||||
set(NEW_FFT True)
|
||||
set(NO_RRM True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_NW_DRIVER_TYPE_ETHERNET False)
|
||||
set(OPENAIR1 False)
|
||||
set(OPENAIR2 True)
|
||||
set(OPENAIR_EMU True)
|
||||
set(OPENAIR_LTE True)
|
||||
set (PACKAGE_NAME "oaisim")
|
||||
set(PACKAGE_NAME "oaisim")
|
||||
set(PBS_SIM False)
|
||||
set(PC_DSP False)
|
||||
set(PC_TARGET False)
|
||||
set(PDCP_MSG_PRINT False)
|
||||
set(PERFECT_CE False)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_EMUL False)
|
||||
set(PHYSIM False)
|
||||
set(PUCCH True)
|
||||
set(RANDOM_BF False)
|
||||
set(RF_BOARD "NoBoard")
|
||||
set(RLC_STOP_ON_LOST_PDU False)
|
||||
set(RRC_ASN1_VERSION False)
|
||||
set(RRC_ASN1_VERSION "Rel8")
|
||||
set(RRC_MSG_PRINT False)
|
||||
set(RTAI False)
|
||||
set(SECU False)
|
||||
set(SMBV False)
|
||||
set(SPECTRA False)
|
||||
set(TEST_OMG False)
|
||||
set(UE_BUILD False)
|
||||
set(USE_3GPP_ADDR_AS_LINK_ADDR False)
|
||||
set(USE_MME False)
|
||||
set(USER_MODE True)
|
||||
set(XER_PRINT True)
|
||||
set(XFORMS False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -1,72 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(ADDR_CONF False)
|
||||
set(ASSERT False)
|
||||
set(DEBUG_OMG False)
|
||||
set(DISABLE_XER_PRINT False)
|
||||
set(DRIVER2013 True)
|
||||
set(ENABLE_FXP True)
|
||||
set(ENABLE_ITTI False)
|
||||
set(ENABLE_NAS_UE_LOGGING False)
|
||||
set(ENABLE_NEW_MULTICAST False)
|
||||
set(ENABLE_PDCP_NETLINK_FIFO False)
|
||||
set(ENABLE_PGM_TRANSPORT False)
|
||||
set(ENABLE_RAL False)
|
||||
set(ENABLE_SECURITY False)
|
||||
set(ENABLE_USE_CPU_EXECUTION_TIME True)
|
||||
set(ENABLE_USE_MME False)
|
||||
set(ENABLE_VCD_FIFO True)
|
||||
set(HARD_RT False)
|
||||
set(JUMBO_FRAME True)
|
||||
set(LARGE_SCALE False)
|
||||
set(LINK_PDCP_TO_GTPV1U False)
|
||||
set(LINUX_LIST False)
|
||||
set(LINUX True)
|
||||
set(LOCALIZATION False)
|
||||
set(LOG_NO_THREAD True)
|
||||
set(LOWLATENCY True)
|
||||
set(MAC_CONTEXT 1)
|
||||
set(MAX_NUM_CCs 1)
|
||||
set(MIH_C_MEDIEVAL_EXTENSIONS False)
|
||||
set(MSG_PRINT False)
|
||||
set(MU_RECEIVER False)
|
||||
set(NAS_ADDRESS_FIX False)
|
||||
set(NAS_NETLINK False)
|
||||
set(NAS_UE False)
|
||||
set(NEW_FFT True)
|
||||
set(NO_RRM True)
|
||||
set(OAI_EMU False)
|
||||
set(OAI_NW_DRIVER_TYPE_ETHERNET False)
|
||||
set(OPENAIR1 True)
|
||||
set(OPENAIR2 True)
|
||||
set(OPENAIR_EMU False)
|
||||
set(OPENAIR_LTE True)
|
||||
set(PACKAGE_NAME "oaisim")
|
||||
set(PBS_SIM False)
|
||||
set(PC_DSP True)
|
||||
set(PC_TARGET True)
|
||||
set(PDCP_MSG_PRINT False)
|
||||
set(PERFECT_CE False)
|
||||
set(PHY_ABSTRACTION False)
|
||||
set(PHY_CONTEXT False)
|
||||
set(PHY_EMUL False)
|
||||
set(PHYSIM True)
|
||||
set(PUCCH True)
|
||||
set(RANDOM_BF False)
|
||||
set(RF_BOARD "EXMIMO")
|
||||
set(RLC_STOP_ON_LOST_PDU False)
|
||||
set(RRC_ASN1_VERSION Rel8)
|
||||
set(RRC_MSG_PRINT False)
|
||||
set(RTAI False)
|
||||
set(SECU False)
|
||||
set(SMBV False)
|
||||
set(SPECTRA False)
|
||||
set(TEST_OMG False)
|
||||
set(UE_BUILD False)
|
||||
set(USE_3GPP_ADDR_AS_LINK_ADDR False)
|
||||
set(USE_MME False)
|
||||
set(USER_MODE True)
|
||||
set(XER_PRINT True)
|
||||
set(XFORMS False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -1,13 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
||||
set(PHYSIM True)
|
||||
set(RF_BOARD None)
|
||||
set(XFORMS False)
|
||||
|
||||
set(DEBUG_PHY False)
|
||||
set(MU_RECIEVER Flase)
|
||||
set(RANDOM_BF False)
|
||||
set(PBS_SIM False)
|
||||
set(PERFECT_CE True)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -1,75 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(ADDR_CONF False)
|
||||
set(ASSERT True)
|
||||
set(DEBUG_OMG False)
|
||||
set(DISABLE_XER_PRINT False)
|
||||
set(DRIVER2013 False)
|
||||
set(ENABLE_FXP True)
|
||||
set(ENABLE_ITTI True)
|
||||
set(ENABLE_NAS_UE_LOGGING False)
|
||||
set(ENABLE_NEW_MULTICAST True)
|
||||
set(ENABLE_PDCP_NETLINK_FIFO False)
|
||||
set(ENABLE_PGM_TRANSPORT True)
|
||||
set(ENABLE_RAL False)
|
||||
set(ENABLE_SECURITY False)
|
||||
set(ENABLE_USE_CPU_EXECUTION_TIME True)
|
||||
set(ENABLE_USE_MME False)
|
||||
set(ENABLE_VCD_FIFO True)
|
||||
set(HARD_RT False)
|
||||
set(JUMBO_FRAME True)
|
||||
set(LARGE_SCALE False)
|
||||
set(LINK_PDCP_TO_GTPV1U False)
|
||||
set(LINUX_LIST False)
|
||||
set(LINUX True)
|
||||
set(LOCALIZATION False)
|
||||
set(LOG_NO_THREAD True)
|
||||
set(LOWLATENCY False)
|
||||
set(MAC_CONTEXT 1)
|
||||
set(MAX_NUM_CCs 1)
|
||||
set(MIH_C_MEDIEVAL_EXTENSIONS True)
|
||||
set(MSG_PRINT False)
|
||||
set(MU_RECEIVER False)
|
||||
set(NAS_ADDRESS_FIX true)
|
||||
set(NAS_NETLINK True)
|
||||
set(NAS_UE True)
|
||||
set(NEW_FFT True)
|
||||
set(NO_RRM True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_NW_DRIVER_TYPE_ETHERNET False)
|
||||
set(OPENAIR1 False)
|
||||
set(OPENAIR2 True)
|
||||
set(OPENAIR_EMU True)
|
||||
set(OPENAIR_LTE True)
|
||||
set (PACKAGE_NAME "oaisim")
|
||||
set(PACKAGE_NAME "oaisim")
|
||||
set(PBS_SIM False)
|
||||
set(PC_DSP False)
|
||||
set(PC_TARGET False)
|
||||
set(PDCP_MSG_PRINT False)
|
||||
set(PERFECT_CE False)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_EMUL False)
|
||||
set(PHYSIM False)
|
||||
set(PUCCH True)
|
||||
set(RANDOM_BF False)
|
||||
set(RF_BOARD "NoBoard")
|
||||
set(RLC_STOP_ON_LOST_PDU False)
|
||||
set(RRC_ASN1_VERSION False)
|
||||
set(RRC_ASN1_VERSION "Rel8")
|
||||
set(RRC_MSG_PRINT False)
|
||||
set(RTAI False)
|
||||
set(SECU False)
|
||||
set(SMBV False)
|
||||
set(SPECTRA False)
|
||||
set(TEST_OMG False)
|
||||
set(UE_BUILD False)
|
||||
set(USE_3GPP_ADDR_AS_LINK_ADDR False)
|
||||
set(USE_MME False)
|
||||
set(USER_MODE True)
|
||||
set(XER_PRINT False)
|
||||
set(XFORMS False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -1,75 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(ADDR_CONF False)
|
||||
set(ASSERT True)
|
||||
set(DEBUG_OMG False)
|
||||
set(DISABLE_XER_PRINT False)
|
||||
set(DRIVER2013 False)
|
||||
set(ENABLE_FXP True)
|
||||
set(ENABLE_ITTI False)
|
||||
set(ENABLE_NAS_UE_LOGGING False)
|
||||
set(ENABLE_NEW_MULTICAST True)
|
||||
set(ENABLE_PDCP_NETLINK_FIFO False)
|
||||
set(ENABLE_PGM_TRANSPORT True)
|
||||
set(ENABLE_RAL False)
|
||||
set(ENABLE_SECURITY False)
|
||||
set(ENABLE_USE_CPU_EXECUTION_TIME True)
|
||||
set(ENABLE_USE_MME False)
|
||||
set(ENABLE_VCD_FIFO True)
|
||||
set(HARD_RT False)
|
||||
set(JUMBO_FRAME True)
|
||||
set(LARGE_SCALE False)
|
||||
set(LINK_PDCP_TO_GTPV1U False)
|
||||
set(LINUX_LIST False)
|
||||
set(LINUX True)
|
||||
set(LOCALIZATION False)
|
||||
set(LOG_NO_THREAD True)
|
||||
set(LOWLATENCY False)
|
||||
set(MAC_CONTEXT 1)
|
||||
set(MAX_NUM_CCs 1)
|
||||
set(MIH_C_MEDIEVAL_EXTENSIONS True)
|
||||
set(MSG_PRINT False)
|
||||
set(MU_RECEIVER False)
|
||||
set(NAS_ADDRESS_FIX true)
|
||||
set(NAS_NETLINK True)
|
||||
set(NAS_UE True)
|
||||
set(NEW_FFT True)
|
||||
set(NO_RRM True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_NW_DRIVER_TYPE_ETHERNET False)
|
||||
set(OPENAIR1 False)
|
||||
set(OPENAIR2 True)
|
||||
set(OPENAIR_EMU True)
|
||||
set(OPENAIR_LTE True)
|
||||
set (PACKAGE_NAME "oaisim")
|
||||
set(PACKAGE_NAME "oaisim")
|
||||
set(PBS_SIM False)
|
||||
set(PC_DSP False)
|
||||
set(PC_TARGET False)
|
||||
set(PDCP_MSG_PRINT False)
|
||||
set(PERFECT_CE False)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_EMUL False)
|
||||
set(PHYSIM False)
|
||||
set(PUCCH True)
|
||||
set(RANDOM_BF False)
|
||||
set(RF_BOARD "NoBoard")
|
||||
set(RLC_STOP_ON_LOST_PDU True)
|
||||
set(RRC_ASN1_VERSION False)
|
||||
set(RRC_ASN1_VERSION "Rel10")
|
||||
set(RRC_MSG_PRINT False)
|
||||
set(RTAI False)
|
||||
set(SECU False)
|
||||
set(SMBV False)
|
||||
set(SPECTRA False)
|
||||
set(TEST_OMG False)
|
||||
set(UE_BUILD False)
|
||||
set(USE_3GPP_ADDR_AS_LINK_ADDR False)
|
||||
set(USE_MME False)
|
||||
set(USER_MODE True)
|
||||
set(XER_PRINT True)
|
||||
set(XFORMS False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -1,75 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(ADDR_CONF False)
|
||||
set(ASSERT True)
|
||||
set(DEBUG_OMG False)
|
||||
set(DISABLE_XER_PRINT False)
|
||||
set(DRIVER2013 False)
|
||||
set(ENABLE_FXP True)
|
||||
set(ENABLE_ITTI True)
|
||||
set(ENABLE_NAS_UE_LOGGING False)
|
||||
set(ENABLE_NEW_MULTICAST True)
|
||||
set(ENABLE_PDCP_NETLINK_FIFO False)
|
||||
set(ENABLE_PGM_TRANSPORT True)
|
||||
set(ENABLE_RAL False)
|
||||
set(ENABLE_SECURITY False)
|
||||
set(ENABLE_USE_CPU_EXECUTION_TIME True)
|
||||
set(ENABLE_USE_MME False)
|
||||
set(ENABLE_VCD_FIFO True)
|
||||
set(HARD_RT False)
|
||||
set(JUMBO_FRAME True)
|
||||
set(LARGE_SCALE False)
|
||||
set(LINK_PDCP_TO_GTPV1U False)
|
||||
set(LINUX_LIST False)
|
||||
set(LINUX True)
|
||||
set(LOCALIZATION False)
|
||||
set(LOG_NO_THREAD True)
|
||||
set(LOWLATENCY False)
|
||||
set(MAC_CONTEXT 1)
|
||||
set(MAX_NUM_CCs 1)
|
||||
set(MIH_C_MEDIEVAL_EXTENSIONS True)
|
||||
set(MSG_PRINT False)
|
||||
set(MU_RECEIVER False)
|
||||
set(NAS_ADDRESS_FIX true)
|
||||
set(NAS_NETLINK True)
|
||||
set(NAS_UE True)
|
||||
set(NEW_FFT True)
|
||||
set(NO_RRM True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_NW_DRIVER_TYPE_ETHERNET False)
|
||||
set(OPENAIR1 False)
|
||||
set(OPENAIR2 True)
|
||||
set(OPENAIR_EMU True)
|
||||
set(OPENAIR_LTE True)
|
||||
set (PACKAGE_NAME "oaisim")
|
||||
set(PACKAGE_NAME "oaisim")
|
||||
set(PBS_SIM False)
|
||||
set(PC_DSP False)
|
||||
set(PC_TARGET False)
|
||||
set(PDCP_MSG_PRINT False)
|
||||
set(PERFECT_CE False)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_EMUL False)
|
||||
set(PHYSIM False)
|
||||
set(PUCCH True)
|
||||
set(RANDOM_BF False)
|
||||
set(RF_BOARD "NoBoard")
|
||||
set(RLC_STOP_ON_LOST_PDU True)
|
||||
set(RRC_ASN1_VERSION False)
|
||||
set(RRC_ASN1_VERSION "Rel10")
|
||||
set(RRC_MSG_PRINT False)
|
||||
set(RTAI False)
|
||||
set(SECU False)
|
||||
set(SMBV False)
|
||||
set(SPECTRA False)
|
||||
set(TEST_OMG False)
|
||||
set(UE_BUILD False)
|
||||
set(USE_3GPP_ADDR_AS_LINK_ADDR False)
|
||||
set(USE_MME False)
|
||||
set(USER_MODE True)
|
||||
set(XER_PRINT False)
|
||||
set(XFORMS False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -1,5 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(OAI_NW_DRIVER_TYPE_ETHERNET True)
|
||||
set(OAI_NW_DRIVER_USE_NETLINK True)
|
||||
set(NAS_NETLINK True)
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -1,75 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(ADDR_CONF False)
|
||||
set(ASSERT True)
|
||||
set(DEBUG_OMG False)
|
||||
set(DISABLE_XER_PRINT False)
|
||||
set(DRIVER2013 False)
|
||||
set(ENABLE_FXP True)
|
||||
set(ENABLE_ITTI True)
|
||||
set(ENABLE_NAS_UE_LOGGING False)
|
||||
set(ENABLE_NEW_MULTICAST True)
|
||||
set(ENABLE_PDCP_NETLINK_FIFO True)
|
||||
set(ENABLE_PGM_TRANSPORT True)
|
||||
set(ENABLE_RAL True)
|
||||
set(ENABLE_SECURITY False)
|
||||
set(ENABLE_USE_CPU_EXECUTION_TIME True)
|
||||
set(ENABLE_USE_MME False)
|
||||
set(ENABLE_VCD_FIFO True)
|
||||
set(HARD_RT False)
|
||||
set(JUMBO_FRAME True)
|
||||
set(LARGE_SCALE False)
|
||||
set(LINK_PDCP_TO_GTPV1U False)
|
||||
set(LINUX_LIST False)
|
||||
set(LINUX True)
|
||||
set(LOCALIZATION False)
|
||||
set(LOG_NO_THREAD True)
|
||||
set(LOWLATENCY False)
|
||||
set(MAC_CONTEXT 1)
|
||||
set(MAX_NUM_CCs 1)
|
||||
set(MIH_C_MEDIEVAL_EXTENSIONS True)
|
||||
set(MSG_PRINT False)
|
||||
set(MU_RECEIVER False)
|
||||
set(NAS_ADDRESS_FIX true)
|
||||
set(NAS_NETLINK True)
|
||||
set(NAS_UE True)
|
||||
set(NEW_FFT True)
|
||||
set(NO_RRM True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_NW_DRIVER_TYPE_ETHERNET True)
|
||||
set(OPENAIR1 False)
|
||||
set(OPENAIR2 True)
|
||||
set(OPENAIR_EMU True)
|
||||
set(OPENAIR_LTE True)
|
||||
set (PACKAGE_NAME "oaisim")
|
||||
set(PACKAGE_NAME "oaisim")
|
||||
set(PBS_SIM False)
|
||||
set(PC_DSP False)
|
||||
set(PC_TARGET False)
|
||||
set(PDCP_MSG_PRINT False)
|
||||
set(PERFECT_CE False)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_EMUL False)
|
||||
set(PHYSIM False)
|
||||
set(PUCCH True)
|
||||
set(RANDOM_BF False)
|
||||
set(RF_BOARD "NoBoard")
|
||||
set(RLC_STOP_ON_LOST_PDU True)
|
||||
set(RRC_ASN1_VERSION False)
|
||||
set(RRC_ASN1_VERSION "Rel8")
|
||||
set(RRC_MSG_PRINT False)
|
||||
set(RTAI False)
|
||||
set(SECU False)
|
||||
set(SMBV False)
|
||||
set(SPECTRA False)
|
||||
set(TEST_OMG False)
|
||||
set(UE_BUILD False)
|
||||
set(USE_3GPP_ADDR_AS_LINK_ADDR False)
|
||||
set(USE_MME False)
|
||||
set(USER_MODE True)
|
||||
set(XER_PRINT False)
|
||||
set(XFORMS False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -1,75 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(ADDR_CONF False)
|
||||
set(ASSERT True)
|
||||
set(DEBUG_OMG False)
|
||||
set(DISABLE_XER_PRINT False)
|
||||
set(DRIVER2013 False)
|
||||
set(ENABLE_FXP True)
|
||||
set(ENABLE_ITTI True)
|
||||
set(ENABLE_NAS_UE_LOGGING False)
|
||||
set(ENABLE_NEW_MULTICAST True)
|
||||
set(ENABLE_PDCP_NETLINK_FIFO True)
|
||||
set(ENABLE_PGM_TRANSPORT True)
|
||||
set(ENABLE_RAL True)
|
||||
set(ENABLE_SECURITY False)
|
||||
set(ENABLE_USE_CPU_EXECUTION_TIME True)
|
||||
set(ENABLE_USE_MME False)
|
||||
set(ENABLE_VCD_FIFO True)
|
||||
set(HARD_RT False)
|
||||
set(JUMBO_FRAME True)
|
||||
set(LARGE_SCALE False)
|
||||
set(LINK_PDCP_TO_GTPV1U False)
|
||||
set(LINUX_LIST False)
|
||||
set(LINUX True)
|
||||
set(LOCALIZATION False)
|
||||
set(LOG_NO_THREAD True)
|
||||
set(LOWLATENCY False)
|
||||
set(MAC_CONTEXT 1)
|
||||
set(MAX_NUM_CCs 1)
|
||||
set(MIH_C_MEDIEVAL_EXTENSIONS True)
|
||||
set(MSG_PRINT False)
|
||||
set(MU_RECEIVER False)
|
||||
set(NAS_ADDRESS_FIX true)
|
||||
set(NAS_NETLINK True)
|
||||
set(NAS_UE True)
|
||||
set(NEW_FFT True)
|
||||
set(NO_RRM True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_EMU True)
|
||||
set(OAI_NW_DRIVER_TYPE_ETHERNET True)
|
||||
set(OPENAIR1 False)
|
||||
set(OPENAIR2 True)
|
||||
set(OPENAIR_EMU True)
|
||||
set(OPENAIR_LTE True)
|
||||
set (PACKAGE_NAME "oaisim")
|
||||
set(PACKAGE_NAME "oaisim")
|
||||
set(PBS_SIM False)
|
||||
set(PC_DSP False)
|
||||
set(PC_TARGET False)
|
||||
set(PDCP_MSG_PRINT False)
|
||||
set(PERFECT_CE False)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_ABSTRACTION True)
|
||||
set(PHY_EMUL False)
|
||||
set(PHYSIM False)
|
||||
set(PUCCH True)
|
||||
set(RANDOM_BF False)
|
||||
set(RF_BOARD "NoBoard")
|
||||
set(RLC_STOP_ON_LOST_PDU True)
|
||||
set(RRC_ASN1_VERSION False)
|
||||
set(RRC_ASN1_VERSION "Rel10")
|
||||
set(RRC_MSG_PRINT False)
|
||||
set(RTAI False)
|
||||
set(SECU False)
|
||||
set(SMBV False)
|
||||
set(SPECTRA False)
|
||||
set(TEST_OMG False)
|
||||
set(UE_BUILD False)
|
||||
set(USE_3GPP_ADDR_AS_LINK_ADDR False)
|
||||
set(USE_MME False)
|
||||
set(USER_MODE True)
|
||||
set(XER_PRINT False)
|
||||
set(XFORMS False)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
|
||||
@@ -0,0 +1,66 @@
|
||||
# Analogue for standard CMake module with same name, appeared in CMake 2.8.3.
|
||||
#
|
||||
# Used for compatibility with older versions of cmake.
|
||||
|
||||
function(cmake_parse_arguments prefix options one_value_keywords multi_value_keywords)
|
||||
set(all_keywords ${options} ${one_value_keywords} ${multi_value_keywords})
|
||||
# Clear variables before parsing.
|
||||
foreach(arg ${one_value_keywords} ${multie_value_keywords})
|
||||
set(cpa_${arg})
|
||||
endforeach()
|
||||
|
||||
foreach(arg ${options})
|
||||
set(cpa_${arg} FALSE)
|
||||
endforeach()
|
||||
|
||||
set(cpa_UNPARSED_ARGUMENTS)
|
||||
|
||||
set(current_keyword)
|
||||
# Classification for current_keyword:
|
||||
# 'ONE' or 'MULTY'.
|
||||
set(current_keyword_type)
|
||||
|
||||
# now iterate over all arguments and fill the result variables
|
||||
foreach(arg ${ARGN})
|
||||
list(FIND all_keywords ${arg} keyword_index)
|
||||
|
||||
if(keyword_index EQUAL -1)
|
||||
if(current_keyword)
|
||||
if(current_keyword_type STREQUAL "ONE")
|
||||
set(cpa_${current_keyword} ${arg})
|
||||
set(current_keyword)
|
||||
else(current_keyword_type STREQUAL "ONE")
|
||||
list(APPEND cpa_${current_keyword} ${arg})
|
||||
endif(current_keyword_type STREQUAL "ONE")
|
||||
else(current_keyword)
|
||||
list(APPEND cpa_UNPARSED_ARGUMENTS ${arg})
|
||||
endif(current_keyword)
|
||||
else(keyword_index EQUAL -1)
|
||||
if(current_keyword AND current_keyword_type STREQUAL "ONE")
|
||||
message(SEND_ERROR "Value is expected for one-value-keyword ${current_keyword}")
|
||||
endif(current_keyword AND current_keyword_type STREQUAL "ONE")
|
||||
list(FIND options ${arg} option_index)
|
||||
if(option_index EQUAL -1)
|
||||
set(current_keyword ${arg})
|
||||
list(FIND one_value_keywords ${arg} one_value_index)
|
||||
if(one_value_index EQUAL -1)
|
||||
set(current_keyword_type "MULTI")
|
||||
else(one_value_index EQUAL -1)
|
||||
set(current_keyword_type "ONE")
|
||||
endif(one_value_index EQUAL -1)
|
||||
else(option_index EQUAL -1)
|
||||
set(current_keyword)
|
||||
set(cpa_${arg} TRUE)
|
||||
endif(option_index EQUAL -1)
|
||||
endif(keyword_index EQUAL -1)
|
||||
endforeach(arg ${ARGN})
|
||||
|
||||
if(current_keyword AND current_keyword_type STREQUAL "ONE")
|
||||
message(SEND_ERROR "Value is expected for one-value-keyword ${current_keyword}")
|
||||
endif(current_keyword AND current_keyword_type STREQUAL "ONE")
|
||||
|
||||
# propagate the result variables to the caller:
|
||||
foreach(keyword ${all_keywords} UNPARSED_ARGUMENTS)
|
||||
set(${prefix}_${keyword} ${cpa_${keyword}} PARENT_SCOPE)
|
||||
endforeach(keyword ${all_keywords})
|
||||
endfunction(cmake_parse_arguments prefix options one_value_keywords multi_value_keywords)
|
||||
@@ -0,0 +1,48 @@
|
||||
# - Find mysqlclient
|
||||
# Find the native MySQL includes and library
|
||||
#
|
||||
# MYSQL_INCLUDE_DIR - where to find mysql.h, etc.
|
||||
# MYSQL_LIBRARIES - List of libraries when using MySQL.
|
||||
# MYSQL_FOUND - True if MySQL found.
|
||||
|
||||
IF (MYSQL_INCLUDE_DIR)
|
||||
# Already in cache, be silent
|
||||
SET(MYSQL_FIND_QUIETLY TRUE)
|
||||
ENDIF (MYSQL_INCLUDE_DIR)
|
||||
|
||||
FIND_PATH(MYSQL_INCLUDE_DIR mysql.h
|
||||
/usr/local/include/mysql
|
||||
/usr/include/mysql
|
||||
)
|
||||
|
||||
SET(MYSQL_NAMES mysqlclient mysqlclient_r)
|
||||
FIND_LIBRARY(MYSQL_LIBRARY
|
||||
NAMES ${MYSQL_NAMES}
|
||||
PATHS /usr/lib /usr/local/lib
|
||||
PATH_SUFFIXES mysql
|
||||
)
|
||||
|
||||
IF (MYSQL_INCLUDE_DIR AND MYSQL_LIBRARY)
|
||||
SET(MYSQL_FOUND TRUE)
|
||||
SET( MYSQL_LIBRARIES ${MYSQL_LIBRARY} )
|
||||
ELSE (MYSQL_INCLUDE_DIR AND MYSQL_LIBRARY)
|
||||
SET(MYSQL_FOUND FALSE)
|
||||
SET( MYSQL_LIBRARIES )
|
||||
ENDIF (MYSQL_INCLUDE_DIR AND MYSQL_LIBRARY)
|
||||
|
||||
IF (MYSQL_FOUND)
|
||||
IF (NOT MYSQL_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Found MySQL: ${MYSQL_LIBRARY}")
|
||||
ENDIF (NOT MYSQL_FIND_QUIETLY)
|
||||
ELSE (MYSQL_FOUND)
|
||||
IF (MYSQL_FIND_REQUIRED)
|
||||
MESSAGE(STATUS "Looked for MySQL libraries named ${MYSQL_NAMES}.")
|
||||
MESSAGE(FATAL_ERROR "Could NOT find MySQL library")
|
||||
ENDIF (MYSQL_FIND_REQUIRED)
|
||||
ENDIF (MYSQL_FOUND)
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
MYSQL_LIBRARY
|
||||
MYSQL_INCLUDE_DIR
|
||||
)
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
# - Look for GNU Bison, the parser generator
|
||||
# Based off a news post from Andy Cedilnik at Kitware
|
||||
# Defines the following:
|
||||
# BISON_EXECUTABLE - path to the bison executable
|
||||
# BISON_FILE - parse a file with bison
|
||||
# BISON_PREFIX_OUTPUTS - Set to true to make BISON_FILE produce prefixed
|
||||
# symbols in the generated output based on filename.
|
||||
# So for ${filename}.y, you'll get ${filename}parse(), etc.
|
||||
# instead of yyparse().
|
||||
# BISON_GENERATE_DEFINES - Set to true to make BISON_FILE output the matching
|
||||
# .h file for a .c file. You want this if you're using
|
||||
# flex.
|
||||
|
||||
IF(NOT DEFINED BISON_PREFIX_OUTPUTS)
|
||||
SET(BISON_PREFIX_OUTPUTS FALSE)
|
||||
ENDIF(NOT DEFINED BISON_PREFIX_OUTPUTS)
|
||||
|
||||
IF(NOT DEFINED BISON_GENERATE_DEFINES)
|
||||
SET(BISON_GENERATE_DEFINES FALSE)
|
||||
ENDIF(NOT DEFINED BISON_GENERATE_DEFINES)
|
||||
|
||||
IF(NOT BISON_EXECUTABLE)
|
||||
MESSAGE(STATUS "Looking for bison")
|
||||
FIND_PROGRAM(BISON_EXECUTABLE bison)
|
||||
IF(BISON_EXECUTABLE)
|
||||
MESSAGE(STATUS "Looking for bison -- ${BISON_EXECUTABLE}")
|
||||
ENDIF(BISON_EXECUTABLE)
|
||||
ENDIF(NOT BISON_EXECUTABLE)
|
||||
|
||||
IF(BISON_EXECUTABLE)
|
||||
MACRO(BISON_FILE FILENAME)
|
||||
GET_FILENAME_COMPONENT(PATH "${FILENAME}" PATH)
|
||||
IF("${PATH}" STREQUAL "")
|
||||
SET(PATH_OPT "")
|
||||
ELSE("${PATH}" STREQUAL "")
|
||||
SET(PATH_OPT "/${PATH}")
|
||||
ENDIF("${PATH}" STREQUAL "")
|
||||
GET_FILENAME_COMPONENT(HEAD "${FILENAME}" NAME_WE)
|
||||
IF(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}${PATH_OPT}")
|
||||
FILE(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}${PATH_OPT}")
|
||||
ENDIF(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}${PATH_OPT}")
|
||||
IF(BISON_PREFIX_OUTPUTS)
|
||||
SET(PREFIX "${HEAD}")
|
||||
ELSE(BISON_PREFIX_OUTPUTS)
|
||||
SET(PREFIX "yy")
|
||||
ENDIF(BISON_PREFIX_OUTPUTS)
|
||||
SET(OUTFILE "${CMAKE_CURRENT_BINARY_DIR}${PATH_OPT}/${HEAD}.tab.c")
|
||||
IF(BISON_GENERATE_DEFINES)
|
||||
SET(HEADER "${CMAKE_CURRENT_BINARY_DIR}${PATH_OPT}/${HEAD}.tab.h")
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT "${OUTFILE}" "${HEADER}"
|
||||
COMMAND "${BISON_EXECUTABLE}"
|
||||
ARGS "--name-prefix=${PREFIX}"
|
||||
"--defines"
|
||||
"--output-file=${OUTFILE}"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}"
|
||||
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}")
|
||||
SET_SOURCE_FILES_PROPERTIES("${OUTFILE}" "${HEADER}" PROPERTIES GENERATED TRUE)
|
||||
SET_SOURCE_FILES_PROPERTIES("${HEADER}" PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
ELSE(BISON_GENERATE_DEFINES)
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT "${OUTFILE}"
|
||||
COMMAND "${BISON_EXECUTABLE}"
|
||||
ARGS "--name-prefix=${PREFIX}"
|
||||
"--output-file=${OUTFILE}"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}"
|
||||
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}")
|
||||
SET_SOURCE_FILES_PROPERTIES("${OUTFILE}" PROPERTIES GENERATED TRUE)
|
||||
ENDIF(BISON_GENERATE_DEFINES)
|
||||
ENDMACRO(BISON_FILE)
|
||||
ENDIF(BISON_EXECUTABLE)
|
||||
@@ -0,0 +1,46 @@
|
||||
# - Look for GNU flex, the lexer generator.
|
||||
# Defines the following:
|
||||
# FLEX_EXECUTABLE - path to the flex executable
|
||||
# FLEX_FILE - parse a file with flex
|
||||
# FLEX_PREFIX_OUTPUTS - Set to true to make FLEX_FILE produce outputs of
|
||||
# lex.${filename}.c, not lex.yy.c . Passes -P to flex.
|
||||
|
||||
IF(NOT DEFINED FLEX_PREFIX_OUTPUTS)
|
||||
SET(FLEX_PREFIX_OUTPUTS FALSE)
|
||||
ENDIF(NOT DEFINED FLEX_PREFIX_OUTPUTS)
|
||||
|
||||
IF(NOT FLEX_EXECUTABLE)
|
||||
MESSAGE(STATUS "Looking for flex")
|
||||
FIND_PROGRAM(FLEX_EXECUTABLE flex)
|
||||
IF(FLEX_EXECUTABLE)
|
||||
MESSAGE(STATUS "Looking for flex -- ${FLEX_EXECUTABLE}")
|
||||
ENDIF(FLEX_EXECUTABLE)
|
||||
ENDIF(NOT FLEX_EXECUTABLE)
|
||||
|
||||
IF(FLEX_EXECUTABLE)
|
||||
MACRO(FLEX_FILE FILENAME)
|
||||
GET_FILENAME_COMPONENT(PATH "${FILENAME}" PATH)
|
||||
IF("${PATH}" STREQUAL "")
|
||||
SET(PATH_OPT "")
|
||||
ELSE("${PATH}" STREQUAL "")
|
||||
SET(PATH_OPT "/${PATH}")
|
||||
ENDIF("${PATH}" STREQUAL "")
|
||||
IF(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}${PATH_OPT}")
|
||||
FILE(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}${PATH_OPT}")
|
||||
ENDIF(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}${PATH_OPT}")
|
||||
IF(FLEX_PREFIX_OUTPUTS)
|
||||
GET_FILENAME_COMPONENT(PREFIX "${FILENAME}" NAME_WE)
|
||||
ELSE(FLEX_PREFIX_OUTPUTS)
|
||||
SET(PREFIX "yy")
|
||||
ENDIF(FLEX_PREFIX_OUTPUTS)
|
||||
SET(OUTFILE "${CMAKE_CURRENT_BINARY_DIR}${PATH_OPT}/lex.${PREFIX}.c")
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT "${OUTFILE}"
|
||||
COMMAND "${FLEX_EXECUTABLE}"
|
||||
ARGS "--prefix=${PREFIX}"
|
||||
"--outfile=${OUTFILE}"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}"
|
||||
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}")
|
||||
SET_SOURCE_FILES_PROPERTIES("${OUTFILE}" PROPERTIES GENERATED TRUE)
|
||||
ENDMACRO(FLEX_FILE)
|
||||
ENDIF(FLEX_EXECUTABLE)
|
||||
@@ -0,0 +1,89 @@
|
||||
# - Find freediameter
|
||||
# Find the native FreeDiameter includes and libraries
|
||||
#
|
||||
# FREEDIAMETER_FOUND - True if FreeDiameter found.
|
||||
# FREEDIAMETER_INCLUDE_DIR - where to find gnutls.h, etc.
|
||||
# FREEDIAMETER_LIBRARIES - List of libraries when using gnutls.
|
||||
# FREEDIAMETER_HSS_S6A_ENABLED - true if FreeDiameter enabled for S6A interface
|
||||
|
||||
|
||||
if (FREEDIAMETER_INCLUDE_DIR AND FREEDIAMETER_LIBRARIES)
|
||||
set(FREEDIAMETER_FIND_QUIETLY TRUE)
|
||||
endif (FREEDIAMETER_INCLUDE_DIR AND FREEDIAMETER_LIBRARIES)
|
||||
|
||||
# Include dir
|
||||
find_path(FREEDIAMETER_INCLUDE_DIR
|
||||
NAMES
|
||||
freeDiameter/freeDiameter-host.h
|
||||
freeDiameter/libfdcore.h
|
||||
freeDiameter/libfdproto.h
|
||||
)
|
||||
|
||||
# Library
|
||||
find_library(FREEDIAMETER_LIBRARY
|
||||
NAMES fdcore
|
||||
)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set FREEDIAMETER_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(FREEDIAMETER DEFAULT_MSG FREEDIAMETER_LIBRARY FREEDIAMETER_INCLUDE_DIR)
|
||||
|
||||
IF(FREEDIAMETER_FOUND)
|
||||
SET( FREEDIAMETER_LIBRARIES ${FREEDIAMETER_LIBRARY} )
|
||||
ELSE(FREEDIAMETER_FOUND)
|
||||
SET( FREEDIAMETER_LIBRARIES )
|
||||
ENDIF(FREEDIAMETER_FOUND)
|
||||
|
||||
find_library(FREEDIAMETER_LIBRARY2
|
||||
NAMES fdproto
|
||||
)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(FREEDIAMETER2 DEFAULT_MSG FREEDIAMETER_LIBRARY2 FREEDIAMETER_INCLUDE_DIR)
|
||||
IF(FREEDIAMETER2_FOUND)
|
||||
SET( FREEDIAMETER_LIBRARIES ${FREEDIAMETER_LIBRARIES} ${FREEDIAMETER_LIBRARY2} )
|
||||
ELSE(FREEDIAMETER2_FOUND)
|
||||
SET( FREEDIAMETER_LIBRARIES )
|
||||
ENDIF(FREEDIAMETER2_FOUND)
|
||||
|
||||
|
||||
# Lastly make it so that the FREEDIAMETER_LIBRARY and FREEDIAMETER_INCLUDE_DIR variables
|
||||
# only show up under the advanced options in the gui cmake applications.
|
||||
MARK_AS_ADVANCED( FREEDIAMETER_LIBRARY FREEDIAMETER_INCLUDE_DIR )
|
||||
|
||||
# Now check if the library is patched for OPENAIR HSS S6A.
|
||||
IF(FREEDIAMETER_FOUND)
|
||||
IF( FREEDIAMETER_INCLUDE_DIR )
|
||||
# Extract FD_PROJECT_VERSION_MAJOR, FD_PROJECT_VERSION_MINOR from freeDiameter-host.h
|
||||
# Read the whole file:
|
||||
#
|
||||
FILE(READ "${FREEDIAMETER_INCLUDE_DIR}/freeDiameter/freeDiameter-host.h" _freeDiameter_HOST_H_CONTENTS)
|
||||
|
||||
STRING(REGEX REPLACE ".*#define FD_PROJECT_VERSION_MAJOR ([0-9]+).*" "\\1" FD_PROJECT_VERSION_MAJOR "${_freeDiameter_HOST_H_CONTENTS}")
|
||||
STRING(REGEX REPLACE ".*#define FD_PROJECT_VERSION_MINOR ([0-9]+).*" "\\1" FD_PROJECT_VERSION_MINOR "${_freeDiameter_HOST_H_CONTENTS}")
|
||||
|
||||
IF(FD_PROJECT_VERSION_MAJOR GREATER 0)
|
||||
MATH(EXPR FREEDIAMETER_VERSION_VALUE "${FD_PROJECT_VERSION_MAJOR} * 100 + ${FD_PROJECT_VERSION_MINOR} * 10")
|
||||
SET(FREEDIAMETER_VERSION "${FREEDIAMETER_VERSION_VALUE}" CACHE INTERNAL "Freediameter release version")
|
||||
MESSAGE(STATUS "freeDiameter version found ${FREEDIAMETER_VERSION}")
|
||||
ENDIF(FD_PROJECT_VERSION_MAJOR GREATER 0)
|
||||
ENDIF( FREEDIAMETER_INCLUDE_DIR )
|
||||
GET_FILENAME_COMPONENT(FREEDIAMETER_PATH ${FREEDIAMETER_LIBRARY} PATH)
|
||||
IF( NOT( "${FREEDIAMETER_VERSION_TEST_FOR}" STREQUAL "${FREEDIAMETER_LIBRARIES}" ))
|
||||
INCLUDE (CheckLibraryExists)
|
||||
MESSAGE(STATUS "Checking freeDiameter patched for S6A")
|
||||
UNSET(FREEDIAMETER_HSS_S6A_ENABLED)
|
||||
UNSET(FREEDIAMETER_HSS_S6A_ENABLED CACHE)
|
||||
UNSET(DICT_S6A_FOUND)
|
||||
UNSET(DICT_S6A_FOUND CACHE)
|
||||
|
||||
|
||||
FIND_FILE(DICT_S6A_FOUND NAMES dict_s6a.fdx PATHS ${FREEDIAMETER_PATH} ${FREEDIAMETER_PATH}/freeDiameter)
|
||||
IF(DICT_S6A_FOUND)
|
||||
SET( FREEDIAMETER_HSS_S6A_ENABLED TRUE CACHE INTERNAL "dict_s6a.fdx Found")
|
||||
ELSE(DICT_S6A_FOUND)
|
||||
SET( FREEDIAMETER_HSS_S6A_ENABLED FALSE CACHE INTERNAL "dict_s6a.fdx not Found")
|
||||
ENDIF(DICT_S6A_FOUND)
|
||||
SET( FREEDIAMETER_VERSION_TEST_FOR ${FREEDIAMETER_LIBRARIES} CACHE INTERNAL "Version the test was made against" )
|
||||
ENDIF (NOT( "${FREEDIAMETER_VERSION_TEST_FOR}" STREQUAL "${FREEDIAMETER_LIBRARIES}" ))
|
||||
ENDIF(FREEDIAMETER_FOUND)
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
# FindGCCXML
|
||||
# ----------
|
||||
find_program(GCCXML
|
||||
NAMES gccxml
|
||||
PATHS "/usr/bin"
|
||||
"usr/local/bin"
|
||||
)
|
||||
mark_as_advanced(GCCXML)
|
||||
@@ -0,0 +1,36 @@
|
||||
# - Find gnutls
|
||||
# Find the native GCRYPT includes and library
|
||||
#
|
||||
# GCRYPT_FOUND - True if gnutls found.
|
||||
# GCRYPT_INCLUDE_DIR - where to find gnutls.h, etc.
|
||||
# GCRYPT_LIBRARIES - List of libraries when using gnutls.
|
||||
|
||||
if (GCRYPT_INCLUDE_DIR AND GCRYPT_LIBRARIES)
|
||||
set(GCRYPT_FIND_QUIETLY TRUE)
|
||||
endif (GCRYPT_INCLUDE_DIR AND GCRYPT_LIBRARIES)
|
||||
|
||||
# Include dir
|
||||
find_path(GCRYPT_INCLUDE_DIR
|
||||
NAMES
|
||||
gcrypt.h
|
||||
)
|
||||
|
||||
# Library
|
||||
find_library(GCRYPT_LIBRARY
|
||||
NAMES gcrypt
|
||||
)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set GCRYPT_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GCRYPT DEFAULT_MSG GCRYPT_LIBRARY GCRYPT_INCLUDE_DIR)
|
||||
|
||||
IF(GCRYPT_FOUND)
|
||||
SET( GCRYPT_LIBRARIES ${GCRYPT_LIBRARY} )
|
||||
ELSE(GCRYPT_FOUND)
|
||||
SET( GCRYPT_LIBRARIES )
|
||||
ENDIF(GCRYPT_FOUND)
|
||||
|
||||
# Lastly make it so that the GCRYPT_LIBRARY and GCRYPT_INCLUDE_DIR variables
|
||||
# only show up under the advanced options in the gui cmake applications.
|
||||
MARK_AS_ADVANCED( GCRYPT_LIBRARY GCRYPT_INCLUDE_DIR )
|
||||
@@ -0,0 +1,64 @@
|
||||
# - Find gnutls
|
||||
# Find the native GNUTLS includes and library
|
||||
#
|
||||
# GNUTLS_FOUND - True if gnutls found.
|
||||
# GNUTLS_INCLUDE_DIR - where to find gnutls.h, etc.
|
||||
# GNUTLS_LIBRARIES - List of libraries when using gnutls.
|
||||
# GNUTLS_VERSION_210 - true if GnuTLS version is >= 2.10.0 (does not require additional separate gcrypt initialization)
|
||||
# GNUTLS_VERSION_212 - true if GnuTLS version is >= 2.12.0 (supports gnutls_transport_set_vec_push_function)
|
||||
# GNUTLS_VERSION_300 - true if GnuTLS version is >= 3.00.0 (x509 verification functions changed)
|
||||
# GNUTLS_VERSION_310 - true if GnuTLS version is >= 3.01.0 (stabilization branch with new APIs)
|
||||
|
||||
if (GNUTLS_INCLUDE_DIR AND GNUTLS_LIBRARIES)
|
||||
set(GNUTLS_FIND_QUIETLY TRUE)
|
||||
endif (GNUTLS_INCLUDE_DIR AND GNUTLS_LIBRARIES)
|
||||
|
||||
# Include dir
|
||||
find_path(GNUTLS_INCLUDE_DIR
|
||||
NAMES
|
||||
gnutls.h
|
||||
gnutls/gnutls.h
|
||||
)
|
||||
|
||||
# Library
|
||||
find_library(GNUTLS_LIBRARY
|
||||
NAMES gnutls
|
||||
)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set GNUTLS_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNUTLS DEFAULT_MSG GNUTLS_LIBRARY GNUTLS_INCLUDE_DIR)
|
||||
|
||||
IF(GNUTLS_FOUND)
|
||||
SET( GNUTLS_LIBRARIES ${GNUTLS_LIBRARY} )
|
||||
ELSE(GNUTLS_FOUND)
|
||||
SET( GNUTLS_LIBRARIES )
|
||||
ENDIF(GNUTLS_FOUND)
|
||||
|
||||
# Lastly make it so that the GNUTLS_LIBRARY and GNUTLS_INCLUDE_DIR variables
|
||||
# only show up under the advanced options in the gui cmake applications.
|
||||
MARK_AS_ADVANCED( GNUTLS_LIBRARY GNUTLS_INCLUDE_DIR )
|
||||
|
||||
# Now check if the library is recent. gnutls_hash was added in 2.10.0.
|
||||
# Also test library is even more recent. gnutls_x509_trust_list_verify_crt was added in 3.00.0.
|
||||
IF(GNUTLS_FOUND)
|
||||
IF( NOT( "${GNUTLS_VERSION_TEST_FOR}" STREQUAL "${GNUTLS_LIBRARY}" ))
|
||||
INCLUDE (CheckLibraryExists)
|
||||
MESSAGE(STATUS "Checking GNUTLS version")
|
||||
UNSET(GNUTLS_VERSION_210)
|
||||
UNSET(GNUTLS_VERSION_210 CACHE)
|
||||
UNSET(GNUTLS_VERSION_212)
|
||||
UNSET(GNUTLS_VERSION_212 CACHE)
|
||||
UNSET(GNUTLS_VERSION_300)
|
||||
UNSET(GNUTLS_VERSION_300 CACHE)
|
||||
UNSET(GNUTLS_VERSION_310)
|
||||
UNSET(GNUTLS_VERSION_310 CACHE)
|
||||
GET_FILENAME_COMPONENT(GNUTLS_PATH ${GNUTLS_LIBRARY} PATH)
|
||||
CHECK_LIBRARY_EXISTS(gnutls gnutls_hash ${GNUTLS_PATH} GNUTLS_VERSION_210)
|
||||
CHECK_LIBRARY_EXISTS(gnutls gnutls_transport_set_vec_push_function ${GNUTLS_PATH} GNUTLS_VERSION_212)
|
||||
CHECK_LIBRARY_EXISTS(gnutls gnutls_x509_trust_list_verify_crt ${GNUTLS_PATH} GNUTLS_VERSION_300)
|
||||
CHECK_LIBRARY_EXISTS(gnutls gnutls_handshake_set_timeout ${GNUTLS_PATH} GNUTLS_VERSION_310)
|
||||
SET( GNUTLS_VERSION_TEST_FOR ${GNUTLS_LIBRARY} CACHE INTERNAL "Version the test was made against" )
|
||||
ENDIF (NOT( "${GNUTLS_VERSION_TEST_FOR}" STREQUAL "${GNUTLS_LIBRARY}" ))
|
||||
ENDIF(GNUTLS_FOUND)
|
||||
@@ -0,0 +1,105 @@
|
||||
# - Support for building kernel modules
|
||||
|
||||
# This module defines several variables which may be used when build
|
||||
# kernel modules.
|
||||
#
|
||||
# The following variables are set here:
|
||||
# Kbuild_VERSION_STRING - kernel version.
|
||||
# Kbuild_ARCH - architecture.
|
||||
# Kbuild_BUILD_DIR - directory for build kernel and/or its components.
|
||||
# Kbuild_VERSION_{MAJOR|MINOR|TWEAK} - kernel version components
|
||||
# Kbuild_VERSION_STRING_CLASSIC - classic representation of version,
|
||||
# where parts are delimited by dots.
|
||||
#
|
||||
# Cache variables which affect on this package:
|
||||
# CMAKE_SYSTEM_VERSION - change Kbuild_VERSION_STRING
|
||||
# Also, setting CMAKE_SYSTEM_VERSION will be interpreted by cmake as crosscompile.
|
||||
#
|
||||
# Cache variables(ADVANCED) which affect on this package:
|
||||
# ARCH - if not empty, change Kbuild_ARCH
|
||||
# KBUILD_DIR - change Kbuild_BUILD_DIR
|
||||
|
||||
set(Kbuild_VERSION_STRING ${CMAKE_SYSTEM_VERSION})
|
||||
|
||||
# Form classic version view.
|
||||
string(REGEX MATCH "([0-9]+)\\.([0-9]+)[.-]([0-9]+)"
|
||||
_kernel_version_match
|
||||
"${Kbuild_VERSION_STRING}"
|
||||
)
|
||||
|
||||
if(NOT _kernel_version_match)
|
||||
message(FATAL_ERROR "Kernel version has unexpected format: ${Kbuild_VERSION_STRING}")
|
||||
endif(NOT _kernel_version_match)
|
||||
|
||||
set(Kbuild_VERSION_MAJOR ${CMAKE_MATCH_1})
|
||||
set(Kbuild_VERSION_MINOR ${CMAKE_MATCH_2})
|
||||
set(Kbuild_VERSION_TWEAK ${CMAKE_MATCH_3})
|
||||
# Version string for compare
|
||||
set(Kbuild_VERSION_STRING_CLASSIC "${Kbuild_VERSION_MAJOR}.${Kbuild_VERSION_MINOR}.${Kbuild_VERSION_TWEAK}")
|
||||
|
||||
set(KBUILD_DIR "/lib/modules/${Kbuild_VERSION_STRING}/build" CACHE PATH
|
||||
"Directory for build linux kernel and/or its components."
|
||||
)
|
||||
mark_as_advanced(KBUILD_DIR)
|
||||
|
||||
set(Kbuild_BUILD_DIR "${KBUILD_DIR}")
|
||||
|
||||
set(ARCH "" CACHE STRING
|
||||
"Architecture for build linux kernel components for, empty string means autodetect."
|
||||
)
|
||||
mark_as_advanced(ARCH)
|
||||
|
||||
if(NOT ARCH)
|
||||
# Autodetect arch.
|
||||
execute_process(COMMAND uname -m
|
||||
RESULT_VARIABLE uname_m_result
|
||||
OUTPUT_VARIABLE ARCH_DEFAULT
|
||||
)
|
||||
if(NOT uname_m_result EQUAL 0)
|
||||
message("'uname -m' failed:")
|
||||
message("${ARCH_DEFAULT}")
|
||||
message(FATAL_ERROR "Failed to determine system architecture.")
|
||||
endif(NOT uname_m_result EQUAL 0)
|
||||
|
||||
string(REGEX REPLACE "\n$" "" ARCH_DEFAULT "${ARCH_DEFAULT}")
|
||||
|
||||
# Pairs of pattern-replace for postprocess architecture string from
|
||||
# 'uname -m'.
|
||||
# Taken from ./Makefile of the kernel build.
|
||||
set(_kbuild_arch_replacers
|
||||
"i.86" "x86"
|
||||
"x86_64" "x86"
|
||||
"sun4u" "sparc64"
|
||||
"arm.*" "arm"
|
||||
"sa110" "arm"
|
||||
"s390x" "s390"
|
||||
"parisc64" "parisc"
|
||||
"ppc.*" "powerpc"
|
||||
"mips.*" "mips"
|
||||
"sh[234].*" "sh"
|
||||
"aarch64.*" "arm64"
|
||||
)
|
||||
|
||||
set(_current_pattern)
|
||||
foreach(p ${_kbuild_arch_replacers})
|
||||
if(_current_pattern)
|
||||
string(REGEX REPLACE "${_current_pattern}" "${p}" ARCH_DEFAULT "${ARCH_DEFAULT}")
|
||||
set(_current_pattern)
|
||||
else(_current_pattern)
|
||||
set(_current_pattern "${p}")
|
||||
endif(_current_pattern)
|
||||
endforeach(p ${_kbuild_arch_replacers})
|
||||
|
||||
set(Kbuild_ARCH "${ARCH_DEFAULT}")
|
||||
else(NOT ARCH)
|
||||
# User-provided value is used.
|
||||
set(Kbuild_ARCH "${ARCH}")
|
||||
endif(NOT ARCH)
|
||||
|
||||
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(Kbuild
|
||||
REQUIRED_VARS Kbuild_BUILD_DIR
|
||||
VERSION_VAR KBuild_VERSION_STRING_CLASSIC
|
||||
)
|
||||
@@ -0,0 +1,53 @@
|
||||
# - Try to find the LibXml2 xml processing library
|
||||
# Once done this will define
|
||||
#
|
||||
# LIBXML2_FOUND - System has LibXml2
|
||||
# LIBXML2_INCLUDE_DIR - The LibXml2 include directory
|
||||
# LIBXML2_LIBRARIES - The libraries needed to use LibXml2
|
||||
# LIBXML2_DEFINITIONS - Compiler switches required for using LibXml2
|
||||
# LIBXML2_XMLLINT_EXECUTABLE - The XML checking tool xmllint coming with LibXml2
|
||||
|
||||
#=============================================================================
|
||||
# Copyright 2006-2009 Kitware, Inc.
|
||||
# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
|
||||
#
|
||||
# Distributed under the OSI-approved BSD License (the "License");
|
||||
# see accompanying file Copyright.txt for details.
|
||||
#
|
||||
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
# See the License for more information.
|
||||
#=============================================================================
|
||||
# (To distributed this file outside of CMake, substitute the full
|
||||
# License text for the above reference.)
|
||||
|
||||
# use pkg-config to get the directories and then use these values
|
||||
# in the FIND_PATH() and FIND_LIBRARY() calls
|
||||
FIND_PACKAGE(PkgConfig)
|
||||
PKG_CHECK_MODULES(PC_LIBXML libxml-2.0)
|
||||
SET(LIBXML2_DEFINITIONS ${PC_LIBXML_CFLAGS_OTHER})
|
||||
|
||||
FIND_PATH(LIBXML2_INCLUDE_DIR NAMES libxml/xpath.h
|
||||
HINTS
|
||||
${PC_LIBXML_INCLUDEDIR}
|
||||
${PC_LIBXML_INCLUDE_DIRS}
|
||||
PATH_SUFFIXES libxml2
|
||||
)
|
||||
|
||||
FIND_LIBRARY(LIBXML2_LIBRARIES NAMES xml2 libxml2
|
||||
HINTS
|
||||
${PC_LIBXML_LIBDIR}
|
||||
${PC_LIBXML_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
FIND_PROGRAM(LIBXML2_XMLLINT_EXECUTABLE xmllint)
|
||||
# for backwards compat. with KDE 4.0.x:
|
||||
SET(XMLLINT_EXECUTABLE "${LIBXML2_XMLLINT_EXECUTABLE}")
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set LIBXML2_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2 DEFAULT_MSG LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR)
|
||||
|
||||
MARK_AS_ADVANCED(LIBXML2_INCLUDE_DIR LIBXML2_LIBRARIES LIBXML2_XMLLINT_EXECUTABLE)
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
# - Find mysqlclient
|
||||
#
|
||||
# -*- cmake -*-
|
||||
#
|
||||
# Find the native MySQL includes and library
|
||||
#
|
||||
# MySQL_INCLUDE_DIR - where to find mysql.h, etc.
|
||||
# MySQL_LIBRARIES - List of libraries when using MySQL.
|
||||
# MySQL_FOUND - True if MySQL found.
|
||||
|
||||
IF (MySQL_INCLUDE_DIR AND MySQL_LIBRARY)
|
||||
# Already in cache, be silent
|
||||
SET(MySQL_FIND_QUIETLY TRUE)
|
||||
ENDIF (MySQL_INCLUDE_DIR AND MySQL_LIBRARY)
|
||||
|
||||
# Include dir
|
||||
FIND_PATH(MySQL_INCLUDE_DIR
|
||||
NAMES mysql.h
|
||||
PATH_SUFFIXES mysql
|
||||
)
|
||||
|
||||
# Library
|
||||
#SET(MySQL_NAMES mysqlclient mysqlclient_r)
|
||||
SET(MySQL_NAMES mysqlclient)
|
||||
FIND_LIBRARY(MySQL_LIBRARY
|
||||
NAMES ${MySQL_NAMES}
|
||||
PATHS /usr/lib /usr/local/lib
|
||||
PATH_SUFFIXES mysql
|
||||
)
|
||||
|
||||
IF (MySQL_INCLUDE_DIR AND MySQL_LIBRARY)
|
||||
SET(MySQL_FOUND TRUE)
|
||||
SET( MySQL_LIBRARIES ${MySQL_LIBRARY} )
|
||||
ELSE (MySQL_INCLUDE_DIR AND MySQL_LIBRARY)
|
||||
SET(MySQL_FOUND FALSE)
|
||||
SET( MySQL_LIBRARIES )
|
||||
ENDIF (MySQL_INCLUDE_DIR AND MySQL_LIBRARY)
|
||||
|
||||
|
||||
IF (MySQL_FOUND)
|
||||
IF (NOT MySQL_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Found MySQL: ${MySQL_LIBRARY}")
|
||||
ENDIF (NOT MySQL_FIND_QUIETLY)
|
||||
ELSE (MySQL_FOUND)
|
||||
IF (MySQL_FIND_REQUIRED)
|
||||
MESSAGE(STATUS "Looked for MySQL libraries named ${MySQL_NAMES}.")
|
||||
MESSAGE(FATAL_ERROR "Could NOT find MySQL library")
|
||||
ENDIF (MySQL_FIND_REQUIRED)
|
||||
ENDIF (MySQL_FOUND)
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
MySQL_LIBRARY
|
||||
MySQL_INCLUDE_DIR
|
||||
)
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
# Find the native Nettle includes, library, and flags
|
||||
#
|
||||
# NETTLE_INCLUDE_DIR - where to find nettle.h, etc.
|
||||
# NETTLE_LIBRARIES - List of libraries when using Nettle.
|
||||
# NETTLE_FOUND - True if Nettle found.
|
||||
IF (NETTLE_INCLUDE_DIR)
|
||||
# Already in cache, be silent
|
||||
SET(NETTLE_FIND_QUIETLY TRUE)
|
||||
ENDIF (NETTLE_INCLUDE_DIR)
|
||||
FIND_PATH(NETTLE_INCLUDE_DIR nettle/nettle-meta.h)
|
||||
SET(NETTLE_NAMES nettle)
|
||||
FIND_LIBRARY(NETTLE_LIBRARY NAMES ${NETTLE_NAMES} )
|
||||
# handle the QUIETLY and REQUIRED arguments and set NETTLE_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(NETTLE DEFAULT_MSG NETTLE_LIBRARY NETTLE_INCLUDE_DIR)
|
||||
IF(NETTLE_FOUND)
|
||||
SET(NETTLE_LIBRARIES ${NETTLE_LIBRARY})
|
||||
ELSE(NETTLE_FOUND)
|
||||
SET(NETTLE_LIBRARIES )
|
||||
ENDIF(NETTLE_FOUND)
|
||||
MARK_AS_ADVANCED(NETTLE_LIBRARY NETTLE_INCLUDE_DIR)
|
||||
@@ -0,0 +1,36 @@
|
||||
# - Find PostgreSQL library
|
||||
#
|
||||
# This module defines:
|
||||
# POSTGRESQL_FOUND - True if the package is found
|
||||
# POSTGRESQL_INCLUDE_DIR - containing libpq-fe.h
|
||||
# POSTGRESQL_LIBRARIES - Libraries to link to use PQ functions.
|
||||
|
||||
if (POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES)
|
||||
set(POSTGRESQL_FIND_QUIETLY TRUE)
|
||||
endif (POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES)
|
||||
|
||||
# Include dir
|
||||
find_path(POSTGRESQL_INCLUDE_DIR
|
||||
NAMES libpq-fe.h
|
||||
PATH_SUFFIXES pgsql postgresql
|
||||
)
|
||||
|
||||
# Library
|
||||
find_library(POSTGRESQL_LIBRARY
|
||||
NAMES pq
|
||||
)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set POSTGRESQL_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(POSTGRESQL DEFAULT_MSG POSTGRESQL_LIBRARY POSTGRESQL_INCLUDE_DIR)
|
||||
|
||||
IF(POSTGRESQL_FOUND)
|
||||
SET( POSTGRESQL_LIBRARIES ${POSTGRESQL_LIBRARY} )
|
||||
ELSE(POSTGRESQL_FOUND)
|
||||
SET( POSTGRESQL_LIBRARIES )
|
||||
ENDIF(POSTGRESQL_FOUND)
|
||||
|
||||
# Lastly make it so that the POSTGRESQL_LIBRARY and POSTGRESQL_INCLUDE_DIR variables
|
||||
# only show up under the advanced options in the gui cmake applications.
|
||||
MARK_AS_ADVANCED( POSTGRESQL_LIBRARY POSTGRESQL_INCLUDE_DIR )
|
||||
@@ -0,0 +1,46 @@
|
||||
# - Try to find SCTP library and headers
|
||||
# Once done, this will define
|
||||
#
|
||||
# SCTP_FOUND - system has SCTP
|
||||
# SCTP_INCLUDE_DIR - the SCTP include directories
|
||||
# SCTP_LIBRARIES - link these to use SCTP
|
||||
|
||||
if (SCTP_INCLUDE_DIR AND SCTP_LIBRARIES)
|
||||
set(SCTP_FIND_QUIETLY TRUE)
|
||||
endif (SCTP_INCLUDE_DIR AND SCTP_LIBRARIES)
|
||||
|
||||
# Include dir
|
||||
find_path(SCTP_INCLUDE_DIR
|
||||
NAMES netinet/sctp.h
|
||||
)
|
||||
|
||||
# Library
|
||||
find_library(SCTP_LIBRARY
|
||||
NAMES sctp
|
||||
)
|
||||
|
||||
# Set the include dir variables and the libraries and let libfind_process do the rest.
|
||||
# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
|
||||
#set(SCTP_PROCESS_INCLUDES SCTP_INCLUDE_DIR)
|
||||
#set(SCTP_PROCESS_LIBS SCTP_LIBRARY)
|
||||
#libfind_process(SCTP)
|
||||
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set SCTP_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SCTP DEFAULT_MSG SCTP_LIBRARY SCTP_INCLUDE_DIR)
|
||||
|
||||
# If we successfully found the sctp library then add the library to the
|
||||
# SCTP_LIBRARIES cmake variable otherwise set SCTP_LIBRARIES to nothing.
|
||||
IF(SCTP_FOUND)
|
||||
SET( SCTP_LIBRARIES ${SCTP_LIBRARY} )
|
||||
ELSE(SCTP_FOUND)
|
||||
SET( SCTP_LIBRARIES )
|
||||
ENDIF(SCTP_FOUND)
|
||||
|
||||
|
||||
# Lastly make it so that the SCTP_LIBRARY and SCTP_INCLUDE_DIR variables
|
||||
# only show up under the advanced options in the gui cmake applications.
|
||||
MARK_AS_ADVANCED( SCTP_LIBRARY SCTP_INCLUDE_DIR )
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
src=${dir}
|
||||
obj-m += ${name}.o
|
||||
${name}-y += ${objs}
|
||||
ccflags-y += ${module_cc_opt}
|
||||
@@ -0,0 +1,229 @@
|
||||
# Create rule for obtain one file by copying another one
|
||||
function(rule_copy_file target_file source_file)
|
||||
add_custom_command(OUTPUT ${target_file}
|
||||
COMMAND cp -p ${source_file} ${target_file}
|
||||
DEPENDS ${source_file}
|
||||
)
|
||||
endfunction(rule_copy_file target_file source_file)
|
||||
|
||||
# rule_copy_source([source_dir] file ...)
|
||||
#
|
||||
# Create rule for obtain file(s) in binary tree by copiing it from source tree.
|
||||
#
|
||||
# Files are given relative to ${source_dir}, if it is set, or
|
||||
# relative to ${CMAKE_CURRENT_SOURCE_DIR}.
|
||||
#
|
||||
# Files will be copied into ${CMAKE_CURRENT_BINARY_DIR} with same
|
||||
# relative paths.
|
||||
#
|
||||
# ${source_dir} should be absolute path(that is, starts from '/').
|
||||
# Otherwise first argument is treated as first file to copy.
|
||||
function(rule_copy_source file)
|
||||
string(REGEX MATCH "^/" is_abs_path ${file})
|
||||
if(is_abs_path)
|
||||
set(source_dir ${file})
|
||||
set(files ${ARGN})
|
||||
else(is_abs_path)
|
||||
set(source_dir ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
set(files ${file} ${ARGN})
|
||||
endif(is_abs_path)
|
||||
|
||||
foreach(file_real ${files})
|
||||
rule_copy_file("${CMAKE_CURRENT_BINARY_DIR}/${file_real}"
|
||||
${source_dir}/${file_real})
|
||||
endforeach(file_real ${files})
|
||||
endfunction(rule_copy_source file)
|
||||
|
||||
# to_abs_path(output_var path [...])
|
||||
#
|
||||
# Convert relative path of file to absolute path:
|
||||
# use path in source tree, if file already exist there.
|
||||
# otherwise use path in binary tree.
|
||||
# If initial path already absolute, return it.
|
||||
function(to_abs_path output_var)
|
||||
set(result)
|
||||
foreach(path ${ARGN})
|
||||
string(REGEX MATCH "^/" _is_abs_path ${path})
|
||||
if(_is_abs_path)
|
||||
list(APPEND result ${path})
|
||||
else(_is_abs_path)
|
||||
file(GLOB to_abs_path_file
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/${path}"
|
||||
)
|
||||
if(NOT to_abs_path_file)
|
||||
set (to_abs_path_file "${CMAKE_CURRENT_BINARY_DIR}/${path}")
|
||||
endif(NOT to_abs_path_file)
|
||||
list(APPEND result ${to_abs_path_file})
|
||||
endif(_is_abs_path)
|
||||
endforeach(path ${ARGN})
|
||||
set("${output_var}" ${result} PARENT_SCOPE)
|
||||
endfunction(to_abs_path output_var path)
|
||||
|
||||
# is_path_inside_dir(output_var dir path)
|
||||
#
|
||||
# Set output_var to true if path is absolute path inside given directory.
|
||||
# NOTE: Path should be absolute.
|
||||
macro(is_path_inside_dir output_var dir path)
|
||||
file(RELATIVE_PATH _rel_path ${dir} ${path})
|
||||
string(REGEX MATCH "^\\.\\." _is_not_inside_dir ${_rel_path})
|
||||
if(_is_not_inside_dir)
|
||||
set(${output_var} "FALSE")
|
||||
else(_is_not_inside_dir)
|
||||
set(${output_var} "TRUE")
|
||||
endif(_is_not_inside_dir)
|
||||
endmacro(is_path_inside_dir output_var dir path)
|
||||
|
||||
|
||||
# Write given content to the file.
|
||||
#
|
||||
# If file is already exists and its content is same as written one, file
|
||||
# is not rewritten, so its write timestamp remains unchanged.
|
||||
function(file_update filename content)
|
||||
if(EXISTS "${filename}")
|
||||
file(READ "${filename}" old_content)
|
||||
if(old_content STREQUAL "${content}")
|
||||
return()
|
||||
endif(old_content STREQUAL "${content}")
|
||||
endif(EXISTS "${filename}")
|
||||
# File doesn't exists or its content differ.
|
||||
file(WRITE "${filename}" "${content}")
|
||||
endfunction(file_update filename content)
|
||||
|
||||
|
||||
# Write given content to the file in APPEND mode.
|
||||
#
|
||||
# For append we use position variable <pos> which should be initialized
|
||||
# to 0 for every new build process and which is updated every time when
|
||||
# this function is called.
|
||||
# If file is already exists and its content at given <pos> is same as
|
||||
# written one, file is not rewritten, so its write timestamp remains unchanged.
|
||||
#
|
||||
# Note, that file will not be rewritten if new build process issues less
|
||||
# APPEND actions than one which create file.
|
||||
# But similar problem exists for file_update() and even for built-in
|
||||
# configure_file() command: file will not be removed if new build process
|
||||
# do not call configure_file() for it.
|
||||
function(file_update_append filename content POS)
|
||||
set(pos "${${POS}}")
|
||||
string(LENGTH "${content}" len)
|
||||
# Update output variable first.
|
||||
# This allows to use return() when need not to do anything
|
||||
math(EXPR pos_new "${pos}+${len}")
|
||||
set(${POS} "${pos_new}" PARENT_SCOPE)
|
||||
if(EXISTS "${filename}")
|
||||
file(READ "${filename}" old_content LIMIT "${len}" OFFSET "${pos}")
|
||||
if(old_content STREQUAL "${content}")
|
||||
return()
|
||||
elseif(old_content STREQUAL "")
|
||||
file(APPEND "${filename}" "${content}")
|
||||
return()
|
||||
endif(old_content STREQUAL "${content}")
|
||||
else(EXISTS "${filename}")
|
||||
if(NOT pos EQUAL 0)
|
||||
message(FATAL_ERROR "Appending to non-zero position to non-existent file.")
|
||||
endif(NOT pos EQUAL 0)
|
||||
endif(EXISTS "${filename}")
|
||||
# File doesn't exists or its content differ.
|
||||
if(NOT pos EQUAL 0)
|
||||
file(READ "${filename}" prefix LIMIT "${pos}")
|
||||
else(NOT pos EQUAL 0)
|
||||
set(prefix)
|
||||
endif(NOT pos EQUAL 0)
|
||||
file(WRITE "${filename}" "${prefix}${content}")
|
||||
endfunction(file_update_append filename content POS)
|
||||
|
||||
|
||||
# Common mechanism for output status message
|
||||
# when checking different aspects.
|
||||
#
|
||||
# Normal using:
|
||||
#
|
||||
# check_begin("Checking <...>")
|
||||
# if(NOT <check-already-has-been-done>)
|
||||
# check_try() # Here message is printed
|
||||
# # Perform check(try_compile(), etc.)
|
||||
# endif(NOT <check-already-has-been-done>)
|
||||
# check_end("<check-result>") # Here message is printed with result.
|
||||
|
||||
# Should be called (unconditionally) when new cheking is issued.
|
||||
# Note, that given @status_msg is not printed at that step.
|
||||
function(check_begin status_msg)
|
||||
set(_check_status_msg ${status_msg} PARENT_SCOPE)
|
||||
set(_check_has_tries PARENT_SCOPE)
|
||||
endfunction(check_begin status_msg)
|
||||
|
||||
# Should be called before every real checking, that is which is not come
|
||||
# from cache variables comparision.
|
||||
#
|
||||
# First call of that function is trigger printing of @status_msg,
|
||||
# passed to check_begin().
|
||||
function(check_try)
|
||||
if(NOT _check_has_tries)
|
||||
message(STATUS "${_check_status_msg}")
|
||||
set(_check_has_tries "1" PARENT_SCOPE)
|
||||
endif(NOT _check_has_tries)
|
||||
endfunction(check_try)
|
||||
|
||||
# Should be called when cheking is end, and @result_msg should be short
|
||||
# description of check result.
|
||||
# If any check_try() has been issued before,
|
||||
# "@status_msg - @result_msg"
|
||||
# will be printed.
|
||||
# Otherwise,
|
||||
# "@status_msg - [cached] @result_msg"
|
||||
# will be printed, at it will be the only message for that check.
|
||||
function(check_end result_msg)
|
||||
if(NOT _check_has_tries)
|
||||
message(STATUS "${_check_status_msg} [cached] - ${result_msg}")
|
||||
else(NOT _check_has_tries)
|
||||
message(STATUS "${_check_status_msg} - ${result_msg}")
|
||||
endif(NOT _check_has_tries)
|
||||
set(_check_status_msg PARENT_SCOPE)
|
||||
set(_check_has_tries PARENT_SCOPE)
|
||||
endfunction(check_end result_msg)
|
||||
|
||||
# set_bool_string(var true_string false_string value [CACHE ... | PARENT_SCOPE])
|
||||
#
|
||||
# Set variable to one of two string according to true property of some value.
|
||||
#
|
||||
# If 'value' is true-evaluated, 'var' will be set to 'true_string',
|
||||
# otherwise to 'var' will be set to 'false_string'.
|
||||
# Like standard set(), macro accept CACHE and PARENT_SCOPE modifiers.
|
||||
#
|
||||
# Useful for form meaningful value for cache variables, contained result
|
||||
# of some operation.
|
||||
# Also may be used for form message for check_end().
|
||||
macro(set_bool_string var true_string false_string value)
|
||||
# Macro parameters are not a variables, so them cannot be tested
|
||||
# using 'if(value)'.
|
||||
# Usage 'if(${value})' leads to warnings since 2.6.4 when ${val}
|
||||
# is boolean constant
|
||||
# (because until 2.6.4 'if(value)' always dereference val).
|
||||
# So copy 'value' to local variable for test it.
|
||||
set(_set_bool_string_value ${value})
|
||||
if(_set_bool_string_value)
|
||||
set(${var} "${true_string}" ${ARGN})
|
||||
else()
|
||||
set(${var} "${false_string}" ${ARGN})
|
||||
endif()
|
||||
endmacro(set_bool_string)
|
||||
|
||||
# set_zero_string(var true_string false_string value [CACHE ... | PARENT_SCOPE])
|
||||
#
|
||||
# Set variable to one of two string according to zero property of some value.
|
||||
#
|
||||
# If 'value' is '0' (presizely), 'var' will be set to 'zero_string',
|
||||
# otherwise to 'var' will be set to 'nonzero_string'.
|
||||
# Like standard set(), macro accept CACHE and PARENT_SCOPE modifiers.
|
||||
#
|
||||
# Useful for form meaningful value for cache variables, contained result
|
||||
# of execute_process().
|
||||
# Also may be used for form message for check_end().
|
||||
macro(set_zero_string var zero_string nonzero_string value)
|
||||
set(_set_zero_string_value ${value})
|
||||
if(_set_zero_string_value EQUAL "0")
|
||||
set(${var} ${zero_string} ${ARGN})
|
||||
else()
|
||||
set(${var} ${nonzero_string} ${ARGN})
|
||||
endif()
|
||||
endmacro(set_zero_string)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,539 @@
|
||||
set(kmodule_this_module_dir "${CMAKE_SOURCE_DIR}/cmake/modules/")
|
||||
set(kmodule_test_sources_dir "${CMAKE_SOURCE_DIR}/cmake/kmodule_sources")
|
||||
|
||||
set(kmodule_function_map_file "")
|
||||
if (CMAKE_CROSSCOMPILING)
|
||||
if (KEDR_SYSTEM_MAP_FILE)
|
||||
set (kmodule_function_map_file "${KEDR_SYSTEM_MAP_FILE}")
|
||||
else (KEDR_SYSTEM_MAP_FILE)
|
||||
# KEDR_SYSTEM_MAP_FILE is not specified, construct the default path
|
||||
# to the symbol map file.
|
||||
set (kmodule_function_map_file
|
||||
"${KEDR_ROOT_DIR}/boot/System.map-${KBUILD_VERSION_STRING}"
|
||||
)
|
||||
endif (KEDR_SYSTEM_MAP_FILE)
|
||||
endif (CMAKE_CROSSCOMPILING)
|
||||
|
||||
# List of unreliable functions, that is, the functions that may be
|
||||
# be exported and mentioned in System.map but still cannot be used
|
||||
# because no header provides their declarations.
|
||||
set(unreliable_functions_list
|
||||
"__kmalloc_node"
|
||||
"kmem_cache_alloc_node"
|
||||
"kmem_cache_alloc_node_notrace"
|
||||
"kmem_cache_alloc_node_trace"
|
||||
)
|
||||
|
||||
# kmodule_is_function_exist(function_name RESULT_VAR)
|
||||
# Verify, whether given function exist in the kernel space on the current system.
|
||||
# RESULT_VAR is TRUE, if function_name exist in the kernel space, FALSE otherwise.
|
||||
# RESULT_VAR is cached.
|
||||
|
||||
function(kmodule_is_function_exist function_name RESULT_VAR)
|
||||
check_begin("Looking for ${function_name} in the kernel")
|
||||
if(NOT DEFINED ${RESULT_VAR})
|
||||
check_try()
|
||||
execute_process(
|
||||
COMMAND sh "${kmodule_this_module_dir}/kmodule_files/scripts/lookup_kernel_function.sh"
|
||||
${function_name} ${kmodule_function_map_file}
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
RESULT_VARIABLE kmodule_is_function_exist_result
|
||||
OUTPUT_QUIET)
|
||||
|
||||
if (kmodule_is_function_exist_result EQUAL 0)
|
||||
list(FIND unreliable_functions_list ${function_name} unreliable_function_index)
|
||||
if(unreliable_function_index GREATER -1)
|
||||
# Additional verification for unreliable function
|
||||
kbuild_try_compile(kmodule_function_is_exist_reliable
|
||||
"${CMAKE_BINARY_DIR}/check_unreliable_functions/${function_name}"
|
||||
"${kmodule_test_sources_dir}/check_unreliable_functions/${function_name}.c"
|
||||
)
|
||||
if(NOT kmodule_function_is_exist_reliable)
|
||||
set(kmodule_is_function_exist_result 1)
|
||||
endif(NOT kmodule_function_is_exist_reliable)
|
||||
endif(unreliable_function_index GREATER -1)
|
||||
endif(kmodule_is_function_exist_result EQUAL 0)
|
||||
|
||||
if (kmodule_is_function_exist_result EQUAL 0)
|
||||
set(${RESULT_VAR} "TRUE" CACHE INTERNAL "Does ${function_name} exist in the kernel?")
|
||||
elseif(kmodule_is_function_exist_result EQUAL 1)
|
||||
set(${RESULT_VAR} "FALSE" CACHE INTERNAL "Does ${function_name} exist in the kernel?")
|
||||
else(kmodule_is_function_exist_result EQUAL 0)
|
||||
message(FATAL_ERROR
|
||||
"Cannot determine whether function '${function_name}' exists in the kernel"
|
||||
)
|
||||
endif(kmodule_is_function_exist_result EQUAL 0)
|
||||
endif(NOT DEFINED ${RESULT_VAR})
|
||||
set_bool_string(check_result "found" "not found" ${${RESULT_VAR}})
|
||||
check_end(${check_result})
|
||||
endfunction(kmodule_is_function_exist function_name RESULT_VAR)
|
||||
|
||||
# Creates the list of functions that actually exist on the
|
||||
# current system.
|
||||
#
|
||||
# kmodule_configure_kernel_functions(output_list
|
||||
# {[REQUIRED | OPTIONAL] {func | ONE_OF_LIST}} ...)
|
||||
#
|
||||
# ONE_OF_LIST := ONE_OF_BEGIN {func ...} ONE_OF_END
|
||||
#
|
||||
# There are 2 modes of function lookup:
|
||||
# OPTIONAL - if the function doesn't exist, it is silently ignored.
|
||||
# REQUIRED - if the function doesn't exist, FATAL_ERROR message is printed.
|
||||
#
|
||||
# Initial mode is REQUIRED, and it can be changed at any time by REQUIRED
|
||||
# and OPTIONAL keywords.
|
||||
#
|
||||
# ONE_OF_BEGIN/ONE_OF_END determine a section for which no more than one
|
||||
# function among all listed there should exist. FATAL_ERROR message is
|
||||
# printed otherwise. When mode is REQUIRED, precisely one function must
|
||||
# exist.
|
||||
# Inside this section other keywords must not be used (even another
|
||||
# ONE_OF_BEGIN).
|
||||
|
||||
function(kmodule_configure_kernel_functions output_list)
|
||||
set(kmodule_configure_kernel_functions_mode "REQUIRED")
|
||||
set(kmodule_configure_kernel_functions_one_of_section "FALSE")
|
||||
set(output_list_tmp)
|
||||
set(${output_list})
|
||||
foreach(arg ${ARGN})
|
||||
if(arg STREQUAL "REQUIRED" OR arg STREQUAL "OPTIONAL")
|
||||
if(kmodule_configure_kernel_functions_one_of_section)
|
||||
message(FATAL_ERROR
|
||||
"Inside ONE_OF_BEGIN/ONE_OF_END section, other keywords are not allowed."
|
||||
)
|
||||
endif(kmodule_configure_kernel_functions_one_of_section)
|
||||
set(kmodule_configure_kernel_functions_mode ${arg})
|
||||
elseif(arg STREQUAL "ONE_OF_BEGIN")
|
||||
if(kmodule_configure_kernel_functions_one_of_section)
|
||||
message(FATAL_ERROR "Nested ONE_OF_BEGIN/ONE_OF_END sections are not allowed.")
|
||||
endif(kmodule_configure_kernel_functions_one_of_section)
|
||||
set(kmodule_configure_kernel_functions_one_of_section "TRUE")
|
||||
set(kmodule_configure_kernel_functions_one_of_section_function)
|
||||
elseif(arg STREQUAL "ONE_OF_END")
|
||||
if(NOT kmodule_configure_kernel_functions_one_of_section)
|
||||
message(FATAL_ERROR "ONE_OF_END without ONE_OF_BEGIN is not allowed.")
|
||||
endif(NOT kmodule_configure_kernel_functions_one_of_section)
|
||||
if(kmodule_configure_kernel_functions_one_of_section_function)
|
||||
list(APPEND output_list_tmp ${kmodule_configure_kernel_functions_one_of_section_function})
|
||||
else(kmodule_configure_kernel_functions_one_of_section_function)
|
||||
if(kmodule_configure_kernel_functions_mode STREQUAL "REQUIRED")
|
||||
message(FATAL_ERROR
|
||||
"None of the functions listed in ONE_OF section exist in the kernel but it is required."
|
||||
)
|
||||
endif(kmodule_configure_kernel_functions_mode STREQUAL "REQUIRED")
|
||||
endif(kmodule_configure_kernel_functions_one_of_section_function)
|
||||
set(kmodule_configure_kernel_functions_one_of_section "FALSE")
|
||||
else(arg STREQUAL "REQUIRED" OR arg STREQUAL "OPTIONAL")
|
||||
set(kmodule_func_varname _KMODULE_IS_${arg}_EXIST)
|
||||
kedr_find_function(${arg} ${kmodule_func_varname})
|
||||
if(kmodule_configure_kernel_functions_one_of_section)
|
||||
if(${kmodule_func_varname})
|
||||
if(kmodule_configure_kernel_functions_one_of_section_function)
|
||||
message(FATAL_ERROR "Two functions from ONE_OF sections exist in the kernel.")
|
||||
else(kmodule_configure_kernel_functions_one_of_section_function)
|
||||
set(kmodule_configure_kernel_functions_one_of_section_function ${arg})
|
||||
endif(kmodule_configure_kernel_functions_one_of_section_function)
|
||||
endif(${kmodule_func_varname})
|
||||
else(kmodule_configure_kernel_functions_one_of_section)
|
||||
if(${kmodule_func_varname})
|
||||
list(APPEND output_list_tmp ${arg})
|
||||
else(${kmodule_func_varname})
|
||||
if(kmodule_configure_kernel_functions_mode STREQUAL "REQUIRED")
|
||||
message(FATAL_ERROR "Function ${arg} is not found in the kernel but it is required.")
|
||||
endif(kmodule_configure_kernel_functions_mode STREQUAL "REQUIRED")
|
||||
endif(${kmodule_func_varname})
|
||||
endif(kmodule_configure_kernel_functions_one_of_section)
|
||||
endif(arg STREQUAL "REQUIRED" OR arg STREQUAL "OPTIONAL")
|
||||
endforeach(arg ${ARGN})
|
||||
if(kmodule_configure_kernel_functions_one_of_section)
|
||||
message(FATAL_ERROR "Found ONE_OF_BEGIN without ONE_OF_END")
|
||||
endif(kmodule_configure_kernel_functions_one_of_section)
|
||||
set(${output_list} ${output_list_tmp} PARENT_SCOPE)
|
||||
endfunction(kmodule_configure_kernel_functions output_list)
|
||||
|
||||
############################################################################
|
||||
# Utility macros to check for particular features. If the particular feature
|
||||
# is supported, the macros will set the corresponding variable to TRUE,
|
||||
# otherwise - to FALSE (the name of variable is mentioned in the comments
|
||||
# for the macro).
|
||||
############################################################################
|
||||
|
||||
# Check if the system has everything necessary to build at least simple
|
||||
# kernel modules.
|
||||
# The macro sets variable 'MODULE_BUILD_SUPPORTED'.
|
||||
macro(check_module_build)
|
||||
check_begin("Checking if kernel modules can be built on this system")
|
||||
if (NOT MODULE_BUILD_SUPPORTED)
|
||||
check_try()
|
||||
kbuild_try_compile(module_build_supported_impl
|
||||
"${CMAKE_BINARY_DIR}/check_module_build"
|
||||
"${kmodule_test_sources_dir}/check_module_build/module.c"
|
||||
)
|
||||
set_bool_string(MODULE_BUILD_SUPPORTED "yes" "no" ${module_build_supported_impl}
|
||||
CACHE INTERNAL "Can kernel modules be built on this system?"
|
||||
)
|
||||
endif (NOT MODULE_BUILD_SUPPORTED)
|
||||
|
||||
check_end("${MODULE_BUILD_SUPPORTED}")
|
||||
|
||||
if (NOT MODULE_BUILD_SUPPORTED)
|
||||
message(FATAL_ERROR
|
||||
"There are problems with building kernel modules on this system. "
|
||||
"Please check that the appropriate kernel headers and build tools "
|
||||
"are installed."
|
||||
)
|
||||
endif (NOT MODULE_BUILD_SUPPORTED)
|
||||
endmacro(check_module_build)
|
||||
|
||||
# Check if reliable stack trace information can be obtained.
|
||||
# This is the case, for example, if the kernel is compiled with support
|
||||
# for frame pointers and/or stack unwind on.
|
||||
# The macro sets variable 'STACK_TRACE_RELIABLE'.
|
||||
macro(check_stack_trace)
|
||||
check_begin("Checking if stack trace information is reliable")
|
||||
if (NOT DEFINED STACK_TRACE_RELIABLE)
|
||||
check_try()
|
||||
kbuild_try_compile(stack_trace_reliable_impl
|
||||
"${CMAKE_BINARY_DIR}/check_stack_trace"
|
||||
"${kmodule_test_sources_dir}/check_stack_trace/module.c"
|
||||
)
|
||||
set_bool_string(STACK_TRACE_RELIABLE "yes" "no" ${stack_trace_reliable_impl}
|
||||
CACHE INTERNAL "Are stack traces reliable on this system?")
|
||||
endif (NOT DEFINED STACK_TRACE_RELIABLE)
|
||||
check_end("${STACK_TRACE_RELIABLE}")
|
||||
|
||||
if (NOT STACK_TRACE_RELIABLE)
|
||||
message ("\n[WARNING]\n"
|
||||
"It looks like reliable stack traces cannot be obtained on this system.\n"
|
||||
"The output of KEDR-based tools like LeakCheck will be less detailed\n"
|
||||
"(each stack trace shown will contain only one frame).\n"
|
||||
"If this is not acceptable, you could rebuild the kernel with\n"
|
||||
"CONFIG_FRAME_POINTER or CONFIG_STACK_UNWIND (if available) set to \"y\"\n"
|
||||
"and then reconfigure and rebuild KEDR.\n")
|
||||
endif (NOT STACK_TRACE_RELIABLE)
|
||||
endmacro(check_stack_trace)
|
||||
|
||||
# Check whether ring buffer is implemented by the kernel.
|
||||
# Set cache variable RING_BUFFER_IMPLEMENTED according to this checking.
|
||||
function(check_ring_buffer)
|
||||
check_begin("Checking if ring buffer is implemented in the kernel")
|
||||
|
||||
if (NOT DEFINED RING_BUFFER_IMPLEMENTED)
|
||||
check_try()
|
||||
kbuild_try_compile(ring_buffer_implemented_impl
|
||||
"${CMAKE_BINARY_DIR}/check_ring_buffer"
|
||||
"${kmodule_test_sources_dir}/check_ring_buffer/module.c"
|
||||
)
|
||||
|
||||
set_bool_string(RING_BUFFER_IMPLEMENTED "yes" "no" "${ring_buffer_implemented_impl}"
|
||||
CACHE INTERNAL "Whether ring buffer is implemented in the kernel"
|
||||
)
|
||||
endif (NOT DEFINED RING_BUFFER_IMPLEMENTED)
|
||||
check_end(${RING_BUFFER_IMPLEMENTED})
|
||||
|
||||
if (NOT RING_BUFFER_IMPLEMENTED)
|
||||
message("\n[WARNING]\nRing buffer is not supported by the system.\n"
|
||||
"The tracing facilities as well as call monitoring plugins will not be built.\n"
|
||||
"If this is not acceptable, you could rebuild the kernel with\n"
|
||||
"CONFIG_RING_BUFFER set to \"y\" and then reconfigure and rebuild KEDR.\n")
|
||||
endif (NOT RING_BUFFER_IMPLEMENTED)
|
||||
endfunction(check_ring_buffer)
|
||||
|
||||
# Check which memory allocator is used by the kernel.
|
||||
# Set KERNEL_MEMORY_ALLOCATOR to 'slab', 'slub', 'slob' or 'other'.
|
||||
#
|
||||
# Some functions in that allocators may have same names, but different signatures.
|
||||
function(check_allocator)
|
||||
check_begin("Checking which memory allocator is used by the kernel")
|
||||
if(NOT DEFINED KERNEL_MEMORY_ALLOCATOR)
|
||||
check_try()
|
||||
# Use local variable for detect allocator,
|
||||
# Cache one will be set at the end
|
||||
set(allocator "")
|
||||
if(allocator STREQUAL "")
|
||||
kbuild_try_compile(is_allocator_slab
|
||||
"${CMAKE_BINARY_DIR}/check_allocator_slab"
|
||||
"${kmodule_test_sources_dir}/check_allocator/module.c"
|
||||
KBUILD_COMPILE_DEFINITIONS "-DIS_ALLOCATOR_SLAB"
|
||||
)
|
||||
if (is_allocator_slab)
|
||||
set(allocator "slab")
|
||||
endif (is_allocator_slab)
|
||||
endif(allocator STREQUAL "")
|
||||
|
||||
if(allocator STREQUAL "")
|
||||
kbuild_try_compile(is_allocator_slub
|
||||
"${CMAKE_BINARY_DIR}/check_allocator_slub"
|
||||
"${kmodule_test_sources_dir}/check_allocator/module.c"
|
||||
KBUILD_COMPILE_DEFINITIONS "-DIS_ALLOCATOR_SLUB"
|
||||
)
|
||||
if (is_allocator_slub)
|
||||
set(allocator "slub")
|
||||
endif (is_allocator_slub)
|
||||
endif(allocator STREQUAL "")
|
||||
|
||||
if(allocator STREQUAL "")
|
||||
kbuild_try_compile(is_allocator_slob
|
||||
"${CMAKE_BINARY_DIR}/check_allocator_slob"
|
||||
"${kmodule_test_sources_dir}/check_allocator/module.c"
|
||||
KBUILD_COMPILE_DEFINITIONS "-DIS_ALLOCATOR_SLOB"
|
||||
)
|
||||
if (is_allocator_slob)
|
||||
set(allocator "slob")
|
||||
endif (is_allocator_slub)
|
||||
endif(allocator STREQUAL "")
|
||||
|
||||
if(allocator STREQUAL "")
|
||||
set(allocator "other")
|
||||
endif(allocator STREQUAL "")
|
||||
|
||||
set(KERNEL_MEMORY_ALLOCATOR "${allocator}" CACHE INTERNAL
|
||||
"Memory allocator which is used by the kernel"
|
||||
)
|
||||
endif (NOT DEFINED KERNEL_MEMORY_ALLOCATOR)
|
||||
check_end("${KERNEL_MEMORY_ALLOCATOR}")
|
||||
endfunction(check_allocator)
|
||||
|
||||
# Check if 'kfree_rcu' is available in the kernel (it is likely to be
|
||||
# a macro or an inline). If it is available, we should handle it as
|
||||
# 'free' in LeakCheck. As KEDR cannot normally intercept kfree_rcu()
|
||||
# itself, it needs to intercept call_rcu/call_rcu_sched and check their
|
||||
# arguments.
|
||||
# The macro sets variable 'HAVE_KFREE_RCU'.
|
||||
macro(check_kfree_rcu)
|
||||
check_begin("Checking if kfree_rcu() is available")
|
||||
|
||||
if (NOT DEFINED HAVE_KFREE_RCU)
|
||||
check_try()
|
||||
kbuild_try_compile(have_kfree_rcu_impl
|
||||
"${CMAKE_BINARY_DIR}/check_kfree_rcu"
|
||||
"${kmodule_test_sources_dir}/check_kfree_rcu/module.c"
|
||||
)
|
||||
|
||||
set_bool_string(HAVE_KFREE_RCU "yes" "no" ${have_kfree_rcu_impl}
|
||||
CACHE INTERNAL "Is kfree_rcu() available?"
|
||||
)
|
||||
endif ()
|
||||
check_end("${HAVE_KFREE_RCU}")
|
||||
endmacro(check_kfree_rcu)
|
||||
############################################################################
|
||||
|
||||
# Check if posix_acl_from_xattr() accepts struct user_namespace as the
|
||||
# first argument.
|
||||
# The macro sets variable 'POSIX_ACL_XATTR_HAS_USER_NS'.
|
||||
macro(check_xattr_user_ns)
|
||||
check_begin("Checking if posix_acl_from_xattr() has struct user_namespace * argument")
|
||||
if (NOT DEFINED POSIX_ACL_XATTR_HAS_USER_NS)
|
||||
check_try()
|
||||
kbuild_try_compile(have_xattr_user_ns_impl
|
||||
"${CMAKE_BINARY_DIR}/check_xattr_user_ns"
|
||||
"${kmodule_test_sources_dir}/check_xattr_user_ns/module.c"
|
||||
)
|
||||
|
||||
set_bool_string(POSIX_ACL_XATTR_HAS_USER_NS "yes" "no" ${have_xattr_user_ns_impl}
|
||||
CACHE INTERNAL "Does posix_acl_from_xattr() have struct user_namespace argument?"
|
||||
)
|
||||
endif ()
|
||||
check_end("${POSIX_ACL_XATTR_HAS_USER_NS}")
|
||||
endmacro(check_xattr_user_ns)
|
||||
############################################################################
|
||||
|
||||
# Check if hlist_for_each_entry*() macros accept only 'type *pos' argument
|
||||
# rather than both 'type *tpos' and 'hlist_node *pos' as the loop cursors.
|
||||
# The macro sets variable 'HLIST_FOR_EACH_ENTRY_POS_ONLY'.
|
||||
macro(check_hlist_for_each_entry)
|
||||
check_begin("Checking the signatures of hlist_for_each_entry*() macros")
|
||||
if (NOT DEFINED HLIST_FOR_EACH_ENTRY_POS_ONLY)
|
||||
check_try()
|
||||
kbuild_try_compile(pos_only_impl
|
||||
"${CMAKE_BINARY_DIR}/check_hlist_for_each_entry"
|
||||
"${kmodule_test_sources_dir}/check_hlist_for_each_entry/module.c"
|
||||
)
|
||||
set_bool_string(HLIST_FOR_EACH_ENTRY_POS_ONLY "yes" "no" ${pos_only_impl}
|
||||
CACHE INTERNAL
|
||||
"Do hlist_for_each_entry*() macros have only 'type *pos' to use as a loop cursor?"
|
||||
)
|
||||
endif ()
|
||||
set_bool_string(check_result "do not use additional loop cursor" "use additional loop cursor"
|
||||
${HLIST_FOR_EACH_ENTRY_POS_ONLY})
|
||||
check_end(${check_result})
|
||||
endmacro(check_hlist_for_each_entry)
|
||||
############################################################################
|
||||
|
||||
# Check if 'random32' is available in the kernel.
|
||||
# The macro sets variable 'KEDR_HAVE_RANDOM32'.
|
||||
macro(check_random32)
|
||||
check_begin("Checking if random32() is available")
|
||||
if (NOT DEFINED KEDR_HAVE_RANDOM32)
|
||||
check_try()
|
||||
kbuild_try_compile(have_random32_impl
|
||||
"${CMAKE_BINARY_DIR}/check_random32"
|
||||
"${kmodule_test_sources_dir}/check_random32/module.c"
|
||||
)
|
||||
set_bool_string(KEDR_HAVE_RANDOM32 "yes" "no" "${have_random32_impl}"
|
||||
CACHE INTERNAL "Is random32() available?"
|
||||
)
|
||||
endif ()
|
||||
check_end("${KEDR_HAVE_RANDOM32}")
|
||||
endmacro(check_random32)
|
||||
############################################################################
|
||||
|
||||
# The payload modules should call kedr_find_function() for each kernel
|
||||
# function they would like to process. If the function is not known
|
||||
# to KEDR (absent from the "function database", see "functions/" directory),
|
||||
# kedr_find_function() issues a fatal error.
|
||||
#
|
||||
# 'func_name' is the name of the function,
|
||||
# 'found_var' is the name of the output variable (the variable will evaluate
|
||||
# as "true" if found, as "false" otherwise).
|
||||
function (kedr_find_function func_name found_var)
|
||||
if (NOT DEFINED KEDR_DATA_FILE_${func_name})
|
||||
message(FATAL_ERROR "Unsupported function: ${func_name}")
|
||||
endif (NOT DEFINED KEDR_DATA_FILE_${func_name})
|
||||
|
||||
# OK, known function.
|
||||
kmodule_is_function_exist(${func_name} ${found_var})
|
||||
if (${found_var})
|
||||
# Mark the function as used by at least one payload module.
|
||||
# This can be used when preparing the tests for call interception.
|
||||
# The actual value does not matter, it only matters that this
|
||||
# variable is defined.
|
||||
set(KEDR_FUNC_USED_${func_name} "yes" CACHE INTERNAL
|
||||
"Is kernel function ${func_name} used by any payload module?")
|
||||
set(${found_var} "${${found_var}}" PARENT_SCOPE)
|
||||
else ()
|
||||
set(${found_var} "NO" PARENT_SCOPE)
|
||||
endif (${found_var})
|
||||
endfunction (kedr_find_function func_name found_var)
|
||||
|
||||
# Returns (in ${path_var}) the path to the .data file for the function
|
||||
# ${func_name}. The function must be present in the system and
|
||||
# kedr_find_function() must be called for it before kedr_get_data_for_func().
|
||||
function (kedr_get_data_for_func func_name path_var)
|
||||
if (NOT DEFINED KEDR_FUNC_USED_${func_name})
|
||||
message(FATAL_ERROR
|
||||
"Attempt to lookup data for a function that is not marked as used: "
|
||||
"${func_name}")
|
||||
endif (NOT DEFINED KEDR_FUNC_USED_${func_name})
|
||||
|
||||
set(${path_var} "${KEDR_DATA_FILE_${func_name}}" PARENT_SCOPE)
|
||||
endfunction (kedr_get_data_for_func func_name path_var)
|
||||
|
||||
# kedr_get_header_data_list(list_var func1 [func2 func3 ...])
|
||||
# Get the list of paths to the 'header.data' files for the given functions.
|
||||
# The functions must be present in the system and # kedr_find_function()
|
||||
# must be called for each of them before kedr_get_header_data_list() is
|
||||
# called.
|
||||
# The resulting list is returned in ${list_var}. It will contain at least
|
||||
# one item. It will not contain duplicates.
|
||||
function (kedr_get_header_data_list list_var)
|
||||
set(hdata_list)
|
||||
foreach (func ${ARGN})
|
||||
if (NOT DEFINED KEDR_FUNC_USED_${func})
|
||||
message(FATAL_ERROR
|
||||
"Attempt to lookup header data for a function that is not marked as used: "
|
||||
"${func}")
|
||||
endif (NOT DEFINED KEDR_FUNC_USED_${func})
|
||||
list(APPEND hdata_list "${KEDR_HEADER_DATA_FILE_${func}}")
|
||||
endforeach ()
|
||||
list(REMOVE_DUPLICATES hdata_list)
|
||||
|
||||
list(LENGTH hdata_list hdata_list_len)
|
||||
if (NOT hdata_list_len)
|
||||
message(FATAL_ERROR
|
||||
"kedr_get_header_data_list(): BUG: the output list is empty.")
|
||||
endif (NOT hdata_list_len)
|
||||
|
||||
set(${list_var} ${hdata_list} PARENT_SCOPE)
|
||||
endfunction (kedr_get_header_data_list list_var)
|
||||
|
||||
# kedr_create_header_rules(
|
||||
# header_impl_file header_data_file func1 [func2 ...])
|
||||
# Create the rules to generate ${header_impl_file} from
|
||||
# ${header_data_file} and the specific header files for the given
|
||||
# functions.
|
||||
function(kedr_create_header_rules header_impl_file header_data_file
|
||||
functions)
|
||||
set(hlist_data)
|
||||
kedr_get_header_data_list(hlist_data ${functions} ${ARGN})
|
||||
to_abs_path(hdata_files_abs ${header_data_file} ${hlist_data})
|
||||
add_custom_command(OUTPUT ${header_impl_file}
|
||||
COMMAND cat ${hdata_files_abs} > ${header_impl_file}
|
||||
DEPENDS ${hdata_files_abs}
|
||||
)
|
||||
endfunction(kedr_create_header_rules header_impl_file header_data_file
|
||||
functions)
|
||||
|
||||
# kedr_create_data_rules(func)
|
||||
# Create the rules to generate ${func}_impl.data from
|
||||
# ${func}.data (contains processing instructions specific to the current
|
||||
# payload) and the .data file from "func_db" (contains function signature).
|
||||
function(kedr_create_data_rules func)
|
||||
set(func_db_data_file)
|
||||
kedr_get_data_for_func(${func} func_db_data_file)
|
||||
|
||||
set(func_proc_data_file)
|
||||
to_abs_path(func_proc_data_file ${func}.data)
|
||||
|
||||
add_custom_command(OUTPUT "${func}_impl.data"
|
||||
COMMAND printf "\"[group]\\n\"" > "${func}_impl.data"
|
||||
COMMAND grep -E -v '\\[group\\]'
|
||||
"${func_db_data_file}" >> "${func}_impl.data"
|
||||
COMMAND printf "\"\\n\"" >> "${func}_impl.data"
|
||||
COMMAND grep -E -v '\\[group\\]'
|
||||
"${func_proc_data_file}" >> "${func}_impl.data"
|
||||
DEPENDS
|
||||
"${func_proc_data_file}"
|
||||
"${func_db_data_file}"
|
||||
)
|
||||
endfunction(kedr_create_data_rules func)
|
||||
|
||||
# kedr_create_payload_module(module_name payload_data_file template_dir)
|
||||
# Create the rules to build a payload module with the given name.
|
||||
# 'payload_data_file' defines how the kernel functions are to be processed
|
||||
# by this payload module.
|
||||
# 'template_dir' - path to the direcotry containing the templates to be used
|
||||
# to prepare the source code of the module from 'payload_data_file'.
|
||||
function(kedr_create_payload_module module_name payload_data_file
|
||||
template_dir)
|
||||
|
||||
# Rules to build the module
|
||||
kbuild_add_module(${module_name}
|
||||
"payload.c"
|
||||
"functions_support.c"
|
||||
)
|
||||
kbuild_link_module(${module_name} kedr)
|
||||
|
||||
# Rules to obtain the source files of the module
|
||||
kedr_generate("payload.c" ${payload_data_file} "${template_dir}")
|
||||
kedr_generate("functions_support.c" ${payload_data_file} "${KEDR_GEN_TEMPLATES_DIR}/functions_support.c")
|
||||
endfunction(kedr_create_payload_module module_name payload_data_file
|
||||
template_dir)
|
||||
|
||||
# kedr_create_payload_data(payload_data_file func1 [func2 ...])
|
||||
# Create .data files and the header data files for the functions and prepare
|
||||
# the main .data file (${payload_data_file}) for the payload module.
|
||||
function(kedr_create_payload_data header_data_file payload_data_file
|
||||
functions)
|
||||
set(header_impl_file "header_impl.data")
|
||||
set(functions_data)
|
||||
|
||||
foreach(func ${functions} ${ARGN})
|
||||
list(APPEND functions_data "${func}_impl.data")
|
||||
kedr_create_data_rules(${func})
|
||||
endforeach(func ${functions} ${ARGN})
|
||||
|
||||
kedr_create_header_rules(${header_impl_file} ${header_data_file}
|
||||
${functions} ${ARGN})
|
||||
|
||||
to_abs_path(payload_data_file_abs ${payload_data_file})
|
||||
to_abs_path(source_files_abs ${header_impl_file} ${functions_data})
|
||||
|
||||
set(payload_data_file_abs "${CMAKE_CURRENT_BINARY_DIR}/${payload_data_file}")
|
||||
add_custom_command(OUTPUT ${payload_data_file_abs}
|
||||
COMMAND cat ${source_files_abs} > ${payload_data_file_abs}
|
||||
DEPENDS ${source_files_abs}
|
||||
)
|
||||
endfunction(kedr_create_payload_data header_data_file payload_data_file
|
||||
functions)
|
||||
############################################################################
|
||||
@@ -0,0 +1,264 @@
|
||||
# Declare variables for path prefixes for different types of files.
|
||||
# NB: depends on 'multi_kernel' and 'uninstall_target'.
|
||||
|
||||
# fill_install_prefixes(<project_name> <project_prefix>
|
||||
# [BASE_INSTALL_PREFIX <base_install_prefix>]
|
||||
# [KERNEL]
|
||||
# )
|
||||
#
|
||||
# Setup variables <project_prefix>_* to the install prefixes for
|
||||
# different project components.
|
||||
# Precisely, variables with next sufficies are set:
|
||||
# INSTALL_PREFIX_EXEC - executables
|
||||
# INSTALL_PREFIX_READONLY - readonly files
|
||||
# INSTALL_PREFIX_GLOBAL_CONF - global configuration files
|
||||
# INSTALL_PREFIX_PREFIX_LIB - libraries
|
||||
# INSTALL_INCLUDE_DIR - include directory(for flags to compiler)
|
||||
# INSTALL_PREFIX_INCLUDE - include files
|
||||
# INSTALL_PREFIX_TEMP_SESSION - temporary files(exists until system restarts)
|
||||
# INSTALL_PREFIX_TEMP - temporary files(preserved even when system restats)
|
||||
# INSTALL_PREFIX_STATE - files which describe current state of the project.
|
||||
# INSTALL_PREFIX_CACHE - cache files
|
||||
# INSTALL_PREFIX_VAR - other modifiable files
|
||||
# INSTALL_PREFIX_DOC - documentation files
|
||||
# INSTALL_PREFIX_EXAMPLES - documentation files
|
||||
#
|
||||
# With 'KERNEL' option enabled paths for kernel-related files also set:
|
||||
# INSTALL_KINCLUDE_DIR - directory for include when build kernel components
|
||||
# INSTALL_PREFIX_KINCLUDE - include files for the kernel.
|
||||
#
|
||||
# Additionally, with 'KERNEL' option enabled, several variables are set to
|
||||
# paths, which contains "%kernel%" pattern.
|
||||
# These paths are intended for kernel-dependent files; for make paths
|
||||
# complete one should replace "%kernel%" substring with version of the
|
||||
# kernel.
|
||||
# Next kernel-dependend paths are set(sufficies only):
|
||||
# KERNEL_INSTALL_PREFIX_KMODULE - directory for install kernel modules
|
||||
# KERNEL_INSTALL_PREFIX_KSYMVERS - directory for install kernel modules' symvers files.
|
||||
# KERNEL_INSTALL_INCLUDE_KERNEL_DIR - include directory with kernel-dependent headers.
|
||||
# KERNEL_INSTALL_PREFIX_INCLUDE_KERNEL - include files, which depends from kernel.
|
||||
#
|
||||
# Iff option 'COMMON_INSTALL_PREFIX' is given, all paths above are
|
||||
# calculated using <base_install_prefix> as base prefix.
|
||||
# Otherwise, CMAKE_INSTALL_PREFIX is used for that purpose.
|
||||
#
|
||||
# Additionally,
|
||||
# INSTALL_TYPE
|
||||
# variable(suffix) is set to one of:
|
||||
# - "GLOBAL_OPT" - install into "/opt",
|
||||
# - "GLOBAL" - global installation except one into "/opt",
|
||||
# - "LOCAL" - local installation.
|
||||
function(fill_install_prefixes project_name project_prefix)
|
||||
cmake_parse_arguments(fip "KERNEL" "BASE_INSTALL_PREFIX" "" ${ARGN})
|
||||
if(fip_UNPARSED_ARGUMENTS)
|
||||
list(GET fip_UNPARSED_ARGUMENTS 0 exceeded_arg)
|
||||
message(SEND_ERROR "Exceeded argument: ${exceeded_arg}")
|
||||
endif(fip_UNPARSED_ARGUMENTS)
|
||||
if(NOT fip_BASE_INSTALL_PREFIX)
|
||||
set(fip_BASE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
|
||||
endif(NOT fip_BASE_INSTALL_PREFIX)
|
||||
|
||||
# Follow conventions about paths listed in
|
||||
# devel-docs/general/path_conventions.txt
|
||||
# in kedr-devel package.
|
||||
|
||||
# Determine type of installation
|
||||
if(fip_BASE_INSTALL_PREFIX MATCHES "^/opt")
|
||||
set(fip_INSTALL_TYPE "GLOBAL_OPT")
|
||||
elseif(fip_BASE_INSTALL_PREFIX MATCHES "^/usr"
|
||||
OR fip_BASE_INSTALL_PREFIX STREQUAL "/"
|
||||
)
|
||||
set(fip_INSTALL_TYPE "GLOBAL")
|
||||
else()
|
||||
set(fip_INSTALL_TYPE "LOCAL")
|
||||
endif()
|
||||
|
||||
# 1
|
||||
if(fip_INSTALL_TYPE STREQUAL "GLOBAL_OPT")
|
||||
set(fip_INSTALL_PREFIX_EXEC "/opt/${project_name}/bin")
|
||||
else(fip_INSTALL_TYPE STREQUAL "GLOBAL_OPT")
|
||||
set(fip_INSTALL_PREFIX_EXEC "${fip_BASE_INSTALL_PREFIX}/bin")
|
||||
endif(fip_INSTALL_TYPE STREQUAL "GLOBAL_OPT")
|
||||
# 2
|
||||
set(fip_INSTALL_PREFIX_EXEC_AUX
|
||||
"${fip_BASE_INSTALL_PREFIX}/lib/${project_name}"
|
||||
)
|
||||
# 3
|
||||
set(fip_INSTALL_PREFIX_READONLY
|
||||
"${fip_BASE_INSTALL_PREFIX}/share/${project_name}"
|
||||
)
|
||||
# 4
|
||||
set(fip_INSTALL_PREFIX_MANPAGE
|
||||
"${fip_BASE_INSTALL_PREFIX}/share/man"
|
||||
)
|
||||
# 5
|
||||
if(fip_INSTALL_TYPE STREQUAL "GLOBAL_OPT")
|
||||
set(fip_INSTALL_PREFIX_GLOBAL_CONF "/etc/opt/${project_name}")
|
||||
elseif(fip_INSTALL_TYPE STREQUAL "GLOBAL")
|
||||
set(fip_INSTALL_PREFIX_GLOBAL_CONF "/etc/${project_name}")
|
||||
else(fip_INSTALL_TYPE STREQUAL "GLOBAL_OPT")
|
||||
set(fip_INSTALL_PREFIX_GLOBAL_CONF
|
||||
"${fip_BASE_INSTALL_PREFIX}/etc/${project_name}"
|
||||
)
|
||||
endif(fip_INSTALL_TYPE STREQUAL "GLOBAL_OPT")
|
||||
# 6
|
||||
set(fip_INSTALL_PREFIX_LIB "${fip_BASE_INSTALL_PREFIX}/lib")
|
||||
# 7
|
||||
set(fip_INSTALL_PREFIX_LIB_AUX
|
||||
"${fip_BASE_INSTALL_PREFIX}/lib/${project_name}"
|
||||
)
|
||||
# 8
|
||||
set(fip_INSTALL_INCLUDE_DIR "${fip_BASE_INSTALL_PREFIX}/include")
|
||||
|
||||
set(fip_INSTALL_PREFIX_INCLUDE
|
||||
"${fip_INSTALL_INCLUDE_DIR}/${project_name}"
|
||||
)
|
||||
# 9
|
||||
set(fip_INSTALL_PREFIX_TEMP_SESSION "/tmp/${project_name}")
|
||||
# 10
|
||||
if(fip_INSTALL_TYPE MATCHES "GLOBAL")
|
||||
set(fip_INSTALL_PREFIX_TEMP "/var/tmp/${project_name}")
|
||||
else(fip_INSTALL_TYPE MATCHES "GLOBAL")
|
||||
set(fip_INSTALL_PREFIX_TEMP
|
||||
"${fip_BASE_INSTALL_PREFIX}/var/tmp/${project_name}"
|
||||
)
|
||||
endif(fip_INSTALL_TYPE MATCHES "GLOBAL")
|
||||
# 11
|
||||
if(fip_INSTALL_TYPE STREQUAL "GLOBAL_OPT")
|
||||
set(fip_INSTALL_PREFIX_STATE
|
||||
"/var/opt/${project_name}/lib/${project_name}"
|
||||
)
|
||||
elseif(fip_INSTALL_TYPE STREQUAL "GLOBAL")
|
||||
set(fip_INSTALL_PREFIX_STATE "/var/lib/${project_name}")
|
||||
else(fip_INSTALL_TYPE STREQUAL "GLOBAL")
|
||||
set(fip_INSTALL_PREFIX_STATE
|
||||
"${fip_BASE_INSTALL_PREFIX}/var/lib/${project_name}"
|
||||
)
|
||||
endif(fip_INSTALL_TYPE STREQUAL "GLOBAL_OPT")
|
||||
# 12
|
||||
if(fip_INSTALL_TYPE STREQUAL "GLOBAL_OPT")
|
||||
set(fip_INSTALL_PREFIX_CACHE
|
||||
"/var/opt/${project_name}/cache/${project_name}"
|
||||
)
|
||||
elseif(fip_INSTALL_TYPE STREQUAL "GLOBAL")
|
||||
set(fip_INSTALL_PREFIX_CACHE "/var/cache/${project_name}")
|
||||
else(fip_INSTALL_TYPE STREQUAL "GLOBAL_OPT")
|
||||
set(fip_INSTALL_PREFIX_CACHE
|
||||
"${fip_BASE_INSTALL_PREFIX}/var/cache/${project_name}"
|
||||
)
|
||||
endif(fip_INSTALL_TYPE STREQUAL "GLOBAL_OPT")
|
||||
# 13
|
||||
if(fip_INSTALL_TYPE MATCHES "GLOBAL")
|
||||
set(fip_INSTALL_PREFIX_VAR "/var/opt/${project_name}")
|
||||
else(fip_INSTALL_TYPE MATCHES "GLOBAL")
|
||||
set(fip_INSTALL_PREFIX_VAR
|
||||
"${fip_BASE_INSTALL_PREFIX}/var/${project_name}"
|
||||
)
|
||||
endif(fip_INSTALL_TYPE MATCHES "GLOBAL")
|
||||
# 14
|
||||
set(fip_INSTALL_PREFIX_DOC
|
||||
"${fip_BASE_INSTALL_PREFIX}/share/doc/${project_name}"
|
||||
)
|
||||
|
||||
# Set derivative install path and prefixes
|
||||
|
||||
# additional, 4
|
||||
set(fip_INSTALL_PREFIX_EXAMPLES
|
||||
"${fip_INSTALL_PREFIX_READONLY}/examples")
|
||||
|
||||
# Export symbols to the outer scope
|
||||
foreach(suffix
|
||||
INSTALL_TYPE
|
||||
INSTALL_PREFIX_EXEC
|
||||
INSTALL_PREFIX_EXEC_AUX
|
||||
INSTALL_PREFIX_READONLY
|
||||
INSTALL_PREFIX_MANPAGE
|
||||
INSTALL_PREFIX_GLOBAL_CONF
|
||||
INSTALL_PREFIX_LIB
|
||||
INSTALL_PREFIX_LIB_AUX
|
||||
INSTALL_INCLUDE_DIR
|
||||
INSTALL_PREFIX_INCLUDE
|
||||
INSTALL_PREFIX_TEMP_SESSION
|
||||
INSTALL_PREFIX_TEMP
|
||||
INSTALL_PREFIX_STATE
|
||||
INSTALL_PREFIX_CACHE
|
||||
INSTALL_PREFIX_VAR
|
||||
INSTALL_PREFIX_DOC
|
||||
INSTALL_PREFIX_EXAMPLES
|
||||
)
|
||||
set(${project_prefix}_${suffix} "${fip_${suffix}}" PARENT_SCOPE)
|
||||
endforeach(suffix)
|
||||
|
||||
if(fip_KERNEL)
|
||||
# Set derivative install path and prefixes
|
||||
# additional, 1
|
||||
if(fip_INSTALL_TYPE MATCHES GLOBAL)
|
||||
set(fip_KERNEL_INSTALL_PREFIX_KMODULE
|
||||
"/lib/modules/%kernel%/extra"
|
||||
)
|
||||
else(fip_INSTALL_TYPE MATCHES GLOBAL)
|
||||
set(fip_KERNEL_INSTALL_PREFIX_KMODULE
|
||||
"${fip_INSTALL_PREFIX_LIB}/modules/%kernel%/extra"
|
||||
)
|
||||
endif(fip_INSTALL_TYPE MATCHES GLOBAL)
|
||||
|
||||
# additional, 2
|
||||
set(fip_KERNEL_INSTALL_PREFIX_KSYMVERS
|
||||
"${fip_INSTALL_PREFIX_LIB}/modules/%kernel%/symvers"
|
||||
)
|
||||
# additional, 3
|
||||
set(fip_INSTALL_KINCLUDE_DIR "${fip_INSTALL_INCLUDE_DIR}")
|
||||
set(fip_INSTALL_PREFIX_KINCLUDE "${fip_INSTALL_PREFIX_INCLUDE}")
|
||||
|
||||
# Kernel include files, which depends from kernel version.
|
||||
# This prefix is not listed in path conventions.
|
||||
set(fip_KERNEL_INSTALL_INCLUDE_KERNEL_DIR
|
||||
"${fip_BASE_INSTALL_PREFIX}/include-kernel/%kernel%"
|
||||
)
|
||||
|
||||
set(fip_KERNEL_INSTALL_PREFIX_INCLUDE_KERNEL
|
||||
"${fip_KERNEL_INSTALL_INCLUDE_KERNEL_DIR}/${project_name}-kernel"
|
||||
)
|
||||
|
||||
# Export symbols to the outer scope
|
||||
foreach(suffix
|
||||
KERNEL_INSTALL_PREFIX_KMODULE
|
||||
KERNEL_INSTALL_PREFIX_KSYMVERS
|
||||
INSTALL_KINCLUDE_DIR
|
||||
INSTALL_PREFIX_KINCLUDE
|
||||
KERNEL_INSTALL_INCLUDE_KERNEL_DIR
|
||||
KERNEL_INSTALL_PREFIX_INCLUDE_KERNEL
|
||||
)
|
||||
set(${project_prefix}_${suffix} "${fip_${suffix}}" PARENT_SCOPE)
|
||||
endforeach(suffix)
|
||||
endif(fip_KERNEL)
|
||||
endfunction(fill_install_prefixes project_name project_prefix)
|
||||
|
||||
|
||||
########################################################################
|
||||
# Kernel-dependent paths.
|
||||
#
|
||||
# Some deliverables may depends on linux kernel.
|
||||
#
|
||||
# For make "one user installation for several kernels" paradigm works,
|
||||
# installation directory for that deliverables should include
|
||||
# kernel-version part(like "3.10.2-generic").
|
||||
#
|
||||
# So, components installed by user installation can determine at runtime,
|
||||
# which kernel-dependent deliverable should be used on currently loaded system.
|
||||
# They do selection using 'uname -r' request.
|
||||
#
|
||||
# For define variables represented kernel-dependent directories,
|
||||
# we use strings containing "%kernel%" stem.
|
||||
|
||||
# kernel_path(kernel_version RESULT_VARIABLE pattern ...)
|
||||
#
|
||||
# Form concrete path representation from kernel-dependent pattern(s).
|
||||
# Replace occurence of %kernel% in pattern(s) with given @kernel_version string.
|
||||
# Result is stored in the RESULT_VARIABLE.
|
||||
#
|
||||
# @kernel_version may be concrete version of the kernel,
|
||||
# or variable reference in some language.
|
||||
macro(kernel_path kernel_version RESULT_VARIABLE pattern)
|
||||
string(REPLACE "%kernel%" "${kernel_version}" ${RESULT_VARIABLE} ${pattern} ${ARGN})
|
||||
endmacro(kernel_path kernel_version RESULT_VARIABLE pattern)
|
||||
Executable
+320
@@ -0,0 +1,320 @@
|
||||
################################################################################
|
||||
#
|
||||
# Copyright (c) 2015, EURECOM (www.eurecom.fr)
|
||||
# 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 COPYRIGHT HOLDERS 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 COPYRIGHT OWNER 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.
|
||||
#
|
||||
# The views and conclusions contained in the software and documentation are those
|
||||
# of the authors and should not be interpreted as representing official policies,
|
||||
# either expressed or implied, of the FreeBSD Project.
|
||||
#
|
||||
################################################################################
|
||||
# file build_helper
|
||||
# brief
|
||||
# author Laurent Thomas
|
||||
#
|
||||
#######################################
|
||||
SUDO='sudo -E'
|
||||
|
||||
###############################
|
||||
## echo and family
|
||||
###############################
|
||||
black='\E[30m'
|
||||
red='\E[31m'
|
||||
green='\E[32m'
|
||||
yellow='\E[33m'
|
||||
blue='\E[1;34m'
|
||||
magenta='\E[35m'
|
||||
cyan='\E[36m'
|
||||
white='\E[37m'
|
||||
reset_color='\E[00m'
|
||||
COLORIZE=1
|
||||
|
||||
cecho() {
|
||||
# Color-echo
|
||||
# arg1 = message
|
||||
# arg2 = color
|
||||
local default_msg="No Message."
|
||||
message=${1:-$default_msg}
|
||||
color=${2:-$green}
|
||||
[ "$COLORIZE" = "1" ] && message="$color$message$reset_color"
|
||||
echo -e "$message"
|
||||
return
|
||||
}
|
||||
|
||||
echo_error() { cecho "$*" $red ;}
|
||||
echo_fatal() { cecho "$*" $red; exit -1 ;}
|
||||
echo_warning() { cecho "$*" $yellow ;}
|
||||
echo_success() { cecho "$*" $green ;}
|
||||
echo_info() { cecho "$*" $blue ;}
|
||||
|
||||
|
||||
|
||||
###########################
|
||||
# Cleaners
|
||||
###########################
|
||||
|
||||
clean_kernel() {
|
||||
$SUDO modprobe ip_tables
|
||||
$SUDO modprobe x_tables
|
||||
$SUDO iptables -P INPUT ACCEPT
|
||||
$SUDO iptables -F INPUT
|
||||
$SUDO iptables -P OUTPUT ACCEPT
|
||||
$SUDO iptables -F OUTPUT
|
||||
$SUDO iptables -P FORWARD ACCEPT
|
||||
$SUDO iptables -F FORWARD
|
||||
$SUDO iptables -t nat -F
|
||||
$SUDO iptables -t mangle -F
|
||||
$SUDO iptables -t filter -F
|
||||
$SUDO iptables -t raw -F
|
||||
echo_info "Flushed iptables"
|
||||
$SUDO rmmod nasmesh > /dev/null 2>&1
|
||||
$SUDO rmmod oai_nw_drv > /dev/null 2>&1
|
||||
$SUDO rmmod openair_rf > /dev/null 2>&1
|
||||
$SUDO rmmod ue_ip > /dev/null 2>&1
|
||||
echo_info "removed drivers from kernel"
|
||||
}
|
||||
|
||||
clean_all_files() {
|
||||
set_openair_env
|
||||
dir=$OPENAIR_DIR/cmake_targets
|
||||
rm -rf $dir/log $OPENAIR_DIR/targets/bin/*
|
||||
rm -rf $dir/lte_build_oai $dir/lte-simulators/build
|
||||
rm -rf $dir/oaisim_build_oai/build $dir/oaisim_build_oai/CMakeLists.txt
|
||||
rm -rf $dir/autotests/bin $dir/autotests/log $dir/autotests/*/build
|
||||
}
|
||||
|
||||
###################################
|
||||
# Compilers
|
||||
###################################
|
||||
|
||||
compilations() {
|
||||
cd $OPENAIR_DIR/cmake_targets/$1/build
|
||||
{
|
||||
rm -f $3
|
||||
make -j`nproc` $2 VERBOSE=$VERBOSE_COMPILE
|
||||
} > $dlog/$2.$REL.txt 2>&1
|
||||
echo_info "Log file for compilation has been written to: $dlog/$2.$REL.txt"
|
||||
if [ -s $3 ] ; then
|
||||
cp $3 $4
|
||||
echo_success "$2 compiled"
|
||||
else
|
||||
echo_error "$2 compilation failed"
|
||||
fi
|
||||
}
|
||||
|
||||
############################################
|
||||
# External packages installers
|
||||
############################################
|
||||
|
||||
install_nettle_from_source() {
|
||||
cd /tmp
|
||||
echo "Downloading nettle archive"
|
||||
rm -rf /tmp/nettle-2.5.tar.gz* /tmp/nettle-2.5
|
||||
wget ftp://ftp.lysator.liu.se/pub/security/lsh/nettle-2.5.tar.gz
|
||||
tar -xzf nettle-2.5.tar.gz
|
||||
cd nettle-2.5/
|
||||
./configure --disable-openssl --enable-shared --prefix=/usr
|
||||
echo "Compiling nettle"
|
||||
make -j`nproc`
|
||||
make check
|
||||
$SUDO make install
|
||||
rm -rf /tmp/nettle-2.5.tar.gz /tmp/nettle-2.5
|
||||
}
|
||||
|
||||
install_gnutls_from_source(){
|
||||
cd /tmp
|
||||
echo "Downloading gnutls archive"
|
||||
rm -rf /tmp/gnutls-3.1.23.tar.xz* /tmp/gnutls-3.1.23
|
||||
wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/gnutls-3.1.23.tar.xz
|
||||
tar -xzf gnutls-3.1.23.tar.xz
|
||||
cd gnutls-3.1.23/
|
||||
./configure --prefix=/usr
|
||||
echo "Compiling gnutls"
|
||||
make -j`nproc`
|
||||
$SUDO make install
|
||||
rm -rf /tmp/gnutls-3.1.23.tar.xz /tmp/gnutls-3.1.23
|
||||
}
|
||||
|
||||
|
||||
|
||||
check_install_usrp_uhd_driver(){
|
||||
v=$(lsb_release -cs)
|
||||
$SUDO apt-add-repository "deb http://files.ettus.com/binaries/uhd/repo/uhd/ubuntu/$v $v main"
|
||||
$SUDO apt-get update
|
||||
$SUDO apt-get -y install python python-tk libboost-all-dev libusb-1.0-0-dev
|
||||
$SUDO apt-get -y install -t `lsb_release -cs` uhd --force-yes
|
||||
}
|
||||
check_install_bladerf_driver(){
|
||||
$SUDO add-apt-repository -y ppa:bladerf/bladerf
|
||||
$SUDO apt-get update
|
||||
$SUDO apt-get install -y bladerf libbladerf-dev
|
||||
$SUDO apt-get install bladerf-firmware-fx3
|
||||
$SUDO apt-get install bladerf-fpga-hostedx40
|
||||
bladeRF-cli --flash-firmware /usr/share/Nuand/bladeRF/bladeRF_fw.img
|
||||
}
|
||||
|
||||
check_install_additional_tools (){
|
||||
$SUDO apt-get update
|
||||
$SUDO apt-get install -y \
|
||||
check \
|
||||
dialog \
|
||||
dkms \
|
||||
gawk \
|
||||
libboost-all-dev \
|
||||
libpthread-stubs0-dev \
|
||||
openvpn \
|
||||
phpmyadmin \
|
||||
pkg-config \
|
||||
python-dev \
|
||||
python-pexpect \
|
||||
sshfs \
|
||||
swig \
|
||||
tshark \
|
||||
uml-utilities \
|
||||
unzip \
|
||||
valgrind \
|
||||
vlan \
|
||||
ctags
|
||||
}
|
||||
|
||||
check_install_oai_software() {
|
||||
|
||||
$SUDO apt-get update
|
||||
$SUDO apt-get install -y \
|
||||
autoconf \
|
||||
automake \
|
||||
bison \
|
||||
build-essential \
|
||||
cmake \
|
||||
cmake-curses-gui \
|
||||
doxygen \
|
||||
doxygen-gui\
|
||||
texlive-latex-base\
|
||||
ethtool \
|
||||
flex \
|
||||
gccxml \
|
||||
gdb \
|
||||
git \
|
||||
graphviz \
|
||||
gtkwave \
|
||||
guile-2.0-dev \
|
||||
iperf \
|
||||
iproute \
|
||||
iptables \
|
||||
iptables-dev \
|
||||
libatlas-base-dev \
|
||||
libatlas-dev \
|
||||
libblas3gf \
|
||||
libblas-dev \
|
||||
libconfig8-dev \
|
||||
libforms-bin \
|
||||
libforms-dev \
|
||||
libgcrypt11-dev \
|
||||
libgmp-dev \
|
||||
libgtk-3-dev \
|
||||
libidn2-0-dev \
|
||||
libidn11-dev \
|
||||
libmysqlclient-dev \
|
||||
liboctave-dev \
|
||||
libpgm-5.1 \
|
||||
libpgm-dev \
|
||||
libsctp1 \
|
||||
libsctp-dev \
|
||||
libssl-dev \
|
||||
libtasn1-3-dev \
|
||||
libtool \
|
||||
libusb-1.0-0-dev \
|
||||
libxml2 \
|
||||
libxml2-dev \
|
||||
linux-headers-`uname -r` \
|
||||
mscgen \
|
||||
octave \
|
||||
octave-signal \
|
||||
openssh-client \
|
||||
openssh-server \
|
||||
openssl \
|
||||
python \
|
||||
subversion
|
||||
$SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so
|
||||
if [ `lsb_release -rs` = '12.04' ] ; then
|
||||
install_nettle_from_source
|
||||
install_gnutls_from_source
|
||||
else
|
||||
$SUDO apt-get install -y libgnutls-dev nettle-dev nettle-bin
|
||||
fi
|
||||
install_asn1c_from_source
|
||||
}
|
||||
|
||||
install_asn1c_from_source(){
|
||||
mkdir -p /tmp/asn1c-r1516
|
||||
cd /tmp/asn1c-r1516
|
||||
rm -rf /tmp/asn1c-r1516/*
|
||||
svn co https://github.com/vlm/asn1c/trunk /tmp/asn1c-r1516 -r 1516 > /tmp/log_compile_asn1c
|
||||
patch -p0 < $OPENAIR_DIR/openair3/S1AP/MESSAGES/ASN1/asn1cpatch.p0 >> /tmp/log_compile_asn1c
|
||||
patch -p0 < $OPENAIR_DIR/openair3/S1AP/MESSAGES/ASN1/asn1cpatch_2.p0 >> /tmp/log_compile_asn1c
|
||||
patch -p0 < $OPENAIR_DIR/openair2/RRC/LITE/MESSAGES/asn1c/asn1cpatch.p0 >> /tmp/log_compile_asn1c
|
||||
./configure
|
||||
make > /tmp/log_compile_asn1c 2>&1
|
||||
$SUDO make install
|
||||
}
|
||||
|
||||
#################################################
|
||||
# 2. compile
|
||||
################################################
|
||||
|
||||
install_nas_tools() {
|
||||
cd $1
|
||||
if [ ! -f .ue.nvram ]; then
|
||||
echo_success "generate .ue_emm.nvram .ue.nvram"
|
||||
./nvram --gen
|
||||
else
|
||||
[ ./nvram -nt .ue.nvram -o ./nvram -nt .ue_emm.nvram ] && ./nvram --gen
|
||||
fi
|
||||
|
||||
if [ ! -f .usim.nvram ]; then
|
||||
echo_success "generate .usim.nvram"
|
||||
./usim --gen
|
||||
else
|
||||
[ ./usim -nt .usim.nvram ] && ./usim --gen
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
################################
|
||||
# set_openair_env
|
||||
###############################
|
||||
set_openair_env(){
|
||||
fullpath=`readlink -f $BASH_SOURCE`
|
||||
[ -f "/.$fullpath" ] || fullpath=`readlink -f $PWD/$fullpath`
|
||||
openair_path=${fullpath%/cmake_targets/*}
|
||||
openair_path=${openair_path%/targets/*}
|
||||
openair_path=${openair_path%/openair[123]/*}
|
||||
export OPENAIR_DIR=$openair_path
|
||||
export OPENAIR1_DIR=$openair_path/openair1
|
||||
export OPENAIR2_DIR=$openair_path/openair2
|
||||
export OPENAIR3_DIR=$openair_path/openair3
|
||||
export OPENAIR_TARGETS=$openair_path/targets
|
||||
}
|
||||
|
||||
Executable
+147
@@ -0,0 +1,147 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
# OpenAirInterface
|
||||
# Copyright(c) 1999 - 2014 Eurecom
|
||||
#
|
||||
# OpenAirInterface 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) anylater version.
|
||||
#
|
||||
#
|
||||
# OpenAirInterface 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 OpenAirInterface.The full GNU General Public License is
|
||||
# included in this distribution in the file called "COPYING". If not,
|
||||
# see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Contact Information
|
||||
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||
# OpenAirInterface Dev : openair4g-devel@eurecom.fr
|
||||
#
|
||||
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||
#
|
||||
################################################################################
|
||||
# file build_test_epc_tools
|
||||
# brief
|
||||
# author Lionel Gauthier
|
||||
# company Eurecom
|
||||
# email: lionel.gauthier@eurecom.fr
|
||||
#
|
||||
################################
|
||||
# include helper functions
|
||||
################################
|
||||
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
|
||||
source $THIS_SCRIPT_PATH/build_helper
|
||||
|
||||
function help()
|
||||
{
|
||||
echo_error " "
|
||||
echo_error "Usage: build_test_epc_tools [OPTION]..."
|
||||
echo_error "Build the executables for generating and running a test case for EPC."
|
||||
echo_error " "
|
||||
echo_error "Options:"
|
||||
echo_error "Mandatory arguments to long options are mandatory for short options too."
|
||||
echo_error " -c, --clean Clean the build generated files (build from scratch)"
|
||||
echo_error " -d, --debug Compile with debug informations."
|
||||
echo_error " -h, --help Print this help."
|
||||
echo_error " -v, --verbose Build process verbose."
|
||||
echo_error " "
|
||||
}
|
||||
|
||||
|
||||
|
||||
function main()
|
||||
{
|
||||
local -i clean=0
|
||||
local -i verbose=0
|
||||
local cmake_args=" "
|
||||
local make_args="-j $NUM_CPU"
|
||||
local realm=""
|
||||
|
||||
|
||||
until [ -z "$1" ]
|
||||
do
|
||||
case "$1" in
|
||||
-c | --clean)
|
||||
clean=1
|
||||
echo "Clean the build generated files (build from scratch)"
|
||||
shift;
|
||||
;;
|
||||
-d | --debug)
|
||||
cmake_args="$cmake_args -DDEBUG=1"
|
||||
echo "Compile with debug informations"
|
||||
shift;
|
||||
;;
|
||||
-h | --help)
|
||||
help
|
||||
shift;
|
||||
exit 0
|
||||
;;
|
||||
-v | --verbose)
|
||||
echo "Make build process verbose"
|
||||
cmake_args="$cmake_args -DCMAKE_VERBOSE_MAKEFILE=ON"
|
||||
make_args="VERBOSE=1 $make_args"
|
||||
verbose=1
|
||||
shift;
|
||||
;;
|
||||
*)
|
||||
echo "Unknown option $1"
|
||||
help
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
|
||||
|
||||
|
||||
set_openair_env
|
||||
if [[ $verbose -eq 1 ]]; then
|
||||
cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
|
||||
fi
|
||||
|
||||
local dbin=$OPENAIR_DIR/targets/bin
|
||||
local dlog=$OPENAIR_DIR/cmake_targets/log
|
||||
local dconf=$OPENAIR_DIR/targets/bin
|
||||
|
||||
mkdir -m 777 -p $dbin $dlog
|
||||
|
||||
##############################################################################
|
||||
# Compile userspace executable
|
||||
##############################################################################
|
||||
cd $OPENAIR_DIR/cmake_targets/epc_test
|
||||
if [ $clean -ne 0 ]; then
|
||||
if [[ $verbose -eq 1 ]]; then
|
||||
echo "Cleaning TEST_EPC"
|
||||
fi
|
||||
rm -f $OPENAIR_DIR/targets/bin/test_epc_generate_scenario
|
||||
rm -Rf build 2>&1
|
||||
mkdir -m 777 -p -v build
|
||||
fi
|
||||
|
||||
##############################################################################
|
||||
# Compile EPC
|
||||
##############################################################################
|
||||
cd $OPENAIR_DIR/cmake_targets/epc_test
|
||||
if [ ! -d ./build ]; then
|
||||
mkdir -m 777 -p -v build
|
||||
fi
|
||||
cmake_file=./CMakeLists.txt
|
||||
cp $OPENAIR_DIR/cmake_targets/epc_test/CMakeLists.template $cmake_file
|
||||
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
|
||||
cd ./build
|
||||
cmake $cmake_args ..
|
||||
compilations \
|
||||
epc_test test_epc_generate_scenario \
|
||||
test_epc_generate_scenario $dbin/test_epc_generate_scenario
|
||||
}
|
||||
|
||||
|
||||
main "$@"
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
################################################################################
|
||||
# OpenAirInterface
|
||||
# Copyright(c) 1999 - 2014 Eurecom
|
||||
#
|
||||
# OpenAirInterface 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) anylater version.
|
||||
#
|
||||
#
|
||||
# OpenAirInterface 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 OpenAirInterface.The full GNU General Public License is
|
||||
# included in this distribution in the file called "COPYING". If not,
|
||||
# see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Contact Information
|
||||
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||
#
|
||||
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||
#
|
||||
################################################################################
|
||||
# file example_enb_exmimo_mme_hss.txt
|
||||
# brief
|
||||
# author Lionel Gauthier
|
||||
|
||||
TODO: a document file, PDF for example, with nice pictures, etc
|
||||
This example shows how to generate and launch enb, mme_gw, hss executables on the same host:
|
||||
|
||||
################
|
||||
Configuration
|
||||
################
|
||||
freediameter 1.2.0 (not 1.1.5, 1.1.6,...) has to be installed and patched (done by check_install_oai_software() calling install_freediameter_from_source() in script build_helper)
|
||||
|
||||
Config File:
|
||||
/etc/hosts must contain the fqdn of the MME and HSS (same since both run on the same host):
|
||||
(assuming the realm is openair4G.eur)
|
||||
127.0.0.1 localhost
|
||||
127.0.1.1 yang.openair4G.eur yang
|
||||
...
|
||||
|
||||
################
|
||||
BUILDING, RUNNING
|
||||
################
|
||||
|
||||
Building HSS:
|
||||
yang@yang:~/openair4G/trunk/cmake_targets$ tools/build_hss -c --connect-to-mme yang.openair4G.eur -t -T --realm openair4G.eur
|
||||
|
||||
Configuring the HSS:
|
||||
In oai_db (easier for newbies to access HSS database through http://127.0.0.1/phpmyadmin)
|
||||
In table mmeidentity, enter the record corresponding to your MME:
|
||||
(idmmeidentity, mmehost, mmerealm)
|
||||
In table pdn, enter the record allowing an IMSI to connect to an APN
|
||||
In table users, enter the record corresponding to your USIM card.
|
||||
|
||||
Running the HSS:
|
||||
yang@yang:~/openair4G/trunk/cmake_targets$ sudo tools/run_hss -g
|
||||
|
||||
|
||||
|
||||
Building the MME-GW:
|
||||
yang@yang:~/openair4G/trunk/cmake_targets/tools$ ./build_epc -c -d -t -T --s6a-server
|
||||
|
||||
Configuring the MME-GW:
|
||||
You can configure in file openair4G/trunk/cmake_targets/tools/epc.local.enb.conf.in the following parameters:
|
||||
MCC/MNC of your network
|
||||
SGI interface (outgoing interface of the S/P-GW)
|
||||
Integrity algorithms, Ciphering algorithms
|
||||
Please note that DNS addresses are hardcoded in source code (TODO in list).
|
||||
|
||||
Running the MME-GW:
|
||||
yang@yang:~/openair4G/trunk/cmake_targets/tools$ sudo ./run_epc -l -g -K
|
||||
|
||||
|
||||
|
||||
Building eNB:
|
||||
yang@yang:~/openair4G/trunk/cmake_targets$ ./build_oai --eNB
|
||||
|
||||
Running eNB:
|
||||
yang@yang:~/openair4G/trunk/cmake_targets$ sudo tools/run_enb_s1_exmimo -c /home/yang/openair4G/trunk/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.yang.epc.eurecom.conf -S -K
|
||||
|
||||
|
||||
################
|
||||
Tools available:
|
||||
###############
|
||||
|
||||
1) itti_analyser (list messages exchanged between protocol layers)
|
||||
2) xforms (Layer 1)
|
||||
3) mscgen (under construction, but can give some results now)
|
||||
(http://www.mcternan.me.uk/mscgen/)
|
||||
We use the software to generate sequence diagrams
|
||||
with traces generated during the execution of the eNB.
|
||||
After the enb execution:
|
||||
yang@yang:...$ cd /tmp
|
||||
yang@yang:/tmp$ /home/yang/openair4G/trunk/targets/SCRIPTS/msc_gen.py
|
||||
The results are located in the current directory (/tmp in this example) in a folder. The name of the folder
|
||||
is the current date (for example: 2015-04-08_20.34.10).
|
||||
The results are input files for the mscgen tool containing events or messages and the
|
||||
corresponding generated png files.
|
||||
4) vcd (timing mesurements)
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
################################################################################
|
||||
# OpenAirInterface
|
||||
# Copyright(c) 1999 - 2014 Eurecom
|
||||
#
|
||||
# OpenAirInterface 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) anylater version.
|
||||
#
|
||||
#
|
||||
# OpenAirInterface 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 OpenAirInterface.The full GNU General Public License is
|
||||
# included in this distribution in the file called "COPYING". If not,
|
||||
# see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Contact Information
|
||||
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||
#
|
||||
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||
#
|
||||
################################################################################
|
||||
# file example_oaisim_enb_ue_mme_virtual.txt
|
||||
# brief
|
||||
# author Lionel Gauthier
|
||||
|
||||
TODO: a document file, PDF for example, with nice pictures, etc
|
||||
This example shows how to generate and launch enb, 1 ue (NAS still not virtualized in UE) in virtualised mode, mme_gw, hss executables on the same host:
|
||||
|
||||
################
|
||||
Configuration
|
||||
################
|
||||
freediameter 1.2.0 (not 1.1.5, 1.1.6,...) has to be installed and patched (done by check_install_oai_software() calling install_freediameter_from_source() in script build_helper)
|
||||
|
||||
Config File:
|
||||
/etc/hosts must contain the fqdn of the MME and HSS (same since both run on the same host):
|
||||
(assuming the realm is openair4G.eur)
|
||||
127.0.0.1 localhost
|
||||
127.0.1.1 yang.openair4G.eur yang
|
||||
...
|
||||
|
||||
################
|
||||
BUILDING, RUNNING
|
||||
################
|
||||
|
||||
Building HSS:
|
||||
yang@yang:~/openair4G/trunk/cmake_targets$ tools/build_hss -c --connect-to-mme yang.openair4G.eur -t -T --realm openair4G.eur
|
||||
|
||||
Configuring the HSS:
|
||||
In oai_db (easier for newbies to access HSS database through http://127.0.0.1/phpmyadmin)
|
||||
In table mmeidentity, enter the record corresponding to your MME:
|
||||
(idmmeidentity, mmehost, mmerealm)
|
||||
In table pdn, enter the record allowing an IMSI to connect to an APN
|
||||
In table users, enter the record corresponding to your USIM card.
|
||||
|
||||
Running the HSS:
|
||||
yang@yang:~/openair4G/trunk/cmake_targets$ sudo tools/run_hss -g
|
||||
|
||||
|
||||
|
||||
Building the MME-GW:
|
||||
yang@yang:~/openair4G/trunk/cmake_targets/tools$ ./build_epc -c -d -t -T --s6a-server
|
||||
|
||||
Configuring the MME-GW:
|
||||
You can configure in file openair4G/trunk/cmake_targets/tools/epc.local.enb.conf.in the following parameters:
|
||||
MCC/MNC of your network
|
||||
SGI interface (outgoing interface of the S/P-GW)
|
||||
Integrity algorithms, Ciphering algorithms
|
||||
Please note that DNS addresses are hardcoded in source code (TODO in list).
|
||||
|
||||
Running the MME-GW:
|
||||
yang@yang:~/openair4G/trunk/cmake_targets/tools$ sudo ./run_epc -l -g -K
|
||||
|
||||
|
||||
|
||||
Building eNB:
|
||||
yang@yang:~/openair4G/trunk/cmake_targets$ ./build_oai --oaisim
|
||||
|
||||
Configuring the eNB:
|
||||
The default configuration file for the eNB is trunk/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf
|
||||
|
||||
Running eNB:
|
||||
yang@yang:~/openair4G/trunk/cmake_targets$ tools/run_enb_ue_virt_s1 -m /tmp -K /tmp/enb_ue_virt_s1_itti.log
|
||||
|
||||
|
||||
Putting some IP UL/DL traffic in the bearer:
|
||||
ping -s 1000 -m 1 192.168.12.100 -I oip1
|
||||
|
||||
|
||||
################
|
||||
Tools available:
|
||||
###############
|
||||
|
||||
1) itti_analyser (list messages exchanged between protocol layers)
|
||||
2) xforms (Layer 1)
|
||||
3) mscgen (under construction, but can give some results now)
|
||||
(http://www.mcternan.me.uk/mscgen/)
|
||||
We use the software to generate sequence diagrams
|
||||
with traces generated during the execution of the eNB.
|
||||
After the enb execution:
|
||||
yang@yang:...$ cd /tmp
|
||||
yang@yang:/tmp$ /home/yang/openair4G/trunk/targets/SCRIPTS/msc_gen.py
|
||||
The results are located in the current directory (/tmp in this example) in a folder. The name of the folder
|
||||
is the current date (for example: 2015-04-08_20.34.10).
|
||||
The results are input files for the mscgen tool containing events or messages and the
|
||||
corresponding generated png files.
|
||||
4) vcd (timing mesurements)
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
# this file contains the calibration values to compute the RSSI
|
||||
# we can use three different gain stages (high, low, med) as well as a gain factor for fine tuning
|
||||
# the three lines in this file gives the total rx gain in dB for the three gain stages if the rx gain is set to 30dB
|
||||
# this is for Express MIMO2 without any additional RF frontend
|
||||
# high gain
|
||||
103 107 106 104
|
||||
# med gain
|
||||
98 101 100 98
|
||||
# low gain (byp)
|
||||
94 97 96 94
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
# this file contains the calibration values to compute the RSSI
|
||||
# we can use three different gain stages (high, low, med) as well as a gain factor for fine tuning
|
||||
# the three lines in this file gives the total rx gain in dB for the three gain stages if the rx gain is set to 30dB
|
||||
# this is for Express MIMO2 without any additional RF frontend
|
||||
# high gain
|
||||
128 128 128 126
|
||||
# med gain
|
||||
122 123 123 120
|
||||
# low gain (byp)
|
||||
116 117 116 116
|
||||
Executable
+137
@@ -0,0 +1,137 @@
|
||||
#!/bin/bash
|
||||
|
||||
function main()
|
||||
{
|
||||
mkdir -p $1
|
||||
cd $1
|
||||
shift
|
||||
|
||||
#if this script is called with only 2 arguments (so 1 here after the shift), it's for RRC
|
||||
#(there may be a better way...)
|
||||
if [ $# -eq 1 ]; then
|
||||
|
||||
#asn1c does not work well with extension groups, we need the following fix:
|
||||
# replace [[ by '<name> SEQUENCE {'
|
||||
# and ]] by '} OPTIONAL'
|
||||
#<name> is ext<N> with N starting from 1 and incremented at each new [[ ]] just
|
||||
#following another [[ ]]
|
||||
#
|
||||
#this is what the following C program does
|
||||
|
||||
echo generate asnfix.c
|
||||
|
||||
cat << EOF > asnfix.c
|
||||
/* transforms:
|
||||
* '[[' to 'name SEQUENCE {'
|
||||
* ']]' to '} OPTIONAL'
|
||||
* name is ext1, ext2, ..., for each [[ at the same level
|
||||
* levels are delimited by { and }
|
||||
* -- to end of line is a comment and unprocessed
|
||||
* nested [[ ]] not handled
|
||||
* { and } must be balanced
|
||||
* [[ and ]] can be whatever, every combination is valid
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
void level(int toplevel)
|
||||
{
|
||||
int c;
|
||||
int next_name = 1;
|
||||
|
||||
while (1) {
|
||||
c = getchar();
|
||||
next:
|
||||
if (c == EOF) { if (toplevel) break; abort(); }
|
||||
|
||||
if (c == '-') {
|
||||
c = getchar();
|
||||
if (c != '-') { putchar('-'); goto next; }
|
||||
putchar(c); putchar(c);
|
||||
while (1) {
|
||||
c = getchar(); if (c == EOF) abort();
|
||||
putchar(c);
|
||||
if (c == '\n') break;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (c == '[') {
|
||||
c = getchar();
|
||||
if (c != '[') { putchar('['); goto next; }
|
||||
printf("ext%d SEQUENCE {", next_name);
|
||||
next_name++;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (c == ']') {
|
||||
c = getchar();
|
||||
if (c != ']') { putchar(']'); goto next; }
|
||||
printf("} OPTIONAL");
|
||||
continue;
|
||||
}
|
||||
|
||||
putchar(c);
|
||||
if (c == '}') { if (toplevel) abort(); break; }
|
||||
if (c == '{') level(0);
|
||||
}
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
level(1);
|
||||
fflush(stdout);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
echo compile asnfix.c
|
||||
|
||||
gcc -Wall -o asnfix asnfix.c
|
||||
|
||||
echo run asnfix on $1
|
||||
|
||||
./asnfix < $1 > fixed_grammar.asn
|
||||
|
||||
rm -f asnfix asnfix.c
|
||||
|
||||
echo done with asnfix
|
||||
|
||||
echo running asn1c
|
||||
|
||||
asn1c -gen-PER -fcompound-names fixed_grammar.asn 2>&1 | grep -v -- '->' | grep -v '^Compiled' |grep -v sample
|
||||
|
||||
rm -f fixed_grammar.asn
|
||||
|
||||
echo asn1c done
|
||||
|
||||
else
|
||||
|
||||
asn1c -gen-PER -fcompound-names $* 2>&1 | grep -v -- '->' | grep -v '^Compiled' |grep -v sample
|
||||
|
||||
fi
|
||||
|
||||
awk '
|
||||
BEGIN {
|
||||
print "#ifndef __ASN1_CONSTANTS_H__"
|
||||
print "#define __ASN1_CONSTANTS_H__"
|
||||
}
|
||||
/INTEGER ::=/ {
|
||||
gsub("INTEGER ::=","")
|
||||
gsub("--","//")
|
||||
gsub("-1","_minus_1")
|
||||
gsub("-","_")
|
||||
printf("#define %s\n",$0)
|
||||
}
|
||||
/::=.*INTEGER.*[(]/ {
|
||||
nb_fields=split($0,val,"[:=().]+");
|
||||
gsub("-","_",val[1]);
|
||||
printf("#define min_val_%s %s\n",val[1],val[nb_fields-2]);
|
||||
printf("#define max_val_%s %s\n",val[1],val[nb_fields-1]);
|
||||
}
|
||||
END {
|
||||
print "#endif ";
|
||||
} ' $1 > asn1_constants.h
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Executable
+75
@@ -0,0 +1,75 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
# OpenAirInterface
|
||||
# Copyright(c) 1999 - 2014 Eurecom
|
||||
#
|
||||
# OpenAirInterface 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) anylater version.
|
||||
#
|
||||
#
|
||||
# OpenAirInterface 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 OpenAirInterface.The full GNU General Public License is
|
||||
# included in this distribution in the file called "COPYING". If not,
|
||||
# see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Contact Information
|
||||
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||
#
|
||||
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||
#
|
||||
################################################################################
|
||||
# file indent_source_code
|
||||
# brief
|
||||
# author Lionel Gauthier
|
||||
# company Eurecom
|
||||
# email: lionel.gauthier@eurecom.fr
|
||||
#
|
||||
################################
|
||||
# include helper functions
|
||||
################################
|
||||
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
|
||||
source $THIS_SCRIPT_PATH/build_helper
|
||||
|
||||
function main()
|
||||
{
|
||||
local MAX_CODE_LENGTH=200
|
||||
local INDENT_SPACES=2
|
||||
set_openair_env
|
||||
|
||||
|
||||
# remove trailing white spaces
|
||||
#find $OPENAIR_DIR/openair1 -type f \( -name '*.c' -o -name '*.h' \) -exec sed --in-place 's/[[:space:]]\+$//' {} \+
|
||||
#find $OPENAIR_DIR/openair2 -type f \( -name '*.c' -o -name '*.h' \) -exec sed --in-place 's/[[:space:]]\+$//' {} \+
|
||||
#find $OPENAIR_DIR/openair3 -type f \( -name '*.c' -o -name '*.h' \) -exec sed --in-place 's/[[:space:]]\+$//' {} \+
|
||||
#find $OPENAIR_DIR/openair3 -type f \( -name '*.c' -o -name '*.h' \) -exec sed --in-place 's/[[:space:]]\+$//' {} \+
|
||||
#find $OPENAIR_DIR/targets -type f \( -name '*.c' -o -name '*.h' \) -exec sed --in-place 's/[[:space:]]\+$//' {} \+
|
||||
|
||||
# Style google not available on 14.04
|
||||
|
||||
exit 0
|
||||
# will use indent
|
||||
command -v astyle >/dev/null 2>&1 || { echo >&2 "astyle required but it's not installed."; sudo apt-get install astyle; }
|
||||
astyle --recursive --convert-tabs --indent=spaces=$INDENT_SPACES --style=kr --indent-col1-comments --max-code-length=$MAX_CODE_LENGTH \
|
||||
$OPENAIR_DIR/openair1/*.h \
|
||||
$OPENAIR_DIR/openair1/*.c \
|
||||
$OPENAIR_DIR/openair2/*.h \
|
||||
$OPENAIR_DIR/openair2/*.c \
|
||||
$OPENAIR_DIR/openair3/*.h \
|
||||
$OPENAIR_DIR/openair3/*.c \
|
||||
$OPENAIR_DIR/openair3/*.h \
|
||||
$OPENAIR_DIR/openair3/*.c \
|
||||
$OPENAIR_DIR/targets/*.h \
|
||||
$OPENAIR_DIR/targets/*.c
|
||||
}
|
||||
|
||||
|
||||
main "$@"
|
||||
Executable
+85
@@ -0,0 +1,85 @@
|
||||
#!/bin/bash
|
||||
|
||||
################################################################################
|
||||
# OpenAirInterface
|
||||
# Copyright(c) 1999 - 2015 Eurecom
|
||||
#
|
||||
# OpenAirInterface 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.
|
||||
#
|
||||
#
|
||||
# OpenAirInterface 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 OpenAirInterface.The full GNU General Public License is
|
||||
# included in this distribution in the file called "COPYING". If not,
|
||||
# see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Contact Information
|
||||
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||
#
|
||||
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||
#
|
||||
################################################################################
|
||||
# file init_nas_nos1
|
||||
# brief loads the nasmesh module and sets up the radio bearers (used to provide ip interface without S1 interface)
|
||||
# author Florian Kaltenberger
|
||||
#
|
||||
#######################################
|
||||
|
||||
load_module()
|
||||
{
|
||||
mod_name=${1##*/}
|
||||
mod_name=${mod_name%.*}
|
||||
if awk "/$mod_name/ {found=1 ;exit} END {if (found!=1) exit 1}" /proc/modules
|
||||
then
|
||||
echo "module $mod_name already loaded: I remove it first"
|
||||
sudo rmmod $mod_name
|
||||
fi
|
||||
echo loading $mod_name
|
||||
sudo insmod $1
|
||||
}
|
||||
|
||||
|
||||
function main()
|
||||
{
|
||||
PCI=`lspci -m | grep Xilinx`
|
||||
if [ -z "$PCI" ]; then
|
||||
echo "No card found. Stopping!"
|
||||
return
|
||||
fi
|
||||
|
||||
## This part corrects the wrong configuration of the endpoint done by the bios in some machines
|
||||
echo "$PCI" | while read config_reg; do
|
||||
SLOT_NUMBER=`echo $config_reg | awk -F\" '{print $1}'`
|
||||
sudo setpci -s $SLOT_NUMBER 60.b=10
|
||||
done
|
||||
|
||||
|
||||
load_module $OPENAIR_DIR/targets/bin/openair_rf.ko
|
||||
sleep 1
|
||||
|
||||
if [ ! -e /dev/openair0 ]; then
|
||||
sudo mknod /dev/openair0 c 127 0
|
||||
sudo chmod a+rw /dev/openair0
|
||||
fi
|
||||
|
||||
DEVICE=`echo $PCI | awk -F\" '{print $(NF-1)}' | awk '{print $2}'`
|
||||
DEVICE_SWID=${DEVICE:2:2}
|
||||
if [ $DEVICE_SWID == '0a' ]; then
|
||||
echo "Using firware version 10"
|
||||
$OPENAIR_DIR/targets/bin/updatefw -s 0x43fffff0 -b -f $OPENAIR_TARGETS/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v10
|
||||
else
|
||||
echo 'No corresponding firmware found'
|
||||
return
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -0,0 +1,61 @@
|
||||
#!/bin/bash
|
||||
|
||||
################################################################################
|
||||
# OpenAirInterface
|
||||
# Copyright(c) 1999 - 2015 Eurecom
|
||||
#
|
||||
# OpenAirInterface 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.
|
||||
#
|
||||
#
|
||||
# OpenAirInterface 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 OpenAirInterface.The full GNU General Public License is
|
||||
# included in this distribution in the file called "COPYING". If not,
|
||||
# see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Contact Information
|
||||
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||
#
|
||||
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||
#
|
||||
################################################################################
|
||||
# file init_nas_nos1
|
||||
# brief loads the nasmesh module and sets up the radio bearers (used to provide ip interface without S1 interface)
|
||||
# author Florian Kaltenberger
|
||||
#
|
||||
#######################################
|
||||
|
||||
load_module() {
|
||||
mod_name=${1##*/}
|
||||
mod_name=${mod_name%.*}
|
||||
if awk "/$mod_name/ {found=1 ;exit} END {if (found!=1) exit 1}" /proc/modules
|
||||
then
|
||||
echo "module $mod_name already loaded: I remove it first"
|
||||
sudo rmmod $mod_name
|
||||
fi
|
||||
echo loading $mod_name
|
||||
sudo insmod $1
|
||||
}
|
||||
|
||||
load_module $OPENAIR_DIR/targets/bin/nasmesh.ko
|
||||
|
||||
if [ "$1" = "eNB" ]; then
|
||||
echo "bring up oai0 interface for enb"
|
||||
sudo ifconfig oai0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255
|
||||
$OPENAIR_DIR/targets/bin/rb_tool -a -c0 -i0 -z0 -s 10.0.1.1 -t 10.0.1.9 -r 1
|
||||
else
|
||||
if [ "$1" = "UE" ]; then
|
||||
echo "bring up oai0 interface for UE"
|
||||
sudo ifconfig oai0 10.0.1.9 netmask 255.255.255.0 broadcast 10.0.1.255
|
||||
$OPENAIR_DIR/targets/bin/rb_tool -a -c0 -i0 -z0 -s 10.0.1.9 -t 10.0.1.1 -r 1
|
||||
fi
|
||||
fi
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
pid=$1
|
||||
sleep_sec=0.5
|
||||
|
||||
if [ "$2" != "" ] ; then
|
||||
sleep_sec=$2
|
||||
fi
|
||||
#declare -r cnt=$sleep_sec
|
||||
OUTPUT_FILE="/tmp/mem_usage_${pid}_${sleep_sec}.csv"
|
||||
echo "RSS(KB);PSS(KB);SHARED_CLEAN(KB);SHARED_DIRTY(KB);PRIVATE)KB)" >> $OUTPUT_FILE
|
||||
echo "Mem usage for PID $pid with observation period of ${sleep_sec}"
|
||||
|
||||
while ps $pid >/dev/null
|
||||
do
|
||||
if [ -f /proc/$pid/smaps ]; then
|
||||
rss=$(awk '/^Rss/ {i = i + $2} END {print i}' /proc/$pid/smaps)
|
||||
pss=$(awk '/^Pss/ {i = i + $2 + 0.5} END {print i}' /proc/$pid/smaps)
|
||||
sc=$(awk '/^Shared_Clean/ {i = i + $2} END {print i}' /proc/$pid/smaps)
|
||||
sd=$(awk '/^Shared_Dirty/ {i = i + $2} END {print i}' /proc/$pid/smaps)
|
||||
pc=$(awk '/^Private_Clean/ {i = i + $2} END {print i}' /proc/$pid/smaps)
|
||||
pd=$(awk '/^Private_Dirty/ {i = i + $2} END {print i}' /proc/$pid/smaps)
|
||||
echo "$cnt;$rss;$pss;$sc;$pc;$pd;" >> $OUTPUT_FILE
|
||||
fi
|
||||
|
||||
sleep $sleep_sec
|
||||
done
|
||||
Executable
+789
@@ -0,0 +1,789 @@
|
||||
################################################################################
|
||||
# OpenAirInterface
|
||||
# Copyright(c) 1999 - 2015 Eurecom
|
||||
#
|
||||
# OpenAirInterface 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) anylater version.
|
||||
#
|
||||
#
|
||||
# OpenAirInterface 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 OpenAirInterface.The full GNU General Public License is
|
||||
# included in this distribution in the file called "COPYING". If not,
|
||||
# see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Contact Information
|
||||
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||
#
|
||||
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||
#
|
||||
################################################################################
|
||||
# file build_oai.bash
|
||||
# brief apply a traffic generator, send traffic and measure the performance of OAI
|
||||
# OTG is mainly used for OASIM and D-ITG (or iperf) for LTE-SOFTMODEM
|
||||
# author Navid Nikaein
|
||||
# company Eurecom
|
||||
# email: navid.nikaein@eurecom.fr
|
||||
# date 2015
|
||||
|
||||
#!/bin/bash
|
||||
################################
|
||||
# include helper functions
|
||||
################################
|
||||
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
|
||||
. $THIS_SCRIPT_PATH/build_helper
|
||||
|
||||
|
||||
#######################################
|
||||
# Default PARAMETERS
|
||||
######################################
|
||||
#general
|
||||
|
||||
declare PERF_APP="OTG-OAISIM" # ITG, ITG_DECODE, PING, OTG,
|
||||
declare TEST_MODE=0
|
||||
declare KEEP_LOG_FILESNUM_PKTS=0
|
||||
declare OWD="rttm"
|
||||
declare DURATION=60000 # ms
|
||||
declare NUM_PKTS=10000
|
||||
declare KBYTES=1000 # KBYTES
|
||||
declare START=0
|
||||
declare DST="127.0.0.1"
|
||||
declare DPORT="8999"
|
||||
declare TP="UDP"
|
||||
declare IDT_DIST="CONSTANT"
|
||||
declare PS_DIST="CONSTANT"
|
||||
|
||||
#IDT
|
||||
declare RATE=1000 # pkt / s
|
||||
declare MIN_RATE=100
|
||||
declare MAX_RATE=1000
|
||||
|
||||
# set paths to the required binaries and check if the required binaries are available
|
||||
ENB_CONFIG=$OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf
|
||||
OAISIM_EXEC=$OPENAIR_DIR/targets/bin/oaisim_nos1
|
||||
BYPASSE_ITTI=0
|
||||
OTGPLOT="$OPENAIR2_DIR/UTIL/OTG/OTGplot"
|
||||
PS2PDF="ps2pdf"
|
||||
|
||||
print_help_perf(){
|
||||
echo_success "Name : perf_oai generate traffic and evaluate the performance "
|
||||
echo_success "Usage: perf_oai -l ITG "
|
||||
echo_success "-l | --perf-app : Set Performance evaluation app: ITGS, ITGD,PING, OTG-OAISIM, OTG-CBA, (default OTG-OAISIM)"
|
||||
echo_success "-m | --owd : enable D-ITG one-way-delay meter (default disabled)"
|
||||
echo_success "-e | --duration : set the duration of the experiment (default 60000ms)"
|
||||
echo_success "-i | --idt-dist : set the distribution of the inter-departure time: CONSTANT, UNIFORM,EXPONENTIAL (default CONSTANT)"
|
||||
echo_success "-s | --ps-dist : set the distribution of the inter-departure time (default CONSTANT, available options: UNIFORM,EXPONENTIAL)"
|
||||
echo_success "-d | --dst : set the destination address (default 127.0.0.1)"
|
||||
echo_success "-p | --dst-port : set the destination address (default NONE)"
|
||||
echo_success "-t | --test : enable test mode to validate the functionality (default disabled)"
|
||||
echo_success "-k | --keep-log-file : keep the log files (default disabled)"
|
||||
echo_success "-c | --enb-config : set the eNB config path (default $ENB_CONFIG)"
|
||||
echo_success "-x | --oaisim-exec : set oaisim exec path (default $OASIM_EXEC with nos1 and ITTI enabled)"
|
||||
echo_success "-b | --bypass-itti : bypass ITTI interafce (default use itti)"
|
||||
|
||||
|
||||
}
|
||||
|
||||
################################
|
||||
# run ITGSEND
|
||||
################################
|
||||
|
||||
itg_send(){
|
||||
|
||||
$SUDO apt-get install -y test_install_package d-itg
|
||||
|
||||
LOG_FILE="itg_log_template.txt"
|
||||
touch results/${LOG_FILE}
|
||||
|
||||
if [ $TEST_MODE = 0 ] ; then
|
||||
declare -a PS=(32 64 128 256 512 1024 1408)
|
||||
declare -a IDT=(1 5 10 50 100 1000)
|
||||
else
|
||||
declare -a PS=(32 64)
|
||||
declare -a IDT=(1)
|
||||
fi
|
||||
|
||||
declare PS_LEN=${#PS[@]}
|
||||
declare IDT_LEN=${#IDT[@]}
|
||||
#echo_info "PS_LEN is $PS_LEN, IDT_LEN is $IDT_LEN"
|
||||
|
||||
declare i=0
|
||||
declare j=0
|
||||
declare e=0
|
||||
# send traffic
|
||||
for idt in ${IDT[@]}; do
|
||||
# echo_info "IDT is set to $idt i is $i"
|
||||
if [ $i -lt $IDT_LEN ]; then
|
||||
let i++;
|
||||
fi
|
||||
|
||||
if [ $IDT_DIST = "CONSTANT" ]; then
|
||||
IDT_OPT="-C $idt "
|
||||
fi
|
||||
if [ $IDT_DIST = "UNIFORM" ]; then
|
||||
IDT_OPT="-U $idt ${IDT[i]} "
|
||||
fi
|
||||
if [ $IDT_DIST = "EXPONENTIAL" ]; then
|
||||
IDT_OPT="-E $idt "
|
||||
fi
|
||||
|
||||
for ps in ${PS[@]}; do
|
||||
# echo_info "PS is $ps j is $j"
|
||||
if [ $j -lt $PS_LEN ]; then
|
||||
let j++;
|
||||
fi
|
||||
if [ $PS_DIST = "CONSTANT" ]; then
|
||||
PS_OPT="-c $ps "
|
||||
fi
|
||||
if [ $PS_DIST = "UNIFORM" ]; then
|
||||
PS_OPT="-u $ps ${PS[j]} "
|
||||
fi
|
||||
if [ $PS_DIST = "EXPONENTIAL" ]; then
|
||||
PS_OPT="-e $ps "
|
||||
fi
|
||||
start=$(date +%s)
|
||||
RECV_FILE="recv_log_${IDT_DIST}_idt${idt}_${PS_DIST}_ps${ps}_${OWD}_${TP}"
|
||||
echo_info "Start test_$i.$j:: ITGSend -a $DST $IDT_OPT $PS_OPT -m $OWD -d $START -T $TP -t $DURATION -x $RECV_FILE -l "
|
||||
echo "Start test_$i.$j:: ITGSend -a $DST $IDT_OPT $PS_OPT -m $OWD -d $START -T $TP -t $DURATION -x $RECV_FILE -l " >> results/${oai_exp_date}
|
||||
#sleep 1
|
||||
ITGSend -a $DST $IDT_OPT $PS_OPT -m $OWD -d $START -T $TP -t $DURATION -x $RECV_FILE -l
|
||||
itg_status=$?
|
||||
end=$(date +%s)
|
||||
diff=$(( $end - $start ))
|
||||
|
||||
if [ $itg_status = 0 ] ; then
|
||||
echo_success "[$end] test_$i.$j passed"
|
||||
echo "[$end] test_$i.$j passed" >> ./results/$LOG_FILE
|
||||
STATUS="PASSED"
|
||||
else
|
||||
let e++;
|
||||
echo_error "[$end] test_$i.$j failed :: D-ITG return exit code $itg_status"
|
||||
echo "[$end]test_$i.$j failed :: ITG return exit code $itg_status" >> ./results/$LOG_FILE
|
||||
STATUS="FAILED"
|
||||
fi
|
||||
|
||||
echo_info "End test_$i.$j:: runtime: $diff"
|
||||
echo "End test_$i.$j:: runtime: $diff" >> results/${oai_exp_date}
|
||||
|
||||
done
|
||||
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
itg_decode(){
|
||||
|
||||
declare i=0
|
||||
declare j=0
|
||||
if [ $TEST_MODE = 0 ] ; then
|
||||
declare -a PS=(32 64 128 256 512 1024 1408)
|
||||
declare -a IDT=(1 5 10 50 100 1000)
|
||||
else
|
||||
declare -a PS=(32 64)
|
||||
declare -a IDT=(1)
|
||||
fi
|
||||
|
||||
for idt in ${IDT[@]}; do
|
||||
|
||||
for ps in ${PS[@]}; do
|
||||
RECV_FILE="recv_log_${IDT_DIST}_idt${idt}_${PS_DIST}_ps${ps}_${OWD}_${TP}"
|
||||
OUTPUT_FILE="results_${IDT_DIST}_idt${idt}_${PS_DIST}_ps${ps}_${OWD}_${TP}.txt"
|
||||
OCTAVE_FILE="results_${IDT_DIST}_idt${idt}_${PS_DIST}_ps${ps}_${OWD}_${TP}.."
|
||||
|
||||
echo_info "decode test_$i.$j: ITGDec $RECV_FILE -v -t -l $OUTPUT_FILE -o $OCTAVE_FILE"
|
||||
ITGDec $RECV_FILE -v -t -l $OUTPUT_FILE
|
||||
|
||||
done
|
||||
|
||||
done
|
||||
|
||||
|
||||
}
|
||||
|
||||
ping_stats(){
|
||||
|
||||
status="failed"
|
||||
failedhosts=""
|
||||
|
||||
# add ip / hostname separated by white space
|
||||
|
||||
if [ $TEST_MODE = 0 ]; then
|
||||
declare COUNT=100
|
||||
declare -a HOSTS=($DST)
|
||||
declare -a PS=(64 768 2048 4096 8192)
|
||||
declare -a IDT=(1 .8 .4 .2)
|
||||
else
|
||||
declare COUNT=10
|
||||
declare -a HOSTS=(localhost)
|
||||
declare -a PS=(64 2048)
|
||||
declare -a IDT=(.5)
|
||||
fi
|
||||
|
||||
|
||||
declare i=0
|
||||
declare j=0
|
||||
declare k=0
|
||||
|
||||
start_exp=$(date +%s)
|
||||
|
||||
for host in ${HOSTS[@]}; do
|
||||
let i++;
|
||||
let j=0;
|
||||
OUTPUT_FILE="rtt_host${host}.csv"
|
||||
touch results/${OUTPUT_FILE}
|
||||
for idt in ${IDT[@]}; do
|
||||
let j++;
|
||||
let k=0;
|
||||
for ps in ${PS[@]}; do
|
||||
let k++;
|
||||
# | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
|
||||
start=$(date +%s)
|
||||
LOG_FILE="recv_log_host${host}_idt${idt}_ps${ps}.txt"
|
||||
touch results/${LOG_FILE}
|
||||
echo_info "Start test_$i.$j.$k:: ping -c $COUNT -q -U $host -s $ps -i $idt"
|
||||
echo "Start test_$i.$j.$k:: ping -c $COUNT -q -U $host -s $ps -i $idt" >> results/${oai_exp_date}
|
||||
$(ping -c $COUNT -q -U $host -s $ps -i $idt 1>&2 >> ./results/$LOG_FILE )
|
||||
end=$(date +%s)
|
||||
diff=$(( $end - $start ))
|
||||
|
||||
count=$(cat ./results/$LOG_FILE | awk -F, '/received/{print $2*1}')
|
||||
latency=$(cat ./results/$LOG_FILE | tail -1 |cut -f2- -d=)
|
||||
|
||||
MIN=$(cut -f1 -d/ <<< $latency)
|
||||
AVG=$(cut -f2 -d/ <<< $latency)
|
||||
MAX=$(cut -f3 -d/ <<< $latency)
|
||||
MDEV=$(cut -f4 -d/ <<< $latency | cut -f1 -d" ")
|
||||
UNIT=$(cut -f2 -d" " <<< $latency)
|
||||
|
||||
echo_success "Latency:: count $count min $MIN avg $AVG max $MAX mdev $MDEV ($UNIT)"
|
||||
echo "$idt;$ps;$COUNT;$count;$MIN;$AVG;$MAX;$MDEV;" >> ./results/$OUTPUT_FILE
|
||||
if [ $count -eq 0 ]; then
|
||||
failedhosts="$failedhosts $host"
|
||||
status="failed"
|
||||
else
|
||||
status="passed"
|
||||
fi
|
||||
echo_info "End test_$i.$j.$k:: runtime: $diff :: status $status "
|
||||
echo "End test_$i.$j.$k:: runtime: $diff :; status $status" >> results/${oai_exp_date}
|
||||
|
||||
done
|
||||
done
|
||||
done
|
||||
end_exp=$(date +%s)
|
||||
diff_exp=$(( $end_exp - $start_exp ))
|
||||
|
||||
let total_tests=i*j*k;
|
||||
echo_info "total tests: $total_tests for a duration $diff_exp (s)"
|
||||
|
||||
}
|
||||
|
||||
oaisim_otg_stats(){
|
||||
|
||||
# install the required packages
|
||||
|
||||
$SUDO apt-get install -y octave >> results/perf_log.txt 2>&1
|
||||
|
||||
$SUDO pkill oaisim
|
||||
$SUDO pkill oaisim_nos1
|
||||
|
||||
$SUDO rmmod nasmesh > /dev/null 2>&1
|
||||
|
||||
echo_success "Bringup UE interface..."
|
||||
$SUDO insmod $OPENAIR_DIR/targets/bin/nasmesh.ko
|
||||
sync
|
||||
|
||||
if [ ! -f $OAISIM_EXEC ]; then
|
||||
echo_info "3.1 compiling OAISIM ($OPENAIR_TARGETS/cmake_targets/build_oai --oaisim -c)"
|
||||
($OPENAIR_TARGETS/cmake_targets/build_oai --oaisim -c >> results/perf_log.txt 2>&1 )
|
||||
build_stats=$?
|
||||
if [ $build_stats != 0 ] ; then
|
||||
echo_error "$OAISIM_EXEC cannot be built, check results/perf_log.txt file"
|
||||
exit $?
|
||||
fi
|
||||
else
|
||||
echo_info "ensure that OAISIM is not built with the S1 interface"
|
||||
fi
|
||||
|
||||
if [ ! -f $OTGPLOT ]; then
|
||||
echo_error "$OTGPLOT not found"
|
||||
exit $?
|
||||
fi
|
||||
|
||||
# Set the default Parameters
|
||||
ABSTRACTION=1
|
||||
#FRAME_TYPE=0 # FDD=0, TDD =1, 2,3,4,5,6
|
||||
AGGR_RESULT=1
|
||||
STATUS="PASSED"
|
||||
EXTRA_STATS=0
|
||||
declare NUM_UES=1
|
||||
declare TRAFFIC_DIRECTIONS=2 # DL and UL
|
||||
|
||||
if [ $TEST_MODE = 0 ]; then
|
||||
declare -a TEMPLATES=(120 121 122 123 124 125 126 127 128 129)
|
||||
declare -a FRAME_TYPE=(0) # (0 3)
|
||||
declare -a METRICS=(latency jitter goodput)
|
||||
declare -a RB=(25 50 100)
|
||||
else
|
||||
declare -a TEMPLATES=(120 122 125 128)
|
||||
declare -a FRAME_TYPE=(0)
|
||||
declare -a METRICS=(latency)
|
||||
declare -a RB=(25)
|
||||
fi
|
||||
|
||||
if [ $ABSTRACTION = 1 ]; then
|
||||
OPT="-a "
|
||||
fi
|
||||
|
||||
if [ $BYPASSE_ITTI = 0 ]; then
|
||||
OPT="$OPT -O $ENB_CONFIG "
|
||||
fi
|
||||
|
||||
declare num_cols=0
|
||||
let num_cols=(TRAFFIC_DIRECTIONS*NUM_UES)+1
|
||||
if [ $AGGR_RESULT = 1 ]; then
|
||||
COLUMN="[$num_cols:$num_cols]"
|
||||
else
|
||||
COLUMN="[1:$num_cols]"
|
||||
fi
|
||||
|
||||
declare i=0
|
||||
declare j=0
|
||||
declare k=0
|
||||
declare e=0
|
||||
|
||||
start_exp=$(date +%s)
|
||||
|
||||
for template in ${TEMPLATES[@]}; do
|
||||
let i++;
|
||||
let j=0;
|
||||
for frame in ${FRAME_TYPE[@]}; do
|
||||
let j++;
|
||||
let k=0;
|
||||
|
||||
if [ $frame = 0 ]; then
|
||||
OPT_FT="-F "
|
||||
else
|
||||
OPT_FT="-C $frame "
|
||||
fi
|
||||
|
||||
for rb in ${RB[@]}; do
|
||||
let k++;
|
||||
start=$(date +%s)
|
||||
LOG_FILE="oaisim_log_template${template}_frame${frame}_rb${rb}.txt"
|
||||
touch results/${LOG_FILE}
|
||||
echo_info "[$start] Start test_$i.$j.$k:: $OAISIM_EXEC $OPT_FT $OPT -R $RB -c $template"
|
||||
echo "Start test_$i.$j.$k:: $OAISIM_EXEC $OPT_FT $OPT -R $RB -c $template" >> results/${oai_exp_date}
|
||||
#sleep 1
|
||||
$OAISIM_EXEC $OPT_FT $OPT -R $RB -c $template 1>&2 >> ./results/$LOG_FILE
|
||||
# store exit status
|
||||
oai_status=$?
|
||||
end=$(date +%s)
|
||||
diff=$(( $end - $start ))
|
||||
|
||||
#check the oaisim exit status
|
||||
if [ $oai_status = 0 ] ; then
|
||||
echo_success "[$end] test_$i.$j.$k passed"
|
||||
echo "[$end] test_$i.$j.$k passed" >> ./results/$LOG_FILE
|
||||
STATUS="PASSED"
|
||||
else
|
||||
let e++;
|
||||
echo_error "[$end] test_$i.$j.$k failed :: OAISIM return exit code $oai_status"
|
||||
echo "[$end]test_$i.$j.$k failed :: OAISIM return exit code $oai_status" >> ./results/$LOG_FILE
|
||||
STATUS="FAILED"
|
||||
fi
|
||||
|
||||
# create the curves
|
||||
for metric in ${METRICS[@]}; do
|
||||
if [ $metric = "goodput" ]; then
|
||||
unit="(kB/s)"
|
||||
else
|
||||
unit="(ms)"
|
||||
fi
|
||||
if [ -f /tmp/otg_${metric}.dat ]; then
|
||||
export TITLE="Application $metric $unit"
|
||||
cp /tmp/otg_${metric}.dat ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat
|
||||
echo_info "$OTGPLOT ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat $COLUMN"
|
||||
echo "$OTGPLOT ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat $COLUMN" >> results/${oai_exp_date}
|
||||
$($OTGPLOT ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat $COLUMN 1>&2 >> ./results/$LOG_FILE )
|
||||
$($PS2PDF -dOptimize=true -dEmbedAllFonts=true ./otg-${metric}-template${template}-frame${frame}-rb${rb}.eps )
|
||||
# remove the first line of the file
|
||||
echo "$(tail -n+2 ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat)" > ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat
|
||||
else
|
||||
echo_error "file /tmp/otg_${metric}.dat does not exists"
|
||||
fi
|
||||
done
|
||||
if [ $KEEP_LOG_FILESNUM_PKTS = 0 ]; then
|
||||
rm -f ./results/$LOG_FILE
|
||||
fi
|
||||
mv *.eps ./results/
|
||||
mv *.pdf ./results/
|
||||
mv /tmp/otg.log ./results/otg-template${template}-frame${frame}-rb${rb}.log
|
||||
echo_info "End test_$i.$j.$k:: runtime: $diff :: status $STATUS"
|
||||
echo "End test_$i.$j.$k:: runtime: $diff :: status $STATUS" >> results/${oai_exp_date}
|
||||
|
||||
|
||||
done
|
||||
done
|
||||
done
|
||||
|
||||
end_exp=$(date +%s)
|
||||
diff_exp=$(( $end_exp - $start_exp ))
|
||||
|
||||
let total_tests=i*j*k;
|
||||
echo_info "total tests: $total_tests for a duration $diff_exp (s) error ($e)"
|
||||
echo "total tests: $total_tests for a duration $diff_exp (s) error ($e)" >> results/${oai_exp_date}
|
||||
|
||||
}
|
||||
|
||||
|
||||
cba_otg_stats(){
|
||||
|
||||
test_install_package octave
|
||||
|
||||
ABSTRACTION=1
|
||||
FRAME_TYPE=0 # FDD=0, TDD =1
|
||||
AGGR_RESULT=1
|
||||
#OAISIM="$OPENAIR_TARGETS/bin/oaisim"
|
||||
OAISIM="bin/oaisim.cba" # to compile: make cleanall; make Rel10=1 CBA=1 in targets/SIMU/USER
|
||||
OTGPLOT="$OPENAIR2_DIR/UTIL/OTG/OTGplot"
|
||||
PS2PDF="ps2pdf"
|
||||
STATUS="PASSED"
|
||||
EXTRA_STATS=0
|
||||
declare NUM_UES=7
|
||||
declare TRAFFIC_DIRECTIONS=1 # DL and UL
|
||||
|
||||
if [ $TEST_MODE = 0 ]; then
|
||||
declare -a TEMPLATES=(120 121 122 123 124 125 126 127 128 129 130)
|
||||
declare -a CBA=(0 1 2 3 4)
|
||||
declare -a BACKOFF=(0 15 30 60 120)
|
||||
declare -a METRICS=(latency jitter goodput)
|
||||
declare -a RB=(25)
|
||||
else
|
||||
declare -a TEMPLATES=(125)
|
||||
declare -a CBA=(1)
|
||||
declare -a BACKOFF=(0 15 30 60 120)
|
||||
declare -a METRICS=(latency)
|
||||
declare -a RB=(25)
|
||||
fi
|
||||
|
||||
if [ ! -f $OAISIM_EXEC ]; then
|
||||
echo_error "$OAISIM_EXEC not found"
|
||||
exit $?
|
||||
fi
|
||||
if [ ! -f $OTGPLOT ]; then
|
||||
echo_error "$OTGPLOT not found"
|
||||
exit $?
|
||||
fi
|
||||
|
||||
if [ $ABSTRACTION = 1 ]; then
|
||||
OPT="-a "
|
||||
fi
|
||||
if [ $FRAME_TYPE = 0 ]; then
|
||||
OPT="$OPT -F "
|
||||
fi
|
||||
|
||||
declare num_cols=0
|
||||
let num_cols=(TRAFFIC_DIRECTIONS*NUM_UES)+1
|
||||
if [ $AGGR_RESULT = 1 ]; then
|
||||
COLUMN="[$num_cols:$num_cols]"
|
||||
else
|
||||
COLUMN="[1:$num_cols]"
|
||||
fi
|
||||
|
||||
declare collision=0
|
||||
declare enb_cba_access=0
|
||||
declare ue_cba_access=0
|
||||
declare missed=0
|
||||
declare unused=0
|
||||
|
||||
declare i=0
|
||||
declare j=0
|
||||
declare k=0
|
||||
declare e=0
|
||||
|
||||
start_exp=$(date +%s)
|
||||
|
||||
STATS1="cba_stats1.txt"
|
||||
touch results/${STATS1}
|
||||
|
||||
for template in ${TEMPLATES[@]}; do
|
||||
let i++;
|
||||
let j=0;
|
||||
for group in ${CBA[@]}; do
|
||||
let j++;
|
||||
let k=0;
|
||||
for backoff in ${BACKOFF[@]}; do
|
||||
let k++;
|
||||
start=$(date +%s)
|
||||
LOG_FILE="oaisim_log_template${template}_group${group}_backoff${backoff}.txt"
|
||||
touch results/${LOG_FILE}
|
||||
echo_info "[$start] Start test_$i.$j.$k:: $OAISIM_EXEC $OPT -w $group -R $RB --cba-backoff $backoff -c $template"
|
||||
echo "Start test_$i.$j.$k:: $OAISIM_EXEC $OPT -w $group -R $RB --cba-backoff $backoff -c $template" >> results/${oai_exp_date}
|
||||
#sleep 1
|
||||
$OAISIM_EXEC $OPT -w $group -R $RB --cba-backoff $backoff -c $template 1>&2 >> ./results/$LOG_FILE
|
||||
# store exit status
|
||||
oai_status=$?
|
||||
end=$(date +%s)
|
||||
diff=$(( $end - $start ))
|
||||
|
||||
#check the oaisim exit status
|
||||
if [ $oai_status = 0 ] ; then
|
||||
echo_success "[$end] test_$i.$j.$k passed"
|
||||
echo "[$end] test_$i.$j.$k passed" >> ./results/$LOG_FILE
|
||||
STATUS="PASSED"
|
||||
else
|
||||
let e++;
|
||||
echo_error "[$end] test_$i.$j.$k failed :: OAISIM return exit code $oai_status"
|
||||
echo "[$end]test_$i.$j.$k failed :: OAISIM return exit code $oai_status" >> ./results/$LOG_FILE
|
||||
STATUS="FAILED"
|
||||
fi
|
||||
|
||||
if [ $group -gt 0 ]; then
|
||||
|
||||
let ue_cba_access=$(cat ./results/$LOG_FILE | grep -c "CBA transmission oppurtunity" )
|
||||
let enb_cba_access=$(cat ./results/$LOG_FILE | grep -c "schedule CBA access" )
|
||||
let missed=$(cat ./results/$LOG_FILE | grep -c "wait for backoff to expire" )
|
||||
let unused=enb_cba_access-ue_cba_access;
|
||||
let collision=$(cat ./results/$LOG_FILE | grep -c "first CBA collision detected" )
|
||||
|
||||
#frame, subframe, ue, group
|
||||
#collision_stats=$(cat ./results/$LOG_FILE | grep "collision" | cut -d " " -f3,5,12,15 )
|
||||
if [ $EXTRA_STATS = 1 ]; then
|
||||
STATS2="cba_template_${template}_stats2.txt"
|
||||
touch results/${STATS2}
|
||||
while read -r line
|
||||
do
|
||||
SFN=$(cut -f1 -d " " <<< $line)
|
||||
SSFN=$(cut -f2 -d " " <<< $line)
|
||||
UEID=$(cut -f3 -d " " <<< $line)
|
||||
GPID=$(cut -f4 -d " " <<< $line)
|
||||
#echo_success "$SFN;$SSFN;$UEID;$GPID;"
|
||||
echo "$SFN;$SSFN;$UEID;$GPID;" >> ./results/$STATS2
|
||||
done < <(cat ./results/$LOG_FILE | grep "CBA collision set SR for UE" | cut -d " " -f3,5,13,16 )
|
||||
fi
|
||||
|
||||
echo_success "CBA stats:: template $template;group $group; backoff $backoff; enb cba allocation $enb_cba_access; ue cba access $ue_cba_access; collision $collision; missed $missed; unused $unused;"
|
||||
echo "$template;$group;$backoff;$enb_cba_access;$ue_cba_access;$collision;$missed;$unused;" >> ./results/$STATS1
|
||||
fi
|
||||
|
||||
# create the curves
|
||||
for metric in ${METRICS[@]}; do
|
||||
if [ $metric = "goodput" ]; then
|
||||
unit="(kB/s)"
|
||||
else
|
||||
unit="(ms)"
|
||||
fi
|
||||
if [ -f /tmp/otg_${metric}.dat ]; then
|
||||
export TITLE="Application $metric $unit"
|
||||
cp /tmp/otg_${metric}.dat ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat
|
||||
echo_info "$OTGPLOT ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat $COLUMN"
|
||||
echo "$OTGPLOT ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat $COLUMN" >> results/${oai_exp_date}
|
||||
$($OTGPLOT ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat $COLUMN 1>&2 >> ./results/$LOG_FILE )
|
||||
$($PS2PDF -dOptimize=true -dEmbedAllFonts=true ./otg-${metric}-template${template}-group${group}-backoff${backoff}.eps )
|
||||
# remove the first line of the file
|
||||
echo "$(tail -n+2 ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat)" > ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat
|
||||
else
|
||||
echo_error "file /tmp/otg_${metric}.dat does not exists"
|
||||
fi
|
||||
done
|
||||
if [ $KEEP_LOG_FILESNUM_PKTS = 0 ]; then
|
||||
rm -f ./results/$LOG_FILE
|
||||
fi
|
||||
mv *.eps ./results/
|
||||
mv *.pdf ./results/
|
||||
mv /tmp/otg.log ./results/otg-template${template}-group${group}-backoff${backoff}.log
|
||||
echo_info "End test_$i.$j.$k:: runtime: $diff :: status $STATUS"
|
||||
echo "End test_$i.$j.$k:: runtime: $diff :: status $STATUS" >> results/${oai_exp_date}
|
||||
|
||||
# backoff not required when CBA is not used
|
||||
if [ $group -eq 0 ]; then
|
||||
break;
|
||||
fi
|
||||
|
||||
done
|
||||
done
|
||||
done
|
||||
|
||||
end_exp=$(date +%s)
|
||||
diff_exp=$(( $end_exp - $start_exp ))
|
||||
|
||||
let total_tests=i*j*k;
|
||||
echo_info "total tests: $total_tests for a duration $diff_exp (s) error ($e)"
|
||||
echo "total tests: $total_tests for a duration $diff_exp (s) error ($e)" >> results/${oai_exp_date}
|
||||
|
||||
}
|
||||
|
||||
|
||||
function main()
|
||||
{
|
||||
|
||||
############## script params #####################
|
||||
|
||||
until [ -z "$1" ]
|
||||
do
|
||||
case "$1" in
|
||||
-c | --test)
|
||||
TEST_MODE=1;
|
||||
echo_info "enabling the test mode"
|
||||
shift;
|
||||
;;
|
||||
-l | --perf-app)
|
||||
PERF_APP=$2
|
||||
echo_info "Setting the performance evaluation APP to $PERF_APP"
|
||||
if [ $PERF_APP = "DITG" ]; then
|
||||
echo_info "you need to run "
|
||||
fi
|
||||
shift 2;
|
||||
;;
|
||||
-m | --owd)
|
||||
OWD="owdm"
|
||||
echo_info "setting D-ITG one-way-delay meter"
|
||||
shift;
|
||||
;;
|
||||
-e | --duration)
|
||||
DURATION=$2
|
||||
echo_info "Setting the traffic duration to $DURATION"
|
||||
shift 2;
|
||||
;;
|
||||
-n | --num-pkts)
|
||||
NUM_PKTS=$2
|
||||
echo_info "Setting number of packets to $NUM_PKTS"
|
||||
shift 2;
|
||||
;;
|
||||
-k | --keep-log-file)
|
||||
KEEP_LOG_FILESNUM_PKTS=1
|
||||
echo_info "Keep the log files"
|
||||
shift;
|
||||
;;
|
||||
-i | --idt-dist)
|
||||
IDT_DIST=$2
|
||||
echo_info "setting IDT distribution to $IDT_DIST"
|
||||
shift 2;
|
||||
;;
|
||||
-s | --ps-dist)
|
||||
PS_DIST=$2
|
||||
echo_info "setting PS distribution to $PS_DIST"
|
||||
shift 2;
|
||||
;;
|
||||
-d | --dst)
|
||||
DST=$2
|
||||
echo_info "setting the destination address to $DST"
|
||||
shift 2;
|
||||
;;
|
||||
-p | --dst-port)
|
||||
DPORT=$2
|
||||
echo_info "setting the destination port to $DPORT"
|
||||
shift 2;
|
||||
;;
|
||||
-c | --enb-config)
|
||||
ENB_CONFIG=$2
|
||||
echo_info "setting the enb config file to $ENB_CONFIG"
|
||||
shift 2;
|
||||
;;
|
||||
-x | --oaisim-exec)
|
||||
OAISIM_EXEC=$2
|
||||
echo_info "setting the oaisim exec to $OAISIM_EXEC"
|
||||
shift 2;
|
||||
;;
|
||||
-b | --bypass-itti)
|
||||
BYPASSE_ITTI=1
|
||||
shift;;
|
||||
-h | --help)
|
||||
print_help_perf
|
||||
exit -1
|
||||
;;
|
||||
*)
|
||||
echo "Unknown option $1"
|
||||
break ;
|
||||
# unknown option
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
#####################
|
||||
# create a bin dir
|
||||
#####################
|
||||
echo_info "1. Creating the results dir ..."
|
||||
#rm -rf results
|
||||
mkdir -m 777 -p results
|
||||
|
||||
exp_date=`date +%Y_%m_%d`
|
||||
exp_time=`date +%H_%M_%S`
|
||||
oai_exp_date="exp_date_${exp_date}"
|
||||
touch results/${oai_exp_date}
|
||||
|
||||
touch results/perf_log.txt
|
||||
chmod -f 777 results/perf_log.txt
|
||||
|
||||
echo "start experiment at date $exp_date time $exp_time " >> results/${oai_exp_date}
|
||||
|
||||
############################################
|
||||
# setting and printing OAI envs, we should check here
|
||||
############################################
|
||||
|
||||
echo_info "2. Setting the OAI PATHS ..."
|
||||
|
||||
set_openair_env
|
||||
cecho "OPENAIR_HOME = $OPENAIR_HOME" $green
|
||||
cecho "OPENAIR1_DIR = $OPENAIR1_DIR" $green
|
||||
cecho "OPENAIR2_DIR = $OPENAIR2_DIR" $green
|
||||
cecho "OPENAIR3_DIR = $OPENAIR3_DIR" $green
|
||||
cecho "OPENAIR3_DIR = $OPENAIR3_DIR" $green
|
||||
cecho "OPENAIR_TARGETS = $OPENAIR_TARGETS" $green
|
||||
|
||||
|
||||
echo "OPENAIR_HOME = $OPENAIR_HOME" >> results/${oai_exp_date}
|
||||
echo "OPENAIR1_DIR = $OPENAIR1_DIR" >> results/${oai_exp_date}
|
||||
echo "OPENAIR2_DIR = $OPENAIR2_DIR" >> results/${oai_exp_date}
|
||||
echo "OPENAIR3_DIR = $OPENAIR3_DIR" >> results/${oai_exp_date}
|
||||
echo "OPENAIR3_DIR = $OPENAIR3_DIR" >> results/${oai_exp_date}
|
||||
echo "OPENAIR_TARGETS = $OPENAIR_TARGETS" >> results/${oai_exp_date}
|
||||
|
||||
|
||||
echo_info "eNB_CONFIG : " $ENB_CONFIG
|
||||
echo_info "OAISIM_EXEC PATH: " $OAISIM_EXEC
|
||||
echo_info "OTGPLOT PATH:" $OTGPLOT
|
||||
|
||||
case "$PERF_APP" in
|
||||
'ITGS')
|
||||
echo_info "3. running ITGSend (ensure that either oaisim or lte-softmodem is running)"
|
||||
itg_send
|
||||
;;
|
||||
'ITGD')
|
||||
echo_info "running ITGDECODE (At the end of the experiment, ensure that the results are in the current directory)"
|
||||
itg_decode
|
||||
;;
|
||||
'PING')
|
||||
echo_info "3. running ping (ensure that either oaisim or lte-softmodem is running)"
|
||||
ping_stats
|
||||
;;
|
||||
'OTG-OAISIM')
|
||||
echo_info "3. running OTG on oaisim (this will call oaisim as well)"
|
||||
oaisim_otg_stats
|
||||
;;
|
||||
'OTG-CBA')
|
||||
echo_info "3. running OTG on oaisim with cba"
|
||||
cba_otg_stats
|
||||
;;
|
||||
'IPERF')
|
||||
echo_warning "iperf not supported"
|
||||
;;
|
||||
'NONE')
|
||||
;;
|
||||
*)
|
||||
echo_error "Unknown option $RUN_ITG"
|
||||
;;
|
||||
esac
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user