From 5320d75499558133d8d77f63c647964be4e37c2e Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 9 Nov 2017 15:19:36 -0600 Subject: rtems/bit_rtems: Add support for building new TCP/IP --- rtems/bit_rtems | 95 ++++++++++++++++++++++++++++++++++++--------------------- rtems/user.cfg | 7 +++-- 2 files changed, 65 insertions(+), 37 deletions(-) diff --git a/rtems/bit_rtems b/rtems/bit_rtems index 9cf039b..4131d76 100755 --- a/rtems/bit_rtems +++ b/rtems/bit_rtems @@ -263,14 +263,26 @@ if [ ${ENABLE_BSP_DIRTY_MEMORY} = yes ] ; then ENABLE_BSP="${ENABLE_BSP} BSP_DIRTY_MEMORY=1" fi -if [ ${ENABLE_RTEMS_TCPIP} = yes ] ; then - case ${CPU} in - avr) TCPIP_FLAG="--disable-networking" ;; - *) TCPIP_FLAG="--enable-networking" ;; - esac -else - TCPIP_FLAG="--disable-networking" -fi +case ${ENABLE_RTEMS_TCPIP} in + yes) + case ${CPU} in + avr) TCPIP_FLAG="--disable-networking" ;; + *) TCPIP_FLAG="--enable-networking" ;; + esac + ;; + no) + TCPIP_FLAG="--disable-networking" + ;; + new) + type waf >/dev/null 2>&1 + check_fatal $? "waf is not in your PATH" + + TCPIP_FLAG="--disable-networking" + if [ ${do_install} = "no" ] ; then + do_install="yes" + fi + ;; +esac # --disable-rtems-inlines if [ x${DISABLE_INLINES} = xyes ] ; then @@ -335,9 +347,10 @@ if [ ${ENABLE_RTEMS_CXX} = yes ] ; then ENABLE_RTEMS_CXX="--disable-cxx" ;; #or1k) # RTEMS PR XXX # ENABLE_RTEMS_CXX="--disable-cxx" ;; - #avr|bfin|lm32|m32r|moxie|tic4x|v850) m32c) # m32c does not have C++ support in GCC ENABLE_RTEMS_CXX="--disable-cxx" ;; + avr|bfin|m32r|tic4x) + ENABLE_RTEMS_CXX="--disable-cxx" ;; *) ENABLE_RTEMS_CXX="--enable-cxx" ;; esac else @@ -434,12 +447,8 @@ case $CPU in if [ X${BSP_TO_TEST} = X ] ; then ${MAKE} RTEMS_BSP= ${MAKE_DEBUG_ARG} install else - find ${INSTALL_POINT}/${target} -name "*.h" -o -name "*.a" | \ - while read f - do - rpm -qf $f >/dev/null 2>&1 - test $? -eq 1 && (echo $f ; rm -f $f) - done + rm -rf ${INSTALL_POINT}/${target}/${BSP_TO_TEST} + check_fatal $? "failed to clean BSP install point" ${MAKE} RTEMS_BSP=${BSP_TO_TEST} ${MAKE_DEBUG_ARG} install fi @@ -604,26 +613,43 @@ if [ ${do_install} = yes -a ${doing_bare_bsp} = no ] ; then case ${BSP_TO_TEST} in posix|bare*) ;; *) - if [ -d ../examples-v2 ] ; then - SUITES="${SUITES} examples-v2" - else - echo "WARNING! examples-v2 not found" - fi - - if [ -d ../class-examples ] ; then - SUITES="${SUITES} class-examples" - else - echo "WARNING! class-examples not found" + cd .. + if [ -d rtems-libbsd -a ${ENABLE_RTEMS_TCPIP} = "new" ] ; then + cd rtems-libbsd + waf distclean + check_fatal $? "failed waf distclean - rtems-libbsd on ${BSP_TO_TEST}" + + gcc=`type ${target}-gcc 2>&1 | cut -d' ' -f3` + tooldir=`echo ${gcc} | sed -e 's/\/bin.*$//'` + RTEMS_MAKEFILE_PATH=${INSTALL_POINT}/${target}/${BSP_TO_TEST} \ + waf configure \ + --rtems=${INSTALL_POINT} \ + --rtems-tools=${tooldir} \ + --rtems-bsps=${CPU}/${BSP_TO_TEST} \ + --prefix=${INSTALL_POINT} + check_fatal $? "failed waf configure - rtems-libbsd on ${BSP_TO_TEST}" + + waf + check_fatal $? "failed waf - rtems-libbsd on ${BSP_TO_TEST}" + + waf install + check_fatal $? "failed waf install - rtems-libbsd on ${BSP_TO_TEST}" + cd .. fi - if [ -d ../examples ] ; then - SUITES="${SUITES} examples" - else - echo "WARNING! examples not found" - fi + # Other repositories + SUITES="" + for suite in examples-v2 class-examples examples + do + if [ -d ${suite} ] ; then + SUITES="${SUITES} ${suite}" + else + echo "WARNING! ${suite} not found" + fi + done if [ ${ENABLE_RTEMS_TCPIP} = yes ] ; then - if [ -d ../network-demos ] ; then + if [ -d network-demos ] ; then SUITES="${SUITES} network-demos" fi fi @@ -631,7 +657,6 @@ if [ ${do_install} = yes -a ${doing_bare_bsp} = no ] ; then # Build application level tests that use "make" for suite in ${SUITES} do - cd .. cd ${suite} check_fatal $? "failed cd to ${suite}." @@ -646,14 +671,16 @@ if [ ${do_install} = yes -a ${doing_bare_bsp} = no ] ; then RTEMS_MAKEFILE_PATH=${INSTALL_POINT}/${target}/${BSP_TO_TEST} \ ${MAKE} ${MAKE_DEBUG_ARG} clean check_fatal $? "failed clean ${suite} on ${BSP_TO_TEST}." + + cd .. done # Build TCP/IP demos and addons if [ ${ENABLE_RTEMS_POSIX} = yes -a \ ${ENABLE_RTEMS_TCPIP} = yes -a \ - -d ../rtems-addon-packages ] ; then + -d rtems-addon-packages ] ; then - cd ../rtems-addon-packages + cd rtems-addon-packages check_fatal $? "failed cd to rtems-addon-packages." RTEMS_MAKEFILE_PATH=${INSTALL_POINT}/${target}/${BSP_TO_TEST} \ diff --git a/rtems/user.cfg b/rtems/user.cfg index 565bda7..d726a95 100644 --- a/rtems/user.cfg +++ b/rtems/user.cfg @@ -18,7 +18,8 @@ INSTALL_POINT=/home/joel/rtems-work/bsp-install/ #RTEMS_VERSION=4.11 -RTEMS_VERSION=4.12 +# RTEMS_VERSION=4.12 +RTEMS_VERSION=5 #RTEMS_VERSION=4.10 # @@ -39,7 +40,8 @@ ENABLE_RTEMS_POSIX=yes # Set this to yes if you want to build the TCP/IP stack and # associated clients and servers. This is automatically disabled # for BSPs that have no networking support. -ENABLE_RTEMS_TCPIP=no +# Values: yes, no, or new +ENABLE_RTEMS_TCPIP=yes # Set this to yes if you want to enable the RTEMS uITRON 3.0 API # implementation. This API is not completely implemented and @@ -63,7 +65,6 @@ ENABLE_KEEP_BUILDING=yes # Set this to yes if you want to build the full set of RTEMS # #tests appropriate for your configuration. Or set it to # samples if you just want the samples -# ENABLE_RTEMS_TESTS=no # ENABLE_RTEMS_TESTS=samples ENABLE_RTEMS_TESTS=yes -- cgit v1.2.3