configure
author etisserant
Fri, 08 Feb 2008 14:52:48 +0100
changeset 385 fff25f16c923
parent 381 854c43cdc24a
child 391 7802a7d5584f
permissions -rwxr-xr-x
Cleaned DS-401GUI (definitively removed graph) added options to open directly on the right Input or Output page. Little fixes.
275
7d5130f2f8ab fix problem sh. Replace with bash in configure script. For msys, there is a bash version to download.
greg
parents: 267
diff changeset
     1
#!/bin/bash
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     2
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     3
#
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     4
# Copyright (C) 2004 Edouard TISSERRANT, Laurent BESSARD
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     5
# Based on Gabriel Gerhardsson's cacheprobe configure script. 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     6
# 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     7
# This file is part of CanFestival, a library implementing CanOpen Stack. 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     8
# 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
     9
# This library is free software; you can redistribute it and/or
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    10
# modify it under the terms of the GNU Lesser General Public
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    11
# License as published by the Free Software Foundation; either
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    12
# version 2.1 of the License, or (at your option) any later version.
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    13
# 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    14
# This library is distributed in the hope that it will be useful,
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    15
# but WITHOUT ANY WARRANTY; without even the implied warranty of
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    16
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    17
# Lesser General Public License for more details.
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    18
# 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    19
# You should have received a copy of the GNU Lesser General Public
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    20
# License along with this library; if not, write to the Free Software
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    21
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    22
# 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    23
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    24
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    25
#                       DEFAULT CANFESTIVAL DEFINES                       #
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    26
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    27
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    28
# Number of can bus to use 
267
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
    29
MAX_CAN_BUS_ID=1
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    30
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    31
# max bytes to transmit by SDO Put 4 if you only support expedited transfert.
360
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
    32
#For a normal transfert, (usually for a string), put the maximum string size to transfer.
267
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
    33
SDO_MAX_LENGTH_TRANSFERT=32
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    34
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    35
# Number of SDO from differents nodes that the node can manage concurrently.   
360
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
    36
#for a slave node, usually put 1.
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    37
SDO_MAX_SIMULTANEOUS_TRANSFERTS=4
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    38
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    39
# Used for NMTable[bus][nodeId]	  
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    40
# You can put less of 128 if on the netwo
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    41
# are connected only smaller nodeId node.
267
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
    42
NMT_MAX_NODE_ID=128
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    43
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    44
#Timeout in milliseconds for SDO.
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    45
#    Comment the #define if not used (infinite wait for SDO response message)
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    46
SDO_TIMEOUT_MS=3000
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    47
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    48
MAX_NB_TIMER=32
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    49
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
    50
# Generic timers declaration defaults
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
    51
US_TO_TIMEVAL_FACTOR=
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
    52
TIMEVAL=
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
    53
TIMEVAL_MAX=
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
    54
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    55
# Default to little-endian
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    56
CANOPEN_BIG_ENDIAN=
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    57
284
24bf3d692993 Implemented EMCY objects.
luis
parents: 279
diff changeset
    58
# Max number of active errors managed in error_data structure.
24bf3d692993 Implemented EMCY objects.
luis
parents: 279
diff changeset
    59
EMCY_MAX_ERRORS=8
24bf3d692993 Implemented EMCY objects.
luis
parents: 279
diff changeset
    60
360
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
    61
#Timeout in milliseconds for LSS.
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
    62
LSS_TIMEOUT_MS=1000
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
    63
#Timeout in milliseconds for LSS FastScan.
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
    64
LSS_FS_TIMEOUT_MS=100
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
    65
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    66
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    67
#                             DEFAULT BUILD OPTIONS                       #
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    68
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    69
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    70
# Leave empty for automatic detection
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    71
CC=
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
    72
CXX=
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
    73
LD=
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    74
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    75
#default target
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    76
SUB_TARGET=
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    77
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    78
# First compiler option - we will check if it exists
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    79
CC1=gcc
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    80
# Second compiler option - we will check if it exists
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    81
CC2=cc
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    82
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    83
# Install prefix
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    84
SUB_PREFIX=
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    85
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    86
# Used for C compiler test/detection 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    87
CFLAGS=
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    88
test=conftest
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    89
rm -f $test $test.c
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    90
278
9d41c53dadac Typo in configure
etisserant
parents: 275
diff changeset
    91
if [ "$XENO_CONFIG" = "" ]; then
190
3248a2d6bb0b Let user choose his own XENO_CONFIG.
etisserant
parents: 166
diff changeset
    92
	XENO_CONFIG=/usr/xenomai/bin/xeno-config
3248a2d6bb0b Let user choose his own XENO_CONFIG.
etisserant
parents: 166
diff changeset
    93
fi
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    94
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    95
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    96
#                          ARGUMENTS PARSING                              #
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    97
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    98
while [ $# -ge 1 ]; do
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    99
	optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   100
	
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   101
	case $1 in
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   102
	--cc=*)		CC=$optarg;;
341
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   103
	--cxx=*)	CXX=$optarg;;
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   104
	--ld=*)		LD=$optarg;;
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   105
	--arch=*)	SUB_ARCH_NAME=$optarg;;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   106
	--os=*)		SUB_OS_NAME=$optarg;;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   107
	--prefix=*)	SUB_PREFIX=$optarg;;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   108
	--target=*)	SUB_TARGET=$optarg;;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   109
	--can=*)	SUB_CAN_DRIVER=$optarg;;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   110
	--timers=*)	SUB_TIMERS_DRIVER=$optarg;;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   111
	--disable-Ox)	DISABLE_OPT=1;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   112
			echo "On user request: Won't optimize with \"-Ox\"";;
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   113
	--disable-dll)	DISABLE_DLL=1;
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   114
			echo "On user request: Won't create and link to dll";;
343
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   115
	--enable-lss)	ENABLE_LSS=1;
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   116
			echo "On user request: LSS services enabled";;
360
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   117
	--enable-lss-fs)	ENABLE_LSS_FS=1;
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   118
			echo "On user request: LSS FastScan service enabled";;
195
1510dd61ead0 Added debug level opt in configure and re-enabled debug macros.
etisserant
parents: 190
diff changeset
   119
	--debug=*)	DEBUG=$optarg;;
363
40b351ab5a93 fixed configure command line constant specification bug. Thanks to Jorge.
etisserant
parents: 360
diff changeset
   120
	--MAX_CAN_BUS_ID=*)	MAX_CAN_BUS_ID=$optarg;;
40b351ab5a93 fixed configure command line constant specification bug. Thanks to Jorge.
etisserant
parents: 360
diff changeset
   121
	--SDO_MAX_LENGTH_TRANSFERT=*)	SDO_MAX_LENGTH_TRANSFERT=$optarg;;
40b351ab5a93 fixed configure command line constant specification bug. Thanks to Jorge.
etisserant
parents: 360
diff changeset
   122
	--SDO_MAX_SIMULTANEOUS_TRANSFERTS=*)	SDO_MAX_SIMULTANEOUS_TRANSFERTS=$optarg;;
40b351ab5a93 fixed configure command line constant specification bug. Thanks to Jorge.
etisserant
parents: 360
diff changeset
   123
	--NMT_MAX_NODE_ID=*)	NMT_MAX_NODE_ID=$optarg;;
40b351ab5a93 fixed configure command line constant specification bug. Thanks to Jorge.
etisserant
parents: 360
diff changeset
   124
	--SDO_TIMEOUT_MS=*)	SDO_TIMEOUT_MS=$optarg;;
40b351ab5a93 fixed configure command line constant specification bug. Thanks to Jorge.
etisserant
parents: 360
diff changeset
   125
	--CANOPEN_BIG_ENDIAN=*)	CANOPEN_BIG_ENDIAN=$optarg;;
40b351ab5a93 fixed configure command line constant specification bug. Thanks to Jorge.
etisserant
parents: 360
diff changeset
   126
	--MAX_NB_TIMER=*) MAX_NB_TIMER=$optarg;;
40b351ab5a93 fixed configure command line constant specification bug. Thanks to Jorge.
etisserant
parents: 360
diff changeset
   127
	--EMCY_MAX_ERRORS=*) EMCY_MAX_ERRORS=$optarg;;
360
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   128
	--LSS_TIMEOUT_MS=*)	LSS_TIMEOUT_MS=$optarg;;
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   129
	--LSS_FS_TIMEOUT_MS=*)	LSS_FS_TIMEOUT_MS=$optarg;;
341
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   130
	--help)
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   131
		echo	"Usage: ./configure [options]"
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   132
		echo	"Options:"
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   133
		echo 	" --cc=foo      Use C compiler 'foo' instead of defaults ${CC1} or ${CC2}."
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   134
		echo 	" --cxx=foo     Use C++ compiler 'foo' instead of defaults g++."
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   135
		echo 	" --ld=foo      Use linker 'foo' instead of ld."
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   136
		echo 	" --arch=foo    Use architecture 'foo' instead of trying to autodetect."
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   137
		echo 	" --os=foo      Use operative system 'foo' instead of trying to autodetect."
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   138
		echo 	" --prefix=foo  Use prefix 'foo' instead of default ${SUB_PREFIX}."
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   139
		echo 	" --target=foo  Use 'foo' as build target."
341
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   140
		echo	"               \"unix\" for unix-like systems (Linux, Cygwin)"
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   141
		echo	"               \"win32\" for win32 systems (native, mingw or VC++)"
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   142
		echo	"               \"hcs12\" for HCS12 micro-controller"
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   143
		echo 	" --can=foo	Use 'foo' as CAN driver"
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   144
		echo	"               \"peak_linux\" use Linux build host installed Peak driver and library"
341
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   145
		echo	"                 see http://www.peak-system.com/linux/"
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   146
		echo	"               \"peak_win32\" use win32 PcanLight Peak driver and library with Cygwin" 
341
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   147
		echo	"                 see http://www.peak-system.com/themen/download_gb.html"
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   148
		echo	"               \"virtual\" use unix pipe based virtual can driver"
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   149
		echo	"               \"socket\" use socket-can  "
341
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   150
		echo	"                 see http://developer.berlios.de/projects/socketcan/"
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   151
		echo	"               \"lincan\" lincan driver"
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   152
		echo	"                 see http://www.ocera.org/download/components/WP7/lincan-0.3.3.html"
364
17edd8a028fa Added can4linux driver support.
groke6
parents: 363
diff changeset
   153
		echo	"               \"can4linux\" can4linux driver"
17edd8a028fa Added can4linux driver support.
groke6
parents: 363
diff changeset
   154
		echo	"                 see http://www.port.de/engl/canprod/hw_can4linux.html"
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   155
		echo 	" --timers=foo  Use 'foo' as TIMERS driver (can be either 'unix' or 'xeno')"
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   156
		echo 	" --disable-dll Disable run-time dynamic linking of can, led and nvram drivers"
343
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   157
		echo 	" --enable-lss  Enable the LSS services"
360
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   158
		echo 	" --enable-lss-fs  Enable the LSS FastScan service"
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   159
		echo	" --disable-Ox  Disable gcc \"-Ox\" optimizations."
329
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   160
		echo	" --debug=foo,foo,..   Enable debug messages, ERR -> only errors, WAR)."
341
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   161
		echo	"               \"PDO\" send errors and warnings through PDO messages"
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   162
		echo	"               \"ERR\" print errors only, to stdout"
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   163
		echo	"               \"WAR\" print errors and warnings, to stdout"
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   164
		echo	"               \"MSG\" print messages content, to stdout"
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   165
		echo
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   166
		echo	"Stack compilation constants"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   167
		echo	" --MAX_CAN_BUS_ID [=1] Number of can bus to use"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   168
		echo	" --SDO_MAX_LENGTH_TRANSFERT [=32] max bytes to transmit by SDO"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   169
		echo	" --SDO_MAX_SIMULTANEOUS_TRANSFERTS [=4] Number of SDO that the node can manage concurrently"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   170
		echo	" --NMT_MAX_NODE_ID [=128] can be reduced to gain memory on small network"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   171
		echo	" --SDO_TIMEOUT_MS [=3000] Timeout in milliseconds for SDO (None to disable the feature)"
284
24bf3d692993 Implemented EMCY objects.
luis
parents: 279
diff changeset
   172
		echo	" --EMCY_MAX_ERRORS [=8] Max number of active errors managed in error_data structure"
360
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   173
		echo	" --LSS_TIMEOUT_MS [=1000] Timeout in milliseconds for LSS services."
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   174
		echo	"                          LSS must be enabled with \"--enable-lss\""
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   175
		echo	" --LSS_FS_TIMEOUT_MS [=100] Timeout in milliseconds for LSS FastScan service."
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   176
		echo	"                            LSS FastScan must be enabled with \"--enable-lss-fs\""
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   177
		exit 0;;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   178
	*)		echo "Unknown argument ${1}"; exit -1;;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   179
	esac
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   180
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   181
	shift
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   182
done
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   183
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   184
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   185
#                              GUESS OS/ARCH                              #
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   186
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   187
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   188
if [ "$SUB_OS_NAME" = "" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   189
	SUB_OS_NAME="`(uname -s | sed \"s/\//-/\" | sed \"s/_/-/\" \
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   190
			| sed \"s/-.*//g\") 2>&1`"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   191
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   192
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   193
if [ "$SUB_ARCH_NAME" = "" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   194
	if [ "$CC" = "" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   195
		A_NAME="`(uname -m) 2>&1`"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   196
	else
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   197
		A_NAME="`$CC -dumpmachine | sed 's:-.*::'`"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   198
	fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   199
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   200
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   201
# x86
341
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   202
if [ "$A_NAME" = "i386" -o "$A_NAME" = "i486" -o "$A_NAME" = "i586" -o "$A_NAME" = "i686" -o "$A_NAME" = "x86" ]; then
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   203
	SUB_ARCH_NAME=x86
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   204
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   205
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   206
# x86_64
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   207
if [ "$A_NAME" = "x86_64" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   208
	SUB_ARCH_NAME=x86_64
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   209
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   210
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   211
# ppc
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   212
if [ "$A_NAME" = "powerpc" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   213
	SUB_ARCH_NAME=ppc
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   214
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   215
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   216
# ppc64
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   217
if [ "$A_NAME" = "powerpc64" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   218
	SUB_ARCH_NAME=ppc64
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   219
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   220
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   221
# arm
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   222
if [ "$A_NAME" = "arm" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   223
	SUB_ARCH_NAME=arm
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   224
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   225
376
b082ffeef254 little fix on arch detection when using mingw32-only compiler from within cygwin's bash
etisserant
parents: 364
diff changeset
   226
# mingw32
b082ffeef254 little fix on arch detection when using mingw32-only compiler from within cygwin's bash
etisserant
parents: 364
diff changeset
   227
if [ "$A_NAME" = "mingw32" ]; then
b082ffeef254 little fix on arch detection when using mingw32-only compiler from within cygwin's bash
etisserant
parents: 364
diff changeset
   228
	SUB_ARCH_NAME=mingw32
b082ffeef254 little fix on arch detection when using mingw32-only compiler from within cygwin's bash
etisserant
parents: 364
diff changeset
   229
fi
b082ffeef254 little fix on arch detection when using mingw32-only compiler from within cygwin's bash
etisserant
parents: 364
diff changeset
   230
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   231
if [ "$SUB_ARCH_NAME" = "" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   232
	echo "Error: could not detect what architecture this system is running!"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   233
	echo "Please supply manually instead with \"--arch=foo\""
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   234
	exit -1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   235
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   236
376
b082ffeef254 little fix on arch detection when using mingw32-only compiler from within cygwin's bash
etisserant
parents: 364
diff changeset
   237
echo "Host OS: ${SUB_OS_NAME}"
b082ffeef254 little fix on arch detection when using mingw32-only compiler from within cygwin's bash
etisserant
parents: 364
diff changeset
   238
echo "Host arch: ${SUB_ARCH_NAME}"
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   239
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   240
if [ "$SUB_ARCH_NAME" = "x86_64" -a "$CC" = "gcc" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   241
	# Only if we are on x86_64 and using gcc
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   242
	# For shared library generation, it needs this
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   243
	SUB_PROG_CFLAGS=-fPIC
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   244
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   245
200
930be51ddc24 Big Endian fixes.
etisserant
parents: 195
diff changeset
   246
if [ "$SUB_ARCH_NAME" = "ppc" -o "$SUB_ARCH_NAME" = "powerpc" ]; then
930be51ddc24 Big Endian fixes.
etisserant
parents: 195
diff changeset
   247
	# PowerPC uses big endian format
930be51ddc24 Big Endian fixes.
etisserant
parents: 195
diff changeset
   248
	CANOPEN_BIG_ENDIAN=1
930be51ddc24 Big Endian fixes.
etisserant
parents: 195
diff changeset
   249
fi
930be51ddc24 Big Endian fixes.
etisserant
parents: 195
diff changeset
   250
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   251
###########################################################################
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   252
#                      DEFAULT TARGET/DRIVERS GUESSING                    #
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   253
###########################################################################
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   254
# If target not specified, try to gess one
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   255
if [ "$SUB_TARGET" = "" ]; then
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   256
	if [ "$SUB_OS_NAME" = "CYGWIN" ]; then
38
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   257
		echo "Choosing unix (cygwin) target"
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   258
		SUB_TARGET=unix
267
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   259
	fi
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   260
	if [ "$SUB_OS_NAME" = "Linux" ]; then
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   261
		echo "Choosing unix target"
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   262
		SUB_TARGET=unix
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   263
	fi
267
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   264
	if [ "$SUB_OS_NAME" = "MINGW32" ]; then
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   265
		echo "Choosing windows target"
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   266
		SUB_TARGET=win32
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   267
	fi
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   268
fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   269
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   270
# Try to gess can
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   271
if [ "$SUB_CAN_DRIVER" = "" ]; then
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   272
	if [ "$SUB_TARGET" = "unix" ]; then
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   273
		if [ -e /usr/lib/libpcan.so ]; then 
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   274
			echo "Choosing installed Peak driver as CAN driver."
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   275
			SUB_CAN_DRIVER=peak_linux
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   276
		elif [ "$SUB_OS_NAME" = "CYGWIN" -a "PCAN_LIB" != "" ]; then
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   277
			echo "Choosing installed Peak driver as CAN driver."
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   278
			SUB_CAN_DRIVER=peak_win32		
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   279
		else
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   280
			echo "Choosing virtual CAN driver."
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   281
			SUB_CAN_DRIVER=virtual
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   282
		fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   283
	fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   284
fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   285
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   286
# If target is unix, default timers also
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   287
if [ "$SUB_TARGET" = "unix" -a "$SUB_TIMERS_DRIVER" = "" ]; then
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   288
	echo "Choosing unix timers driver."
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   289
	SUB_TIMERS_DRIVER=unix
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   290
fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   291
267
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   292
# If target is windows, default timers also
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   293
if [ "$SUB_TARGET" = "win32" -a "$SUB_TIMERS_DRIVER" = "" ]; then
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   294
	echo "Choosing windows timers driver."
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   295
	SUB_TIMERS_DRIVER=win32
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   296
fi
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   297
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   298
# Warn for unstalled peak driver if choosen
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   299
if [ "$SUB_CAN_DRIVER" = "peak" ]; then
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   300
	if [ ! -e /usr/lib/libpcan.so ]; then 
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   301
		echo "Peak driver hasn't been installed !"
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   302
		exit -1
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   303
	fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   304
fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   305
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   306
###########################################################################
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   307
#              TARGET/DRIVER SPECIFIC CFLAGS and OPTIONS                  #
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   308
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   309
if [ "$SUB_TARGET" = "hcs12" ]; then
360
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   310
	# Only if we want to compile for a C HCS12
81
9ea761516104 hcs12 is big_endian
frdupin
parents: 77
diff changeset
   311
       # it is a big endian architecture.
9ea761516104 hcs12 is big_endian
frdupin
parents: 77
diff changeset
   312
       CANOPEN_BIG_ENDIAN=1
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   313
	# search for gcc hcs12 compiler m6811-elf-gcc or m68hc12-gcc ?
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   314
	if [ "$CC" = "" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   315
		which m6811-elf-gcc >/dev/null 2>&1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   316
		if (( $? )); then 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   317
			which m68hc12-gcc >/dev/null 2>&1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   318
			if (( $? )); then 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   319
				echo "Please use --cc flag to specify compiler"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   320
				exit 0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   321
			else
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   322
				CC=m68hc12-gcc 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   323
			fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   324
		else
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   325
			CC=m6811-elf-gcc
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   326
			SUB_PROG_CFLAGS=-m68hc12
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   327
		fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   328
	fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   329
fi	
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   330
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   331
#### CAN_DRIVER ####
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   332
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   333
if [ "$SUB_CAN_DRIVER" = "peak_linux" ]; then
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   334
    SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ -lpcan
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   335
fi
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   336
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   337
PW32DIR=drivers/can_peak_win32
38
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   338
if [ "$SUB_CAN_DRIVER" = "peak_win32" ]; then
41
e70439f50539 First working cygwin/pcan_light commit. can_peak_win32.c is obfuscated.
etisserant
parents: 40
diff changeset
   339
	if [ "$PCAN_HEADER" = "" -o "PCAN_LIB" = "" ]; then
38
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   340
		echo "!!! ERROR !!! Please set PCAN_LIB PCAN_HEADER [PCAN_INCLUDE] to appropriate paths ! "
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   341
	fi
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   342
   	SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ -liberty\ \'$PCAN_LIB\'
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   343
	echo "Converting PcanLib header files for gcc -> $PW32DIR/cancfg.h"
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   344
	cat $PW32DIR/cancfg.h.head $PCAN_INCLUDE/$PCAN_HEADER > $PW32DIR/cancfg.h
331
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 329
diff changeset
   345
	echo >> $PW32DIR/cancfg.h
41
e70439f50539 First working cygwin/pcan_light commit. can_peak_win32.c is obfuscated.
etisserant
parents: 40
diff changeset
   346
	# second port handling
e70439f50539 First working cygwin/pcan_light commit. can_peak_win32.c is obfuscated.
etisserant
parents: 40
diff changeset
   347
	if [ "$PCAN2_HEADER" != "" ]; then
e70439f50539 First working cygwin/pcan_light commit. can_peak_win32.c is obfuscated.
etisserant
parents: 40
diff changeset
   348
		echo "Stripping down second Pcan Light header "
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   349
		echo >> $PW32DIR/cancfg.h
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   350
		echo "// Stripped PcanLight header to prevent typedef conflicts ">> $PW32DIR/cancfg.h
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   351
		echo >> $PW32DIR/cancfg.h
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   352
		grep __stdcall $PCAN_INCLUDE/$PCAN2_HEADER >> $PW32DIR/cancfg.h
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   353
		echo '#define PCAN2_HEADER_' >> $PW32DIR/cancfg.h
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   354
	   	SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ \'$PCAN2_LIB\'
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   355
	fi
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   356
	if grep -q CANHwType $PW32DIR/cancfg.h ; then
42
17f0ea205942 cygwin/pcan_light commit. Changes in configure for dual port handling.
etisserant
parents: 41
diff changeset
   357
		echo "Peak Init HwType, IO_Port and IRQ will be passed in environment :"
17f0ea205942 cygwin/pcan_light commit. Changes in configure for dual port handling.
etisserant
parents: 41
diff changeset
   358
		echo "	PCANHwType PCANIO_Port PCANInterupt"
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   359
		echo '#define extra_PCAN_init_params' >> $PW32DIR/cancfg.h
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   360
	fi
331
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 329
diff changeset
   361
	if ! grep -q CAN_Init $PW32DIR/cancfg.h ; then
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 329
diff changeset
   362
		echo "Pcan Light header/lib is for second port of device only"
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 329
diff changeset
   363
		echo "CAN_* calls redefined to CAN2_* "
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 329
diff changeset
   364
		echo '#define CAN_Init CAN2_Init' >> $PW32DIR/cancfg.h
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 329
diff changeset
   365
		echo '#define CAN_Read CAN2_Read' >> $PW32DIR/cancfg.h
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 329
diff changeset
   366
		echo '#define CAN_Write CAN2_Write' >> $PW32DIR/cancfg.h
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 329
diff changeset
   367
		echo '#define CAN_Close CAN2_Close' >> $PW32DIR/cancfg.h
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 329
diff changeset
   368
	fi
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   369
	cat $PW32DIR/cancfg.h.tail >> $PW32DIR/cancfg.h
38
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   370
fi
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   371
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   372
if [ "$SUB_CAN_DRIVER" = "none" ]; then
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   373
	SUB_CAN_DRIVER=
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   374
fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   375
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   376
#### TIMERS_DRIVER ####
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   377
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   378
if [ "$SUB_TIMERS_DRIVER" = "unix" ]; then
38
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   379
	if [ "$SUB_OS_NAME" != "CYGWIN" ]; then
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   380
	   SUB_EXE_CFLAGS=$SUB_EXE_CFLAGS\ -lpthread\ -lrt
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   381
	fi
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   382
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   383
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   384
if [ "$SUB_TIMERS_DRIVER" = "xeno" ]; then
341
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   385
	SUB_EXE_CFLAGS=$SUB_EXE_CFLAGS\ -lnative\ -lrtdm\ -L`$XENO_CONFIG --library-dir`
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   386
	SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ `$XENO_CONFIG --xeno-cflags`
47
8a1047ab51f4 SOCKET-CAN support added. Many thanks to Jan Kiszka !
etisserant
parents: 42
diff changeset
   387
	RTCAN_SOCKET=1
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   388
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   389
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   390
if [ "$SUB_TIMERS_DRIVER" = "none" ]; then
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   391
	SUB_TIMERS_DRIVER=
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   392
fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   393
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   394
###########################################################################
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   395
#                              GUESS TOOLCHAIN                            #
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   396
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   397
# If CC is empty, the user wanted automatic detection
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   398
if [ "$CC" = "" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   399
	# Check for second compiler, CC2
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   400
	cat > $test.c <<EOF
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   401
	int main() { return 0; }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   402
EOF
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   403
	if test "`($CC2 -c $CFLAGS $test.c) 2>&1`" = ""; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   404
		DETECTCC=$CC2
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   405
		echo "Checking for ${CC2}... Yes."
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   406
	else
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   407
		echo "Checking for ${CC2}... No."
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   408
	fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   409
	rm -f $test.c $test.o
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   410
	
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   411
	# Check for first compiler, CC1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   412
	cat > $test.c <<EOF
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   413
	int main() { return 0; }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   414
EOF
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   415
	if test "`($CC1 -c $CFLAGS $test.c) 2>&1`" = ""; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   416
		DETECTCC=$CC1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   417
		echo "Checking for ${CC1}... Yes."
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   418
	else
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   419
		echo "Checking for ${CC1}... No."
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   420
	fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   421
	rm -f $test.c $test.o
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   422
	CC=$DETECTCC
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   423
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   424
# Check if we decided on a compiler after all
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   425
if [ "$CC" = "" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   426
	echo "Error: Could not find a C compiler"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   427
	echo "Please supply the wanted compiler"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   428
	exit -1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   429
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   430
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   431
echo "Using ${CC} as a C compiler"
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   432
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   433
SUB_BINUTILS_PREFIX=`echo "$CC" | sed 's/gcc$//'`
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   434
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   435
if [ "$CXX" = "" ]; then
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   436
	CXX=${SUB_BINUTILS_PREFIX}g++
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   437
fi
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   438
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   439
echo "Using ${CXX} as a C++ compiler"
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   440
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   441
if [ "$SUB_TARGET" = "win32" ]; then
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   442
	# on cygwin/mingw, choose  g++ as a linker for native target
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   443
	if [ "$LD" = "" ]; then
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   444
		LD=$CXX
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   445
	fi
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   446
	if [ "$SUB_OS_NAME" = "CYGWIN" ]; then
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   447
		SUB_PROG_CFLAGS="-mno-cygwin"
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   448
	fi
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   449
fi	
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   450
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   451
if [ "$SUB_TARGET" = "unix" ]; then
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   452
	if [ "$LD" = "" ]; then
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   453
		LD=$CC
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   454
	fi
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   455
fi
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   456
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   457
echo "Using ${LD} as a linker"
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   458
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   459
# Guess prefix as regard cross compiling target machine
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   460
if [ "$SUB_PREFIX" = "" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   461
	$CC -dumpspecs |grep -A 1 'cross_compile'|grep -q 1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   462
	if (( $? )); then 
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   463
		SUB_PREFIX=/usr/local
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   464
		echo "Not cross-compiling. Will install in $SUB_PREFIX";
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   465
	else
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   466
		SUB_PREFIX=/usr/`$CC -dumpmachine`
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   467
		echo "This is a cross-compiler. Will install in $SUB_PREFIX";			
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   468
	fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   469
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   470
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   471
echo "Using prefix: ${SUB_PREFIX}"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   472
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   473
###########################################################################
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   474
#                           GUESS DEPENDENCIES                            #
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   475
###########################################################################
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   476
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   477
if which wx-config >/dev/null 2>&1; then
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   478
	echo -n "Testing wxWidgets compiles ... "
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   479
	cat > /tmp/wx_test.cpp <<EOF
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   480
#include "wx/wx.h"
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   481
class MyApp : public wxApp
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   482
{
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   483
};
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   484
IMPLEMENT_APP(MyApp)
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   485
EOF
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   486
	if $CXX /tmp/wx_test.cpp `wx-config --cxxflags` `wx-config --libs` -o /tmp/wx_test >/dev/null 2>&1 ; then
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   487
		SUB_WX=1
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   488
		echo "Yes"
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   489
	else
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   490
		SUB_WX=0
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   491
		echo "No"
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   492
	fi
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   493
	rm -f /tmp/wx_test*
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   494
else
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   495
	SUB_WX=0
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   496
	echo "No wxWidgets available"
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   497
fi
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   498
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   499
###########################################################################
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   500
#                   CANFESTIVAL DEFINES --> config.h                      #
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   501
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   502
# Some CONSTANTS preparation
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   503
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   504
# Create include/config.h with the relevant contents
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   505
rm -f include/config.h
77
7b552428b48a Add comment in config.h
frdupin
parents: 47
diff changeset
   506
echo "/* !!!!!!!!!! FILE GENERATED by configure. DO NOT EDIT !!!!!!!!!!*/" >>  include/config.h
7b552428b48a Add comment in config.h
frdupin
parents: 47
diff changeset
   507
echo "" >>  include/config.h
7b552428b48a Add comment in config.h
frdupin
parents: 47
diff changeset
   508
echo "/*"\ >>  include/config.h
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   509
echo "This file is part of CanFestival, a library implementing CanOpen Stack." >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   510
echo "" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   511
echo "Copyright (C): Edouard TISSERANT and Francis DUPIN" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   512
echo "See COPYING file for copyrights details." >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   513
echo "" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   514
echo "This library is free software; you can redistribute it and/or" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   515
echo "modify it under the terms of the GNU Lesser General Public" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   516
echo "License as published by the Free Software Foundation; either" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   517
echo "version 2.1 of the License, or (at your option) any later version." >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   518
echo "" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   519
echo "This library is distributed in the hope that it will be useful," >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   520
echo "but WITHOUT ANY WARRANTY; without even the implied warranty of" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   521
echo "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   522
echo "Lesser General Public License for more details." >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   523
echo "" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   524
echo "You should have received a copy of the GNU Lesser General Public" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   525
echo "License along with this library; if not, write to the Free Software" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   526
echo "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   527
echo "*/" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   528
echo "" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   529
echo "#ifndef _CONFIG_H_" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   530
echo "#define _CONFIG_H_" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   531
echo "" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   532
for i in \
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   533
 MAX_CAN_BUS_ID\
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   534
 SDO_MAX_LENGTH_TRANSFERT\
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   535
 SDO_MAX_SIMULTANEOUS_TRANSFERTS\
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   536
 NMT_MAX_NODE_ID\
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   537
 SDO_TIMEOUT_MS\
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   538
 MAX_NB_TIMER\
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   539
 CANOPEN_BIG_ENDIAN\
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   540
 US_TO_TIMEVAL_FACTOR\
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   541
 TIMEVAL\
47
8a1047ab51f4 SOCKET-CAN support added. Many thanks to Jan Kiszka !
etisserant
parents: 42
diff changeset
   542
 TIMEVAL_MAX\
284
24bf3d692993 Implemented EMCY objects.
luis
parents: 279
diff changeset
   543
 RTCAN_SOCKET\
360
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   544
 EMCY_MAX_ERRORS\
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   545
 LSS_TIMEOUT_MS\
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   546
 LSS_FS_TIMEOUT_MS; do
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   547
if [ "${!i}" = "" ]; then
77
7b552428b48a Add comment in config.h
frdupin
parents: 47
diff changeset
   548
echo "/* $i is not defined */" >> include/config.h
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   549
else
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   550
echo "#define $i ${!i}" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   551
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   552
done	
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   553
echo "" >> include/config.h
91
ed2612282988 - Better array initialization in data.h CANOPEN_NODE_DATA_INITIALIZER macro. Use a little hack with configure and config.h to create the "pure Ansi C" initializer.
etisserant
parents: 81
diff changeset
   554
ed2612282988 - Better array initialization in data.h CANOPEN_NODE_DATA_INITIALIZER macro. Use a little hack with configure and config.h to create the "pure Ansi C" initializer.
etisserant
parents: 81
diff changeset
   555
for i in \
ed2612282988 - Better array initialization in data.h CANOPEN_NODE_DATA_INITIALIZER macro. Use a little hack with configure and config.h to create the "pure Ansi C" initializer.
etisserant
parents: 81
diff changeset
   556
 SDO_MAX_SIMULTANEOUS_TRANSFERTS\
284
24bf3d692993 Implemented EMCY objects.
luis
parents: 279
diff changeset
   557
 NMT_MAX_NODE_ID\
24bf3d692993 Implemented EMCY objects.
luis
parents: 279
diff changeset
   558
 EMCY_MAX_ERRORS; do
91
ed2612282988 - Better array initialization in data.h CANOPEN_NODE_DATA_INITIALIZER macro. Use a little hack with configure and config.h to create the "pure Ansi C" initializer.
etisserant
parents: 81
diff changeset
   559
	echo "#define REPEAT_"$i"_TIMES(repeat)\\">> include/config.h
ed2612282988 - Better array initialization in data.h CANOPEN_NODE_DATA_INITIALIZER macro. Use a little hack with configure and config.h to create the "pure Ansi C" initializer.
etisserant
parents: 81
diff changeset
   560
	times=${!i}
ed2612282988 - Better array initialization in data.h CANOPEN_NODE_DATA_INITIALIZER macro. Use a little hack with configure and config.h to create the "pure Ansi C" initializer.
etisserant
parents: 81
diff changeset
   561
	result=""
ed2612282988 - Better array initialization in data.h CANOPEN_NODE_DATA_INITIALIZER macro. Use a little hack with configure and config.h to create the "pure Ansi C" initializer.
etisserant
parents: 81
diff changeset
   562
	for (( j=0; j<times; j++ ));do
ed2612282988 - Better array initialization in data.h CANOPEN_NODE_DATA_INITIALIZER macro. Use a little hack with configure and config.h to create the "pure Ansi C" initializer.
etisserant
parents: 81
diff changeset
   563
		result="$result repeat"
ed2612282988 - Better array initialization in data.h CANOPEN_NODE_DATA_INITIALIZER macro. Use a little hack with configure and config.h to create the "pure Ansi C" initializer.
etisserant
parents: 81
diff changeset
   564
	done
ed2612282988 - Better array initialization in data.h CANOPEN_NODE_DATA_INITIALIZER macro. Use a little hack with configure and config.h to create the "pure Ansi C" initializer.
etisserant
parents: 81
diff changeset
   565
	echo $result >> include/config.h
ed2612282988 - Better array initialization in data.h CANOPEN_NODE_DATA_INITIALIZER macro. Use a little hack with configure and config.h to create the "pure Ansi C" initializer.
etisserant
parents: 81
diff changeset
   566
done
ed2612282988 - Better array initialization in data.h CANOPEN_NODE_DATA_INITIALIZER macro. Use a little hack with configure and config.h to create the "pure Ansi C" initializer.
etisserant
parents: 81
diff changeset
   567
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   568
echo "#endif /* _CONFIG_H_ */" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   569
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   570
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   571
#                           DEBUG DEFINES/CFLAGS                          #
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   572
###########################################################################
329
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   573
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   574
save_ifs="$IFS"; IFS=','
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   575
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   576
for DEBUG_METHOD in $DEBUG; 
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   577
	do
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   578
	    IFS="$save_ifs"
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   579
	    case $DEBUG_METHOD in
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   580
	    	ERR)ERR=1;;
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   581
	    	WAR)WAR=1;ERR=1;;
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   582
	    	MSG)MSG=1;;
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   583
	    	PDO)PDO=1;WAR=1;ERR=1;;
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   584
	    	*)echo ""
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   585
	    	  echo "$DEBUG_METHOD is not a valid debug's method"
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   586
	    	  echo "Possible Debug's methods are : \"ERR\", \"WAR\", \"MSG\", \"PDO\""
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   587
	    	  exit -1
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   588
	    	  ;;
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   589
	esac	
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   590
done
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   591
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   592
if [ $WAR ]; then
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   593
	SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DDEBUG_WAR_CONSOLE_ON;
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   594
fi
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   595
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   596
if [ $ERR ]; then
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   597
	SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DDEBUG_ERR_CONSOLE_ON;
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   598
fi
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   599
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   600
if [ $MSG ]; then
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   601
	SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DDEBUG_MSG_CONSOLE_ON;
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   602
fi
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   603
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   604
if [ $PDO ]; then
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   605
	SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DDEBUG_PDO_CONSOLE_ON;
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   606
fi
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   607
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   608
if [ $DEBUG ]; then
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   609
	SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -g
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   610
fi
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   611
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   612
IFS="$save_ifs"
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   613
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   614
if [ "$DISABLE_OPT" = "1" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   615
	SUB_OPT_CFLAGS=
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   616
else
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   617
	SUB_OPT_CFLAGS=\$\(OPT_CFLAGS\)
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   618
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   619
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   620
if [ "$DISABLE_DLL" = "1" ]; then
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   621
	SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DNOT_USE_DYNAMIC_LOADING
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   622
	SUB_ENABLE_DLL_DRIVERS=0
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   623
else
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   624
	SUB_ENABLE_DLL_DRIVERS=1
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   625
	if [ "$SUB_TARGET" = "win32" ]; then
351
fb106ad03770 fix SUB_EXE_CFLAGS in configure to link without "-ldl" when use MINGW
greg
parents: 343
diff changeset
   626
		SUB_EXE_CFLAGS=$SUB_EXE_CFLAGS
fb106ad03770 fix SUB_EXE_CFLAGS in configure to link without "-ldl" when use MINGW
greg
parents: 343
diff changeset
   627
	else
fb106ad03770 fix SUB_EXE_CFLAGS in configure to link without "-ldl" when use MINGW
greg
parents: 343
diff changeset
   628
		SUB_EXE_CFLAGS=$SUB_EXE_CFLAGS\ -ldl
fb106ad03770 fix SUB_EXE_CFLAGS in configure to link without "-ldl" when use MINGW
greg
parents: 343
diff changeset
   629
	fi
fb106ad03770 fix SUB_EXE_CFLAGS in configure to link without "-ldl" when use MINGW
greg
parents: 343
diff changeset
   630
	
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   631
fi
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   632
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   633
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   634
if [ "$DISABLE_DLL" = "1" ]; then
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   635
	SUB_EXE_CFLAGS=$SUB_EXE_CFLAGS\ $SUB_CAN_DLL_CFLAGS
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   636
fi
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   637
343
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   638
if [ $ENABLE_LSS ]; then
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   639
	SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DCO_ENABLE_LSS;
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   640
	SUB_ENABLE_LSS=1
360
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   641
	if [ $ENABLE_LSS_FS ]; then
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   642
		SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DCO_ENABLE_LSS_FS;
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   643
	fi
343
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   644
else
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   645
	SUB_ENABLE_LSS=0
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   646
fi
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   647
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   648
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   649
#                              CREATE MAKEFILES                           #
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   650
###########################################################################
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   651
# General Makefiles
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   652
MAKEFILES=Makefile.in\
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   653
\ src/Makefile.in\
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   654
\ drivers/Makefile.in\
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   655
\ objdictgen/Makefile.in\
279
9b69f2fabafe added config.py.in, filled by configure, so that python program using objdictedit can gat compilation params. Reomved old dead files.
etisserant
parents: 278
diff changeset
   656
\ examples/Makefile.in\
9b69f2fabafe added config.py.in, filled by configure, so that python program using objdictedit can gat compilation params. Reomved old dead files.
etisserant
parents: 278
diff changeset
   657
\ objdictgen/canfestival_config.py.in
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   658
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   659
# Drivers dependent Makefiles
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   660
if [ "$SUB_TIMERS_DRIVER" != "" ]; then
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   661
	MAKEFILES=$MAKEFILES\
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   662
\	drivers/timers_$SUB_TIMERS_DRIVER/Makefile.in
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   663
fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   664
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   665
if [ "$SUB_CAN_DRIVER" != "" ]; then
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   666
	MAKEFILES=$MAKEFILES\
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   667
\	drivers/can_$SUB_CAN_DRIVER/Makefile.in
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   668
fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   669
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   670
# Target dependent Makefiles
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   671
MAKEFILES=$MAKEFILES\ drivers/$SUB_TARGET/Makefile.in
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   672
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   673
if [ "$SUB_TARGET" = "unix" ]; then
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   674
	MAKEFILES=$MAKEFILES\
381
854c43cdc24a added TestMasterSlaveLSS. LSS protocol revised.
groke6
parents: 376
diff changeset
   675
\	examples/TestMasterSlave/Makefile.in\
854c43cdc24a added TestMasterSlaveLSS. LSS protocol revised.
groke6
parents: 376
diff changeset
   676
\	examples/TestMasterSlaveLSS/Makefile.in
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   677
fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   678
166
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents: 145
diff changeset
   679
if [ "$SUB_TARGET" = "unix" ]; then
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents: 145
diff changeset
   680
	MAKEFILES=$MAKEFILES\
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents: 145
diff changeset
   681
\	examples/TestMasterMicroMod/Makefile.in
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents: 145
diff changeset
   682
fi
b6fbc1c59a44 Added a MicroMod Master sample in examples/TestMasterMicroMod. Fixed some SDO abort code and callback problem in sdo.c.
etisserant
parents: 145
diff changeset
   683
267
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   684
if [ "$SUB_TARGET" = "win32" ]; then
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   685
	MAKEFILES=$MAKEFILES\
329
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   686
\	examples/TestMasterSlave/Makefile.in\
381
854c43cdc24a added TestMasterSlaveLSS. LSS protocol revised.
groke6
parents: 376
diff changeset
   687
\	examples/TestMasterSlaveLSS/Makefile.in\
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   688
\	examples/TestMasterMicroMod/Makefile.in
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   689
fi
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   690
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   691
if [ "$SUB_WX" = "1" ]; then
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   692
	MAKEFILES=$MAKEFILES\
329
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   693
\	examples/DS401_Master/Makefile.in\
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   694
\	examples/DS401_Slave_Gui/Makefile.in
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   695
fi
267
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   696
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   697
if [ "$SUB_TARGET" = "hcs12" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   698
	MAKEFILES=$MAKEFILES\
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   699
\	examples/gene_SYNC_HCS12/Makefile.in
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   700
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   701
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   702
for makefile_in in $MAKEFILES; do
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   703
	makefile=`echo $makefile_in | sed 's:.in$::'`
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   704
	echo "Creating $makefile"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   705
	sed < $makefile_in "
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   706
	s:SUB_CC:${CC}:
329
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   707
	s:SUB_CXX:${CXX}:
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   708
	s:SUB_LD:${LD}:
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   709
	s:SUB_PROG_CFLAGS:${SUB_PROG_CFLAGS}:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   710
	s:SUB_EXE_CFLAGS:${SUB_EXE_CFLAGS}:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   711
	s:SUB_PREFIX:${SUB_PREFIX}:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   712
	s:SUB_OS_NAME:${SUB_OS_NAME}:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   713
	s:SUB_ARCH_NAME:${SUB_ARCH_NAME}:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   714
	s:SUB_OPT_CFLAGS:${SUB_OPT_CFLAGS}:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   715
	s:SUB_TARGET:${SUB_TARGET}:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   716
	s:SUB_BINUTILS_PREFIX:${SUB_BINUTILS_PREFIX}:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   717
	s:SUB_TIMERS_DRIVER:timers_${SUB_TIMERS_DRIVER}:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   718
	s:SUB_CAN_DRIVER:can_${SUB_CAN_DRIVER}:
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   719
	s:SUB_CAN_DLL_CFLAGS:${SUB_CAN_DLL_CFLAGS}:
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   720
	s:SUB_ENABLE_DLL_DRIVERS:${SUB_ENABLE_DLL_DRIVERS}:
343
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   721
	s:SUB_ENABLE_LSS:${SUB_ENABLE_LSS}:
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   722
	s:SUB_WX:${SUB_WX}:
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   723
	" > $makefile
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   724
done
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   725
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   726
echo "All done."