| @@ -1,132 +1,133 @@ | | | @@ -1,132 +1,133 @@ |
1 | #!/bin/sh | | 1 | #!/bin/sh |
2 | # $NetBSD: mknative-binutils,v 1.5 2006/02/02 20:06:04 skrll Exp $ | | 2 | # $NetBSD: mknative-binutils,v 1.6 2009/11/08 15:33:29 skrll 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/binutils. | | 5 | # platform build of src/external/gpl3/binutils |
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 | | | 14 | |
15 | . $_TOP/tools/gcc/mknative.common | | 15 | . $_TOP/tools/gcc/mknative.common |
16 | | | 16 | |
17 | ##### gnu/lib/libbfd ##### | | 17 | ##### external/gpl3/binutils/lib/libbfd ##### |
18 | | | 18 | |
19 | get_libbfd () { | | 19 | get_libbfd () { |
20 | mkdir -p $_TOP/gnu/lib/libbfd/arch/$MACHINE_ARCH | | 20 | mkdir -p $_TOP/external/gpl3/binutils/lib/libbfd/arch/$MACHINE_ARCH |
21 | | | 21 | |
22 | { | | 22 | { |
23 | getvars bfd/Makefile \ | | 23 | getvars bfd/Makefile \ |
24 | libbfd_la_DEPENDENCIES libbfd_la_OBJECTS DEFS \ | | 24 | libbfd_la_DEPENDENCIES libbfd_la_OBJECTS DEFS \ |
25 | INCLUDES TDEFAULTS | | 25 | INCLUDES TDEFAULTS |
26 | } | write_mk gnu/lib/libbfd/arch/$MACHINE_ARCH/defs.mk | | 26 | } | write_mk external/gpl3/binutils/lib/libbfd/arch/$MACHINE_ARCH/defs.mk |
27 | | | 27 | |
28 | write_c gnu/lib/libbfd/arch/$MACHINE_ARCH/bfd.h <$_TMPDIR/bfd/bfd.h | | 28 | write_c external/gpl3/binutils/lib/libbfd/arch/$MACHINE_ARCH/bfd.h <$_TMPDIR/bfd/bfd.h |
29 | write_c gnu/lib/libbfd/arch/$MACHINE_ARCH/bfdver.h <$_TMPDIR/bfd/bfdver.h | | 29 | write_c external/gpl3/binutils/lib/libbfd/arch/$MACHINE_ARCH/bfdver.h <$_TMPDIR/bfd/bfdver.h |
| | | 30 | write_c external/gpl3/binutils/lib/libbfd/arch/$MACHINE_ARCH/bfd_stdint.h <$_TMPDIR/bfd/bfd_stdint.h |
30 | | | 31 | |
31 | { | | 32 | { |
32 | cat $_TMPDIR/bfd/config.h | | 33 | cat $_TMPDIR/bfd/config.h |
33 | } | write_c gnu/lib/libbfd/arch/$MACHINE_ARCH/config.h | | 34 | } | write_c external/gpl3/binutils/lib/libbfd/arch/$MACHINE_ARCH/config.h |
34 | } | | 35 | } |
35 | | | 36 | |
36 | ##### gnu/lib/libopcodes ##### | | 37 | ##### external/gpl3/binutils/lib/libopcodes ##### |
37 | | | 38 | |
38 | get_libopcodes () { | | 39 | get_libopcodes () { |
39 | mkdir -p $_TOP/gnu/lib/libopcodes/arch/$MACHINE_ARCH | | 40 | mkdir -p $_TOP/external/gpl3/binutils/lib/libopcodes/arch/$MACHINE_ARCH |
40 | | | 41 | |
41 | { | | 42 | { |
42 | getvars opcodes/Makefile \ | | 43 | getvars opcodes/Makefile \ |
43 | archdefs BFD_MACHINES libopcodes_la_SOURCES | | 44 | archdefs BFD_MACHINES libopcodes_la_SOURCES |
44 | } | write_mk gnu/lib/libopcodes/arch/$MACHINE_ARCH/defs.mk | | 45 | } | write_mk external/gpl3/binutils/lib/libopcodes/arch/$MACHINE_ARCH/defs.mk |
45 | | | 46 | |
46 | { | | 47 | { |
47 | cat $_TMPDIR/opcodes/config.h | | 48 | cat $_TMPDIR/opcodes/config.h |
48 | } | write_c gnu/lib/libopcodes/arch/$MACHINE_ARCH/config.h | | 49 | } | write_c external/gpl3/binutils/lib/libopcodes/arch/$MACHINE_ARCH/config.h |
49 | } | | 50 | } |
50 | | | 51 | |
51 | ##### gnu/lib/libiberty ##### | | 52 | ##### external/gpl3/binutils/lib/libiberty ##### |
52 | | | 53 | |
53 | get_libiberty () { | | 54 | get_libiberty () { |
54 | mkdir -p $_TOP/gnu/lib/libiberty/arch/$MACHINE_ARCH | | 55 | mkdir -p $_TOP/external/gpl3/binutils/lib/libiberty/arch/$MACHINE_ARCH |
55 | | | 56 | |
56 | getvars libiberty/Makefile \ | | 57 | getvars libiberty/Makefile \ |
57 | ALLOCA EXTRA_OFILES LIBOBJS REQUIRED_OFILES \ | | 58 | ALLOCA EXTRA_OFILES LIBOBJS REQUIRED_OFILES \ |
58 | | write_mk gnu/lib/libiberty/arch/$MACHINE_ARCH/defs.mk | | 59 | | write_mk external/gpl3/binutils/lib/libiberty/arch/$MACHINE_ARCH/defs.mk |
59 | | | 60 | |
60 | write_c gnu/lib/libiberty/arch/$MACHINE_ARCH/config.h \ | | 61 | write_c external/gpl3/binutils/lib/libiberty/arch/$MACHINE_ARCH/config.h \ |
61 | <$_TMPDIR/libiberty/config.h | | 62 | <$_TMPDIR/libiberty/config.h |
62 | } | | 63 | } |
63 | | | 64 | |
64 | ##### gnu/usr.bin/binutils ##### | | 65 | ##### external/gpl3/binutils/usr.bin ##### |
65 | | | 66 | |
66 | get_binutils () { | | 67 | get_binutils () { |
67 | ### common | | 68 | ### common |
68 | | | 69 | |
69 | mkdir -p $_TOP/gnu/usr.bin/binutils/common/arch/$MACHINE_ARCH | | 70 | mkdir -p $_TOP/external/gpl3/binutils/usr.bin/common/arch/$MACHINE_ARCH |
70 | | | 71 | |
71 | { | | 72 | { |
72 | getvars binutils/Makefile \ | | 73 | getvars binutils/Makefile \ |
73 | VERSION DEFS INCLUDES PROGRAMS | | 74 | VERSION DEFS INCLUDES PROGRAMS |
74 | getvars binutils/doc/Makefile \ | | 75 | getvars binutils/doc/Makefile \ |
75 | man_MANS TEXINFOS | | 76 | man_MANS TEXINFOS |
76 | | | 77 | |
77 | for f in `getvars binutils/Makefile PROGRAMS | sed 'y,-,_,;s,^[^=]*=,,'`; do | | 78 | for f in `getvars binutils/Makefile PROGRAMS | sed 'y,-,_,;s,^[^=]*=,,'`; do |
78 | getvars binutils/Makefile ${f}_OBJECTS ${f}_DEPENDENCIES | | 79 | getvars binutils/Makefile ${f}_OBJECTS ${f}_DEPENDENCIES |
79 | done | | 80 | done |
80 | } | write_mk gnu/usr.bin/binutils/common/arch/$MACHINE_ARCH/defs.mk | | 81 | } | write_mk external/gpl3/binutils/usr.bin/common/arch/$MACHINE_ARCH/defs.mk |
81 | | | 82 | |
82 | write_c gnu/usr.bin/binutils/common/arch/$MACHINE_ARCH/config.h \ | | 83 | write_c external/gpl3/binutils/usr.bin/common/arch/$MACHINE_ARCH/config.h \ |
83 | <$_TMPDIR/binutils/config.h | | 84 | <$_TMPDIR/binutils/config.h |
84 | | | 85 | |
85 | ### gas | | 86 | ### gas |
86 | | | 87 | |
87 | mkdir -p $_TOP/gnu/usr.bin/binutils/gas/arch/$MACHINE_ARCH | | 88 | mkdir -p $_TOP/external/gpl3/binutils/usr.bin/gas/arch/$MACHINE_ARCH |
88 | | | 89 | |
89 | getvars gas/Makefile \ | | 90 | getvars gas/Makefile \ |
90 | DEFS INCLUDES OBJS \ | | 91 | DEFS INCLUDES OBJS \ |
91 | | write_mk gnu/usr.bin/binutils/gas/arch/$MACHINE_ARCH/defs.mk | | 92 | | write_mk external/gpl3/binutils/usr.bin/gas/arch/$MACHINE_ARCH/defs.mk |
92 | | | 93 | |
93 | for f in config itbl-cpu obj-format targ-cpu targ-env; do | | 94 | for f in config itbl-cpu obj-format targ-cpu targ-env; do |
94 | write_c gnu/usr.bin/binutils/gas/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gas/$f.h | | 95 | write_c external/gpl3/binutils/usr.bin/gas/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gas/$f.h |
95 | done | | 96 | done |
96 | | | 97 | |
97 | ### gprof | | 98 | ### gprof |
98 | | | 99 | |
99 | mkdir -p $_TOP/gnu/usr.bin/binutils/gprof/arch/$MACHINE_ARCH | | 100 | mkdir -p $_TOP/external/gpl3/binutils/usr.bin/gprof/arch/$MACHINE_ARCH |
100 | | | 101 | |
101 | getvars gprof/Makefile \ | | 102 | getvars gprof/Makefile \ |
102 | DEFS gprof_OBJECTS INCLUDES TEXINFOS \ | | 103 | DEFS gprof_OBJECTS INCLUDES TEXINFOS \ |
103 | | write_mk gnu/usr.bin/binutils/gprof/arch/$MACHINE_ARCH/defs.mk | | 104 | | write_mk external/gpl3/binutils/usr.bin/gprof/arch/$MACHINE_ARCH/defs.mk |
104 | | | 105 | |
105 | write_c gnu/usr.bin/binutils/gprof/arch/$MACHINE_ARCH/gconfig.h <$_TMPDIR/gprof/gconfig.h | | 106 | write_c external/gpl3/binutils/usr.bin/gprof/arch/$MACHINE_ARCH/gconfig.h <$_TMPDIR/gprof/gconfig.h |
106 | | | 107 | |
107 | ### ld | | 108 | ### ld |
108 | | | 109 | |
109 | mkdir -p $_TOP/gnu/usr.bin/binutils/ld/arch/$MACHINE_ARCH | | 110 | mkdir -p $_TOP/external/gpl3/binutils/usr.bin/ld/arch/$MACHINE_ARCH |
110 | | | 111 | |
111 | { | | 112 | { |
112 | getvars ld/Makefile \ | | 113 | getvars ld/Makefile \ |
113 | DEFS EMUL EMULATION_OFILES INCLUDES OFILES STRINGIFY TEXINFOS | | 114 | DEFS EMUL EMULATION_OFILES INCLUDES OFILES STRINGIFY TEXINFOS |
114 | getvars ld/Makefile \ | | 115 | getvars ld/Makefile \ |
115 | target_alias | sed 's,[\._0-9A-Z]*$,,' | | 116 | target_alias | sed 's,[\._0-9A-Z]*$,,' |
116 | } | write_mk gnu/usr.bin/binutils/ld/arch/$MACHINE_ARCH/defs.mk | | 117 | } | write_mk external/gpl3/binutils/usr.bin/ld/arch/$MACHINE_ARCH/defs.mk |
117 | | | 118 | |
118 | for f in config ldemul-list; do | | 119 | for f in config ldemul-list; do |
119 | write_c gnu/usr.bin/binutils/ld/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/ld/$f.h | | 120 | write_c external/gpl3/binutils/usr.bin/ld/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/ld/$f.h |
120 | done | | 121 | done |
121 | } | | 122 | } |
122 | | | 123 | |
123 | ##### main ##### | | 124 | ##### main ##### |
124 | | | 125 | |
125 | case $1 in | | 126 | case $1 in |
126 | all|binutils) # everything (uses "canadian cross" temp environment) | | 127 | all|binutils) # everything (uses "canadian cross" temp environment) |
127 | get_binutils | | 128 | get_binutils |
128 | get_libbfd | | 129 | get_libbfd |
129 | get_libopcodes | | 130 | get_libopcodes |
130 | get_libiberty | | 131 | get_libiberty |
131 | exit 0 | | 132 | exit 0 |
132 | ;; | | 133 | ;; |