Commit f47f3f65 authored by frtabu's avatar frtabu

More build_oai cleanup, add a generic option "--build-lib" to build optional...

More build_oai cleanup, add a generic option "--build-lib" to build optional shared libraries (telnet server for example)
parent 83c2d328
...@@ -67,7 +67,7 @@ UE_DEBUG_TRACE="False" ...@@ -67,7 +67,7 @@ UE_DEBUG_TRACE="False"
UE_TIMING_TRACE="False" UE_TIMING_TRACE="False"
USRP_REC_PLAY="False" USRP_REC_PLAY="False"
BUILD_ECLIPSE=0 BUILD_ECLIPSE=0
OPTIONAL_LIBRARIES="telnetsrv enbscope uescope msc"
trap handle_ctrl_c INT trap handle_ctrl_c INT
function print_help() { function print_help() {
...@@ -119,8 +119,6 @@ Options ...@@ -119,8 +119,6 @@ Options
runs only specified test cases specified here. This flag is only valid with -s runs only specified test cases specified here. This flag is only valid with -s
-V | --vcd -V | --vcd
Adds a debgging facility to the binary files: GUI with major internal synchronization events 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.
--install-system-files --install-system-files
Install OpenArInterface required files in Linux system Install OpenArInterface required files in Linux system
(will ask root password) (will ask root password)
...@@ -148,10 +146,8 @@ Options ...@@ -148,10 +146,8 @@ Options
Enable traces for timing Enable traces for timing
--build-eclipse --build-eclipse
Build eclipse project files. Paths are auto corrected by fixprj.sh Build eclipse project files. Paths are auto corrected by fixprj.sh
--build-telnet --build-lib <libraries>
Build telnet server, specify --telnetsrv on command line to start it (eNB only) Build optional shared library, <libraries> can be one or several of $OPTIONAL_LIBRARIES
--build-msc
Build MSC tracing utility, specify --msc on command line to start it (eNB and UE)
--usrp-recplay --usrp-recplay
Build for I/Q record-playback modes Build for I/Q record-playback modes
...@@ -322,14 +318,20 @@ function main() { ...@@ -322,14 +318,20 @@ function main() {
CMAKE_CMD="$CMAKE_CMD"' -DCMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT=TRUE -G"Eclipse CDT4 - Unix Makefiles"' CMAKE_CMD="$CMAKE_CMD"' -DCMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT=TRUE -G"Eclipse CDT4 - Unix Makefiles"'
echo_info "Enabling build eclipse project support" echo_info "Enabling build eclipse project support"
shift 1;; shift 1;;
--build-telnetsrv) --build-lib)
BUILD_TELNETSRV=1 BUILD_OPTLIB=""
echo_info "Build embedded telnet server" for alib in $2 ; do
shift ;; for oklib in $OPTIONAL_LIBRARIES ; do
--build-msc) if [ "$alib" = "$oklib" ] ; then
MSC_GEN=1 BUILD_OPTLIB="$BUILD_OPTLIB $alib"
echo_info "Build MSC tracing utility" echo_info "Enabling build of lib${alib}.so"
shift ;; fi
done
done
if [ "${BUILD_OPTLIB## }" != "$2" ] ; then
echo_fatal "Unknown optional library in $2, valid libraries are $OPTIONAL_LIBRARIES"
fi
shift 2;;
--usrp-recplay) --usrp-recplay)
USRP_REC_PLAY="True" USRP_REC_PLAY="True"
echo_info "Enabling USRP record playback mode" echo_info "Enabling USRP record playback mode"
...@@ -642,34 +644,17 @@ function main() { ...@@ -642,34 +644,17 @@ function main() {
fi fi
cp $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 $dbin cp $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 $dbin
fi fi
# optional libraries
# Telnet server compilation
##################### #####################
if [ "$BUILD_TELNETSRV" = "1" ] ; then if [ ! -z "$BUILD_OPTLIB" ] ; then
compilations \ for oklib in $BUILD_OPTLIB ; do
$lte_build_dir telnetsrv \ compilations \
libtelnetsrv.so $dbin/libtelnetsrv.so $lte_build_dir $oklib \
lib${oklib}.so $dbin/lib${oklib}.so
done
fi fi
# msc library compilation
#####################
if [ "$MSC_GEN" = "1" ] ; then
compilations \
$lte_build_dir msc \
libmsc.so $dbin/libmsc.so
fi
# softsope compilations
#####################
if [ "$XFORMS" = "1" ] ; then
compilations \
$lte_build_dir enbscope \
libenbscope.so $dbin/libenbscope.so
compilations \
$lte_build_dir uescope \
libuescope.so $dbin/libuescope.so
fi
# build RF device and transport protocol libraries # build RF device and transport protocol libraries
##################################### #####################################
if [ "$eNB" = "1" -o "$UE" = "1" ] ; then if [ "$eNB" = "1" -o "$UE" = "1" ] ; then
......
...@@ -70,13 +70,13 @@ After completing the build, the binaries are available in the `cmake_targets/lte ...@@ -70,13 +70,13 @@ After completing the build, the binaries are available in the `cmake_targets/lte
## Telnet Server ## Telnet Server
The telnet server can be built with the --build-telnet option, after building the softmodem or while building it. The telnet server can be built with the `--build-lib telnetsrv` option, after building the softmodem or while building it.
`./build_oai -I -w USRP --eNB --UE --build-telnetsrv` `./build_oai -I -w USRP --eNB --UE --build-lib telnetsrv`
or or
`./build_oai --build-telnetsrv` `./build_oai --build-lib telnetsrv`
## USRP record player ## USRP record player
...@@ -105,13 +105,11 @@ The USRP record player today needs a specific build. Work to make it available a ...@@ -105,13 +105,11 @@ The USRP record player today needs a specific build. Work to make it available a
| --eNB | maintained and tested in CI | build `lte-softmodem` the LTE eNodeB | | --eNB | maintained and tested in CI | build `lte-softmodem` the LTE eNodeB |
| --UE | maintained and tested in CI | build `lte-uesoftmodem` the LTE UE | | --UE | maintained and tested in CI | build `lte-uesoftmodem` the LTE UE |
| --usrp-recplay | maintained | build with support for the record player. Implementation will be soon reviewed to switch to a run-time option. | | --usrp-recplay | maintained | build with support for the record player. Implementation will be soon reviewed to switch to a run-time option. |
| --build-telnet | maintained | build the telnet server shared library, which can then be loaded at run time via the --telnetsrv command line option. | | --build-lib | maintained | build optional shared library(ies), which can then be loaded at run time via command line option. Use the --help option to get the list of supported optional libraries. |
| --build-msc | unknown | build the msc shared library, which can then be loaded at run time via the --msc command line option. msc is a tracing utility which status is unknown. |
| --UE-conf-nvram | | | | --UE-conf-nvram | | |
| --UE-gen-nvram | | | | --UE-gen-nvram | | |
| -r | unknown, to be removed | specifies which 3GPP release to build for. Only the default (today rel14) is tested in CI and it is likely that future oai release will remove this option | | -r | unknown, to be removed | specifies which 3GPP release to build for. Only the default (today rel14) is tested in CI and it is likely that future oai release will remove this option |
| -V | deprecated | Used to build with support for synchronization diagram utility. This is now available via the T-Tracer and is included if T-Tracer is not disabled. | | -V | deprecated | Used to build with support for synchronization diagram utility. This is now available via the T-Tracer and is included if T-Tracer is not disabled. |
| -x | deprecated | Used to build with support for embedded signal analyzer. This is now available via the T-Tracer and is included if T-Tracer is not disabled. |
| --build-doxygen | unknown | build doxygen documentation, many oai source files do not include doxygen comments | | --build-doxygen | unknown | build doxygen documentation, many oai source files do not include doxygen comments |
| --disable-deadline --enable-deadline --disable-cpu-affinity | deprecated | These options were used to activate or de-activate specific code depending on the choice of a specific linux scheduling mode. This has not been tested for a while and should be implemented as configuration options | | --disable-deadline --enable-deadline --disable-cpu-affinity | deprecated | These options were used to activate or de-activate specific code depending on the choice of a specific linux scheduling mode. This has not been tested for a while and should be implemented as configuration options |
| --disable-T-Tracer | maintained, to be tested | Remove T_Tracer and console LOG messages except error messages. | | --disable-T-Tracer | maintained, to be tested | Remove T_Tracer and console LOG messages except error messages. |
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment