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