diff -r 6a5cdca4de01 -r a9543d2ccd56 configure --- a/configure Tue May 23 01:15:22 2006 +0200 +++ b/configure Fri May 26 21:24:17 2006 +0200 @@ -47,6 +47,11 @@ MAX_NB_TIMER=32 +# Generic timers declaration defaults +US_TO_TIMEVAL_FACTOR= +TIMEVAL= +TIMEVAL_MAX= + # Default to little-endian CANOPEN_LITTLE_ENDIAN=1 CANOPEN_BIG_ENDIAN= @@ -76,9 +81,6 @@ test=conftest rm -f $test $test.c -# Jaxe install is now disbaled by default -DISABLE_JAXE=1 - XENO_CONFIG=/usr/xenomai/bin/xeno-config ########################################################################### @@ -123,8 +125,9 @@ echo " --os=foo Use operative system 'foo' instead of trying to autodetect." echo " --prefix=foo Use prefix 'foo' instead of default ${SUB_PREFIX}." echo " --target=foo Use 'foo' as build target." - echo " Where 'foo' can be \"generic\" to have independant CAN and TIMERS driver" - echo " or" + echo " \"generic\" for have independant CAN and TIMERS driver" + echo " \"unix\" for unix-like systems" + echo " \"win32\" for win32 systems" echo " \"hcs12\" for HCS12 micro-controller" echo " \"ecos_lpc2138_sja1000\" for eCOS + Philips ARM LPC21381 + Philips SJA1000" echo " --can=foo Use 'foo' as CAN driver (can be either 'peak' or 'virtual')" @@ -161,48 +164,6 @@ SUB_OPT_JAXE=jaxe fi fi -########################################################################### -# DEFAULT TARGET/DRIVERS GUESSING # -########################################################################### -# If target not specified, try to gess one -if [ "$SUB_TARGET" = "" ]; then - SUB_TARGET=generic -fi - -# If target generic, try to gess can -if [ "$SUB_TARGET" = "generic" -a "$SUB_CAN_DRIVER" = "" ]; then - if [ -e /usr/lib/libpcan.so ]; then - echo "Choosing installed Peak driver as CAN driver." - SUB_CAN_DRIVER=peak - else - echo "Choosing virtual CAN driver." - SUB_CAN_DRIVER=virtual - SUB_LED_ENABLE=YES - fi -fi - -if [ "$SUB_TARGET" = "generic" -a "$SUB_LED_DRIVER" = "" ]; then - echo "Choosing stdout LED driver." - SUB_LED_DRIVER=stdout -fi - -if [ "$SUB_TARGET" = "generic" -a "$SUB_NVRAM_DRIVER" = "" ]; then - echo "Choosing binary file NVRAM driver. -- not implemented --" -# SUB_NVRAM_DRIVER=file -fi - -# If target generic, try to gess timers -if [ "$SUB_TARGET" = "generic" -a "$SUB_TIMERS_DRIVER" = "" ]; then - echo "Choosing unix timers driver." - SUB_TIMERS_DRIVER=unix -fi - -if [ "$SUB_CAN_DRIVER" = "peak" ]; then - if [ ! -e /usr/lib/libpcan.so ]; then - echo "Peak driver hasn't been installed !" - exit -1 - fi -fi ########################################################################### # GUESS OS/ARCH # @@ -379,8 +340,74 @@ fi ########################################################################### +# DEFAULT TARGET/DRIVERS GUESSING # +########################################################################### +# If target not specified, try to gess one +if [ "$SUB_TARGET" = "" ]; then + if [ "$SUB_OS_NAME" = "CYGWIN" ]; then + echo "Choosing win32 target" + SUB_TARGET=win32 + else + echo "Choosing unix target" + SUB_TARGET=unix + fi +fi + +# Try to gess can +if [ "$SUB_CAN_DRIVER" = "" ]; then + if [ "$SUB_TARGET" = "unix" ]; then + if [ -e /usr/lib/libpcan.so ]; then + echo "Choosing installed Peak driver as CAN driver." + SUB_CAN_DRIVER=peak + else + echo "Choosing virtual CAN driver." + SUB_CAN_DRIVER=virtual + fi + fi + if [ "$SUB_TARGET" = "win32" ]; then + echo "CAN driver for windows --Not Implemented--" + fi +fi + +if [ "$SUB_TARGET" = "unix" -a "$SUB_LED_DRIVER" = "" ]; then + echo "Choosing stdout LED driver." + SUB_LED_DRIVER=stdout +fi + +if [ "$SUB_TARGET" = "unix" -a "$SUB_NVRAM_DRIVER" = "" ]; then + echo "Choosing binary file NVRAM driver. -- not implemented --" +# SUB_NVRAM_DRIVER=file +fi + +# If target is unix, default timers also +if [ "$SUB_TARGET" = "unix" -a "$SUB_TIMERS_DRIVER" = "" ]; then + echo "Choosing unix timers driver." + SUB_TIMERS_DRIVER=unix +fi + +# Warn for unstalled peak driver if choosen +if [ "$SUB_CAN_DRIVER" = "peak" ]; then + if [ ! -e /usr/lib/libpcan.so ]; then + echo "Peak driver hasn't been installed !" + exit -1 + fi +fi + +########################################################################### # TARGET/DRIVER SPECIFIC CFLAGS and OPTIONS # ########################################################################### +if [ "$SUB_TARGET" = "generic" ]; then + if [ "$US_TO_TIMEVAL_FACTOR" = "" ]; then + US_TO_TIMEVAL_FACTOR=1 + fi + if [ "$TIMEVAL" = "" ]; then + TIMEVAL=UNS64 + fi + if [ "$TIMEVAL_MAX" = "" ]; then + TIMEVAL_MAX=0xffffffffffffffff + fi +fi + if [ "$SUB_TARGET" = "hcs12" ]; then # Only if we want to compile for a µC HCS12 # search for gcc hcs12 compiler m6811-elf-gcc or m68hc12-gcc ? @@ -399,8 +426,6 @@ SUB_PROG_CFLAGS=-m68hc12 fi fi - # hcs12 driver implement its own timers - SUB_TIMERS_ENABLE=YES fi if [ "$SUB_TARGET" = "ecos_lpc2138_sja1000" ]; then @@ -419,8 +444,6 @@ SUB_LSS_ENABLE=YES SUB_LED_ENABLE=YES SUB_NVRAM_ENABLE=YES - # ecos driver implement its own timers - SUB_TIMERS_ENABLE=NO fi @@ -430,6 +453,10 @@ SUB_EXE_CFLAGS=$SUB_EXE_CFLAGS\ -lpcan fi +if [ "$SUB_CAN_DRIVER" = "none" ]; then + SUB_CAN_DRIVER= +fi + #### TIMERS_DRIVER #### if [ "$SUB_TIMERS_DRIVER" = "unix" ]; then @@ -442,6 +469,10 @@ SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ `$XENO_CONFIG --xeno-cflags` fi +if [ "$SUB_TIMERS_DRIVER" = "none" ]; then + SUB_TIMERS_DRIVER= +fi + #### LED_DRIVER #### #enable led support if a led driver have been selected. if [ "$SUB_LED_DRIVER" != "" ]; then @@ -575,7 +606,10 @@ SDO_TIMEOUT_MS\ MAX_NB_TIMER\ CANOPEN_BIG_ENDIAN\ - CANOPEN_LITTLE_ENDIAN ; do + CANOPEN_LITTLE_ENDIAN\ + US_TO_TIMEVAL_FACTOR\ + TIMEVAL\ + TIMEVAL_MAX; do if [ "${!i}" = "" ]; then echo "// $i is not defined" >> include/config.h else @@ -605,51 +639,53 @@ ########################################################################### # CREATE MAKEFILES # ########################################################################### +# General Makefiles MAKEFILES=Makefile.in\ \ src/Makefile.in\ \ drivers/Makefile.in\ \ objdictgen/Makefile.in\ \ examples/Makefile.in +# Drivers dependent Makefiles +if [ "$SUB_TIMERS_DRIVER" != "" ]; then + MAKEFILES=$MAKEFILES\ +\ drivers/timers_$SUB_TIMERS_DRIVER/Makefile.in +fi + +if [ "$SUB_CAN_DRIVER" != "" ]; then + MAKEFILES=$MAKEFILES\ +\ drivers/can_$SUB_CAN_DRIVER/Makefile.in +fi + +if [ "$SUB_LED_DRIVER" != "" ]; then + MAKEFILES=$MAKEFILES\ +\ drivers/led_$SUB_LED_DRIVER/Makefile.in +fi + +if [ "$SUB_NVRAM_DRIVER" != "" ]; then + MAKEFILES=$MAKEFILES\ +\ drivers/nvram_$SUB_NVRAM_DRIVER/Makefile.in +fi + +# Target dependent Makefiles +MAKEFILES=$MAKEFILES\ drivers/$SUB_TARGET/Makefile.in + +if [ "$SUB_TARGET" = "unix" ]; then + MAKEFILES=$MAKEFILES\ +\ examples/AppliMaster_Linux/Makefile.in\ +\ examples/AppliSlave_Linux/Makefile.in\ +\ examples/TestMasterSlave/Makefile.in +fi + if [ "$SUB_TARGET" = "hcs12" ]; then MAKEFILES=$MAKEFILES\ -\ drivers/hcs12/Makefile.in\ \ examples/AppliMaster_HCS12/Makefile.in\ \ examples/AppliSlave_HCS12/Makefile.in\ \ examples/gene_SYNC_HCS12/Makefile.in fi -if [ "$SUB_TIMERS_DRIVER" != "" ]; then - MAKEFILES=$MAKEFILES\ -\ drivers/timers_$SUB_TIMERS_DRIVER/Makefile.in -fi - -if [ "$SUB_CAN_DRIVER" != "" ]; then - MAKEFILES=$MAKEFILES\ -\ drivers/can_$SUB_CAN_DRIVER/Makefile.in -fi - -if [ "$SUB_LED_DRIVER" != "" ]; then - MAKEFILES=$MAKEFILES\ -\ drivers/led_$SUB_LED_DRIVER/Makefile.in -fi - -if [ "$SUB_NVRAM_DRIVER" != "" ]; then - MAKEFILES=$MAKEFILES\ -\ drivers/nvram_$SUB_NVRAM_DRIVER/Makefile.in -fi - -if [ "$SUB_TARGET" = "generic" ]; then - MAKEFILES=$MAKEFILES\ -\ drivers/generic/Makefile.in\ -\ examples/AppliMaster_Linux/Makefile.in\ -\ examples/AppliSlave_Linux/Makefile.in\ -\ examples/TestMasterSlave/Makefile.in -fi - if [ "$SUB_TARGET" = "ecos_lpc2138_sja1000" ]; then MAKEFILES=$MAKEFILES\ -\ drivers/ecos_lpc2138_sja1000/Makefile.in\ \ examples/ecos_lpc2138_sja1000/src/Makefile.in fi