blob: 40351fa1014a1f7a39dd89fa9de5b296e9beb4e8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
#!/bin/sh
# the root of all, but using it is optional.
CROSSTOOLSROOT=~/building
CROSSTOOLSROOT=${CROSSTOOLSROOT%/}/
# Some paths.
# place where the 1.1.x CVS checkout is
FPCCVS=${CROSSTOOLSROOT}cvs/devel/fpc
# place where the script should store the cross-snapshot
DESTDIR=${CROSSTOOLSROOT}/destination
# place where cross archives (.a files) are stored
BASELIBDIR=${CROSSTOOLSROOT}crosslibs
# Place where logs are generated.
LOGDIR=${CROSSTOOLSROOT}logs
# Type of my mainprocessor.
MYINTEL=i686
EXTRAOPT=-gl
# OSes and CPUs
TARGETS_OS="linux freebsd linux win32 go32v2 netbsd openbsd solaris darwin"
TARGETS_CPU="i386 powerpc sparc"
###########################################################################
# don't edit below
#
#
#
#
MYHOSTARCH=`uname -p | tr "[:upper:]" "[:lower:]"`
MYHOSTOS=`uname -s | tr "[:upper:]" "[:lower:]"`
echo HOST platform is ${MYHOSTARCH}-${MYHOSTOS}
#
#
# force slash
#
FPCCVS=${FPCCVS%/}/
DESTDIR=${DESTDIR%/}/
LOGDIR=${LOGDIR%/}/
BASELIBDIR=${BASELIBDIR%/}/
#
# BSD? -> ${MAKE}
#
MAKE=make
case "$MYHOSTOS" in
*BSD*) MAKE=gmake
;;
*bsd*) MAKE=gmake
;;
esac
#
# Setup dirs
#
mkdir -p ${DESTDIR}
mkdir -p ${LOGDIR}
#
# Real build starts here
#
cd ${FPCCVS}
FAILURES=""
for CPU in $TARGETS_CPU; do
# CPU xlat. translate from FPC cpu designation to binutil's;
MCPU=${CPU}
if [ "${CPU}" = "i386" ]; then
MCPU=${MYINTEL}
fi
for OS in $TARGETS_OS; do
# xlat for OS
MOS=${OS}
if [ "${OS}" = "sunos" ]; then
MOS=solaris
fi
if [ "${OS}" = "win32" ]; then
MOS=cygwin
fi
if [ "${OS}" = "go32v2" ]; then
MOS=msdosdjgpp
fi
dothisbuild=1
if [ "${CPU}" = "${MYHOSTARCH}" ]; then
if [ "${OS}" = "${MYHOSTOS}" ]; then
dothisbuild=0
fi
fi
if [ $dothisbuild -eq 1 ]; then
echo Building ${CPU}-${OS}
if [ -f ${CROSSTOOLSROOT}bin/${MCPU}-${MOS}-as ]; then
${MAKE} clean all LIBDIR=${BASELIBDIR}/${MCPU}-${MOS} CROSSBINDIR=${CROSSTOOLSROOT}bin OS_TARGET=${OS} CPU_TARGET=${CPU} BINUTILSPREFIX=${MCPU}-${MOS}- OPT="-Xd -Xt ${EXTRAOPT}" > ${LOGDIR}snapbuild-${CPU}-${OS} 2>&1
else
echo can''t find binutils-${MCPU}-${OS} for FPC-${CPU}-${OS}
fi
if [ ! $? = 0 ]; then
echo ${CPU}-${OS} FAILES
FAILURES="${FAILURES} ${CPU}-${OS}"
else
mkdir -p ${DESTDIR}
${MAKE} install INSTALL_PREFIX=${DESTDIR} LIBDIR=${BASELIBDIR}/${MCPU}-${MOS} CROSSBINDIR=${CROSSTOOLSROOT}bin OS_TARGET=${OS} CPU_TARGET=${CPU} BINUTILSPREFIX=${MCPU}-${MOS}- OPT="-Xd -Xt ${EXTRAOPT}" > ${LOGDIR}snapinstalllog-${CPU}-${OS} 2>&1
fi
fi
done;
done;
if [ -n ${FAILURES} ]; then
echo platforms failed: ${FAILURES}
fi
|