]> sourceware.org Git - newlib-cygwin.git/blob - newlib/configure.host
2005-05-12 Jeff Johnston <jjohnstn@redhat.com>
[newlib-cygwin.git] / newlib / configure.host
1 # configure.host
2
3 # This shell script handles all host based configuration for newlib.
4 # It sets various shell variables based on the the host and the
5 # configuration options. You can modify this shell script without
6 # needing to rerun autoconf.
7
8 # This shell script should be invoked as
9 # . configure.host
10 # If it encounters an error, it will exit with a message.
11
12 # FIXME: This script is too complicated. It does things in too many
13 # different ways. This was taken from the old Cygnus configure script
14 # with only minor changes. It should be cleaned up.
15
16 # FIXME: The general approach of picking and choosing which
17 # directories to configure, other than machine_dir and sys_dir, is
18 # potentially confusing.
19
20 # It uses the following shell variables:
21 # host The configuration host
22 # host_cpu The configuration host CPU
23 # newlib_mb --enable-newlib-mb ("yes", "no")
24 # target_optspace --enable-target-optspace ("yes", "no", "")
25 # newlib_multithread --enable-newlib-multithread ("yes", "no", "yes")
26 # newlib_elix_level --enable-newlib-elix-level ("1","2","3","4") ("4")
27 # newlib_io_long_long --enable-newlib-io-long-long ("yes", "no", "")
28 # newlib_io_long_double --enable-newlib-io-long-double ("yes", "no", "")
29
30 # It sets the following shell variables:
31 # newlib_cflags Special CFLAGS to use when building
32 # machine_dir Subdirectory of libc/machine to configure
33 # sys_dir Subdirectory of libc/sys to configure
34 # have_sys_mach_dir Is there a machine subdirectory in sys subdirectory
35 # posix_dir "posix" to build libc/posix, "" otherwise
36 # signal_dir "signal" to build libc/signal, "" otherwise
37 # stdio64_dir "stdio64" to build libc/stdio64, "" otherwise
38 # syscall_dir "syscalls" to build libc/syscalls, "" otherwise
39 # unix_dir "unix" to build libc/unix, "" otherwise
40 # use_libtool flag: use libtool to build newlib?
41 # aext library extension - needed for libtool support
42 # oext object file extension - needed for libtool support
43 # crt1 name of crt1 object if one is provided
44 # crt1_dir directory where crt1 object is found
45
46 newlib_cflags=
47 libm_machine_dir=
48 machine_dir=
49 sys_dir=
50 posix_dir=
51 signal_dir=signal
52 stdio64_dir=
53 syscall_dir=
54 unix_dir=
55 mach_add_setjmp=
56 crt1=
57 crt1_dir=
58 use_libtool=no
59 have_sys_mach_dir=no
60 default_newlib_io_long_long=no
61 default_newlib_io_long_double=no
62 default_newlib_io_pos_args=no
63 aext=a
64 oext=o
65
66 case "${target_optspace}:${host}" in
67 yes:*)
68 newlib_cflags="${newlib_cflags} -Os"
69 ;;
70 :m32r-* | :d10v-* | :d30v-* | :avr-*)
71 newlib_cflags="${newlib_cflags} -Os"
72 ;;
73 no:* | :*)
74 newlib_cflags="${newlib_cflags} -O2"
75 ;;
76 esac
77
78 # Get the source directories to use for the CPU type.
79 # machine_dir should supply CPU dependent routines, such as setjmp.
80 # newlib_cflags is passed to gcc when compiling.
81 # THIS TABLE IS ALPHA SORTED. KEEP IT THAT WAY.
82
83 case "${host_cpu}" in
84 a29k)
85 machine_dir=a29k
86 ;;
87 arc)
88 machine_dir=
89 ;;
90 arm)
91 machine_dir=arm
92 ;;
93 avr*)
94 newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -mcall-prologues"
95 ;;
96 cris | crisv32)
97 machine_dir=cris
98 ;;
99 crx*)
100 machine_dir=crx
101 ;;
102 d10v*)
103 machine_dir=d10v
104 ;;
105 d30v*)
106 machine_dir=d30v
107 ;;
108 ep9312)
109 machine_dir=arm
110 ;;
111 fr30)
112 machine_dir=fr30
113 ;;
114 frv)
115 machine_dir=frv
116 ;;
117 h8300)
118 machine_dir=h8300
119 ;;
120 h8500)
121 machine_dir=h8500
122 ;;
123 hppa*)
124 machine_dir=hppa
125 ;;
126 i960)
127 machine_dir=i960
128 ;;
129 i[34567]86)
130 # Don't use for these since they provide their own setjmp.
131 case ${host} in
132 *-*-sco* | *-*-cygwin*)
133 libm_machine_dir=i386
134 machine_dir=i386
135 ;;
136 *)
137 libm_machine_dir=i386
138 machine_dir=i386
139 mach_add_setjmp=true
140 ;;
141 esac
142 ;;
143 ia64*)
144 ;;
145 iq2000)
146 machine_dir=iq2000
147 ;;
148 m32r*)
149 machine_dir=m32r
150 ;;
151
152 m68hc11|m6811|m68hc12|m6812)
153 machine_dir=m68hc11
154 newlib_cflags="-DPREFER_SIZE_OVER_SPEED -Os -mrelax"
155 CFLAGS="-g -Os"
156 ;;
157
158 m68*)
159 machine_dir=m68k
160 newlib_cflags="${newlib_cflags} -DCOMPACT_CTYPE"
161 ;;
162 m88k)
163 machine_dir=m88k
164 newlib_cflags="${newlib_cflags} -m88000"
165 ;;
166 m88110)
167 machine_dir=m88k
168 newlib_cflags="${newlib_cflags} -m88110"
169 ;;
170 mcore)
171 ;;
172 mips*)
173 machine_dir=mips
174 ;;
175 mmix)
176 ;;
177 mn10200)
178 machine_dir=mn10200
179 ;;
180 mn10300)
181 default_newlib_io_long_long="yes"
182 machine_dir=mn10300
183 ;;
184 or16)
185 ;;
186 or32)
187 ;;
188 powerpc*)
189 machine_dir=powerpc
190 ;;
191 sh | sh64)
192 machine_dir=sh
193 ;;
194 sparc*)
195 machine_dir=sparc
196 # FIXME: Might wish to make MALLOC_ALIGNMENT more generic.
197 newlib_cflags="${newlib_cflags} -DMALLOC_ALIGNMENT=8"
198 ;;
199 strongarm)
200 machine_dir=arm
201 ;;
202 xscale)
203 machine_dir=xscale
204 ;;
205 thumb)
206 machine_dir=arm
207 ;;
208 tic4x|c4x)
209 machine_dir=tic4x
210 ;;
211 tic80*)
212 machine_dir=tic80
213 ;;
214 v70)
215 ;;
216 v810)
217 ;;
218 v850)
219 machine_dir=v850
220 newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -mv850 "
221 ;;
222 v850e)
223 machine_dir=v850
224 newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED "
225 ;;
226 w65*)
227 machine_dir=w65
228 ;;
229 xstormy16)
230 machine_dir=xstormy16
231 newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED"
232 newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED"
233 ;;
234 z8k)
235 machine_dir=z8k
236 ;;
237 *)
238 echo '***' "Newlib does not support CPU ${host_cpu}" 1>&2
239 exit 1
240 ;;
241 esac
242
243 # Disable thread support if requested.
244
245 if [ "${newlib_multithread}" = "no" ] ; then
246 newlib_cflags="${newlib_cflags} -D__SINGLE_THREAD__"
247 fi
248
249 # Disable syscall support if requested.
250
251 if [ "${newlib_may_supply_syscalls}" = "no" ] ; then
252 newlib_cflags="${newlib_cflags} -D__NO_SYSCALLS__"
253 fi
254
255 # Enable multibyte support if requested or it is defaulted
256 # for target.
257
258 if [ "x${newlib_mb}" = "x" ]; then
259 case "${host}" in
260 i[34567]86-pc-linux-*|*-*-cygwin*)
261 newlib_mb=yes
262 ;;
263 esac
264 fi
265
266 # Disable printf/scanf floating-point support if requested.
267
268 if [ "${newlib_io_float}" = "no" ] ; then
269 newlib_cflags="${newlib_cflags} -DNO_FLOATING_POINT"
270 fi
271
272 # Verify if shared newlib support is allowed and set appropriate variables
273 # We don't want to use libtool for platforms that we are not going to
274 # support shared libraries. This is because it adds executable tests which
275 # we don't want for most embedded platforms.
276 case "${host}" in
277 i[34567]86-pc-linux-*)
278 use_libtool=yes
279 have_sys_mach_dir=yes
280 stdio64_dir=stdio64
281 oext=lo
282 aext=la ;;
283 *) ;; #shared library not supported for ${host}
284 esac
285
286 # Get the source directories to use for the host. unix_dir is set
287 # to unix to get some standard Unix routines. posix_dir is set to get some
288 # standard Posix routines. sys_dir should supply system dependent routines
289 # including crt0.
290 # THIS TABLE IS ALPHA SORTED. KEEP IT THAT WAY.
291
292 case "${host}" in
293 *-*-cygwin*)
294 posix_dir=posix
295 stdio64_dir=stdio64
296 ;;
297 *-*-netware*)
298 signal_dir=
299 sys_dir=netware
300 ;;
301 *-*-rtems*) # generic RTEMS support
302 sys_dir=rtems
303 # RTEMS POSIX support is all inside RTEMS
304 ;;
305 a29k-*-*)
306 sys_dir=a29khif
307 signal_dir=
308 ;;
309 arc-*-*)
310 sys_dir=arc
311 ;;
312 arm-*-*)
313 if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
314 sys_dir=arm
315 fi
316 ;;
317 crx*)
318 sys_dir=
319 ;;
320 d10v*)
321 sys_dir=d10v
322 ;;
323 d30v*)
324 sys_dir=
325 ;;
326 ep9312-*-*)
327 if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
328 sys_dir=arm
329 fi
330 ;;
331 frv*)
332 sys_dir=
333 ;;
334 h8300-*-hms*)
335 sys_dir=h8300hms
336 ;;
337 h8300-*-elf*)
338 sys_dir=h8300hms
339 ;;
340 h8300-*-coff*)
341 sys_dir=h8300hms
342 ;;
343 h8300-*-xray*)
344 sys_dir=h8300xray
345 ;;
346 h8500-*-hms*)
347 sys_dir=h8500hms
348 ;;
349 h8500-*-elf*)
350 sys_dir=h8500hms
351 ;;
352 i[34567]86-*-sco*)
353 sys_dir=sysvi386
354 unix_dir=unix
355 ;;
356 i[34567]86-pc-linux-*)
357 sys_dir=linux
358 unix_dir=unix
359 posix_dir=posix
360 crt1=crt1.o
361 crt1_dir=libc/sys/${sys_dir}
362 gcc_dir=`gcc -print-search-dirs | awk '/^install:/{print $2}'`
363 default_newlib_io_long_double="yes"
364 default_newlib_io_long_long="yes"
365 default_newlib_io_pos_args="yes"
366 #newlib_cflags="${newlib_cflags} -Werror" # DEBUGGING ONLY;BREAKS BUILD
367 newlib_cflags="${newlib_cflags} -Wall"
368 newlib_cflags="${newlib_cflags} -D_I386MACH_ALLOW_HW_INTERRUPTS"
369 newlib_cflags="${newlib_cflags} -DHAVE_FCNTL"
370 # --- Required when building a shared library ------------------------
371 newlib_cflags="${newlib_cflags} -fPIC -D_I386MACH_NEED_SOTYPE_FUNCTION"
372 # --- The three lines below are optional ------------------------------
373 ##newlib_cflags="${newlib_cflags} -nostdinc"
374 ##newlib_cflags="${newlib_cflags} -I`newlib-flags --kernel-dir`/include"
375 ##newlib_cflags="${newlib_cflags} -idirafter ${gcc_dir}include"
376 ;;
377
378 m68hc11-*-*|m6811-*-*|m6812-*-*|m68hc12-*-*)
379 ;;
380
381 m68k-sun-sunos*)
382 unix_dir=unix
383 ;;
384 m8*-bug-*)
385 sys_dir=m88kbug
386 ;;
387 mips*-dec-*)
388 sys_dir=decstation
389 ;;
390 mmix-knuth-mmixware)
391 sys_dir=mmixware
392 ;;
393 powerpcle-*-pe)
394 posix_dir=posix
395 ;;
396 sh*-*)
397 sys_dir=sh
398 ;;
399 sparc-sun-sunos*)
400 sys_dir=sun4
401 unix_dir=unix
402 ;;
403 sparc64*)
404 sys_dir=sparc64
405 unix_dir=unix
406 ;;
407 strongarm-*-*)
408 if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
409 sys_dir=arm
410 fi
411 ;;
412 thumb-*-*)
413 if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
414 sys_dir=arm
415 fi
416 ;;
417 tic80*)
418 sys_dir=tic80
419 ;;
420 v70-nec-*)
421 sys_dir=sysvnecv70
422 ;;
423 v810-*-*)
424 sys_dir=sysnec810
425 ;;
426 v850-*-*)
427 sys_dir=sysnecv850
428 ;;
429 v850e-*-*)
430 sys_dir=sysnecv850
431 ;;
432 v850ea-*-*)
433 sys_dir=sysnecv850
434 ;;
435 w65-*-*)
436 sys_dir=w65
437 ;;
438 xscale-*-*)
439 if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
440 sys_dir=arm
441 fi
442 ;;
443 z8k-*-coff)
444 sys_dir=z8ksim
445 ;;
446 esac
447
448 # Host specific flag settings -- usually for features that are not
449 # general enough or broad enough to be handled above.
450 # THIS TABLE IS ALPHA SORTED. KEEP IT THAT WAY.
451
452 case "${host}" in
453 *-*-cygwin*)
454 test -z "$cygwin_srcdir" && cygwin_srcdir=`cd ${srcdir}/../winsup/cygwin; pwd`
455 export cygwin_srcdir
456 default_newlib_io_long_long="yes"
457 default_newlib_io_long_double="yes"
458 default_newlib_io_pos_args="yes"
459 CC="${CC} -I${cygwin_srcdir}/include"
460 newlib_cflags="${newlib_cflags} -DHAVE_OPENDIR -DHAVE_RENAME -DSIGNAL_PROVIDED -D_COMPILING_NEWLIB -DHAVE_FCNTL -DMALLOC_PROVIDED"
461 syscall_dir=syscalls
462 ;;
463 # RTEMS supplies its own versions of some routines:
464 # malloc() (reentrant version)
465 # exit() RTEMS has a "global" reent to flush
466 # signal()/raise() RTEMS has its own including pthread signals
467 # _XYZ_r() RTEMS has its own reentrant routines
468 #
469 # NOTE: When newlib malloc uses a semaphore, RTEMS will switch to that.
470 *-*-rtems*)
471 default_newlib_io_long_long="yes"
472 newlib_cflags="${newlib_cflags} -DHAVE_GETTIMEOFDAY -DMALLOC_PROVIDED -DEXIT_PROVIDED -DMISSING_SYSCALL_NAMES -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_OPENDIR -DNO_EXEC -DHAVE_FCNTL"
473 ;;
474 # VxWorks supplies its own version of malloc, and the newlib one
475 # doesn't work because VxWorks does not have sbrk.
476 *-wrs-vxworks*)
477 newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DMISSING_SYSCALL_NAMES -DHAVE_FCNTL"
478 ;;
479 # UDI doesn't have exec, so system() should fail the right way
480 a29k-amd-udi)
481 newlib_cflags="${newlib_cflags} -DNO_EXEC"
482 syscall_dir=syscalls
483 ;;
484 arc-*-*)
485 syscall_dir=syscalls
486 ;;
487 arm-*-pe)
488 syscall_dir=syscalls
489 newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
490 ;;
491 arm-*-*)
492 syscall_dir=syscalls
493 newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
494 # If newlib is supplying syscalls, select which debug protocol is being used.
495 # ARM_RDP_MONITOR selects the Demon monitor.
496 # ARM_RDI_MONITOR selects the Angel monitor.
497 # If neither are defined, then hard coded defaults will be used
498 # to create the program's environment.
499 # If --disable-newlib-supplied-syscalls is specified, then the end-user
500 # may specify the protocol via gcc spec files supplied by libgloss.
501 # See also thumb below.
502 if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
503 # newlib_cflags="${newlib_cflags} -DARM_RDP_MONITOR"
504 newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR"
505 fi
506 ;;
507 arc*)
508 newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED"
509 ;;
510 avr*)
511 newlib_cflags="${newlib_cflags} -DNO_EXEC -DSMALL_MEMORY -DMISSING_SYSCALL_NAMES"
512 ;;
513 cris-*-* | crisv32-*-*)
514 default_newlib_io_long_long="yes"
515 newlib_cflags="${newlib_cflags} -DHAVE_RENAME -DHAVE_GETTIMEOFDAY -D_USE_WRITE -DCOMPACT_CTYPE"
516 syscall_dir=syscalls
517 ;;
518 crx-*-*)
519 newlib_cflags="${newlib_cflags} -DHAVE_RENAME -DMISSING_SYSCALL_NAMES"
520 syscall_dir=
521 ;;
522 d10v*)
523 newlib_cflags="${newlib_cflags} -DSMALL_MEMORY"
524 syscall_dir=syscalls
525 ;;
526 d30v*)
527 newlib_cflags="${newlib_cflags} -DABORT_MESSAGE -DSMALL_MEMORY -DMISSING_SYSCALL_NAMES"
528 syscall_dir=
529 ;;
530 ep9312-*-*)
531 syscall_dir=syscalls
532 newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
533 if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
534 newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR"
535 fi
536 ;;
537 fr30-*-*)
538 syscall_dir=syscalls
539 ;;
540 frv-*-*)
541 syscall_dir=syscalls
542 default_newlib_io_long_long="yes"
543 ;;
544 h8300*-*-*)
545 syscall_dir=syscalls
546 default_newlib_io_long_long="yes"
547 newlib_cflags="${newlib_cflags} -DSMALL_DTOA -DSMALL_MEMORY"
548 # Simulator only extensions for H8300.
549 # Uncomment the next line to enable them.
550 # newlib_cflags="${newlib_cflags} -D__SIMULATOR__"
551 ;;
552 h8500-*-*)
553 syscall_dir=syscalls
554 newlib_cflags="${newlib_cflags} -DSMALL_DTOA -DSMALL_MEMORY"
555 ;;
556 i[34567]86-*-sco*)
557 newlib_cflags="${newlib_cflags} -DSIGNAL_PROVIDED -DHAVE_FCNTL"
558 ;;
559 i[34567]86-*-netware*)
560 newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES -DNO_EXEC -DABORT_PROVIDED -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DHAVE_FCNTL"
561 ;;
562 iq2000*)
563 syscall_dir=syscalls
564 default_newlib_io_long_long="yes"
565 ;;
566 m32r-*-*)
567 # Pass -msdata=sdata so _impure_ptr goes in .sdata.
568 # We don't generate sda relocs however for upward compatibility.
569 # FIXME: This is necessary because the default multilib doesn't
570 # use --print-multi-lib.
571 newlib_cflags="${newlib_cflags} -msdata=sdata"
572 syscall_dir=syscalls
573 ;;
574 m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
575 newlib_cflags="${newlib_cflags} -DNO_EXEC -DABORT_PROVIDED -DSMALL_MEMORY -DMISSING_SYSCALL_NAMES"
576 ;;
577 mcore-*-*)
578 syscall_dir=syscalls
579 ;;
580 mips64vr*-*-*)
581 default_newlib_io_long_long="yes"
582 newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES"
583 ;;
584 mips*-*-elf*)
585 default_newlib_io_long_long="yes"
586 newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES"
587 ;;
588 mmix-*)
589 syscall_dir=syscalls
590 # We need every symbol 32-bit aligned, so the invalid
591 # construct with attribute ((alias ("_ctype_b+127"))) breaks.
592 newlib_cflags="${newlib_cflags} -DCOMPACT_CTYPE"
593 ;;
594 mn10?00-*-*)
595 syscall_dir=syscalls
596 ;;
597 powerpc*-*-eabialtivec*)
598 default_newlib_io_long_long="yes"
599 newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES"
600 ;;
601 powerpc*-*-eabispe*)
602 default_newlib_io_long_long="yes"
603 newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES"
604 ;;
605 powerpc*-*-eabi* | \
606 powerpc*-*-elf* | \
607 powerpc*-*-linux* | \
608 powerpc*-*-rtem* | \
609 powerpc*-*-sysv* | \
610 powerpc*-*-solaris*)
611 default_newlib_io_long_long="yes"
612 newlib_cflags="${newlib_cflags} -mrelocatable-lib -mno-eabi -mstrict-align -DMISSING_SYSCALL_NAMES"
613 ;;
614 powerpcle-*-pe)
615 newlib_cflags="${newlib_cflags} -DHAVE_OPENDIR -DHAVE_RENAME -DHAVE_FCNTL"
616 syscall_dir=syscalls
617 ;;
618 sh*-*-*)
619 default_newlib_io_long_long="yes"
620 newlib_cflags="${newlib_cflags} -DHAVE_GETTIMEOFDAY"
621 syscall_dir=syscalls
622 ;;
623 sparc-sun-sunos*)
624 newlib_cflags="${newlib_cflags} -DSIGNAL_PROVIDED"
625 ;;
626 sparc64-*-*)
627 newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_BLKSIZE -DHAVE_GETTIMEOFDAY -DHAVE_FCNTL"
628 # This either belongs elsewhere or nowhere. But I need *something*,
629 # so for now it's here ...
630 case "${host_os}" in
631 aoutv8 | *32p)
632 newlib_cflags="${newlib_cflags} -DTARGET_PTR_SIZE=32" ;;
633 *)
634 newlib_cflags="${newlib_cflags} -DTARGET_PTR_SIZE=64" ;;
635 esac
636 ;;
637 strongarm-*-*)
638 syscall_dir=syscalls
639 newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
640 ;;
641 thumb-*-pe)
642 syscall_dir=syscalls
643 newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
644 # Don't use the debugging protocols just yet.
645 ;;
646 thumb-*-*)
647 syscall_dir=syscalls
648 newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
649 # If newlib is supplying syscalls, select which debug protocol is being used.
650 # ARM_RDP_MONITOR selects the Demon monitor.
651 # ARM_RDI_MONITOR selects the Angel monitor.
652 # If neither are defined, then hard coded defaults will be used
653 # to create the program's environment.
654 # If --disable-newlib-supplied-syscalls is specified, then the end-user
655 # may specify the protocol via gcc spec files supplied by libgloss.
656 if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
657 # newlib_cflags="${newlib_cflags} -DARM_RDP_MONITOR"
658 newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR"
659 fi
660 ;;
661 tic80*)
662 syscall_dir=syscalls
663 ;;
664 v850-*-*)
665 syscall_dir=syscalls
666 ;;
667 v850e-*-*)
668 syscall_dir=syscalls
669 ;;
670 v850ea-*-*)
671 syscall_dir=syscalls
672 ;;
673 w65-*-*)
674 syscall_dir=syscalls
675 newlib_cflags="${newlib_cflags} -DSMALL_DTOA -DSMALL_MEMORY"
676 ;;
677 xscale-*-*)
678 syscall_dir=syscalls
679 newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
680 newlib_cflags="${newlib_cflags} -DHAVE_SYSTEM -DHAVE_RENAME"
681 if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
682 newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR"
683 fi
684 ;;
685 xstormy16-*-*)
686 newlib_cflags="${newlib_cflags} -DHAVE_GETTIMEOFDAY"
687 syscall_dir=syscalls
688 ;;
689 z8k-*-*)
690 syscall_dir=syscalls
691 ;;
692 *)
693 newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES"
694 syscall_dir=
695 ;;
696 esac
697
698 # Use defaults for certain settings if not specified by user
699
700 # Enable long long support in I/O routines if requested.
701 if [ "x${newlib_io_long_long}" = "x" ]; then
702 if [ ${default_newlib_io_long_long} = "yes" ]; then
703 newlib_io_long_long="yes";
704 fi
705 fi
706
707 # Enable long double support in I/O routines if requested.
708 if [ "x${newlib_io_long_double}" = "x" ]; then
709 if [ ${default_newlib_io_long_double} = "yes" ]; then
710 newlib_io_long_double="yes";
711 fi
712 fi
713
714 # Enable printf positional argument support if requested.
715 if [ "x${newlib_io_pos_args}" = "x" ]; then
716 if [ ${default_newlib_io_pos_args} = "yes" ]; then
717 newlib_io_pos_args="yes";
718 fi
719 fi
This page took 0.068214 seconds and 6 git commands to generate.