| @@ -1,15 +1,15 @@ | | | @@ -1,15 +1,15 @@ |
1 | #!/bin/sh | | 1 | #!/bin/sh |
2 | # $NetBSD: mknative-gcc,v 1.41 2009/11/30 14:34:17 uebayasi Exp $ | | 2 | # $NetBSD: mknative-gcc,v 1.42 2009/12/01 03:13:26 uebayasi Exp $ |
3 | # | | 3 | # |
4 | # Shell script for generating all the constants needed for a native | | 4 | # Shell script for generating all the constants needed for a native |
5 | # platform build of src/gnu/dist/gcc. | | 5 | # platform build of src/gnu/dist/gcc. |
6 | # | | 6 | # |
7 | | | 7 | |
8 | # initialise | | 8 | # initialise |
9 | | | 9 | |
10 | _TMPDIR=$2 | | 10 | _TMPDIR=$2 |
11 | _TOP=$3 | | 11 | _TOP=$3 |
12 | _PLATFORM=$4 | | 12 | _PLATFORM=$4 |
13 | _VPATH=`grep VPATH ${_TMPDIR}/Makefile | sed 's,^.*=[ ]*,,'` | | 13 | _VPATH=`grep VPATH ${_TMPDIR}/Makefile | sed 's,^.*=[ ]*,,'` |
14 | _GNU_DIST=`cd ${_VPATH}; pwd` | | 14 | _GNU_DIST=`cd ${_VPATH}; pwd` |
15 | | | 15 | |
| @@ -40,34 +40,49 @@ get_libg2c () { | | | @@ -40,34 +40,49 @@ get_libg2c () { |
40 | F2CEXT | | 40 | F2CEXT |
41 | getvars $_PLATFORM/libf2c/libF77/Makefile \ | | 41 | getvars $_PLATFORM/libf2c/libF77/Makefile \ |
42 | ALL_CFLAGS OBJS | | 42 | ALL_CFLAGS OBJS |
43 | getvars $_PLATFORM/libf2c/libI77/Makefile \ | | 43 | getvars $_PLATFORM/libf2c/libI77/Makefile \ |
44 | ALL_CFLAGS OBJS | sed 's,=,+=,' | | 44 | ALL_CFLAGS OBJS | sed 's,=,+=,' |
45 | getvars $_PLATFORM/libf2c/libU77/Makefile \ | | 45 | getvars $_PLATFORM/libf2c/libU77/Makefile \ |
46 | ALL_CFLAGS OBJS | sed 's,=,+=,' | | 46 | ALL_CFLAGS OBJS | sed 's,=,+=,' |
47 | } | write_mk gnu/lib/libg2c3/arch/$MACHINE_ARCH/defs.mk | | 47 | } | write_mk gnu/lib/libg2c3/arch/$MACHINE_ARCH/defs.mk |
48 | } | | 48 | } |
49 | | | 49 | |
50 | ##### gnu/lib/libgcc ##### | | 50 | ##### gnu/lib/libgcc ##### |
51 | | | 51 | |
52 | get_libgcc_list_funcs_asm () { | | 52 | get_libgcc_list_funcs_asm () { |
53 | getvars gcc/Makefile LIB1ASMFUNCS | { | | 53 | { |
54 | # print newline separated list | | 54 | getvars gcc/Makefile LIB1ASMFUNCS | { |
55 | sed -e ' | | 55 | # print newline separated list |
56 | s,^.*=,, | | 56 | sed -e ' |
57 | s, *$,, | | 57 | s,^.*=,, |
58 | s, *, ,g | | 58 | s, *$,, |
59 | s, ,\ | | 59 | s, *, ,g |
| | | 60 | s, ,\ |
60 | ,g' | | 61 | ,g' |
| | | 62 | } |
| | | 63 | getvars gcc/Makefile LIB2FUNCS_EXTRA | { |
| | | 64 | # print newline separated list |
| | | 65 | sed -e ' |
| | | 66 | s,^.*=,, |
| | | 67 | s, *$,, |
| | | 68 | s, *, ,g |
| | | 69 | s, ,\ |
| | | 70 | ,g' | \ |
| | | 71 | sed -ne ' |
| | | 72 | /\.S$/ { s,^.*/,,; s,\.S$,,; p; } |
| | | 73 | /\.asm$/ { s,^.*/,,; s,\.asm$,,; p; } |
| | | 74 | ' |
| | | 75 | } |
61 | } | { | | 76 | } | { |
62 | # print foo and foo_s | | 77 | # print foo and foo_s |
63 | sed -ne ' | | 78 | sed -ne ' |
64 | /./ { | | 79 | /./ { |
65 | p | | 80 | p |
66 | s,$,_s, | | 81 | s,$,_s, |
67 | p | | 82 | p |
68 | } | | 83 | } |
69 | ' | | 84 | ' |
70 | } | sort | | 85 | } | sort |
71 | } | | 86 | } |
72 | | | 87 | |
73 | get_libgcc_list_funcs_lib () { | | 88 | get_libgcc_list_funcs_lib () { |
| @@ -336,26 +351,27 @@ get_libgcc () { | | | @@ -336,26 +351,27 @@ get_libgcc () { |
336 | _extravars="COLLECT2 UNWIND_H xm_include_list" | | 351 | _extravars="COLLECT2 UNWIND_H xm_include_list" |
337 | _archsubdir="" | | 352 | _archsubdir="" |
338 | ;; | | 353 | ;; |
339 | esac | | 354 | esac |
340 | | | 355 | |
341 | # DPBIT, FPBIT only used on mn10[23]00, we don't need them. | | 356 | # DPBIT, FPBIT only used on mn10[23]00, we don't need them. |
342 | # XXX we should probably grab everything Just In Case for | | 357 | # XXX we should probably grab everything Just In Case for |
343 | # the future. | | 358 | # the future. |
344 | { | | 359 | { |
345 | getvars gcc/Makefile \ | | 360 | getvars gcc/Makefile \ |
346 | INCLUDES LIB2ADD LIB2ADDEH \ | | 361 | INCLUDES LIB2ADD LIB2ADDEH \ |
347 | LIB1ASMFUNCS LIB1ASMSRC \ | | 362 | LIB1ASMFUNCS LIB1ASMSRC \ |
348 | LIB2_DIVMOD_FUNCS LIB2FUNCS_ST \ | | 363 | LIB2_DIVMOD_FUNCS LIB2FUNCS_ST \ |
| | | 364 | LIB2FUNCS_EXTRA \ |
349 | LIBGCC2_CFLAGS \ | | 365 | LIBGCC2_CFLAGS \ |
350 | SHLIB_MKMAP SHLIB_MKMAP_OPTS \ | | 366 | SHLIB_MKMAP SHLIB_MKMAP_OPTS \ |
351 | SHLIB_MAPFILES SHLIB_NM_FLAGS \ | | 367 | SHLIB_MAPFILES SHLIB_NM_FLAGS \ |
352 | EXTRA_HEADERS xm_defines \ | | 368 | EXTRA_HEADERS xm_defines \ |
353 | tm_defines ${_extravars} | | 369 | tm_defines ${_extravars} |
354 | } | write_mk gnu/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH.mk | | 370 | } | write_mk gnu/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH.mk |
355 | | | 371 | |
356 | # Generate new style files. | | 372 | # Generate new style files. |
357 | if [ -n "${MKNATIVE_LIBGCC_NEW}" ]; then | | 373 | if [ -n "${MKNATIVE_LIBGCC_NEW}" ]; then |
358 | get_libgcc_new $_subdir | | 374 | get_libgcc_new $_subdir |
359 | fi | | 375 | fi |
360 | } | | 376 | } |
361 | | | 377 | |