X-Git-Url: https://rtime.felk.cvut.cz/gitweb/orte.git/blobdiff_plain/0e533cbf823d63261384f7a478689b86927cc36f..refs/heads/android:/admin/linux.m4 diff --git a/admin/linux.m4 b/admin/linux.m4 index c8c126a..77eb2cf 100644 --- a/admin/linux.m4 +++ b/admin/linux.m4 @@ -1,57 +1,24 @@ - -AC_DEFUN(DS_LINUX_DIR, +AC_DEFUN([DS_LINUX_DIR], [ - AC_ARG_WITH([linuxdir], - [AC_HELP_STRING([--with-linuxdir=DIR], - [specify path to Linux source directory])], + AC_ARG_WITH([linux], + [AC_HELP_STRING([--with-linux=DIR], + [path to Linux patched source directory])], [LINUX_DIR="${withval}"], [LINUX_DIR=default]) - if test "${LINUX_DIR}" != "default" ; then - DS_TRY_LINUX_DIR([${LINUX_DIR}], , AC_MSG_ERROR([Linux dir not found]) ) - fi - - if test "${LINUX_DIR}" = "default" ; then - dir="/lib/modules/`uname -r`/build"; - DS_TRY_LINUX_DIR([${dir}], [LINUX_DIR=${dir}], ) - fi - if test "${LINUX_DIR}" = "default" ; then - dir="../linux"; - DS_TRY_LINUX_DIR([${dir}], [LINUX_DIR=${dir}], ) - fi - if test "${LINUX_DIR}" = "default" ; then - dir="/usr/src/linux"; - DS_TRY_LINUX_DIR([${dir}], [LINUX_DIR=${dir}], ) - fi - -# if test "${LINUX_DIR}" = "default" ; then -# AC_MSG_ERROR([Linux source directory not found]) -# fi AC_SUBST(LINUX_DIR) ]) -AC_DEFUN(DS_TRY_LINUX_DIR, - [AC_MSG_CHECKING(for Linux in $1) - if test -f "$1/Makefile" ; then - result=yes - $2 - else - result="not found" - $3 - fi - - AC_MSG_RESULT($result) -]) - -AC_DEFUN(DS_LINUX, +AC_DEFUN([DS_LINUX], [ + DS_LINUX_DIR() AC_MSG_CHECKING([Linux version]) - + if test "${LINUX_DIR}" != "default" ; then if [[ ! -f "${LINUX_DIR}/.config" ]];then @@ -85,14 +52,24 @@ AC_DEFUN(DS_LINUX, AC_MSG_ERROR([Unknown Linux major.minor $LINUX_VERSION_MAJOR.$LINUX_VERSION_MINOR]) ;; esac + + CONFIG_ORTE_KERNEL=yes + AC_DEFINE([CONFIG_ORTE_KERNEL],[1],[Define if linux kernel is found]) + else - AC_MSG_RESULT(["none"]) + AC_MSG_RESULT([no]) + + CONFIG_ORTE_KERNEL=no + fi - DS_RT() + AC_SUBST(CONFIG_ORTE_KERNEL) + AM_CONDITIONAL([CONFIG_ORTE_KERNEL],[test ${CONFIG_ORTE_KERNEL} == "yes"]) + + DS_RT() ]) -AC_DEFUN(DS_LINUX_2_6, +AC_DEFUN([DS_LINUX_2_6], [ AC_MSG_CHECKING(for Linux CFLAGS) @@ -144,7 +121,7 @@ EOF ]) -AC_DEFUN(DS_LINUX_2_4, +AC_DEFUN([DS_LINUX_2_4], [ AC_MSG_CHECKING(for Linux CFLAGS) @@ -196,7 +173,7 @@ EOF AC_MSG_RESULT([ok]) ]) -AC_DEFUN(DS_CHECK_LINUX_CONFIG_OPTION, +AC_DEFUN([DS_CHECK_LINUX_CONFIG_OPTION], [ AC_MSG_CHECKING([Linux config option $1]) @@ -215,7 +192,7 @@ AC_DEFUN(DS_CHECK_LINUX_CONFIG_OPTION, AC_MSG_RESULT([$result]) ]) -AC_DEFUN(DS_LINUX_CONFIG_OPTION, +AC_DEFUN([DS_LINUX_CONFIG_OPTION], [ DS_CHECK_LINUX_CONFIG_OPTION([$1], [$1=yes], @@ -225,7 +202,7 @@ AC_DEFUN(DS_LINUX_CONFIG_OPTION, AM_CONDITIONAL([$1],[test "${$1}" = yes]) ]) -AC_DEFUN(DS_LINUX_CONFIG_OPTION_MODULE, +AC_DEFUN([DS_LINUX_CONFIG_OPTION_MODULE], [ DS_CHECK_LINUX_CONFIG_OPTION([$1], [$1=yes], @@ -235,17 +212,24 @@ AC_DEFUN(DS_LINUX_CONFIG_OPTION_MODULE, AM_CONDITIONAL([$1],[test "${$1}" = yes -o "${$1}" = module]) ]) -AC_DEFUN(DS_RTAI, +AC_DEFUN([DS_RTAI], [ - AC_ARG_WITH([rtaidir], - [AC_HELP_STRING([--with-rtaidir=DIR], - [specify path to RTAI source directory])], + AC_ARG_WITH([rtai], + [AC_HELP_STRING([--with-rtai=DIR], + [path to configured RTAI 24.1.X sources, or RTAI 3 installation])], [RTAI_DIR="${withval}"], [RTAI_DIR=/usr/src/rtai]) + AC_ARG_WITH([rtnet], + [AC_HELP_STRING([--with-rtnet=DIR], + [path to RTnet installation directory])], + [RTNET_DIR="${withval}"], + [RTNET_DIR=/usr/src/rtnet]) + DS_LINUX_CONFIG_OPTION_MODULE([CONFIG_RTHAL]) + DS_LINUX_CONFIG_OPTION_MODULE([CONFIG_ADEOS]) - if test "${CONFIG_RTHAL}" != "no" ; then + if test "${CONFIG_RTHAL}" != "no" -o "${CONFIG_ADEOS}" != "no"; then AC_MSG_CHECKING([RTAI directory ${RTAI_DIR}]) if [[ -d ${RTAI_DIR}/include ]] ; then RTAI_CFLAGS="-I${RTAI_DIR}/include" @@ -256,8 +240,17 @@ AC_DEFUN(DS_RTAI, AC_MSG_ERROR([incorrect RTAI directory?]) fi fi - $1 AC_MSG_RESULT([found]) + AC_MSG_CHECKING([RTnet directory ${RTNET_DIR}]) + if [[ -d ${RTNET_DIR}/include ]] ; then + RTAI_CFLAGS="${RTAI_CFLAGS} -I${RTNET_DIR}/include" + else + AC_MSG_ERROR([incorrect RTnet directory?]) + fi + AC_MSG_RESULT([found]) + $1 + RT_GCCLIB_DIR=`gcc -print-search-dirs | sed -n -e 's/^install: \(.*\)$/\1/p'` + RTAI_CFLAGS="${RTAI_CFLAGS} -idirafter ${RT_GCCLIB_DIR}/include -nostdinc" AC_DEFINE([CONFIG_ORTE_RTAI],[1],[Define if kernel is RTAI patched]) else $2 @@ -266,33 +259,73 @@ AC_DEFUN(DS_RTAI, ]) -AC_DEFUN(DS_RTLINUX, +AC_DEFUN([DS_RTLINUX], [ - AC_ARG_WITH([rtlinuxdir], - [AC_HELP_STRING([--with-rtlinuxdir=DIR], - [specify path to RTLinux source directory])], - [RTL_DIR="${withval}"], - [RTL_DIR=/usr/src/rtlinux]) + AC_ARG_WITH([rtlinux], + [AC_HELP_STRING([--with-rtlinux=DIR], + [path to RTLinux source directory])], + [RTLINUX_DIR="${withval}"], + [RTLINUX_DIR=/usr/src/rtlinux]) + + AC_ARG_WITH([rtlinuxwip], + [AC_HELP_STRING([--with-rtlinuxwip=DIR], + [path to RTLinux wIP source directory])], + [RTLINUXWIP_DIR="${withval}"], + [RTLINUXWIP_DIR="${RTLINUX_DIR}"]) + + AC_ARG_WITH([rtlinuxonetd], + [AC_HELP_STRING([--with-rtlinuxonetd=DIR], + [path to RTLinux onetd source directory])], + [RTLINUXONETD_DIR="${withval}"], + [RTLINUXONETD_DIR="${RTLINUX_DIR}"]) DS_LINUX_CONFIG_OPTION_MODULE([CONFIG_RTLINUX]) if test "${CONFIG_RTLINUX}" != "no" ; then - AC_MSG_CHECKING([RTLinux directory ${RTL_DIR} for rtl.mk]) - if [[ -d ${RTL_DIR}/include ]] ; then - RTLINUX_CFLAGS=`sed -n -e 's/^CFLAGS *=\(.*\)$/\1/p' ${RTL_DIR}/rtl.mk` + AC_MSG_CHECKING([RTLinux directory ${RTLINUX_DIR} for rtl.mk]) + if [[ -d ${RTLINUX_DIR}/include ]] ; then + RTLINUX_CFLAGS=`sed -n -e 's/^CFLAGS *=\(.*\)$/\1/p' ${RTLINUX_DIR}/rtl.mk` + RTLINUX_CC=`sed -n -e 's/^CC *=\(.*\)$/\1/p' ${RTLINUX_DIR}/rtl.mk` else AC_MSG_ERROR([incorrect RTLinux directory?]) fi AC_MSG_RESULT([found]) AC_DEFINE([CONFIG_ORTE_RTL],[1],[Define if kernel is RTLinux patched]) + + AC_MSG_CHECKING([RTLinux for a UDP stack]) + RTL_STACK="no" + + if [[ -e "${RTLINUXWIP_DIR}/include/udp.h" -a \ + -e "${RTLINUXWIP_DIR}/include/nic.h" -a \ + -e "${RTLINUXWIP_DIR}/include/ip.h" -a \ + -e "${RTLINUXWIP_DIR}/include/ethernet.h" -a \ + -e "${RTLINUXWIP_DIR}/include/nictab.h" ]] ; then + AC_MSG_RESULT([found wIP]) + AC_DEFINE([CONFIG_ORTE_RTL_WIP],[1],[Define if wIP stack is found]) + RTL_STACK="yes" + fi + + if [[ -e "${RTLINUXONETD_DIR}/onetd.h" ]] ; then + AC_MSG_RESULT([found onetd]) + AC_DEFINE([CONFIG_ORTE_RTL_ONETD],[1],[Define if onetd stack is found]) + RTL_STACK="yes" + fi + + if test "${RTL_STACK}" == "no" ; then + AC_MSG_ERROR([incorrect a RTLinux UDP directory.]) + fi + + RT_GCCLIB_DIR=`${RTLINUX_CC} -print-search-dirs | sed -n -e 's/^install: \(.*\)$/\1/p'` + RTLINUX_CFLAGS="${RTLINUX_CFLAGS} -I${RTLINUXWIP_DIR}/include -I${RTLINUXONETD_DIR} -idirafter ${RT_GCCLIB_DIR}/include -nostdinc" $1 else $2 fi AC_SUBST(RTLINUX_CFLAGS) + AC_SUBST(RTLINUX_CC) ]) -AC_DEFUN(DS_RT, +AC_DEFUN([DS_RT], [ DS_RTAI([USE_RTAI=yes],[USE_RTAI=no]) DS_RTLINUX([USE_RTLINUX=yes],[USE_RTLINUX=no])