configure
author Edouard Tisserant
Mon, 23 Apr 2018 12:32:03 +0200
changeset 805 570e3a444023
parent 803 cb315e75b3bd
child 806 b9f1fcda7d30
permissions -rwxr-xr-x
Workaround Alchemy task not beeing waken up when closing file descriptor it is waiting on, sequel of Xenomai3 all posix file ops
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
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
     5
# Based on Gabriel Gerhardsson's cacheprobe configure script.
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
     6
#
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
     7
# This file is part of CanFestival, a library implementing CanOpen Stack.
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
     8
#
0
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.
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
    13
#
0
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.
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
    18
#
0
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
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
    22
#
0
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
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
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
694
8dd1e58b3815 There is no English word "transfert". Fix all the typos.
JaFojtik
parents: 674
diff changeset
    31
# max bytes to transmit by SDO Put 4 if you only support expedited transfer.
8dd1e58b3815 There is no English word "transfert". Fix all the typos.
JaFojtik
parents: 674
diff changeset
    32
#For a normal transfer, (usually for a string), put the maximum string size to transfer.
8dd1e58b3815 There is no English word "transfert". Fix all the typos.
JaFojtik
parents: 674
diff changeset
    33
SDO_MAX_LENGTH_TRANSFER=32
8dd1e58b3815 There is no English word "transfert". Fix all the typos.
JaFojtik
parents: 674
diff changeset
    34
8dd1e58b3815 There is no English word "transfert". Fix all the typos.
JaFojtik
parents: 674
diff changeset
    35
# For block transfer, number of segments transmitted at once.
664
a03f0aa7d219 CHANGE: SDO block mode added, without CRC support
fbeaulier
parents: 629
diff changeset
    36
# SDO_BLOCK_SIZE CAN frames must fit into the CAN Tx buffer
a03f0aa7d219 CHANGE: SDO block mode added, without CRC support
fbeaulier
parents: 629
diff changeset
    37
SDO_BLOCK_SIZE=16
a03f0aa7d219 CHANGE: SDO block mode added, without CRC support
fbeaulier
parents: 629
diff changeset
    38
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
    39
# 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
    40
#for a slave node, usually put 1.
694
8dd1e58b3815 There is no English word "transfert". Fix all the typos.
JaFojtik
parents: 674
diff changeset
    41
SDO_MAX_SIMULTANEOUS_TRANSFERS=4
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    42
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
    43
# Used for NMTable[bus][nodeId]
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    44
# You can put less of 128 if on the netwo
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    45
# are connected only smaller nodeId node.
267
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
    46
NMT_MAX_NODE_ID=128
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    47
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    48
#Timeout in milliseconds for SDO.
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    49
#    Comment the #define if not used (infinite wait for SDO response message)
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    50
SDO_TIMEOUT_MS=3000
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    51
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    52
MAX_NB_TIMER=32
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    53
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
    54
# Generic timers declaration defaults
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
    55
US_TO_TIMEVAL_FACTOR=
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
    56
TIMEVAL=
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
    57
TIMEVAL_MAX=
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
    58
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    59
# Default to little-endian
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    60
CANOPEN_BIG_ENDIAN=
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    61
284
24bf3d692993 Implemented EMCY objects.
luis
parents: 279
diff changeset
    62
# Max number of active errors managed in error_data structure.
24bf3d692993 Implemented EMCY objects.
luis
parents: 279
diff changeset
    63
EMCY_MAX_ERRORS=8
24bf3d692993 Implemented EMCY objects.
luis
parents: 279
diff changeset
    64
360
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
    65
#Timeout in milliseconds for LSS.
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
    66
LSS_TIMEOUT_MS=1000
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
    67
#Timeout in milliseconds for LSS FastScan.
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
    68
LSS_FS_TIMEOUT_MS=100
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
    69
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    70
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    71
#                             DEFAULT BUILD OPTIONS                       #
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    72
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    73
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    74
#default target
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    75
SUB_TARGET=
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    76
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    77
# First compiler option - we will check if it exists
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    78
CC1=gcc
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    79
# Second compiler option - we will check if it exists
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    80
CC2=cc
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    81
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    82
# Install prefix
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    83
SUB_PREFIX=
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    84
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
    85
# Used for C compiler test/detection
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    86
CFLAGS=
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    87
test=conftest
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    88
rm -f $test $test.c
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    89
278
9d41c53dadac Typo in configure
etisserant
parents: 275
diff changeset
    90
if [ "$XENO_CONFIG" = "" ]; then
736
a915095ab9e7 Adapted path to xeno-config.
Christian Taedcke <hacking@taedcke.com>
parents: 698
diff changeset
    91
	XENO_CONFIG=xeno-config
190
3248a2d6bb0b Let user choose his own XENO_CONFIG.
etisserant
parents: 166
diff changeset
    92
fi
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    93
454
bc000083297a - add RTAI support
greg
parents: 412
diff changeset
    94
if [ "$RTAI_CONFIG" = "" ]; then
bc000083297a - add RTAI support
greg
parents: 412
diff changeset
    95
	RTAI_CONFIG=/usr/realtime/bin/rtai-config
bc000083297a - add RTAI support
greg
parents: 412
diff changeset
    96
fi
bc000083297a - add RTAI support
greg
parents: 412
diff changeset
    97
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    98
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
    99
#                          ARGUMENTS PARSING                              #
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   100
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   101
while [ $# -ge 1 ]; do
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   102
	optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   103
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   104
	case $1 in
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   105
	--cc=*)		CC=$optarg;;
341
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   106
	--cxx=*)	CXX=$optarg;;
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   107
	--ld=*)		LD=$optarg;;
473
8cecdb44533e Added --binutils configure parameter : "--binutils=path Override binutils path detection (as regards $CC content) "
etisserant
parents: 467
diff changeset
   108
	--binutils=*)   BINUTILS_PREFIX=$optarg;;
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   109
	--arch=*)	SUB_ARCH_NAME=$optarg;;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   110
	--os=*)		SUB_OS_NAME=$optarg;;
391
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 381
diff changeset
   111
	--kerneldir=*)	SUB_KERNELDIR=$optarg;;
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   112
	--prefix=*)	SUB_PREFIX=$optarg;;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   113
	--target=*)	SUB_TARGET=$optarg;;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   114
	--can=*)	SUB_CAN_DRIVER=$optarg;;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   115
	--timers=*)	SUB_TIMERS_DRIVER=$optarg;;
398
c928fd8cb759 added configure option to force Wx detection.
etisserant
parents: 391
diff changeset
   116
	--wx=*)		SUB_WX=$optarg;
c928fd8cb759 added configure option to force Wx detection.
etisserant
parents: 391
diff changeset
   117
			echo "Forced wx detection to $optarg";;
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   118
	--disable-Ox)	DISABLE_OPT=1;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   119
			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
   120
	--disable-dll)	DISABLE_DLL=1;
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   121
			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
   122
	--enable-lss)	ENABLE_LSS=1;
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   123
			echo "On user request: LSS services enabled";;
360
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   124
	--enable-lss-fs)	ENABLE_LSS_FS=1;
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   125
			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
   126
	--debug=*)	DEBUG=$optarg;;
363
40b351ab5a93 fixed configure command line constant specification bug. Thanks to Jorge.
etisserant
parents: 360
diff changeset
   127
	--MAX_CAN_BUS_ID=*)	MAX_CAN_BUS_ID=$optarg;;
694
8dd1e58b3815 There is no English word "transfert". Fix all the typos.
JaFojtik
parents: 674
diff changeset
   128
	--SDO_MAX_LENGTH_TRANSFER=*)	SDO_MAX_LENGTH_TRANSFER=$optarg;;
664
a03f0aa7d219 CHANGE: SDO block mode added, without CRC support
fbeaulier
parents: 629
diff changeset
   129
	--SDO_BLOCK_SIZE=*)	SDO_BLOCK_SIZE=$optarg;;
694
8dd1e58b3815 There is no English word "transfert". Fix all the typos.
JaFojtik
parents: 674
diff changeset
   130
	--SDO_MAX_SIMULTANEOUS_TRANSFERS=*)	SDO_MAX_SIMULTANEOUS_TRANSFERS=$optarg;;
363
40b351ab5a93 fixed configure command line constant specification bug. Thanks to Jorge.
etisserant
parents: 360
diff changeset
   131
	--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
   132
	--SDO_TIMEOUT_MS=*)	SDO_TIMEOUT_MS=$optarg;;
40b351ab5a93 fixed configure command line constant specification bug. Thanks to Jorge.
etisserant
parents: 360
diff changeset
   133
	--CANOPEN_BIG_ENDIAN=*)	CANOPEN_BIG_ENDIAN=$optarg;;
40b351ab5a93 fixed configure command line constant specification bug. Thanks to Jorge.
etisserant
parents: 360
diff changeset
   134
	--MAX_NB_TIMER=*) MAX_NB_TIMER=$optarg;;
40b351ab5a93 fixed configure command line constant specification bug. Thanks to Jorge.
etisserant
parents: 360
diff changeset
   135
	--EMCY_MAX_ERRORS=*) EMCY_MAX_ERRORS=$optarg;;
360
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   136
	--LSS_TIMEOUT_MS=*)	LSS_TIMEOUT_MS=$optarg;;
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   137
	--LSS_FS_TIMEOUT_MS=*)	LSS_FS_TIMEOUT_MS=$optarg;;
341
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   138
	--help)
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   139
		echo	"Usage: ./configure [options]"
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   140
		echo	"Options:"
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   141
		echo 	" --cc=foo      Use C compiler 'foo' instead of defaults ${CC1} or ${CC2}."
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   142
		echo 	" --cxx=foo     Use C++ compiler 'foo' instead of defaults g++."
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   143
		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
   144
		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
   145
		echo 	" --os=foo      Use operative system 'foo' instead of trying to autodetect."
391
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 381
diff changeset
   146
		echo 	" --kerneldir=foo   Use 'foo' as kernel source directory instead of default"
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   147
		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
   148
		echo 	" --target=foo  Use 'foo' as build target."
341
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   149
		echo	"               \"unix\" for unix-like systems (Linux, Cygwin)"
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   150
		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
   151
		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
   152
		echo 	" --can=foo	Use 'foo' as CAN driver"
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   153
		echo	"               \"anagate_linux\" use AnaGate CAN(duo) driver for linux"
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   154
		echo	"               \"anagate_win32\" use AnaGate CAN(duo) driver for win32"
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   155
		echo	"               \"peak_linux\" use Linux build host installed Peak driver and library"
341
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   156
		echo	"                 see http://www.peak-system.com/linux/"
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   157
		echo	"               \"peak_win32\" use win32 PcanLight Peak driver and library with Cygwin"
341
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   158
		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
   159
		echo	"               \"virtual\" use unix pipe based virtual can driver"
391
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 381
diff changeset
   160
		echo	"               \"virtual_kernel\" use kernel module virtual can driver"
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   161
		echo	"               \"socket\" use socket-can  "
341
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   162
		echo	"                 see http://developer.berlios.de/projects/socketcan/"
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   163
		echo	"               \"lincan\" lincan driver"
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   164
		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
   165
		echo	"               \"can4linux\" can4linux driver"
17edd8a028fa Added can4linux driver support.
groke6
parents: 363
diff changeset
   166
		echo	"                 see http://www.port.de/engl/canprod/hw_can4linux.html"
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   167
		echo	"               \"copcican_linux\" user space driver interface for CO-PCICAN card"
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   168
		echo	"                 see http://www.cosateq.com/"
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   169
		echo	"               \"copcican_comedi\" COMEDI driver interface for CO-PCICAN card"
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   170
		echo	"                 see http://www.cosateq.com/"
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   171
		echo 	" --timers=foo  Use 'foo' as TIMERS driver (can be 'unix', 'xeno', 'rtai', 'kernel' or 'kernel_xeno')"
473
8cecdb44533e Added --binutils configure parameter : "--binutils=path Override binutils path detection (as regards $CC content) "
etisserant
parents: 467
diff changeset
   172
		echo 	" --wx=foo      Force result of WxWidgets detection (0 or 1)"
8cecdb44533e Added --binutils configure parameter : "--binutils=path Override binutils path detection (as regards $CC content) "
etisserant
parents: 467
diff changeset
   173
		echo 	" --binutils=path   Override binutils path detection (as regards \$CC content)"
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   174
		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
   175
		echo 	" --enable-lss  Enable the LSS services"
360
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   176
		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
   177
		echo	" --disable-Ox  Disable gcc \"-Ox\" optimizations."
329
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   178
		echo	" --debug=foo,foo,..   Enable debug messages, ERR -> only errors, WAR)."
341
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   179
		echo	"               \"PDO\" send errors and warnings through PDO messages"
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   180
		echo	"               \"ERR\" print errors only, to stdout"
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   181
		echo	"               \"WAR\" print errors and warnings, to stdout"
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   182
		echo	"               \"MSG\" print messages content, to stdout"
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   183
		echo
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   184
		echo	"Stack compilation constants"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   185
		echo	" --MAX_CAN_BUS_ID [=1] Number of can bus to use"
694
8dd1e58b3815 There is no English word "transfert". Fix all the typos.
JaFojtik
parents: 674
diff changeset
   186
		echo	" --SDO_MAX_LENGTH_TRANSFER [=32] max bytes to transmit by SDO"
8dd1e58b3815 There is no English word "transfert". Fix all the typos.
JaFojtik
parents: 674
diff changeset
   187
		echo	" --SDO_BLOCK_SIZE [=16] max CAN frames transmitted at once for block transfer"
8dd1e58b3815 There is no English word "transfert". Fix all the typos.
JaFojtik
parents: 674
diff changeset
   188
		echo	" --SDO_MAX_SIMULTANEOUS_TRANSFERS [=4] Number of SDO that the node can manage concurrently"
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   189
		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
   190
		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
   191
		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
   192
		echo	" --LSS_TIMEOUT_MS [=1000] Timeout in milliseconds for LSS services."
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   193
		echo	"                          LSS must be enabled with \"--enable-lss\""
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   194
		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
   195
		echo	"                            LSS FastScan must be enabled with \"--enable-lss-fs\""
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   196
		exit 0;;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   197
	*)		echo "Unknown argument ${1}"; exit -1;;
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   198
	esac
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   199
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   200
	shift
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   201
done
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   202
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   203
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   204
#                              GUESS OS/ARCH                              #
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   205
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   206
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   207
if [ "$SUB_OS_NAME" = "" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   208
	SUB_OS_NAME="`(uname -s | sed \"s/\//-/\" | sed \"s/_/-/\" \
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   209
			| sed \"s/-.*//g\") 2>&1`"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   210
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   211
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   212
if [ "$SUB_ARCH_NAME" = "" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   213
	if [ "$CC" = "" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   214
		A_NAME="`(uname -m) 2>&1`"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   215
	else
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   216
		A_NAME="`$CC -dumpmachine | sed 's:-.*::'`"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   217
	fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   218
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   219
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   220
# x86
341
7ff01f109bbc Windows related enhancements
etisserant
parents: 331
diff changeset
   221
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
   222
	SUB_ARCH_NAME=x86
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   223
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   224
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   225
# x86_64
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   226
if [ "$A_NAME" = "x86_64" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   227
	SUB_ARCH_NAME=x86_64
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   228
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   229
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   230
# ppc
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   231
if [ "$A_NAME" = "powerpc" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   232
	SUB_ARCH_NAME=ppc
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   233
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   234
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   235
# ppc64
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   236
if [ "$A_NAME" = "powerpc64" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   237
	SUB_ARCH_NAME=ppc64
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   238
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   239
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   240
# arm
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   241
if [ "$A_NAME" = "arm" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   242
	SUB_ARCH_NAME=arm
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   243
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   244
376
b082ffeef254 little fix on arch detection when using mingw32-only compiler from within cygwin's bash
etisserant
parents: 364
diff changeset
   245
# mingw32
b082ffeef254 little fix on arch detection when using mingw32-only compiler from within cygwin's bash
etisserant
parents: 364
diff changeset
   246
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
   247
	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
   248
fi
b082ffeef254 little fix on arch detection when using mingw32-only compiler from within cygwin's bash
etisserant
parents: 364
diff changeset
   249
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   250
if [ "$SUB_ARCH_NAME" = "" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   251
	echo "Error: could not detect what architecture this system is running!"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   252
	echo "Please supply manually instead with \"--arch=foo\""
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   253
	exit -1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   254
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   255
376
b082ffeef254 little fix on arch detection when using mingw32-only compiler from within cygwin's bash
etisserant
parents: 364
diff changeset
   256
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
   257
echo "Host arch: ${SUB_ARCH_NAME}"
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   258
200
930be51ddc24 Big Endian fixes.
etisserant
parents: 195
diff changeset
   259
if [ "$SUB_ARCH_NAME" = "ppc" -o "$SUB_ARCH_NAME" = "powerpc" ]; then
930be51ddc24 Big Endian fixes.
etisserant
parents: 195
diff changeset
   260
	# PowerPC uses big endian format
930be51ddc24 Big Endian fixes.
etisserant
parents: 195
diff changeset
   261
	CANOPEN_BIG_ENDIAN=1
930be51ddc24 Big Endian fixes.
etisserant
parents: 195
diff changeset
   262
fi
930be51ddc24 Big Endian fixes.
etisserant
parents: 195
diff changeset
   263
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   264
###########################################################################
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   265
#                      DEFAULT TARGET/DRIVERS GUESSING                    #
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   266
###########################################################################
400
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   267
# If target not specified, try to guess one
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   268
if [ "$SUB_TARGET" = "" ]; then
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   269
	if [ "$SUB_OS_NAME" = "CYGWIN" ]; then
38
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   270
		echo "Choosing unix (cygwin) target"
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   271
		SUB_TARGET=unix
267
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   272
	fi
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   273
	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
   274
		echo "Choosing unix target"
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   275
		SUB_TARGET=unix
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   276
	fi
267
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   277
	if [ "$SUB_OS_NAME" = "MINGW32" ]; then
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   278
		echo "Choosing windows target"
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   279
		SUB_TARGET=win32
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   280
	fi
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   281
fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   282
400
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   283
# Try to guess can
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   284
if [ "$SUB_CAN_DRIVER" = "" ]; then
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   285
	if [ "$SUB_TARGET" = "unix" ]; then
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   286
		if [ -e /usr/lib/libpcan.so ]; then
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   287
			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
   288
			SUB_CAN_DRIVER=peak_linux
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   289
		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
   290
			echo "Choosing installed Peak driver as CAN driver."
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   291
			SUB_CAN_DRIVER=peak_win32
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   292
		elif [ -e /usr/lib/libcanlib.so ]; then
400
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   293
			echo "Choosing installed Kvaser driver as CAN driver. (unix)"
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   294
			SUB_CAN_DRIVER=kvaser
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   295
		elif [ -e /usr/local/lib/libAnaGateAPIDLL.so ]; then
494
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   296
			echo "Choosing installed AnaGate driver as CAN driver. (unix)"
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   297
			SUB_CAN_DRIVER=anagate_linux
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   298
		elif [ -e /usr/local/lib/libcanfestival_can_copcican_linux.so ]; then
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   299
			echo "Choosing installed CO-PCICAN driver as CAN driver. (unix)"
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   300
			SUB_CAN_DRIVER=copcican_linux
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   301
		elif [ -e /usr/local/lib/libcanfestival_can_copcican_comedi.so ]; then
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   302
			echo "Choosing installed CO-PCICAN driver as CAN driver. (unix)"
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   303
			SUB_CAN_DRIVER=copcican_comedi
400
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   304
		elif [ "$SUB_OS_NAME" = "CYGWIN" -a "$KVASER_DLL_PATH" != "" ]; then
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   305
			echo "Choosing installed Kvaser driver as CAN driver. (cygwin)"
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   306
			SUB_CAN_DRIVER=kvaser
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   307
		else
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   308
			echo "Choosing virtual CAN driver."
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   309
			SUB_CAN_DRIVER=virtual
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   310
		fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   311
	fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   312
fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   313
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   314
# 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
   315
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
   316
	echo "Choosing unix timers driver."
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   317
	SUB_TIMERS_DRIVER=unix
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   318
fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   319
267
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   320
# If target is windows, default timers also
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   321
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
   322
	echo "Choosing windows timers driver."
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   323
	SUB_TIMERS_DRIVER=win32
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   324
fi
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   325
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   326
# 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
   327
if [ "$SUB_CAN_DRIVER" = "peak" ]; then
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   328
	if [ ! -e /usr/lib/libpcan.so ]; then
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   329
		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
   330
		exit -1
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   331
	fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   332
fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   333
494
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   334
# Warn for unstalled peak driver if choosen
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   335
if [ "$SUB_CAN_DRIVER" = "anagate_linux" ]; then
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   336
	if [ ! -e /usr/local/lib/libAnaGateAPIDLL.so ]; then
494
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   337
		echo "AnaGateCAN driver hasn't been installed !"
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   338
		exit -1
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   339
	fi
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   340
fi
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   341
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   342
# Warn for unstalled CO-PCICAN driver if choosen
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   343
if [ "$SUB_CAN_DRIVER" = "copcican_linux" ]; then
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   344
	if [ ! -e /usr/local/lib/libcanfestival_can_copcican_linux.so ]; then
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   345
		echo "CO-PCICAN driver hasn't been installed !"
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   346
		exit -1
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   347
	fi
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   348
fi
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   349
400
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   350
# Warn for unstalled kvaser driver if choosen
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   351
if [ "$SUB_CAN_DRIVER" = "kvaser" ]; then
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   352
	if [ "$SUB_OS_NAME" = "CYGWIN" ]; then
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   353
        if [ ! -e "$KVASER_DLL_PATH/canlib32.dll" ]; then
400
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   354
            echo "Kvaser driver hasn't been installed (cygwin)"
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   355
            exit -1
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   356
        fi
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   357
    elif  [ "$SUB_OS_NAME" = "LINUX" ]; then
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   358
        if [ ! -e /usr/lib/libcanlib.so ]; then
400
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   359
            echo "Kvaser driver hasn't been installed (unix)"
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   360
            exit -1
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   361
        fi
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   362
	fi
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   363
fi
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   364
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   365
###########################################################################
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   366
#              TARGET/DRIVER SPECIFIC CFLAGS and OPTIONS                  #
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   367
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   368
if [ "$SUB_TARGET" = "hcs12" ]; then
360
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   369
	# Only if we want to compile for a C HCS12
81
9ea761516104 hcs12 is big_endian
frdupin
parents: 77
diff changeset
   370
       # it is a big endian architecture.
9ea761516104 hcs12 is big_endian
frdupin
parents: 77
diff changeset
   371
       CANOPEN_BIG_ENDIAN=1
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   372
	# search for gcc hcs12 compiler m6811-elf-gcc or m68hc12-gcc ?
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   373
	if [ "$CC" = "" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   374
		which m6811-elf-gcc >/dev/null 2>&1
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   375
		if (( $? )); then
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   376
			which m68hc12-gcc >/dev/null 2>&1
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   377
			if (( $? )); then
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   378
				echo "Please use --cc flag to specify compiler"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   379
				exit 0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   380
			else
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   381
				CC=m68hc12-gcc
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   382
			fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   383
		else
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   384
			CC=m6811-elf-gcc
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   385
			SUB_PROG_CFLAGS=-m68hc12
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   386
		fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   387
	fi
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   388
fi
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   389
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   390
#### CAN_DRIVER ####
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   391
400
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   392
if [ "$SUB_CAN_DRIVER" = "kvaser" ]; then
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   393
	if [ "$SUB_TARGET" = "unix" ]; then
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   394
        if  [ "$SUB_OS_NAME" = "LINUX" ]; then
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   395
            SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ -lcanlib
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   396
		elif [ "$SUB_OS_NAME" = "CYGWIN" ]; then
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   397
	        if [ "$KVASER_INCLUDE_PATH" = "" -o "$KVASER_DLL_PATH" = "" ]; then
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   398
		        echo "!!! ERROR !!! Please set KVASER_DLL_PATH and KVASER_INCLUDE_PATH to appropriate paths ! "
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   399
            else
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   400
                SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ -L$KVASER_DLL_PATH\ -lcanlib32
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   401
                SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -I$KVASER_INCLUDE_PATH
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   402
            fi
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   403
        fi
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   404
    fi
400
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   405
fi
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   406
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   407
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
   408
    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
   409
fi
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   410
494
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   411
if [ "$SUB_CAN_DRIVER" = "anagate_linux" ]; then
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   412
    SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ -lAnaGateAPIDLL
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   413
    SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ -lAnaCommon
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   414
fi
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   415
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   416
455
26f762d4116d Add support for USB-CAN devices from VScom
greg
parents: 454
diff changeset
   417
if [ "$SUB_CAN_DRIVER" = "vscom" ]; then
674
352c42b20441 FIXED: - adapted paths for current vscom driver
Christian Taedcke <hacking@taedcke.com>
parents: 673
diff changeset
   418
    if  [ "$SUB_OS_NAME" = "Linux" ]; then
352c42b20441 FIXED: - adapted paths for current vscom driver
Christian Taedcke <hacking@taedcke.com>
parents: 673
diff changeset
   419
	if [ "$SUB_ARCH_NAME" = "x86" ]; then
352c42b20441 FIXED: - adapted paths for current vscom driver
Christian Taedcke <hacking@taedcke.com>
parents: 673
diff changeset
   420
	    SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ -LLinux\ -lvs_can_api
352c42b20441 FIXED: - adapted paths for current vscom driver
Christian Taedcke <hacking@taedcke.com>
parents: 673
diff changeset
   421
        elif [ "$SUB_ARCH_NAME" = "x86_64" ]; then
352c42b20441 FIXED: - adapted paths for current vscom driver
Christian Taedcke <hacking@taedcke.com>
parents: 673
diff changeset
   422
	    SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ -L\'Linux\ x86-64\'\ -lvs_can_api_x86-64
352c42b20441 FIXED: - adapted paths for current vscom driver
Christian Taedcke <hacking@taedcke.com>
parents: 673
diff changeset
   423
	else
352c42b20441 FIXED: - adapted paths for current vscom driver
Christian Taedcke <hacking@taedcke.com>
parents: 673
diff changeset
   424
	    echo "!!! ERROR !!! Please adapt the configure script for your SUB_ARCH_NAME" $SUB_ARCH_NAME
352c42b20441 FIXED: - adapted paths for current vscom driver
Christian Taedcke <hacking@taedcke.com>
parents: 673
diff changeset
   425
        fi
352c42b20441 FIXED: - adapted paths for current vscom driver
Christian Taedcke <hacking@taedcke.com>
parents: 673
diff changeset
   426
    else
352c42b20441 FIXED: - adapted paths for current vscom driver
Christian Taedcke <hacking@taedcke.com>
parents: 673
diff changeset
   427
	echo "!!! ERROR !!! Please adapt the configure script for your SUB_OS_NAME" $SUB_OS_NAME
352c42b20441 FIXED: - adapted paths for current vscom driver
Christian Taedcke <hacking@taedcke.com>
parents: 673
diff changeset
   428
    fi
455
26f762d4116d Add support for USB-CAN devices from VScom
greg
parents: 454
diff changeset
   429
fi
26f762d4116d Add support for USB-CAN devices from VScom
greg
parents: 454
diff changeset
   430
494
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   431
if [ "$SUB_CAN_DRIVER" = "anagate_win32" ]; then
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   432
    SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ -lAnaGateCan
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   433
fi
aa36efce6e78 add anagate device support in CanFestival
greg
parents: 473
diff changeset
   434
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   435
PW32DIR=drivers/can_peak_win32
38
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   436
if [ "$SUB_CAN_DRIVER" = "peak_win32" ]; then
400
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   437
	if [ "$PCAN_HEADER" = "" -o "$PCAN_LIB" = "" ]; then
38
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   438
		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
   439
	fi
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   440
   	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
   441
	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
   442
	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
   443
	echo >> $PW32DIR/cancfg.h
41
e70439f50539 First working cygwin/pcan_light commit. can_peak_win32.c is obfuscated.
etisserant
parents: 40
diff changeset
   444
	# second port handling
e70439f50539 First working cygwin/pcan_light commit. can_peak_win32.c is obfuscated.
etisserant
parents: 40
diff changeset
   445
	if [ "$PCAN2_HEADER" != "" ]; then
e70439f50539 First working cygwin/pcan_light commit. can_peak_win32.c is obfuscated.
etisserant
parents: 40
diff changeset
   446
		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
   447
		echo >> $PW32DIR/cancfg.h
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   448
		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
   449
		echo >> $PW32DIR/cancfg.h
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   450
		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
   451
		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
   452
	   	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
   453
	fi
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   454
	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
   455
		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
   456
		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
   457
		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
   458
	fi
331
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 329
diff changeset
   459
	if ! grep -q CAN_Init $PW32DIR/cancfg.h ; then
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 329
diff changeset
   460
		echo "Pcan Light header/lib is for second port of device only"
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 329
diff changeset
   461
		echo "CAN_* calls redefined to CAN2_* "
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 329
diff changeset
   462
		echo '#define CAN_Init CAN2_Init' >> $PW32DIR/cancfg.h
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 329
diff changeset
   463
		echo '#define CAN_Read CAN2_Read' >> $PW32DIR/cancfg.h
564
81b92b8ec2b5 Add new function defines to compile peak driver on win32
greg
parents: 555
diff changeset
   464
		echo '#define CAN_ReadEx CAN2_ReadEx' >> $PW32DIR/cancfg.h
81b92b8ec2b5 Add new function defines to compile peak driver on win32
greg
parents: 555
diff changeset
   465
		echo '#define CAN_SetRcvEvent CAN2_SetRcvEvent' >> $PW32DIR/cancfg.h
331
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 329
diff changeset
   466
		echo '#define CAN_Write CAN2_Write' >> $PW32DIR/cancfg.h
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 329
diff changeset
   467
		echo '#define CAN_Close CAN2_Close' >> $PW32DIR/cancfg.h
da55aa2f9e64 Minor changes, mostly PCAN/windows related.
etisserant
parents: 329
diff changeset
   468
	fi
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   469
	cat $PW32DIR/cancfg.h.tail >> $PW32DIR/cancfg.h
38
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   470
fi
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   471
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   472
if [ "$SUB_CAN_DRIVER" = "none" ]; then
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   473
	SUB_CAN_DRIVER=
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   474
fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   475
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   476
#### TIMERS_DRIVER ####
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   477
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   478
if [ "$SUB_TIMERS_DRIVER" = "unix" ]; then
38
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   479
	if [ "$SUB_OS_NAME" != "CYGWIN" ]; then
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   480
	   SUB_EXE_CFLAGS=$SUB_EXE_CFLAGS\ -lpthread\ -lrt
9b5bb1dcb4f5 Cygwin port. Still untested. Compiles and link.
etisserant
parents: 32
diff changeset
   481
	fi
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   482
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   483
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   484
if [ "$SUB_TIMERS_DRIVER" = "xeno" ]; then
803
cb315e75b3bd Fixed trailing -lrtdm added by configure with Xenomai
Edouard Tisserant
parents: 800
diff changeset
   485
    SUB_EXE_CFLAGS=$SUB_EXE_CFLAGS\ `$XENO_CONFIG --skin=alchemy --skin=rtdm --ldflags`\ 
800
f0d16976e46e Update call to xeno-config in configure to Xenomai 3
Edouard Tisserant
parents: 769
diff changeset
   486
	SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DUSE_XENO\ `$XENO_CONFIG --skin=alchemy --skin=rtdm --cflags`
454
bc000083297a - add RTAI support
greg
parents: 412
diff changeset
   487
    RTCAN_SOCKET=1
bc000083297a - add RTAI support
greg
parents: 412
diff changeset
   488
fi
bc000083297a - add RTAI support
greg
parents: 412
diff changeset
   489
bc000083297a - add RTAI support
greg
parents: 412
diff changeset
   490
if [ "$SUB_TIMERS_DRIVER" = "rtai" ]; then
bc000083297a - add RTAI support
greg
parents: 412
diff changeset
   491
	RT_LIB_DIR=`$RTAI_CONFIG --library-dir`\ -Wl,-rpath\ `$RTAI_CONFIG --library-dir`
749
5cbb8e9ad67c Changed configure to compile on Debian with the latest RTAI patch installed (removed rtdm library in compiler flags)
mwildbolz
parents: 736
diff changeset
   492
    SUB_EXE_CFLAGS=$SUB_EXE_CFLAGS\ `$RTAI_CONFIG --lxrt-ldflags`\ -L$RT_LIB_DIR\ -llxrt
454
bc000083297a - add RTAI support
greg
parents: 412
diff changeset
   493
	SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DUSE_RTAI\ `$RTAI_CONFIG --lxrt-cflags`
403
57d5da3b6228 add changes in configure to force xeno --library-dir
greg
parents: 400
diff changeset
   494
    RTCAN_SOCKET=1
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   495
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   496
391
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 381
diff changeset
   497
if [ "$SUB_TIMERS_DRIVER" = "kernel" ]; then
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 381
diff changeset
   498
	DISABLE_DLL=1
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 381
diff changeset
   499
	if [ "$SUB_KERNELDIR" = "" ]; then
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 381
diff changeset
   500
		# use directory of current kernel
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 381
diff changeset
   501
		SUB_KERNELDIR=/lib/modules/$(uname -r)/build
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 381
diff changeset
   502
	fi
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 381
diff changeset
   503
fi
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 381
diff changeset
   504
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   505
if [ "$SUB_TIMERS_DRIVER" = "kernel_xeno" ]; then
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   506
	DISABLE_DLL=1
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   507
	if [ "$SUB_KERNELDIR" = "" ]; then
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   508
		# use directory of current kernel
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   509
		SUB_KERNELDIR=/lib/modules/$(uname -r)/build
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   510
	fi
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   511
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   512
	# Also get the xenomai config
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   513
	RT_LIB_DIR=`$XENO_CONFIG --library-dir`\ -Wl,-rpath\ `$XENO_CONFIG --library-dir`
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   514
    SUB_EXE_CFLAGS=$SUB_EXE_CFLAGS\ `$XENO_CONFIG --xeno-ldflags`\ -L$RT_LIB_DIR\ -lnative\ -lrtdm
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   515
	SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DUSE_XENO\ `$XENO_CONFIG --xeno-cflags`
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   516
    RTCAN_SOCKET=1
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   517
fi
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   518
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   519
if [ "$SUB_TIMERS_DRIVER" = "none" ]; then
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   520
	SUB_TIMERS_DRIVER=
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   521
fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   522
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   523
###########################################################################
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   524
#                              GUESS TOOLCHAIN                            #
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   525
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   526
# If CC is empty, the user wanted automatic detection
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   527
if [ "$CC" = "" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   528
	# Check for second compiler, CC2
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   529
	cat > $test.c <<EOF
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   530
	int main() { return 0; }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   531
EOF
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   532
	if test "`($CC2 -c $CFLAGS $test.c) 2>&1`" = ""; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   533
		DETECTCC=$CC2
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   534
		echo "Checking for ${CC2}... Yes."
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   535
	else
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   536
		echo "Checking for ${CC2}... No."
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   537
	fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   538
	rm -f $test.c $test.o
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   539
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   540
	# Check for first compiler, CC1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   541
	cat > $test.c <<EOF
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   542
	int main() { return 0; }
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   543
EOF
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   544
	if test "`($CC1 -c $CFLAGS $test.c) 2>&1`" = ""; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   545
		DETECTCC=$CC1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   546
		echo "Checking for ${CC1}... Yes."
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   547
	else
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   548
		echo "Checking for ${CC1}... No."
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   549
	fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   550
	rm -f $test.c $test.o
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   551
	CC=$DETECTCC
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   552
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   553
# Check if we decided on a compiler after all
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   554
if [ "$CC" = "" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   555
	echo "Error: Could not find a C compiler"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   556
	echo "Please supply the wanted compiler"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   557
	exit -1
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   558
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   559
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   560
echo "Using ${CC} as a C compiler"
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   561
511
34300a28ad27 Bug with x86_64 and gcc without -fPIC cflags fixed
lbessard
parents: 494
diff changeset
   562
if [ "$SUB_ARCH_NAME" = "x86_64" -a "$CC" = "gcc" ]; then
34300a28ad27 Bug with x86_64 and gcc without -fPIC cflags fixed
lbessard
parents: 494
diff changeset
   563
	# Only if we are on x86_64 and using gcc
34300a28ad27 Bug with x86_64 and gcc without -fPIC cflags fixed
lbessard
parents: 494
diff changeset
   564
	# For shared library generation, it needs this
673
f511d955ac30 FIXED: - the macro SUB_PROG_CFLAGS was overwritten for 64bit machines using gcc. Because of this the xenomai compilation failed.
Christian Taedcke <hacking@taedcke.com>
parents: 664
diff changeset
   565
	SUB_PROG_CFLAGS+=\ -fPIC
511
34300a28ad27 Bug with x86_64 and gcc without -fPIC cflags fixed
lbessard
parents: 494
diff changeset
   566
fi
34300a28ad27 Bug with x86_64 and gcc without -fPIC cflags fixed
lbessard
parents: 494
diff changeset
   567
473
8cecdb44533e Added --binutils configure parameter : "--binutils=path Override binutils path detection (as regards $CC content) "
etisserant
parents: 467
diff changeset
   568
if [ "$BINUTILS_PREFIX" = "" ]; then
8cecdb44533e Added --binutils configure parameter : "--binutils=path Override binutils path detection (as regards $CC content) "
etisserant
parents: 467
diff changeset
   569
	SUB_BINUTILS_PREFIX=`echo "$CC" | sed 's/gcc$//'`
8cecdb44533e Added --binutils configure parameter : "--binutils=path Override binutils path detection (as regards $CC content) "
etisserant
parents: 467
diff changeset
   570
else
8cecdb44533e Added --binutils configure parameter : "--binutils=path Override binutils path detection (as regards $CC content) "
etisserant
parents: 467
diff changeset
   571
	SUB_BINUTILS_PREFIX=$BINUTILS_PREFIX
8cecdb44533e Added --binutils configure parameter : "--binutils=path Override binutils path detection (as regards $CC content) "
etisserant
parents: 467
diff changeset
   572
fi
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   573
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   574
if [ "$CXX" = "" ]; then
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   575
	CXX=${SUB_BINUTILS_PREFIX}g++
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   576
fi
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   577
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   578
echo "Using ${CXX} as a C++ compiler"
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   579
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   580
if [ "$SUB_TARGET" = "win32" ]; then
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   581
	# on cygwin/mingw, choose  g++ as a linker for native target
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   582
	if [ "$LD" = "" ]; then
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   583
		LD=$CXX
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   584
	fi
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   585
	if [ "$SUB_OS_NAME" = "CYGWIN" ]; then
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   586
		SUB_PROG_CFLAGS="-mno-cygwin"
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   587
	fi
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   588
fi
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   589
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   590
if [ "$SUB_TARGET" = "unix" ]; then
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   591
	if [ "$LD" = "" ]; then
693
e21822be8189 Applyed changes from discussion '[Canfestival-devel] some minor CanFestival build suggestions', https://sourceforge.net/mailarchive/message.php?msg_id=28397766
Edouard Tisserant
parents: 674
diff changeset
   592
		LD=$CXX
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   593
	fi
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   594
fi
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   595
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   596
echo "Using ${LD} as a linker"
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   597
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   598
# Guess prefix as regard cross compiling target machine
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   599
if [ "$SUB_PREFIX" = "" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   600
	$CC -dumpspecs |grep -A 1 'cross_compile'|grep -q 1
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   601
	if (( $? )); then
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   602
		SUB_PREFIX=/usr/local
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   603
		echo "Not cross-compiling. Will install in $SUB_PREFIX";
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   604
	else
619
96f84395154f Enhancements for 'None' target : produce pre-linked object, remove some windows CRLF problems, fixed pedantic compiler warnings
edouard
parents: 618
diff changeset
   605
		SUB_PREFIX=/usr/`$CC -dumpmachine | tr -d '\r\n'`
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   606
		echo "This is a cross-compiler. Will install in $SUB_PREFIX";
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   607
	fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   608
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   609
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   610
echo "Using prefix: ${SUB_PREFIX}"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   611
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   612
###########################################################################
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   613
#                           GUESS DEPENDENCIES                            #
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   614
###########################################################################
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   615
398
c928fd8cb759 added configure option to force Wx detection.
etisserant
parents: 391
diff changeset
   616
if [ "$SUB_WX" = "" ]; then
c928fd8cb759 added configure option to force Wx detection.
etisserant
parents: 391
diff changeset
   617
	if which wx-config >/dev/null 2>&1; then
c928fd8cb759 added configure option to force Wx detection.
etisserant
parents: 391
diff changeset
   618
		echo -n "Testing wxWidgets compiles ... "
c928fd8cb759 added configure option to force Wx detection.
etisserant
parents: 391
diff changeset
   619
		cat > /tmp/wx_test.cpp <<EOF
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   620
#include "wx/wx.h"
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   621
class MyApp : public wxApp
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   622
{
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   623
};
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   624
IMPLEMENT_APP(MyApp)
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   625
EOF
398
c928fd8cb759 added configure option to force Wx detection.
etisserant
parents: 391
diff changeset
   626
		if $CXX /tmp/wx_test.cpp `wx-config --cxxflags` `wx-config --libs` -o /tmp/wx_test >/dev/null 2>&1 ; then
c928fd8cb759 added configure option to force Wx detection.
etisserant
parents: 391
diff changeset
   627
			SUB_WX=1
c928fd8cb759 added configure option to force Wx detection.
etisserant
parents: 391
diff changeset
   628
			echo "Yes"
c928fd8cb759 added configure option to force Wx detection.
etisserant
parents: 391
diff changeset
   629
		else
c928fd8cb759 added configure option to force Wx detection.
etisserant
parents: 391
diff changeset
   630
			SUB_WX=0
c928fd8cb759 added configure option to force Wx detection.
etisserant
parents: 391
diff changeset
   631
			echo "No"
c928fd8cb759 added configure option to force Wx detection.
etisserant
parents: 391
diff changeset
   632
		fi
c928fd8cb759 added configure option to force Wx detection.
etisserant
parents: 391
diff changeset
   633
		rm -f /tmp/wx_test*
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   634
	else
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   635
		SUB_WX=0
398
c928fd8cb759 added configure option to force Wx detection.
etisserant
parents: 391
diff changeset
   636
		echo "No wxWidgets available"
c928fd8cb759 added configure option to force Wx detection.
etisserant
parents: 391
diff changeset
   637
	fi
c928fd8cb759 added configure option to force Wx detection.
etisserant
parents: 391
diff changeset
   638
fi
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   639
###########################################################################
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   640
#                   CANFESTIVAL DEFINES --> config.h                      #
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   641
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   642
# Some CONSTANTS preparation
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   643
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   644
# Create include/config.h with the relevant contents
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   645
rm -f include/config.h
77
7b552428b48a Add comment in config.h
frdupin
parents: 47
diff changeset
   646
echo "/* !!!!!!!!!! FILE GENERATED by configure. DO NOT EDIT !!!!!!!!!!*/" >>  include/config.h
7b552428b48a Add comment in config.h
frdupin
parents: 47
diff changeset
   647
echo "" >>  include/config.h
7b552428b48a Add comment in config.h
frdupin
parents: 47
diff changeset
   648
echo "/*"\ >>  include/config.h
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   649
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
   650
echo "" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   651
echo "Copyright (C): Edouard TISSERANT and Francis DUPIN" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   652
echo "See COPYING file for copyrights details." >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   653
echo "" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   654
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
   655
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
   656
echo "License as published by the Free Software Foundation; either" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   657
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
   658
echo "" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   659
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
   660
echo "but WITHOUT ANY WARRANTY; without even the implied warranty of" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   661
echo "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   662
echo "Lesser General Public License for more details." >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   663
echo "" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   664
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
   665
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
   666
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
   667
echo "*/" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   668
echo "" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   669
echo "#ifndef _CONFIG_H_" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   670
echo "#define _CONFIG_H_" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   671
echo "" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   672
for i in \
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   673
 MAX_CAN_BUS_ID\
694
8dd1e58b3815 There is no English word "transfert". Fix all the typos.
JaFojtik
parents: 674
diff changeset
   674
 SDO_MAX_LENGTH_TRANSFER\
664
a03f0aa7d219 CHANGE: SDO block mode added, without CRC support
fbeaulier
parents: 629
diff changeset
   675
 SDO_BLOCK_SIZE\
694
8dd1e58b3815 There is no English word "transfert". Fix all the typos.
JaFojtik
parents: 674
diff changeset
   676
 SDO_MAX_SIMULTANEOUS_TRANSFERS\
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   677
 NMT_MAX_NODE_ID\
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   678
 SDO_TIMEOUT_MS\
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   679
 MAX_NB_TIMER\
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   680
 CANOPEN_BIG_ENDIAN\
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   681
 US_TO_TIMEVAL_FACTOR\
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   682
 TIMEVAL\
47
8a1047ab51f4 SOCKET-CAN support added. Many thanks to Jan Kiszka !
etisserant
parents: 42
diff changeset
   683
 TIMEVAL_MAX\
284
24bf3d692993 Implemented EMCY objects.
luis
parents: 279
diff changeset
   684
 RTCAN_SOCKET\
360
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   685
 EMCY_MAX_ERRORS\
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   686
 LSS_TIMEOUT_MS\
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   687
 LSS_FS_TIMEOUT_MS; do
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   688
if [ "${!i}" = "" ]; then
77
7b552428b48a Add comment in config.h
frdupin
parents: 47
diff changeset
   689
echo "/* $i is not defined */" >> include/config.h
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   690
else
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   691
echo "#define $i ${!i}" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   692
fi
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   693
done
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   694
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
   695
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
   696
for i in \
694
8dd1e58b3815 There is no English word "transfert". Fix all the typos.
JaFojtik
parents: 674
diff changeset
   697
 SDO_MAX_SIMULTANEOUS_TRANSFERS\
284
24bf3d692993 Implemented EMCY objects.
luis
parents: 279
diff changeset
   698
 NMT_MAX_NODE_ID\
24bf3d692993 Implemented EMCY objects.
luis
parents: 279
diff changeset
   699
 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
   700
	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
   701
	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
   702
	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
   703
	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
   704
		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
   705
	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
   706
	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
   707
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
   708
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   709
echo "#endif /* _CONFIG_H_ */" >> include/config.h
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   710
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   711
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   712
#                           DEBUG DEFINES/CFLAGS                          #
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   713
###########################################################################
329
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   714
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   715
save_ifs="$IFS"; IFS=','
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   716
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   717
for DEBUG_METHOD in $DEBUG;
329
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   718
	do
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   719
	    IFS="$save_ifs"
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   720
	    case $DEBUG_METHOD in
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   721
	    	ERR)ERR=1;;
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   722
	    	WAR)WAR=1;ERR=1;;
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   723
	    	MSG)MSG=1;;
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   724
	    	PDO)PDO=1;WAR=1;ERR=1;;
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   725
	    	*)echo ""
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   726
	    	  echo "$DEBUG_METHOD is not a valid debug's method"
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   727
	    	  echo "Possible Debug's methods are : \"ERR\", \"WAR\", \"MSG\", \"PDO\""
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   728
	    	  exit -1
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   729
	    	  ;;
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   730
	esac
329
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   731
done
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   732
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   733
if [ $WAR ]; then
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   734
	SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DDEBUG_WAR_CONSOLE_ON;
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   735
fi
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   736
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   737
if [ $ERR ]; then
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   738
	SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DDEBUG_ERR_CONSOLE_ON;
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   739
fi
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   740
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   741
if [ $MSG ]; then
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   742
	SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DDEBUG_MSG_CONSOLE_ON;
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   743
fi
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   744
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   745
if [ $PDO ]; then
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   746
	SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DDEBUG_PDO_CONSOLE_ON;
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   747
fi
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   748
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   749
if [ $DEBUG ]; then
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   750
	SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -g
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   751
fi
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   752
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   753
IFS="$save_ifs"
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   754
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   755
if [ "$DISABLE_OPT" = "1" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   756
	SUB_OPT_CFLAGS=
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   757
else
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   758
	SUB_OPT_CFLAGS=\$\(OPT_CFLAGS\)
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   759
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   760
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   761
if [ "$DISABLE_DLL" = "1" ]; then
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   762
	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
   763
	SUB_ENABLE_DLL_DRIVERS=0
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   764
else
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   765
	SUB_ENABLE_DLL_DRIVERS=1
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   766
	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
   767
		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
   768
	else
fb106ad03770 fix SUB_EXE_CFLAGS in configure to link without "-ldl" when use MINGW
greg
parents: 343
diff changeset
   769
		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
   770
	fi
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   771
145
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   772
fi
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   773
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   774
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   775
if [ "$DISABLE_DLL" = "1" ]; then
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   776
	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
   777
fi
e747d2e26af0 Win32 Native support and dynamicaly loaded CAN drivers for Linux, Cygwin and Win32.
etisserant
parents: 93
diff changeset
   778
343
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   779
if [ $ENABLE_LSS ]; then
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   780
	SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DCO_ENABLE_LSS;
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   781
	SUB_ENABLE_LSS=1
360
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   782
	if [ $ENABLE_LSS_FS ]; then
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   783
		SUB_PROG_CFLAGS=$SUB_PROG_CFLAGS\ -DCO_ENABLE_LSS_FS;
09af3515dd42 Added FastScan support to the LSS services.
groke6
parents: 354
diff changeset
   784
	fi
343
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   785
else
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   786
	SUB_ENABLE_LSS=0
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   787
fi
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   788
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   789
###########################################################################
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   790
#                              CREATE MAKEFILES                           #
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   791
###########################################################################
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   792
# General Makefiles
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   793
MAKEFILES=Makefile.in\
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   794
\ src/Makefile.in\
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   795
\ drivers/Makefile.in\
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   796
\ 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
   797
\ 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
   798
\ objdictgen/canfestival_config.py.in
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   799
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   800
# Drivers dependent Makefiles
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   801
if [ "$SUB_TIMERS_DRIVER" != "" ]; then
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   802
	MAKEFILES=$MAKEFILES\
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   803
\	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
   804
fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   805
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   806
if [ "$SUB_CAN_DRIVER" != "" ]; then
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   807
	MAKEFILES=$MAKEFILES\
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   808
\	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
   809
fi
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   810
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   811
# Target dependent Makefiles
618
564a4a9862b1 added 'none' taget for building standalone library
edouard
parents: 564
diff changeset
   812
if [ "$SUB_TARGET" != "none" ]; then
564a4a9862b1 added 'none' taget for building standalone library
edouard
parents: 564
diff changeset
   813
    MAKEFILES=$MAKEFILES\ drivers/$SUB_TARGET/Makefile.in
564a4a9862b1 added 'none' taget for building standalone library
edouard
parents: 564
diff changeset
   814
fi
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   815
391
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 381
diff changeset
   816
if [ "$SUB_TARGET" = "unix" -a "$SUB_TIMERS_DRIVER" = "kernel" ]; then
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 381
diff changeset
   817
	MAKEFILES=$MAKEFILES\
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   818
\	examples/kerneltest/Makefile.in\
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   819
\	examples/test_copcican_comedi/Makefile.in
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   820
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   821
elif [ "$SUB_TARGET" = "unix" -a "$SUB_TIMERS_DRIVER" = "kernel_xeno" ]; then
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   822
	MAKEFILES=$MAKEFILES\
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   823
\	examples/kerneltest/Makefile.in\
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   824
\	examples/test_copcican_comedi/Makefile.in
391
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 381
diff changeset
   825
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 381
diff changeset
   826
elif [ "$SUB_TARGET" = "unix" ]; then
24
a9543d2ccd56 Linux and BSD now use "unix" target. Generic is for driverless compilation.
etisserant
parents: 15
diff changeset
   827
	MAKEFILES=$MAKEFILES\
555
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents: 511
diff changeset
   828
\	examples/CANOpenShell/Makefile.in\
381
854c43cdc24a added TestMasterSlaveLSS. LSS protocol revised.
groke6
parents: 376
diff changeset
   829
\	examples/TestMasterSlave/Makefile.in\
391
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 381
diff changeset
   830
\	examples/TestMasterSlaveLSS/Makefile.in\
400
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   831
\	examples/SillySlave/Makefile.in\
629
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   832
\	examples/TestMasterMicroMod/Makefile.in\
b9274b595650 CosateQ contribution.
edouard
parents: 619
diff changeset
   833
\	examples/test_copcican_linux/Makefile.in
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
   834
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
   835
267
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   836
if [ "$SUB_TARGET" = "win32" ]; then
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   837
	MAKEFILES=$MAKEFILES\
555
ee24dcbd3e64 Add new example : CANOpen shell
greg
parents: 511
diff changeset
   838
\	examples/CANOpenShell/Makefile.in\
329
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   839
\	examples/TestMasterSlave/Makefile.in\
381
854c43cdc24a added TestMasterSlaveLSS. LSS protocol revised.
groke6
parents: 376
diff changeset
   840
\	examples/TestMasterSlaveLSS/Makefile.in\
400
7d845f5d730c Added Kvaser hardware support, thanks to Giuseppe Massimo Bertani .
etisserant
parents: 398
diff changeset
   841
\	examples/SillySlave/Makefile.in\
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   842
\	examples/TestMasterMicroMod/Makefile.in
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   843
fi
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   844
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   845
if [ "$SUB_WX" = "1" ]; then
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   846
	MAKEFILES=$MAKEFILES\
329
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   847
\	examples/DS401_Master/Makefile.in\
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   848
\	examples/DS401_Slave_Gui/Makefile.in
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   849
fi
267
96c688ebcde7 Add win32 target (--can=win32) to compile with msys and mingw32
greg
parents: 246
diff changeset
   850
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   851
if [ "$SUB_TARGET" = "hcs12" ]; then
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   852
	MAKEFILES=$MAKEFILES\
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   853
\	examples/gene_SYNC_HCS12/Makefile.in
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   854
fi
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   855
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   856
for makefile_in in $MAKEFILES; do
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   857
	makefile=`echo $makefile_in | sed 's:.in$::'`
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   858
	echo "Creating $makefile"
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   859
	sed < $makefile_in "
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   860
	s:SUB_CC:${CC}:
329
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   861
	s:SUB_CXX:${CXX}:
7717252e3ed9 Changes to compile for win32
greg
parents: 284
diff changeset
   862
	s:SUB_LD:${LD}:
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   863
	s:SUB_PROG_CFLAGS:${SUB_PROG_CFLAGS}:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   864
	s:SUB_EXE_CFLAGS:${SUB_EXE_CFLAGS}:
391
7802a7d5584f Accepted Vladimir Chren linux kernelspace port patch.
etisserant
parents: 381
diff changeset
   865
	s:SUB_KERNELDIR:${SUB_KERNELDIR}:
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   866
	s:SUB_PREFIX:${SUB_PREFIX}:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   867
	s:SUB_OS_NAME:${SUB_OS_NAME}:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   868
	s:SUB_ARCH_NAME:${SUB_ARCH_NAME}:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   869
	s:SUB_OPT_CFLAGS:${SUB_OPT_CFLAGS}:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   870
	s:SUB_TARGET:${SUB_TARGET}:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   871
	s:SUB_BINUTILS_PREFIX:${SUB_BINUTILS_PREFIX}:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   872
	s:SUB_TIMERS_DRIVER:timers_${SUB_TIMERS_DRIVER}:
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   873
	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
   874
	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
   875
	s:SUB_ENABLE_DLL_DRIVERS:${SUB_ENABLE_DLL_DRIVERS}:
343
118c1cabd0b0 Primary LSS support, thanks to Jorge Berzosa.
etisserant
parents: 342
diff changeset
   876
	s:SUB_ENABLE_LSS:${SUB_ENABLE_LSS}:
354
396ac66670ad Various configure and build enhancements:
etisserant
parents: 351
diff changeset
   877
	s:SUB_WX:${SUB_WX}:
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   878
	" > $makefile
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   879
done
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   880
769
b9e6ab1c022c Configure now initialize DLL_LIST in objdictgen/canfestival_config.py, required by Beremiz' CanFestival plugin
Edouard Tisserant
parents: 749
diff changeset
   881
# append driver list to canfestival_config.py
b9e6ab1c022c Configure now initialize DLL_LIST in objdictgen/canfestival_config.py, required by Beremiz' CanFestival plugin
Edouard Tisserant
parents: 749
diff changeset
   882
echo "DLL_LIST=['can_$SUB_CAN_DRIVER']" >> objdictgen/canfestival_config.py
b9e6ab1c022c Configure now initialize DLL_LIST in objdictgen/canfestival_config.py, required by Beremiz' CanFestival plugin
Edouard Tisserant
parents: 749
diff changeset
   883
0
4472ee7c6c3e Commit a new cvs repo.
etisserant
parents:
diff changeset
   884
echo "All done."