Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 394 lines (370 sloc) 14.19 kb
a530bbe Initial revision
William Harold Newman authored
1 #!/bin/sh
babd45f 0.9.4.72:
Thiemo Seufer authored
2 set -e
a530bbe Initial revision
William Harold Newman authored
3
4 # The make-config.sh script uses information about the target machine
5 # to set things up for compilation. It's vaguely like a stripped-down
6 # version of autoconf. It's intended to be run as part of make.sh. The
7 # only time you'd want to run it by itself is if you're trying to
8 # cross-compile the system or if you're doing some kind of
9 # troubleshooting.
10
11 # This software is part of the SBCL system. See the README file for
12 # more information.
13 #
14 # This software is derived from the CMU CL system, which was
15 # written at Carnegie Mellon University and released into the
16 # public domain. The software is in the public domain and is
17 # provided with absolutely no warranty. See the COPYING and CREDITS
18 # files for more information.
19
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
20 case `uname` in
21 Linux)
22 sbcl_os="linux"
23 ;;
24 OSF1)
25 # it's changed name twice since it was called OSF/1: clearly
26 # the marketers forgot to tell the engineers about Digital Unix
27 # _or_ OSF/1 ...
28 sbcl_os="osf1"
29 ;;
30 *BSD)
31 case `uname` in
32 FreeBSD)
33 sbcl_os="freebsd"
34 ;;
35 OpenBSD)
36 sbcl_os="openbsd"
37 ;;
38 NetBSD)
39 sbcl_os="netbsd"
40 ;;
41 *)
42 echo unsupported BSD variant: `uname`
43 exit 1
44 ;;
45 esac
46 ;;
47 Darwin)
48 sbcl_os="darwin"
49 ;;
50 SunOS)
51 sbcl_os="sunos"
52 ;;
53 CYGWIN* | WindowsNT | MINGW*)
54 sbcl_os="win32"
55 ;;
dcd8604 Nikodemus Siivola 1.0.24.12: adding and fixing the HPUX/HPPA build target
nikodemus authored
56 HP-UX)
57 sbcl_os="hpux"
58 ;;
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
59 *)
60 echo unsupported OS type: `uname`
61 exit 1
62 ;;
63 esac
64
65 link_or_copy() {
66 if [ "$sbcl_os" = "win32" ] ; then
67 cp -r "$1" "$2"
68 else
b822fdd Nikodemus Siivola 1.0.9.6: remove :UNIX from *FEATURES* on Windows
nikodemus authored
69 ln -s "$1" "$2"
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
70 fi
71 }
72
73 remove_dir_safely() {
74 if [ "$sbcl_os" = "win32" ] ; then
75 if [ -d "$1" ] ; then
76 rm -rf "$1"
77 elif [ -e "$1" ] ; then
78 echo "I'm afraid to remove non-directory $1."
79 exit 1
80 fi
81 else
82 if [ -h "$1" ] ; then
83 rm "$1"
84 elif [ -w "$1" ] ; then
85 echo "I'm afraid to replace non-symlink $1 with a symlink."
86 exit 1
87 fi
88 fi
89 }
90
a530bbe Initial revision
William Harold Newman authored
91 echo //entering make-config.sh
92
f2aa2d0 0.6.12.7:
William Harold Newman authored
93 echo //ensuring the existence of output/ directory
94 if [ ! -d output ] ; then mkdir output; fi
95
a530bbe Initial revision
William Harold Newman authored
96 ltf=`pwd`/local-target-features.lisp-expr
97 echo //initializing $ltf
672ac58 0.6.12.6:
William Harold Newman authored
98 echo ';;;; This is a machine-generated file.' > $ltf
d7f6139 0.6.12.7.flaky1:
William Harold Newman authored
99 echo ';;;; Please do not edit it by hand.' >> $ltf
100 echo ';;;; See make-config.sh.' >> $ltf
0d669e6 Christophe Rhodes 0.7.1.1:
csrhodes authored
101 printf '(' >> $ltf
a530bbe Initial revision
William Harold Newman authored
102
f2aa2d0 0.6.12.7:
William Harold Newman authored
103 echo //guessing default target CPU architecture from host architecture
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
104 case `uname -m` in
105 *86) guessed_sbcl_arch=x86 ;;
40e3ba0 Christophe Rhodes 0.9.3.63:
csrhodes authored
106 i86pc) guessed_sbcl_arch=x86 ;;
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
107 *x86_64) guessed_sbcl_arch=x86-64 ;;
bd45534 1.0.0.32: support for FreeBSD/x86-64
sa2c authored
108 amd64) guessed_sbcl_arch=x86-64 ;;
f2aa2d0 0.6.12.7:
William Harold Newman authored
109 [Aa]lpha) guessed_sbcl_arch=alpha ;;
68fd2d2 0.7.1.20:
William Harold Newman authored
110 sparc*) guessed_sbcl_arch=sparc ;;
0d669e6 Christophe Rhodes 0.7.1.1:
csrhodes authored
111 sun*) guessed_sbcl_arch=sparc ;;
1071bf1 Christophe Rhodes 1.0.2.11:
csrhodes authored
112 *ppc) guessed_sbcl_arch=ppc ;;
a58ade7 Christophe Rhodes 0.9.9.22:
csrhodes authored
113 ppc64) guessed_sbcl_arch=ppc ;;
5062535 Christophe Rhodes 0.8.2.8:
csrhodes authored
114 Power*Macintosh) guessed_sbcl_arch=ppc ;;
8a19c68 Christophe Rhodes 0.7.6.27:
csrhodes authored
115 parisc) guessed_sbcl_arch=hppa ;;
dcd8604 Nikodemus Siivola 1.0.24.12: adding and fixing the HPUX/HPPA build target
nikodemus authored
116 9000/800) guessed_sbcl_arch=hppa ;;
fd00d78 Christophe Rhodes 0.8.21.18:
csrhodes authored
117 mips*) guessed_sbcl_arch=mips ;;
f2aa2d0 0.6.12.7:
William Harold Newman authored
118 *)
119 # If we're not building on a supported target architecture, we
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
120 # we have no guess, but it's not an error yet, since maybe
121 # target architecture will be specified explicitly below.
122 guessed_sbcl_arch=''
123 ;;
f2aa2d0 0.6.12.7:
William Harold Newman authored
124 esac
125
53ab026 Juho Snellman 1.0.26.18: Solaris x86-64 support
jsnell authored
126 # Under Solaris, uname -m returns "i86pc" even if CPU is amd64.
127 if [ "$sbcl_os" = "sunos" ] && [ `isainfo -k` = "amd64" ]; then
128 guessed_sbcl_arch=x86-64
129 fi
130
305c519 1.0.31.19: build x86-64 on OS X when available by default
Brian Mastenbrook authored
131 # Under Darwin, uname -m returns "i386" even if CPU is x86_64.
132 if [ "$sbcl_os" = "darwin" ] && [ "`sysctl -n hw.optional.x86_64`" = "1" ]; then
133 guessed_sbcl_arch=x86-64
134 fi
135
672ac58 0.6.12.6:
William Harold Newman authored
136 echo //setting up CPU-architecture-dependent information
f2aa2d0 0.6.12.7:
William Harold Newman authored
137 sbcl_arch=${SBCL_ARCH:-$guessed_sbcl_arch}
d7f6139 0.6.12.7.flaky1:
William Harold Newman authored
138 echo sbcl_arch=\"$sbcl_arch\"
f2aa2d0 0.6.12.7:
William Harold Newman authored
139 if [ "$sbcl_arch" = "" ] ; then
140 echo "can't guess target SBCL architecture, need SBCL_ARCH environment var"
141 exit 1
142 fi
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
143 printf ":%s" "$sbcl_arch" >> $ltf
c5759c0 Christophe Rhodes 0.8.1.15:
csrhodes authored
144
a530bbe Initial revision
William Harold Newman authored
145 echo //setting up OS-dependent information
a3282da 1.0.34.9: darwin/x86-64 sb-posix:stat fixes from Kei Suzuki
Cyrus Harmon authored
146
147 # Under Darwin x86-64, guess whether Darwin 9+ or below.
148 if [ "$sbcl_os" = "darwin" ] && [ "$sbcl_arch" = "x86-64" ]; then
149 darwin_version=`uname -r`
150 darwin_version_major=${DARWIN_VERSION_MAJOR:-${darwin_version%%.*}}
151 if (( 8 < $darwin_version_major )); then
152 ver9_or_above="9+"
153 printf ' :inode64' >> $ltf
154 fi
155 fi
156
eaf8fba tidied up OpenBSD-vs.-FreeBSD stuff, and src/runtime/Config.x86-*
William Harold Newman authored
157 original_dir=`pwd`
eb5265a 0.8.14.9:
William Harold Newman authored
158 cd ./src/runtime/
68fd2d2 0.7.1.20:
William Harold Newman authored
159 rm -f Config target-arch-os.h target-arch.h target-os.h target-lispregs.h
160 # KLUDGE: these two logically belong in the previous section
161 # ("architecture-dependent"); it seems silly to enforce this in terms
162 # of the shell script, though. -- CSR, 2002-02-03
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
163 link_or_copy $sbcl_arch-arch.h target-arch.h
164 link_or_copy $sbcl_arch-lispregs.h target-lispregs.h
165 case "$sbcl_os" in
166 linux)
b822fdd Nikodemus Siivola 1.0.9.6: remove :UNIX from *FEATURES* on Windows
nikodemus authored
167 printf ' :unix' >> $ltf
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
168 printf ' :elf' >> $ltf
169 printf ' :linux' >> $ltf
46e4281 Juho Snellman 0.9.18.46:
jsnell authored
170
171 # If you add other platforms here, don't forget to edit
172 # src/runtime/Config.foo-linux too.
b2f01c8 1.0.9.27: Fix large file support for MIPS.
Thiemo Seufer authored
173 case "$sbcl_arch" in
1baab0b Nikodemus Siivola 1.0.33.26: enabled threads by default on x86[-64] Linux
nikodemus authored
174 mips)
175 printf ' :largefile' >> $ltf
176 ;;
177 x86 | x86-64)
178 printf ' :sb-thread :largefile' >> $ltf
179 ;;
b2f01c8 1.0.9.27: Fix large file support for MIPS.
Thiemo Seufer authored
180 esac
46e4281 Juho Snellman 0.9.18.46:
jsnell authored
181
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
182 if [ $sbcl_arch = "x86-64" ]; then
183 link_or_copy Config.x86_64-linux Config
184 else
185 link_or_copy Config.$sbcl_arch-linux Config
186 fi
187 link_or_copy $sbcl_arch-linux-os.h target-arch-os.h
188 link_or_copy linux-os.h target-os.h
189 ;;
190 osf1)
b822fdd Nikodemus Siivola 1.0.9.6: remove :UNIX from *FEATURES* on Windows
nikodemus authored
191 printf ' :unix' >> $ltf
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
192 printf ' :elf' >> $ltf
193 printf ' :osf1' >> $ltf
194 link_or_copy Config.$sbcl_arch-osf1 Config
195 link_or_copy $sbcl_arch-osf1-os.h target-arch-os.h
196 link_or_copy osf1-os.h target-os.h
197 ;;
dcd8604 Nikodemus Siivola 1.0.24.12: adding and fixing the HPUX/HPPA build target
nikodemus authored
198 hpux)
199 printf ' :unix' >> $ltf
200 printf ' :elf' >> $ltf
201 printf ' :hpux' >> $ltf
202 link_or_copy Config.$sbcl_arch-hpux Config
203 link_or_copy $sbcl_arch-hpux-os.h target-arch-os.h
204 link_or_copy hpux-os.h target-os.h
205 ;;
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
206 *bsd)
b822fdd Nikodemus Siivola 1.0.9.6: remove :UNIX from *FEATURES* on Windows
nikodemus authored
207 printf ' :unix' >> $ltf
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
208 printf ' :bsd' >> $ltf
209 link_or_copy $sbcl_arch-bsd-os.h target-arch-os.h
210 link_or_copy bsd-os.h target-os.h
211 case "$sbcl_os" in
212 freebsd)
213 printf ' :elf' >> $ltf
214 printf ' :freebsd' >> $ltf
9a19ce4 1.0.9.62: Performance and stability improvement of threading on FreeBSD
NIIMI Satoshi authored
215 printf ' :gcc-tls' >> $ltf
402958f Juho Snellman 0.9.13.22:
jsnell authored
216 if [ $sbcl_arch = "x86" ]; then
9a19ce4 1.0.9.62: Performance and stability improvement of threading on FreeBSD
NIIMI Satoshi authored
217 printf ' :restore-tls-segment-register-from-context' >> $ltf
402958f Juho Snellman 0.9.13.22:
jsnell authored
218 fi
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
219 link_or_copy Config.$sbcl_arch-freebsd Config
220 ;;
221 openbsd)
222 printf ' :elf' >> $ltf
223 printf ' :openbsd' >> $ltf
224 link_or_copy Config.$sbcl_arch-openbsd Config
225 ;;
226 netbsd)
074ba06 Christophe Rhodes 0.8.9.6.netbsd.1:
csrhodes authored
227 printf ' :netbsd' >> $ltf
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
228 printf ' :elf' >> $ltf
229 link_or_copy Config.$sbcl_arch-netbsd Config
230 ;;
231 *)
232 echo unsupported BSD variant: `uname`
233 exit 1
234 ;;
235 esac
236 ;;
237 darwin)
b822fdd Nikodemus Siivola 1.0.9.6: remove :UNIX from *FEATURES* on Windows
nikodemus authored
238 printf ' :unix' >> $ltf
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
239 printf ' :mach-o' >> $ltf
240 printf ' :bsd' >> $ltf
402958f Juho Snellman 0.9.13.22:
jsnell authored
241 printf ' :darwin' >> $ltf
242 if [ $sbcl_arch = "x86" ]; then
1adf4db 1.0.4.108: turn mach-exception-handler on for macos/x86 and x86_64
Cyrus Harmon authored
243 printf ' :mach-exception-handler :sb-lutex :restore-fs-segment-register-from-tls' >> $ltf
402958f Juho Snellman 0.9.13.22:
jsnell authored
244 fi
1cf1aff 1.0.4.54: x86-64/darwin preliminary threads support
Cyrus Harmon authored
245 if [ $sbcl_arch = "x86-64" ]; then
1adf4db 1.0.4.108: turn mach-exception-handler on for macos/x86 and x86_64
Cyrus Harmon authored
246 printf ' :mach-exception-handler :sb-lutex' >> $ltf
1cf1aff 1.0.4.54: x86-64/darwin preliminary threads support
Cyrus Harmon authored
247 fi
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
248 link_or_copy $sbcl_arch-darwin-os.h target-arch-os.h
249 link_or_copy bsd-os.h target-os.h
a3282da 1.0.34.9: darwin/x86-64 sb-posix:stat fixes from Kei Suzuki
Cyrus Harmon authored
250 link_or_copy Config.$sbcl_arch-darwin$ver9_or_above Config
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
251 ;;
252 sunos)
b822fdd Nikodemus Siivola 1.0.9.6: remove :UNIX from *FEATURES* on Windows
nikodemus authored
253 printf ' :unix' >> $ltf
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
254 printf ' :elf' >> $ltf
0d669e6 Christophe Rhodes 0.7.1.1:
csrhodes authored
255 printf ' :sunos' >> $ltf
53ab026 Juho Snellman 1.0.26.18: Solaris x86-64 support
jsnell authored
256 if [ $sbcl_arch = "x86" ] || [ $sbcl_arch = "amd64" ]; then
402958f Juho Snellman 0.9.13.22:
jsnell authored
257 printf ' :sb-lutex' >> $ltf
258 fi
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
259 link_or_copy Config.$sbcl_arch-sunos Config
260 link_or_copy $sbcl_arch-sunos-os.h target-arch-os.h
261 link_or_copy sunos-os.h target-os.h
262 ;;
263 win32)
264 printf ' :win32' >> $ltf
265 link_or_copy Config.$sbcl_arch-win32 Config
266 link_or_copy $sbcl_arch-win32-os.h target-arch-os.h
267 link_or_copy win32-os.h target-os.h
268 ;;
f2aa2d0 0.6.12.7:
William Harold Newman authored
269 *)
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
270 echo unsupported OS type: `uname`
271 exit 1
272 ;;
f2aa2d0 0.6.12.7:
William Harold Newman authored
273 esac
102b7c8 Rudi Schlatte 1.0.10.40: Fix build for windows when source directory contains spaces
rudi authored
274 cd "$original_dir"
a530bbe Initial revision
William Harold Newman authored
275
75b5237 Nikodemus Siivola 0.8.14.5: Join the foreign legion!
nikodemus authored
276 # FIXME: Things like :c-stack-grows-..., etc, should be
277 # *derived-target-features* or equivalent, so that there was a nicer
278 # way to specify them then sprinkling them in this file. They should
279 # still be tweakable by advanced users, though, but probably not
280 # appear in *features* of target. #!+/- should be adjusted to take
281 # them in account as well. At minimum the nicer specification stuff,
282 # though:
283 #
284 # (define-feature :dlopen (features)
285 # (union '(:bsd :linux :darwin :sunos) features))
286 #
287 # (define-feature :c-stack-grows-downwards-not-upwards (features)
288 # (member :x86 features))
289
c5759c0 Christophe Rhodes 0.8.1.15:
csrhodes authored
290 # KLUDGE: currently the x86 only works with the generational garbage
291 # collector (indicated by the presence of :GENCGC in *FEATURES*) and
292 # alpha, sparc and ppc with the stop'n'copy collector (indicated by
293 # the absence of :GENCGC in *FEATURES*). This isn't a great
294 # separation, but for now, rather than have :GENCGC in
295 # base-target-features.lisp-expr, we add it into local-target-features
296 # if we're building for x86. -- CSR, 2002-02-21 Then we do something
297 # similar with :STACK-GROWS-FOOWARD, too. -- WHN 2002-03-03
75b5237 Nikodemus Siivola 0.8.14.5: Join the foreign legion!
nikodemus authored
298 if [ "$sbcl_arch" = "x86" ]; then
bfb19d3 Nikodemus Siivola 1.0.7.19: SB-EXT:COMPARE-AND-SWAP
nikodemus authored
299 printf ' :gencgc :stack-grows-downward-not-upward :c-stack-is-control-stack' >> $ltf
96bb2dc Nikodemus Siivola 1.0.17.4: support for dynamic-extent structures
nikodemus authored
300 printf ' :compare-and-swap-vops :unwind-to-frame-and-call-vop :raw-instance-init-vops' >> $ltf
55dc855 Nikodemus Siivola 1.0.29.12: nicer DX capability conditionalization
nikodemus authored
301 printf ' :stack-allocatable-closures :stack-allocatable-vectors' >> $ltf
302 printf ' :stack-allocatable-lists :stack-allocatable-fixed-objects' >> $ltf
2230ea0 Paul Khuong 1.0.29.54: Inline unboxed constants on x86[-64]
pkhuong authored
303 printf ' :alien-callbacks :cycle-counter :inline-constants ' >> $ltf
c2ac5ba 1.0.13.18: Revived OpenBSD support, contributed by Josh Elsasser
Richard M Kreuter authored
304 case "$sbcl_os" in
305 linux | freebsd | netbsd | openbsd | sunos | darwin | win32)
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
306 printf ' :linkage-table' >> $ltf
c2ac5ba 1.0.13.18: Revived OpenBSD support, contributed by Josh Elsasser
Richard M Kreuter authored
307 esac
48ec282 Christophe Rhodes 0.9.8.34:
csrhodes authored
308 if [ "$sbcl_os" = "win32" ]; then
309 # of course it doesn't provide dlopen, but there is
310 # roughly-equivalent magic nevertheless.
311 printf ' :os-provides-dlopen' >> $ltf
312 fi
78fa16b Christophe Rhodes 0.8.18.14:
csrhodes authored
313 elif [ "$sbcl_arch" = "x86-64" ]; then
bfb19d3 Nikodemus Siivola 1.0.7.19: SB-EXT:COMPARE-AND-SWAP
nikodemus authored
314 printf ' :gencgc :stack-grows-downward-not-upward :c-stack-is-control-stack :linkage-table' >> $ltf
96bb2dc Nikodemus Siivola 1.0.17.4: support for dynamic-extent structures
nikodemus authored
315 printf ' :compare-and-swap-vops :unwind-to-frame-and-call-vop :raw-instance-init-vops' >> $ltf
55dc855 Nikodemus Siivola 1.0.29.12: nicer DX capability conditionalization
nikodemus authored
316 printf ' :stack-allocatable-closures :stack-allocatable-vectors' >> $ltf
317 printf ' :stack-allocatable-lists :stack-allocatable-fixed-objects' >> $ltf
a157ed0 Paul Khuong 1.0.29.44: Complex float improvements
pkhuong authored
318 printf ' :alien-callbacks :cycle-counter :complex-float-vops' >> $ltf
2230ea0 Paul Khuong 1.0.29.54: Inline unboxed constants on x86[-64]
pkhuong authored
319 printf ' :float-eql-vops :inline-constants ' >> $ltf
75b5237 Nikodemus Siivola 0.8.14.5: Join the foreign legion!
nikodemus authored
320 elif [ "$sbcl_arch" = "mips" ]; then
3da4a7f 0.9.5.11:
Thiemo Seufer authored
321 printf ' :linkage-table' >> $ltf
e3f6b2d Nikodemus Siivola 1.0.29.20: fix build breakage from 1.0.29.12 (PPC and MIPS, hopefully)
nikodemus authored
322 printf ' :stack-allocatable-closures :stack-allocatable-vectors' >> $ltf
55dc855 Nikodemus Siivola 1.0.29.12: nicer DX capability conditionalization
nikodemus authored
323 printf ' :stack-allocatable-lists :stack-allocatable-fixed-objects' >> $ltf
ccfb3a7 1.0.9.28: Enable alien callbacks for MIPS.
Thiemo Seufer authored
324 printf ' :alien-callbacks' >> $ltf
c5759c0 Christophe Rhodes 0.8.1.15:
csrhodes authored
325 # Use a little C program to try to guess the endianness. Ware
326 # cross-compilers!
75b5237 Nikodemus Siivola 0.8.14.5: Join the foreign legion!
nikodemus authored
327 #
328 # FIXME: integrate to grovel-features, mayhaps
44c608e Juho Snellman 0.9.11.21:
jsnell authored
329 $GNUMAKE -C tools-for-build determine-endianness -I ../src/runtime
c5759c0 Christophe Rhodes 0.8.1.15:
csrhodes authored
330 tools-for-build/determine-endianness >> $ltf
e3f6b2d Nikodemus Siivola 1.0.29.20: fix build breakage from 1.0.29.12 (PPC and MIPS, hopefully)
nikodemus authored
331 elif [ "$sbcl_arch" = "ppc" ]; then
332 printf ' :gencgc :stack-allocatable-closures :stacka-allocatable-lists' >> $ltf
55dc855 Nikodemus Siivola 1.0.29.12: nicer DX capability conditionalization
nikodemus authored
333 printf ' :linkage-table' >> $ltf
334 if [ "$sbcl_os" = "linux" ]; then
335 # Use a C program to detect which kind of glibc we're building on,
336 # to bandage across the break in source compatibility between
337 # versions 2.3.1 and 2.3.2
338 #
339 # FIXME: integrate to grovel-features, mayhaps
340 $GNUMAKE -C tools-for-build where-is-mcontext -I ../src/runtime
341 tools-for-build/where-is-mcontext > src/runtime/ppc-linux-mcontext.h || (echo "error running where-is-mcontext"; exit 1)
342 elif [ "$sbcl_os" = "darwin" ]; then
343 # We provide a dlopen shim, so a little lie won't hurt
344 printf " :os-provides-dlopen :alien-callbacks" >> $ltf
345 # The default stack ulimit under darwin is too small to run PURIFY.
346 # Best we can do is complain and exit at this stage
347 if [ "`ulimit -s`" = "512" ]; then
348 echo "Your stack size limit is too small to build SBCL."
349 echo "See the limit(1) or ulimit(1) commands and the README file."
350 exit 1
351 fi
e3f68bd Christophe Rhodes 0.8.4.36:
csrhodes authored
352 fi
fab1ba8 Christophe Rhodes 0.8.8.2:
csrhodes authored
353 elif [ "$sbcl_arch" = "sparc" ]; then
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
354 # Test the compiler in order to see if we are building on Sun
fab1ba8 Christophe Rhodes 0.8.8.2:
csrhodes authored
355 # toolchain as opposed to GNU binutils, and write the appropriate
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
356 # FUNCDEF macro for assembler. No harm in running this on sparc-linux
fab1ba8 Christophe Rhodes 0.8.8.2:
csrhodes authored
357 # as well.
358 sh tools-for-build/sparc-funcdef.sh > src/runtime/sparc-funcdef.h
1f7bb60 Nikodemus Siivola 0.8.15.18: Linkage table tweaks & alien bugfix
nikodemus authored
359 if [ "$sbcl_os" = "sunos" ] || [ "$sbcl_os" = "linux" ]; then
04d819b Christophe Rhodes 0.9.8.27:
csrhodes authored
360 printf ' :linkage-table' >> $ltf
75b5237 Nikodemus Siivola 0.8.14.5: Join the foreign legion!
nikodemus authored
361 fi
55dc855 Nikodemus Siivola 1.0.29.12: nicer DX capability conditionalization
nikodemus authored
362 printf ' :stack-allocatable-closures :stack-allocatable-lists' >> $ltf
7c7e627 0.9.1.52:
Alexey Dejneka authored
363 elif [ "$sbcl_arch" = "alpha" ]; then
55dc855 Nikodemus Siivola 1.0.29.12: nicer DX capability conditionalization
nikodemus authored
364 printf ' :stack-allocatable-closures :stack-allocatable-lists' >> $ltf
365 elif [ "$sbcl_arch" = "hppa" ]; then
366 printf ' :stack-allocatable-vectors :stack-allocatable-fixed-objects' >> $ltf
367 printf ' :stack-allocatable-lists' >> $ltf
c5759c0 Christophe Rhodes 0.8.1.15:
csrhodes authored
368 else
369 # Nothing need be done in this case, but sh syntax wants a placeholder.
370 echo > /dev/null
371 fi
fab1ba8 Christophe Rhodes 0.8.8.2:
csrhodes authored
372
75b5237 Nikodemus Siivola 0.8.14.5: Join the foreign legion!
nikodemus authored
373 export sbcl_os sbcl_arch
4bc6b91 Nikodemus Siivola 0.8.13.78: Birds of Feather
nikodemus authored
374 sh tools-for-build/grovel-features.sh >> $ltf
375
a530bbe Initial revision
William Harold Newman authored
376 echo //finishing $ltf
377 echo ')' >> $ltf
378
379 # FIXME: The version system should probably be redone along these lines:
380 #
381 # echo //setting up version information.
382 # versionfile=version.txt
383 # cp base-version.txt $versionfile
384 # echo " (built `date -u` by `whoami`@`hostname`)" >> $versionfile
385 # echo 'This is a machine-generated file and should not be edited by hand.' >> $versionfile
9139275 Christophe Rhodes 0.7.9.7:
csrhodes authored
386
387 # Make a unique ID for this build (to discourage people from
388 # mismatching sbcl and *.core files).
eba7d5d Christophe Rhodes 0.8.13.27:
csrhodes authored
389 if [ `uname` = "SunOS" ] ; then
390 # use /usr/xpg4/bin/id instead of /usr/bin/id
391 PATH=/usr/xpg4/bin:$PATH
392 fi
393 echo '"'`hostname`-`id -un`-`date +%Y-%m-%d-%H-%M-%S`'"' > output/build-id.tmp
Something went wrong with that request. Please try again.