X-Git-Url: https://rtime.felk.cvut.cz/gitweb/CanFestival-3.git/blobdiff_plain/fb871d7fc4ecbdc45e91dbcee00d0f4b5b39f184..80c9f1b4a9c4a27b1a9653fd734cc036c15a2170:/configure diff --git a/configure b/configure index 923f307..3ccfe55 100755 --- a/configure +++ b/configure @@ -92,6 +92,10 @@ if [ "$XENO_CONFIG" = "" ]; then XENO_CONFIG=/usr/xenomai/bin/xeno-config fi +if [ "$RTAI_CONFIG" = "" ]; then + RTAI_CONFIG=/usr/realtime/bin/rtai-config +fi + ########################################################################### # ARGUMENTS PARSING # ########################################################################### @@ -109,6 +113,8 @@ while [ $# -ge 1 ]; do --target=*) SUB_TARGET=$optarg;; --can=*) SUB_CAN_DRIVER=$optarg;; --timers=*) SUB_TIMERS_DRIVER=$optarg;; + --wx=*) SUB_WX=$optarg; + echo "Forced wx detection to $optarg";; --disable-Ox) DISABLE_OPT=1; echo "On user request: Won't optimize with \"-Ox\"";; --disable-dll) DISABLE_DLL=1; @@ -156,6 +162,7 @@ while [ $# -ge 1 ]; do echo " \"can4linux\" can4linux driver" echo " see http://www.port.de/engl/canprod/hw_can4linux.html" echo " --timers=foo Use 'foo' as TIMERS driver (can be 'unix', 'xeno' or 'kernel')" + echo " --wx=foo force result of WxWidgets detection (0 or 1)" echo " --disable-dll Disable run-time dynamic linking of can, led and nvram drivers" echo " --enable-lss Enable the LSS services" echo " --enable-lss-fs Enable the LSS FastScan service" @@ -254,7 +261,7 @@ fi ########################################################################### # DEFAULT TARGET/DRIVERS GUESSING # ########################################################################### -# If target not specified, try to gess one +# If target not specified, try to guess one if [ "$SUB_TARGET" = "" ]; then if [ "$SUB_OS_NAME" = "CYGWIN" ]; then echo "Choosing unix (cygwin) target" @@ -270,7 +277,7 @@ if [ "$SUB_TARGET" = "" ]; then fi fi -# Try to gess can +# Try to guess can if [ "$SUB_CAN_DRIVER" = "" ]; then if [ "$SUB_TARGET" = "unix" ]; then if [ -e /usr/lib/libpcan.so ]; then @@ -279,6 +286,12 @@ if [ "$SUB_CAN_DRIVER" = "" ]; then elif [ "$SUB_OS_NAME" = "CYGWIN" -a "PCAN_LIB" != "" ]; then echo "Choosing installed Peak driver as CAN driver." SUB_CAN_DRIVER=peak_win32 + elif [ -e /usr/lib/libcanlib.so ]; then + echo "Choosing installed Kvaser driver as CAN driver. (unix)" + SUB_CAN_DRIVER=kvaser + elif [ "$SUB_OS_NAME" = "CYGWIN" -a "$KVASER_DLL_PATH" != "" ]; then + echo "Choosing installed Kvaser driver as CAN driver. (cygwin)" + SUB_CAN_DRIVER=kvaser else echo "Choosing virtual CAN driver." SUB_CAN_DRIVER=virtual @@ -306,6 +319,21 @@ if [ "$SUB_CAN_DRIVER" = "peak" ]; then fi fi +# Warn for unstalled kvaser driver if choosen +if [ "$SUB_CAN_DRIVER" = "kvaser" ]; then + if [ "$SUB_OS_NAME" = "CYGWIN" ]; then + if [ ! -e "$KVASER_DLL_PATH/canlib32.dll" ]; then + echo "Kvaser driver hasn't been installed (cygwin)" + exit -1 + fi + elif [ "$SUB_OS_NAME" = "LINUX" ]; then + if [ ! -e /usr/lib/libcanlib.so ]; then + echo "Kvaser driver hasn't been installed (unix)" + exit -1 + fi + fi +fi + ########################################################################### # TARGET/DRIVER SPECIFIC CFLAGS and OPTIONS # ########################################################################### @@ -333,13 +361,32 @@ fi #### CAN_DRIVER #### +if [ "$SUB_CAN_DRIVER" = "kvaser" ]; then + if [ "$SUB_TARGET" = "unix" ]; then + if [ "$SUB_OS_NAME" = "LINUX" ]; then + SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ -lcanlib + elif [ "$SUB_OS_NAME" = "CYGWIN" ]; then + if [ "$KVASER_INCLUDE_PATH" = "" -o "$KVASER_DLL_PATH" = "" ]; then + echo "!!! ERROR !!! Please set KVASER_DLL_PATH and KVASER_INCLUDE_PATH to appropriate paths ! " + else + SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ -L$KVASER_DLL_PATH\ -lcanlib32 + SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -I$KVASER_INCLUDE_PATH + fi + fi + fi +fi + if [ "$SUB_CAN_DRIVER" = "peak_linux" ]; then SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ -lpcan fi +if [ "$SUB_CAN_DRIVER" = "vscom" ]; then + SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ -lvs_can_api +fi + PW32DIR=drivers/can_peak_win32 if [ "$SUB_CAN_DRIVER" = "peak_win32" ]; then - if [ "$PCAN_HEADER" = "" -o "PCAN_LIB" = "" ]; then + if [ "$PCAN_HEADER" = "" -o "$PCAN_LIB" = "" ]; then echo "!!! ERROR !!! Please set PCAN_LIB PCAN_HEADER [PCAN_INCLUDE] to appropriate paths ! " fi SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ -liberty\ \'$PCAN_LIB\' @@ -385,9 +432,17 @@ if [ "$SUB_TIMERS_DRIVER" = "unix" ]; then fi if [ "$SUB_TIMERS_DRIVER" = "xeno" ]; then - SUB_EXE_CFLAGS=$SUB_EXE_CFLAGS\ -lnative\ -lrtdm\ -L`$XENO_CONFIG --library-dir` - SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ `$XENO_CONFIG --xeno-cflags` - RTCAN_SOCKET=1 + RT_LIB_DIR=`$XENO_CONFIG --library-dir`\ -Wl,-rpath\ `$XENO_CONFIG --library-dir` + SUB_EXE_CFLAGS=$SUB_EXE_CFLAGS\ `$XENO_CONFIG --xeno-ldflags`\ -L$RT_LIB_DIR\ -lnative\ -lrtdm + SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DUSE_XENO\ `$XENO_CONFIG --xeno-cflags` + RTCAN_SOCKET=1 +fi + +if [ "$SUB_TIMERS_DRIVER" = "rtai" ]; then + RT_LIB_DIR=`$RTAI_CONFIG --library-dir`\ -Wl,-rpath\ `$RTAI_CONFIG --library-dir` + SUB_EXE_CFLAGS=$SUB_EXE_CFLAGS\ `$RTAI_CONFIG --lxrt-ldflags`\ -L$RT_LIB_DIR\ -llxrt\ -lrtdm + SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DUSE_RTAI\ `$RTAI_CONFIG --lxrt-cflags` + RTCAN_SOCKET=1 fi if [ "$SUB_TIMERS_DRIVER" = "kernel" ]; then @@ -485,28 +540,29 @@ echo "Using prefix: ${SUB_PREFIX}" # GUESS DEPENDENCIES # ########################################################################### -if which wx-config >/dev/null 2>&1; then - echo -n "Testing wxWidgets compiles ... " - cat > /tmp/wx_test.cpp </dev/null 2>&1; then + echo -n "Testing wxWidgets compiles ... " + cat > /tmp/wx_test.cpp </dev/null 2>&1 ; then - SUB_WX=1 - echo "Yes" + if $CXX /tmp/wx_test.cpp `wx-config --cxxflags` `wx-config --libs` -o /tmp/wx_test >/dev/null 2>&1 ; then + SUB_WX=1 + echo "Yes" + else + SUB_WX=0 + echo "No" + fi + rm -f /tmp/wx_test* else SUB_WX=0 - echo "No" + echo "No wxWidgets available" fi - rm -f /tmp/wx_test* -else - SUB_WX=0 - echo "No wxWidgets available" fi - ########################################################################### # CANFESTIVAL DEFINES --> config.h # ########################################################################### @@ -689,6 +745,7 @@ elif [ "$SUB_TARGET" = "unix" ]; then MAKEFILES=$MAKEFILES\ \ examples/TestMasterSlave/Makefile.in\ \ examples/TestMasterSlaveLSS/Makefile.in\ +\ examples/SillySlave/Makefile.in\ \ examples/TestMasterMicroMod/Makefile.in fi @@ -696,6 +753,7 @@ if [ "$SUB_TARGET" = "win32" ]; then MAKEFILES=$MAKEFILES\ \ examples/TestMasterSlave/Makefile.in\ \ examples/TestMasterSlaveLSS/Makefile.in\ +\ examples/SillySlave/Makefile.in\ \ examples/TestMasterMicroMod/Makefile.in fi