]> rtime.felk.cvut.cz Git - orte.git/blobdiff - admin/linux.m4
Add shell.nix
[orte.git] / admin / linux.m4
index 3c698081dad6a596e87ba8c56c8c3bb897a3b5cf..77eb2cf5bc9e91fc34fd531c0feebcb05099bd01 100644 (file)
@@ -1,9 +1,9 @@
 
-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])
 
@@ -12,7 +12,7 @@ AC_DEFUN(DS_LINUX_DIR,
 ])
 
 
-AC_DEFUN(DS_LINUX,
+AC_DEFUN([DS_LINUX],
 [
 
        DS_LINUX_DIR()
@@ -57,7 +57,7 @@ AC_DEFUN(DS_LINUX,
           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
                  
@@ -69,7 +69,7 @@ AC_DEFUN(DS_LINUX,
         DS_RT()
 ])
 
-AC_DEFUN(DS_LINUX_2_6,
+AC_DEFUN([DS_LINUX_2_6],
 [
        AC_MSG_CHECKING(for Linux CFLAGS)
 
@@ -121,7 +121,7 @@ EOF
 ])
 
 
-AC_DEFUN(DS_LINUX_2_4,
+AC_DEFUN([DS_LINUX_2_4],
 [
        AC_MSG_CHECKING(for Linux CFLAGS)
 
@@ -173,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])
 
@@ -192,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],
@@ -202,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],
@@ -212,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"
@@ -233,10 +240,17 @@ AC_DEFUN(DS_RTAI,
                                AC_MSG_ERROR([incorrect RTAI directory?])
                        fi
                fi
-               $1
-                RT_GCCLIB_DIR=`gcc -print-search-dirs | sed -n -e 's/^install: \(.*\)$/\1/p'`
-               RTAI_CFLAGS="${RTAI_CFLAGS} -I${RT_GCCLIB_DIR}/include -nostdinc"
                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
@@ -245,19 +259,25 @@ 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])],
+       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([rtlinuxudpdir],
-               [AC_HELP_STRING([--with-rtlinuxudpdir=DIR],
-                       [specify path to RTLinux UDP source directory])],
-               [RTLINUXUDP_DIR="${withval}"],
-               [RTLINUXUDP_DIR="${RTLINUX_DIR}"])
+       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])
 
@@ -265,30 +285,47 @@ AC_DEFUN(DS_RTLINUX,
                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 UDP])
-                if [[ ! -e "${RTLINUXUDP_DIR}/include/udp.h" -o \
-                     ! -e "${RTLINUXUDP_DIR}/include/nic.h" -o \ 
-                     ! -e "${RTLINUXUDP_DIR}/include/ip.h" -o \ 
-                     ! -e "${RTLINUXUDP_DIR}/include/ethernet.h" -o \ 
-                     ! -e "${RTLINUXUDP_DIR}/include/nictab.h" ]] ; then 
-                       AC_MSG_ERROR([incorrect RTLinux UDP directory!!!])
+
+               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
-                RT_GCCLIB_DIR=`gcc -print-search-dirs | sed -n -e 's/^install: \(.*\)$/\1/p'`
-               RTLINUX_CFLAGS="${RTLINUX_CFLAGS} -I${RTLINUXUDP_DIR}/include -I${RT_GCCLIB_DIR}/include -nostdinc"
-               AC_MSG_RESULT([found])
+
+                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])