Subversion Repositories tendra.SVN

Rev

Rev 37 | Rev 47 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 37 Rev 46
Line 32... Line 32...
32
 
32
 
33
# This script is inspired by Postfix' makedefs script.
33
# This script is inspired by Postfix' makedefs script.
34
# The purpose of this script is to determine the host on which we are
34
# The purpose of this script is to determine the host on which we are
35
# compiling TenDRA and provide sane compilation defaults.
35
# compiling TenDRA and provide sane compilation defaults.
36
 
36
 
37
HOSTARCH=`/usr/bin/env uname -m`
37
HOSTARCH=`uname -m`
38
SYSTEM=`/usr/bin/env uname -s`
38
SYSTEM=`uname -s`
39
VERSION=`/usr/bin/env uname -r`
39
VERSION=`uname -r`
40
 
40
 
41
. ./makedefs.funcs
41
. ./makedefs.funcs
42
 
42
 
43
if [ "${1}" = "-h" ]; then
43
if [ "${1}" = "-h" ]; then
44
	usage
44
	usage
45
	exit
45
	exit
46
fi
46
fi
47
 
47
 
48
if [ -f Makefile.defs ]; then
48
if [ -f defs.mk ]; then
49
	echo "NOTICE: old Makefile.defs file found, overwriting..."
49
	echo "NOTICE: defs.mk file found, backing up to defs.mk.bak, overwriting..."
50
	echo
50
	echo
-
 
51
	cp defs.mk defs.mk.bak
51
fi
52
fi
52
 
53
 
53
echo "${SYSTEM}.${VERSION} detected..."
54
echo "${SYSTEM}.${VERSION} ${HOSTARCH} detected..."
54
echo
55
echo
55
 
56
 
56
# See the URL in the warning below for why this is bad.
57
# See the URL in the warning below for why this is bad.
57
if [ ! -z ${LD_LIBRARY_PATH} ]; then
58
if [ ! -z ${LD_LIBRARY_PATH} ]; then
58
	echo "WARNING: LD_LIBRARY_PATH set, please don't do that (see:"
59
	echo "WARNING: LD_LIBRARY_PATH set, please don't do that (see:"
59
	echo "http://www.visi.com/~barr/ldpath.html)"
60
	echo "http://www.visi.com/~barr/ldpath.html)"
60
	echo "Setting to empty environment variable..."
61
	echo "Setting to empty environment variable..."
61
	echo
62
	echo
62
	LD_LIBRARY_PATH=""
63
	LD_LIBRARY_PATH=""
63
fi
64
fi
-
 
65
 
64
 
66
 
65
# Set up defaults
67
# Set up defaults
66
EXECFORMAT=elf		# ELF is the de facto executable file format nowadays.
68
EXECFORMAT=elf		# ELF is the de facto executable file format nowadays.
67
 
69
 
68
case "${SYSTEM}.${VERSION}" in
70
case "${SYSTEM}.${VERSION}" in
69
	DragonFly.1*)	# Use the system supplied GCC for CC.
71
	DragonFly.1*)	# Use the system supplied GCC for CC.
70
			# System definition is __DragonFly__
72
			# System definition is __DragonFly__
71
			check_cc
73
			check_cc
72
			LD="ld"
74
			LD="ld"
73
			CFLAGS=${CFLAGS}
75
			CFLAGS=${CFLAGS}
74
			LDOPTS=
76
			LDOPTS=
75
			LDCRT="/usr/lib/crt1.o"
77
			LDCRT="/usr/lib/crt1.o"
76
			LIBS="-L/usr/lib -lc"
78
			LIBS="-L/usr/lib -lc"
77
			OSFAM="dragonfly"
79
			OSFAM="dragonfly"
78
			OSVER="DRAGONFLY1"
80
			OSVER="DRAGONFLY1"
79
			;;
81
			;;
80
	FreeBSD.4*)	# Use the system supplied GCC for CC.
82
	FreeBSD.4*)	# Use the system supplied GCC for CC.
81
			# System definition is __FreeBSD__
83
			# System definition is __FreeBSD__
82
			check_cc
84
			check_cc
83
			LD="ld"
85
			LD="ld"
84
			CFLAGS=${CFLAGS}
86
			CFLAGS=${CFLAGS}
85
			LDOPTS=
87
			LDOPTS=
86
			LDCRT="/usr/lib/crt1.o"
88
			LDCRT="/usr/lib/crt1.o"
87
			LIBS="-L/usr/lib -lc"
89
			LIBS="-L/usr/lib -lc"
88
			OSFAM="freebsd"
90
			OSFAM="freebsd"
89
			OSVER="FREEBSD4"
91
			OSVER="FREEBSD4"
90
			;;
92
			;;
91
	FreeBSD.5*)	# Use the system supplied GCC for CC.
93
	FreeBSD.5*)	# Use the system supplied GCC for CC.
92
			# System definition is __FreeBSD__
94
			# System definition is __FreeBSD__
93
			check_cc
95
			check_cc
94
			LD="ld"
96
			LD="ld"
95
			CFLAGS=${CFLAGS}
97
			CFLAGS=${CFLAGS}
96
			LDOPTS=
98
			LDOPTS=
97
			LDCRT="/usr/lib/crt1.o"
99
			LDCRT="/usr/lib/crt1.o"
98
			LIBS="-L/usr/lib -lc"
100
			LIBS="-L/usr/lib -lc"
99
			OSFAM="freebsd"
101
			OSFAM="freebsd"
100
			OSVER="FREEBSD5"
102
			OSVER="FREEBSD5"
101
			;;
103
			;;
102
	FreeBSD.6*)	# Use the system supplied GCC for CC.
104
	FreeBSD.6*)	# Use the system supplied GCC for CC.
103
			# System definition is __FreeBSD__
105
			# System definition is __FreeBSD__
104
			check_cc
106
			check_cc
105
			LD="ld"
107
			LD="ld"
106
			CFLAGS=${CFLAGS}
108
			CFLAGS=${CFLAGS}
107
			LDOPTS=
109
			LDOPTS=
-
 
110
			LDCRT="/usr/lib/crt1.o"
-
 
111
			LIBS="-L/usr/lib -lc"
-
 
112
			OSFAM="freebsd"
-
 
113
			OSVER="FREEBSD6"
-
 
114
			;;
-
 
115
	FreeBSD.7*)	# Use the system supplied GCC for CC.
-
 
116
			# System definition is __FreeBSD__
-
 
117
			check_cc
-
 
118
			LD="ld"
-
 
119
			CFLAGS=${CFLAGS}
-
 
120
			LDOPTS=
-
 
121
			LDCRT="/usr/lib/crt1.o"
-
 
122
			LIBS="-L/usr/lib -lc"
-
 
123
			OSFAM="freebsd"
-
 
124
			OSVER="FREEBSD7"
-
 
125
			;;
-
 
126
	FreeBSD.*)	# Use the system supplied GCC for CC.
-
 
127
			# System definition is __FreeBSD__
-
 
128
			check_cc
-
 
129
			LD="ld"
-
 
130
			CFLAGS=${CFLAGS}
-
 
131
			LDOPTS=
108
			LDCRT="/usr/lib/crt1.o"
132
			LDCRT="/usr/lib/crt1.o"
109
			LIBS="-L/usr/lib -lc"
133
			LIBS="-L/usr/lib -lc"
110
			OSFAM="freebsd"
134
			OSFAM="freebsd"
111
			OSVER="FREEBSD6"
135
			OSVER="12"
112
			;;
136
			;;
113
	FreeBSD.7*)	# Use the system supplied GCC for CC.
-
 
114
			# System definition is __FreeBSD__
-
 
115
			check_cc
137
	Plan9.*)	#Plan 9
116
			LD="ld"
138
			LD="ld"
-
 
139
			CC="cc"
117
			CFLAGS=${CFLAGS}
140
			CFLAGS="-DFS_TEMPNAM=0 ${CFLAGS}"
118
			LDOPTS=
141
			LDOPTS=
119
			LDCRT="/usr/lib/crt1.o"
142
			LDCRT="/usr/lib/crt1.o"
120
			LIBS="-L/usr/lib -lc"
143
			LIBS="-L/usr/lib -lc"
121
			OSFAM="freebsd"
144
			OSFAM="pla9"
122
			OSVER="FREEBSD7"
145
			OSVER="4"
-
 
146
			EXECFORMAT="aout"
123
			;;
147
			;;		
124
	Linux.2.4*)	# Use the system supplied GCC for CC.
148
	Linux.2.4*)	# Use the system supplied GCC for CC.
125
			# System definition is __linux
149
			# System definition is __linux
126
			check_cc
150
			check_cc
127
			LD="ld"
151
			LD="ld"
128
			CFLAGS=${CFLAGS}
152
			CFLAGS=${CFLAGS}
Line 258... Line 282...
258
 
282
 
259
check_hostarch
283
check_hostarch
260
 
284
 
261
BASE_DIR=`pwd`
285
BASE_DIR=`pwd`
262
INSTALL_DIR="/usr/local/lib/TenDRA-5.0.0"
286
INSTALL_DIR="/usr/local/lib/TenDRA-5.0.0"
-
 
287
CFLAGS="${CFLAGS} -I${BASE_DIR}/src/include"
263
 
288
 
264
echo "Setting Makefile.defs environment to the following:"
289
echo "Setting defs.mk environment to the following:"
265
echo
290
echo
266
echo "PREFIX:		${PREFIX}"
291
echo "PREFIX:		${PREFIX}"
267
echo "CC:		${CC}"
292
echo "CC:		${CC}"
268
echo "CCVER_MAJOR:	${CCVER_MAJOR}"
293
echo "CCVER_MAJOR:	${CCVER_MAJOR}"
269
echo "CCVER_MINOR:	${CCVER_MINOR}"
294
echo "CCVER_MINOR:	${CCVER_MINOR}"
Line 279... Line 304...
279
echo "BLDARCHBITS:	${BLDARCHBITS} bit"
304
echo "BLDARCHBITS:	${BLDARCHBITS} bit"
280
echo "EXECFORMAT:	${EXECFORMAT}"
305
echo "EXECFORMAT:	${EXECFORMAT}"
281
echo "BASE_DIR:	${BASE_DIR}"
306
echo "BASE_DIR:	${BASE_DIR}"
282
echo "INSTALL_DIR:	${INSTALL_DIR}"
307
echo "INSTALL_DIR:	${INSTALL_DIR}"
283
 
308
 
284
cat > Makefile.defs <<EOF
309
cat > defs.mk <<EOF
285
PREFIX=${PREFIX}
310
PREFIX=${PREFIX}
286
CC?=${CC}
311
CC?=${CC}
287
CCVER_MAJOR=${CCVER_MAJOR}
312
CCVER_MAJOR=${CCVER_MAJOR}
288
CCVER_MINOR=${CCVER_MINOR}
313
CCVER_MINOR=${CCVER_MINOR}
289
CCVER_TINY=${CCVER_TINY}
314
CCVER_TINY=${CCVER_TINY}
Line 303... Line 328...
303
 
328
 
304
CRT0=${CRT0}
329
CRT0=${CRT0}
305
CRT1=${CRT1}
330
CRT1=${CRT1}
306
CRTN=${CRTN}
331
CRTN=${CRTN}
307
 
332
 
308
CFLAGS=-I\$(BASE_DIR)/src/include
-
 
309
 
333
 
310
BUILD_ERRORS=\$(BASE_DIR)/src/build/BUILD_ERRORS
334
BUILD_ERRORS=\$(BASE_DIR)/src/build/BUILD_ERRORS
311
 
335
 
312
# Binary paths
336
# Binary paths
313
 
337
 
314
SHELL=		/bin/sh
338
SHELL=		/bin/sh
315
ENVCMD?=	/usr/bin/env
339
ENVCMD?=	
316
ASCMD?=		${ASCMD}
340
ASCMD?=		${ASCMD}
317
LDCMD?=		${LDCMD}
341
LDCMD?=		${LDCMD}
318
 
342
 
319
# Keep in alphabetical order
343
# Keep in alphabetical order
320
 
344