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