| 1 | Submitted By: Joe Ciccone <jciccone@gmail.com> |
| 2 | Date: 2006-11-26 |
| 3 | Initial Package Version: 2.5 |
| 4 | Rediffed against 2.6 by Joe Ciccone |
| 5 | Rediffed against 2.8 by Joe Ciccone on 2009-01-03 |
| 6 | Rediffed against 2.9 by Joe Ciccone on 2009-03-15 |
| 7 | Origin: Joe Ciccone |
| 8 | Upstream Status: Unknown |
| 9 | Description: Adds native compile support to the build system then uses that |
| 10 | support to build zic-native, for installing timezone info, |
| 11 | rpcgen-native, for building librpcsvc.a, and localedef-native, |
| 12 | for creating the locale-archive. |
| 13 | |
| 14 | diff -Naur glibc-2.9.orig/iconv/Makefile glibc-2.9/iconv/Makefile |
| 15 | --- glibc-2.9.orig/iconv/Makefile 2007-07-24 23:41:17.000000000 -0400 |
| 16 | +++ glibc-2.9/iconv/Makefile 2009-03-15 19:22:15.732837951 -0400 |
| 17 | @@ -57,6 +57,9 @@ |
| 18 | iconvconfig.h |
| 19 | |
| 20 | others = iconv_prog iconvconfig |
| 21 | +ifneq ($(cross-compiling),no) |
| 22 | + others-native = iconvconfig-native |
| 23 | +endif |
| 24 | install-others-programs = $(inst_bindir)/iconv |
| 25 | install-sbin = iconvconfig |
| 26 | |
| 27 | @@ -79,6 +82,7 @@ |
| 28 | |
| 29 | $(objpfx)iconv_prog: $(iconv_prog-modules:%=$(objpfx)%.o) |
| 30 | $(objpfx)iconvconfig: $(iconvconfig-modules:%=$(objpfx)%.o) |
| 31 | +$(objpfx)iconvconfig-native: $(iconvconfig-modules:%=$(objpfx)%-native.o) |
| 32 | |
| 33 | ifneq ($(cross-compiling),yes) |
| 34 | xtests: test-iconvconfig |
| 35 | diff -Naur glibc-2.9.orig/iconvdata/Makefile glibc-2.9/iconvdata/Makefile |
| 36 | --- glibc-2.9.orig/iconvdata/Makefile 2008-05-14 21:54:31.000000000 -0400 |
| 37 | +++ glibc-2.9/iconvdata/Makefile 2009-03-15 19:22:15.753163155 -0400 |
| 38 | @@ -320,23 +320,25 @@ |
| 39 | |
| 40 | headers: $(addprefix $(objpfx), $(generated-modules:=.h)) |
| 41 | |
| 42 | +ifeq ($(cross-compiling),no) |
| 43 | +iconvconfig-cmd = LC_ALL=C LANGUAGE=C \ |
| 44 | + $(common-objpfx)elf/ld.so --library-path $(rpath-link) \ |
| 45 | + $(common-objpfx)iconv/iconvconfig |
| 46 | +else |
| 47 | +iconvconfig-cmd = LC_ALL=C LANGUAGE=C \ |
| 48 | + $(common-objpfx)iconv/iconvconfig-native |
| 49 | +endif |
| 50 | + |
| 51 | $(addprefix $(inst_gconvdir)/, $(modules.so)): \ |
| 52 | $(inst_gconvdir)/%: $(objpfx)% $(+force) |
| 53 | $(do-install-program) |
| 54 | $(inst_gconvdir)/gconv-modules: gconv-modules $(+force) |
| 55 | $(do-install) |
| 56 | -ifeq (no,$(cross-compiling)) |
| 57 | # Update the $(prefix)/lib/gconv/gconv-modules.cache file. This is necessary |
| 58 | # if this libc has more gconv modules than the previously installed one. |
| 59 | if test -f "$(inst_gconvdir)/gconv-modules.cache"; then \ |
| 60 | - LC_ALL=C LANGUAGE=C \ |
| 61 | - $(common-objpfx)elf/ld.so --library-path $(rpath-link) \ |
| 62 | - $(common-objpfx)iconv/iconvconfig \ |
| 63 | - $(addprefix --prefix=,$(install_root)); \ |
| 64 | + $(iconvconfig-cmd) $(addprefix --prefix=,$(install_root)); \ |
| 65 | fi |
| 66 | -else |
| 67 | - @echo '*@*@*@ You should recreate $(inst_gconvdir)/gconv-modules.cache' |
| 68 | -endif |
| 69 | |
| 70 | endif # build-shared = yes |
| 71 | |
| 72 | diff -Naur glibc-2.9.orig/iconvdata/Makefile.orig glibc-2.9/iconvdata/Makefile.orig |
| 73 | --- glibc-2.9.orig/iconvdata/Makefile.orig 1969-12-31 19:00:00.000000000 -0500 |
| 74 | +++ glibc-2.9/iconvdata/Makefile.orig 2008-05-14 21:54:31.000000000 -0400 |
| 75 | @@ -0,0 +1,393 @@ |
| 76 | +# Copyright (C) 1997-2004,2005,2006,2007,2008 Free Software Foundation, Inc. |
| 77 | +# This file is part of the GNU C Library. |
| 78 | + |
| 79 | +# The GNU C Library is free software; you can redistribute it and/or |
| 80 | +# modify it under the terms of the GNU Lesser General Public |
| 81 | +# License as published by the Free Software Foundation; either |
| 82 | +# version 2.1 of the License, or (at your option) any later version. |
| 83 | + |
| 84 | +# The GNU C Library is distributed in the hope that it will be useful, |
| 85 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 86 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 87 | +# Lesser General Public License for more details. |
| 88 | + |
| 89 | +# You should have received a copy of the GNU Lesser General Public |
| 90 | +# License along with the GNU C Library; if not, write to the Free |
| 91 | +# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA |
| 92 | +# 02111-1307 USA. |
| 93 | + |
| 94 | +# |
| 95 | +# Makefile for iconv data and code. |
| 96 | +# |
| 97 | +subdir := iconvdata |
| 98 | + |
| 99 | +# Names of all the shared objects which implement the transformations. |
| 100 | +modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \ |
| 101 | + ISO8859-6 ISO8859-7 ISO8859-8 ISO8859-9 ISO8859-10 \ |
| 102 | + ISO8859-11 ISO8859-13 ISO8859-14 ISO8859-15 ISO8859-16 \ |
| 103 | + T.61 ISO_6937 SJIS KOI-8 HP-ROMAN8 HP-ROMAN9 EBCDIC-AT-DE \ |
| 104 | + EBCDIC-AT-DE-A EBCDIC-CA-FR EUC-KR UHC JOHAB libJIS libKSC \ |
| 105 | + BIG5 EUC-JP libGB EUC-CN libCNS EUC-TW ISO646 EBCDIC-DK-NO \ |
| 106 | + EBCDIC-DK-NO-A EBCDIC-ES EBCDIC-ES-A EBCDIC-ES-S EBCDIC-FI-SE \ |
| 107 | + EBCDIC-FI-SE-A EBCDIC-FR EBCDIC-IS-FRISS EBCDIC-IT EBCDIC-PT \ |
| 108 | + EBCDIC-UK EBCDIC-US IBM037 IBM038 IBM274 IBM275 IBM423 \ |
| 109 | + IBM500 IBM870 IBM871 IBM891 IBM903 IBM904 IBM905 IBM1047 \ |
| 110 | + IBM874 CP737 CP775 ISO-2022-KR HP-TURKISH8 HP-THAI8 HP-GREEK8 \ |
| 111 | + KOI8-R LATIN-GREEK LATIN-GREEK-1 IBM256 IBM273 IBM277 IBM278 \ |
| 112 | + IBM280 IBM281 IBM284 IBM285 IBM290 IBM297 IBM420 IBM424 \ |
| 113 | + IBM437 IBM850 IBM851 IBM852 IBM855 IBM857 IBM860 IBM861 \ |
| 114 | + IBM862 IBM863 IBM864 IBM865 IBM868 IBM869 IBM875 IBM880 \ |
| 115 | + IBM866 CP1258 IBM922 IBM1124 IBM1129 IBM932 IBM943 \ |
| 116 | + IBM856 IBM930 IBM933 IBM935 IBM937 IBM939 IBM1046 \ |
| 117 | + IBM1132 IBM1133 IBM1160 IBM1161 IBM1162 IBM1163 IBM1164 \ |
| 118 | + IBM918 IBM1004 IBM1026 CP1125 CP1250 CP1251 CP1252 CP1253 \ |
| 119 | + CP1254 CP1255 CP1256 CP1257 ISO-2022-JP MACINTOSH IEC_P27-1 \ |
| 120 | + ASMO_449 ANSI_X3.110 CSN_369103 CWI DEC-MCS ECMA-CYRILLIC \ |
| 121 | + GOST_19768-74 GREEK-CCITT GREEK7 GREEK7-OLD INIS INIS-8 \ |
| 122 | + INIS-CYRILLIC ISO_6937-2 ISO_2033 ISO_5427 ISO_5427-EXT \ |
| 123 | + ISO_5428 ISO_10367-BOX MAC-IS MAC-UK NATS-DANO NATS-SEFI \ |
| 124 | + SAMI-WS2 ISO-IR-197 TIS-620 KOI8-U GBK ISIRI-3342 GBGBK \ |
| 125 | + ISO-2022-CN libISOIR165 UTF-16 UNICODE UTF-32 UTF-7 BIG5HKSCS \ |
| 126 | + GB18030 ISO-2022-CN-EXT VISCII GBBIG5 CP10007 KOI8-T \ |
| 127 | + GEORGIAN-PS GEORGIAN-ACADEMY ISO-IR-209 MAC-SAMI ARMSCII-8 \ |
| 128 | + TCVN5712-1 libJISX0213 EUC-JISX0213 SHIFT_JISX0213 \ |
| 129 | + ISO-2022-JP-3 TSCII IBM866NAV CP932 EUC-JP-MS PT154 RK1048 \ |
| 130 | + IBM1025 IBM1122 IBM1137 IBM1153 IBM1154 IBM1155 IBM1156 \ |
| 131 | + IBM1157 IBM1158 IBM803 IBM901 IBM902 IBM921 IBM1008 \ |
| 132 | + IBM1008_420 IBM1097 IBM1112 IBM1123 IBM1130 IBM1140 IBM1141 \ |
| 133 | + IBM1142 IBM1143 IBM1144 IBM1145 IBM1146 IBM1147 IBM1148 \ |
| 134 | + IBM1149 IBM1166 IBM1167 IBM4517 IBM4899 IBM4909 IBM4971 \ |
| 135 | + IBM5347 IBM9030 IBM9066 IBM9448 IBM12712 IBM16804 \ |
| 136 | + IBM1364 IBM1371 IBM1388 IBM1390 IBM1399 ISO_11548-1 MIK BRF \ |
| 137 | + MAC-CENTRALEUROPE KOI8-RU ISO8859-9E |
| 138 | + |
| 139 | +modules.so := $(addsuffix .so, $(modules)) |
| 140 | + |
| 141 | +include ../Makeconfig |
| 142 | + |
| 143 | +ifeq (yes,$(build-shared)) |
| 144 | +tests = bug-iconv1 bug-iconv2 tst-loading tst-e2big tst-iconv4 bug-iconv4 \ |
| 145 | + tst-iconv6 bug-iconv5 bug-iconv6 tst-iconv7 |
| 146 | +ifeq ($(have-thread-library),yes) |
| 147 | +tests += bug-iconv3 |
| 148 | +endif |
| 149 | + |
| 150 | +test-srcs := tst-table-from tst-table-to |
| 151 | + |
| 152 | +bug-iconv6-ENV = LOCPATH=$(common-objpfx)localedata |
| 153 | +tst-iconv7-ENV = LOCPATH=$(common-objpfx)localedata |
| 154 | +endif |
| 155 | + |
| 156 | +# No code here is in libc.so. |
| 157 | +CPPFLAGS += -DNOT_IN_libc |
| 158 | + |
| 159 | +libJIS-routines := jis0201 jis0208 jis0212 |
| 160 | +libKSC-routines := ksc5601 |
| 161 | +libGB-routines := gb2312 |
| 162 | +libCNS-routines := cns11643l1 cns11643 |
| 163 | +libISOIR165-routines := iso-ir-165 |
| 164 | +libJISX0213-routines := jisx0213 |
| 165 | + |
| 166 | +LDFLAGS-EUC-KR.so = $(LDFLAGS-rpath-ORIGIN) |
| 167 | +$(objpfx)EUC-KR.so: $(objpfx)libKSC.so |
| 168 | +LDFLAGS-JOHAB.so = $(LDFLAGS-rpath-ORIGIN) |
| 169 | +$(objpfx)JOHAB.so: $(objpfx)libKSC.so |
| 170 | +LDFLAGS-UHC.so = $(LDFLAGS-rpath-ORIGIN) |
| 171 | +$(objpfx)UHC.so: $(objpfx)libKSC.so |
| 172 | +LDFLAGS-EUC-JP.so = $(LDFLAGS-rpath-ORIGIN) |
| 173 | +$(objpfx)EUC-JP.so: $(objpfx)libJIS.so |
| 174 | +LDFLAGS-EUC-JP-MS.so = $(LDFLAGS-rpath-ORIGIN) |
| 175 | +$(objpfx)EUC-JP-MS.so: $(objpfx)libJIS.so |
| 176 | +LDFLAGS-EUC-CN.so = $(LDFLAGS-rpath-ORIGIN) |
| 177 | +$(objpfx)EUC-CN.so: $(objpfx)libGB.so |
| 178 | +LDFLAGS-EUC-TW.so = $(LDFLAGS-rpath-ORIGIN) |
| 179 | +$(objpfx)EUC-TW.so: $(objpfx)libCNS.so |
| 180 | +LDFLAGS-EUC-JISX0213.so = $(LDFLAGS-rpath-ORIGIN) |
| 181 | +$(objpfx)EUC-JISX0213.so: $(objpfx)libJISX0213.so |
| 182 | +LDFLAGS-SHIFT_JISX0213.so = $(LDFLAGS-rpath-ORIGIN) |
| 183 | +$(objpfx)SHIFT_JISX0213.so: $(objpfx)libJISX0213.so |
| 184 | + |
| 185 | +LDFLAGS-ISO-2022-JP.so = $(LDFLAGS-rpath-ORIGIN) |
| 186 | +$(objpfx)ISO-2022-JP.so: $(objpfx)libJIS.so $(objpfx)libGB.so \ |
| 187 | + $(objpfx)libCNS.so $(objpfx)libKSC.so |
| 188 | +LDFLAGS-ISO-2022-JP-3.so = $(LDFLAGS-rpath-ORIGIN) |
| 189 | +$(objpfx)ISO-2022-JP-3.so: $(objpfx)libJIS.so $(objpfx)libJISX0213.so |
| 190 | +LDFLAGS-ISO-2022-KR.so = $(LDFLAGS-rpath-ORIGIN) |
| 191 | +$(objpfx)ISO-2022-KR.so: $(objpfx)libKSC.so |
| 192 | +LDFLAGS-ISO-2022-CN.so = $(LDFLAGS-rpath-ORIGIN) |
| 193 | +$(objpfx)ISO-2022-CN.so: $(objpfx)libGB.so $(objpfx)libCNS.so |
| 194 | +LDFLAGS-ISO-2022-CN-EXT.so = $(LDFLAGS-rpath-ORIGIN) |
| 195 | +$(objpfx)ISO-2022-CN-EXT.so: $(objpfx)libGB.so $(objpfx)libCNS.so \ |
| 196 | + $(objpfx)libISOIR165.so |
| 197 | + |
| 198 | +LDFLAGS-libJIS.so = $(LDFLAGS-soname-fname) |
| 199 | +LDFLAGS-libKSC.so = $(LDFLAGS-soname-fname) |
| 200 | +LDFLAGS-libGB.so = $(LDFLAGS-soname-fname) |
| 201 | +LDFLAGS-libCNS.so = $(LDFLAGS-soname-fname) |
| 202 | +LDFLAGS-libISOIR165.so = $(LDFLAGS-soname-fname) |
| 203 | +LDFLAGS-libJISX0213.so = $(LDFLAGS-soname-fname) |
| 204 | + |
| 205 | +distribute := gconv-modules extra-module.mk gap.awk gaptab.awk gconv.map \ |
| 206 | + gen-8bit.sh gen-8bit-gap.sh gen-8bit-gap-1.sh \ |
| 207 | + TESTS $(filter-out testdata/CVS%, $(wildcard testdata/*)) \ |
| 208 | + TESTS2 run-iconv-test.sh tst-tables.sh tst-table.sh \ |
| 209 | + tst-table-charmap.sh tst-table-from.c tst-table-to.c \ |
| 210 | + EUC-JP.irreversible ISIRI-3342.irreversible SJIS.irreversible \ |
| 211 | + EUC-KR.irreversible BIG5HKSCS.irreversible BIG5.irreversible \ |
| 212 | + CP1255.irreversible CP1258.irreversible EUC-TW.irreversible \ |
| 213 | + IBM856.irreversible IBM922.irreversible IBM1132.irreversible \ |
| 214 | + IBM1133.irreversible IBM1160.irreversible IBM1161.irreversible\ |
| 215 | + IBM1163.irreversible IBM1164.irreversible \ |
| 216 | + ARMSCII-8.irreversible TCVN5712-1.precomposed \ |
| 217 | + JISX0213.TXT EUC-JISX0213.precomposed \ |
| 218 | + SHIFT_JISX0213.precomposed SHIFT_JISX0213.irreversible \ |
| 219 | + TSCII.irreversible TSCII.precomposed \ |
| 220 | + 8bit-generic.c 8bit-gap.c \ |
| 221 | + ansi_x3.110.c asmo_449.c big5.c cp737.c cp737.h \ |
| 222 | + cp775.c cp775.h ibm874.c cns11643.c cns11643.h \ |
| 223 | + cns11643l1.c cns11643l1.h cp1125.c cp1250.c cp1251.c cp1252.c \ |
| 224 | + cp1253.c cp1254.c cp1255.c cp1256.c cp1257.c cp1258.c \ |
| 225 | + csn_369103.c cwi.c dec-mcs.c ebcdic-at-de.c ebcdic-at-de-a.c \ |
| 226 | + ebcdic-ca-fr.c ebcdic-dk-no.c ebcdic-dk-no-a.c ebcdic-es.c \ |
| 227 | + ebcdic-es-a.c ebcdic-es-s.c ebcdic-fr.c ebcdic-fi-se.c \ |
| 228 | + ebcdic-fi-se-a.c ebcdic-is-friss.c ebcdic-it.c ebcdic-pt.c \ |
| 229 | + ebcdic-uk.c ebcdic-us.c ecma-cyrillic.c euc-cn.c euc-jp.c \ |
| 230 | + euc-kr.c euc-tw.c gb2312.c gb2312.h gbk.c gost_19768-74.c \ |
| 231 | + greek-ccitt.c greek7.c greek7-old.c hp-roman8.c ibm037.c \ |
| 232 | + ibm038.c ibm256.c ibm273.c ibm274.c ibm275.c ibm277.c \ |
| 233 | + ibm278.c ibm280.c ibm281.c ibm284.c ibm285.c ibm290.c \ |
| 234 | + ibm297.c ibm420.c ibm423.c ibm424.c ibm437.c ibm500.c \ |
| 235 | + ibm850.c ibm851.c ibm852.c ibm855.c ibm857.c ibm860.c \ |
| 236 | + ibm861.c ibm862.c ibm863.c ibm864.c ibm865.c ibm866.c \ |
| 237 | + ibm868.c ibm869.c ibm870.c ibm871.c ibm875.c ibm880.c \ |
| 238 | + ibm891.c ibm903.c ibm904.c ibm905.c ibm918.c ibm1004.c \ |
| 239 | + ibm856.c ibm930.c ibm933.c ibm935.c ibm937.c ibm939.c ibm1046.c \ |
| 240 | + ibm856.h ibm930.h ibm933.h ibm935.h ibm937.h ibm939.h ibm1046.h \ |
| 241 | + ibm922.c ibm922.h ibm1124.c ibm1124.h ibm1129.c ibm1129.h \ |
| 242 | + ibm1132.c ibm1132.h ibm1133.c ibm1133.h ibm1162.c ibm1162.h \ |
| 243 | + ibm1026.c ibm1047.c iec_p27-1.c inis.c inis-8.c viscii.c \ |
| 244 | + inis-cyrillic.c iso-2022-jp.c iso-2022-kr.c iso646.c \ |
| 245 | + iso8859-1.c iso8859-2.c iso8859-3.c iso8859-4.c iso8859-5.c \ |
| 246 | + iso8859-6.c iso8859-7.c iso8859-8.c iso8859-9.c iso8859-10.c \ |
| 247 | + iso8859-11.c iso8859-13.c iso8859-14.c iso8859-9e.c \ |
| 248 | + iso8859-15.c iso_2033.c iso_5427-ext.c iso_5427.c iso_5428.c \ |
| 249 | + iso_6937.c iso_6937-2.c iso_10367-box.c jis0201.c jis0201.h \ |
| 250 | + jis0208.c jis0208.h jis0212.c jis0212.h johab.c koi-8.c \ |
| 251 | + koi8-r.c ksc5601.c ksc5601.h latin-greek.c latin-greek-1.c \ |
| 252 | + macintosh.c mac-is.c mac-uk.c nats-dano.c nats-sefi.c sjis.c \ |
| 253 | + t.61.c uhc.c sami-ws2.c iso-ir-197.c tis-620.c koi8-u.c \ |
| 254 | + isiri-3342.c isiri-3342.h gbgbk.c iso-2022-cn.c cns11643l2.h \ |
| 255 | + iso8859-16.c utf-16.c unicode.c utf-32.c utf-7.c big5hkscs.c \ |
| 256 | + iso-ir-165.c iso-ir-165.h gb18030.c iso-2022-cn-ext.c \ |
| 257 | + ibm932.c ibm932.h ibm943.c ibm943.h gbbig5.c cp10007.c \ |
| 258 | + koi8-t.c georgian-ps.c georgian-academy.c iso-ir-209.c \ |
| 259 | + mac-sami.c ibm1160.c ibm1160.h ibm1161.c ibm1161.h \ |
| 260 | + ibm1163.c ibm1163.h ibm1164.c ibm1164.h jisx0213.c jisx0213.h \ |
| 261 | + euc-jisx0213.c shift_jisx0213.c iso-2022-jp-3.c \ |
| 262 | + tcvn5712-1.c armscii-8.c tscii.c ibm866nav.c pt154.c rk1048.c \ |
| 263 | + ibm1025.c ibm1025.h ibm1122.c ibm1122.h ibm1137.c ibm1137.h \ |
| 264 | + ibm1153.c ibm1153.h ibm1154.c ibm1154.h ibm1155.c ibm1155.h \ |
| 265 | + ibm1156.c ibm1156.h ibm1157.c ibm1157.h ibm1158.c ibm1158.h \ |
| 266 | + ibm803.c ibm803.h ibm901.c ibm901.h ibm902.c ibm902.h \ |
| 267 | + ibm921.c ibm921.h ibm1008.c ibm1008.h ibm1008_420.c \ |
| 268 | + ibm1097.c ibm1097.h ibm1112.c ibm1112.h ibm1123.c ibm1123.h \ |
| 269 | + ibm1130.c ibm1130.h ibm1140.c ibm1140.h ibm1141.c ibm1141.h \ |
| 270 | + ibm1142.c ibm1142.h ibm1143.c ibm1143.h ibm1144.c ibm1144.h \ |
| 271 | + ibm1145.c ibm1145.h ibm1146.c ibm1146.h ibm1147.c ibm1147.h \ |
| 272 | + ibm1148.c ibm1148.h ibm1149.c ibm1149.h ibm1166.c ibm1166.h \ |
| 273 | + ibm1167.c ibm1167.h ibm4517.c ibm4517.h ibm4899.c ibm4899.h \ |
| 274 | + ibm4909.c ibm4909.h ibm4971.c ibm4971.h ibm5347.c ibm5347.h \ |
| 275 | + ibm9030.c ibm9030.h ibm9066.c ibm9066.h ibm9448.c ibm9448.h \ |
| 276 | + ibm12712.c ibm12712.h ibm16804.c ibm16804.h \ |
| 277 | + ibm1364.c ibm1364.h ibm1371.c ibm1371.h ibm1388.c ibm1388.h \ |
| 278 | + ibm1390.c ibm1390.h ibm1399.c ibm1399.h iso_11548-1.c mik.c \ |
| 279 | + brf.c mac-centraleurope.c hp-roman9.c hp-turkish8.c \ |
| 280 | + hp-thai8.c hp-greek8.c |
| 281 | + |
| 282 | +# We build the transformation modules only when we build shared libs. |
| 283 | +ifeq (yes,$(build-shared)) |
| 284 | + |
| 285 | +# Rule to generate the shared objects. |
| 286 | +charmaps = ../localedata/charmaps |
| 287 | +-include $(objpfx)iconv-rules |
| 288 | +extra-modules-left := $(modules) |
| 289 | +include extra-module.mk |
| 290 | + |
| 291 | + |
| 292 | +extra-objs += $(modules.so) |
| 293 | +install-others = $(addprefix $(inst_gconvdir)/, $(modules.so)) \ |
| 294 | + $(inst_gconvdir)/gconv-modules |
| 295 | + |
| 296 | +# We can build the conversion tables for numerous charsets automatically. |
| 297 | + |
| 298 | +gen-8bit-modules := iso8859-2 iso8859-3 iso8859-4 iso8859-6 iso8859-9 koi-8 \ |
| 299 | + ebcdic-at-de ebcdic-at-de-a ebcdic-ca-fr ebcdic-dk-no \ |
| 300 | + ebcdic-dk-no-a ebcdic-es-s ebcdic-fi-se ebcdic-fi-se-a \ |
| 301 | + ebcdic-fr ebcdic-it ebcdic-pt ebcdic-us \ |
| 302 | + ibm037 ibm038 ibm274 ibm275 ibm423 ibm500 ibm870 ibm871 \ |
| 303 | + ibm891 ibm903 ibm904 ibm905 ibm1047 \ |
| 304 | + |
| 305 | +gen-8bit-gap-modules := koi8-r latin-greek latin-greek-1 ibm256 ibm273 \ |
| 306 | + ibm277 ibm278 ibm280 ibm281 ibm284 ibm285 ibm290 \ |
| 307 | + ibm297 ibm420 ibm424 ibm437 ibm850 ibm851 ibm852 \ |
| 308 | + ibm855 ibm857 ibm860 ibm861 ibm862 ibm863 ibm864 \ |
| 309 | + ibm865 ibm868 ibm869 ibm875 ibm880 ibm918 ibm1004 \ |
| 310 | + ibm1026 cp1125 cp1250 cp1251 cp1252 cp1253 cp1254 \ |
| 311 | + cp1256 cp1257 ibm866 iso8859-5 iso8859-7 iso8859-8 \ |
| 312 | + iso8859-10 macintosh iec_p27-1 asmo_449 \ |
| 313 | + csn_369103 cwi dec-mcs ecma-cyrillic gost_19768-74 \ |
| 314 | + greek-ccitt greek7 greek7-old inis inis-8 \ |
| 315 | + inis-cyrillic iso_2033 iso_5427 iso_5427-ext \ |
| 316 | + iso_5428 iso_10367-box mac-is nats-dano nats-sefi \ |
| 317 | + iso8859-13 iso8859-14 iso8859-15 mac-uk sami-ws2 \ |
| 318 | + iso-ir-197 tis-620 koi8-u ibm874 cp10007 koi8-t \ |
| 319 | + georgian-ps georgian-academy iso-ir-209 mac-sami \ |
| 320 | + iso8859-11 ibm866nav pt154 rk1048 mik brf \ |
| 321 | + mac-centraleurope koi8-ru hp-roman8 hp-roman9 \ |
| 322 | + ebcdic-es ebcdic-es-a ebcdic-is-friss ebcdic-uk \ |
| 323 | + iso8859-16 viscii iso8859-9e hp-turkish8 \ |
| 324 | + hp-thai8 hp-greek8 |
| 325 | + |
| 326 | +gen-special-modules := iso8859-7jp |
| 327 | + |
| 328 | +generated-modules := $(gen-8bit-modules) $(gen-8bit-gap-modules) \ |
| 329 | + $(gen-special-modules) |
| 330 | + |
| 331 | +generated = $(generated-modules:=.h) $(generated-modules:=.stmp) \ |
| 332 | + iconv-test.out iconv-rules tst-loading.mtrace \ |
| 333 | + mtrace-tst-loading tst-tables.out iconv-test.xxx |
| 334 | +ifdef objpfx |
| 335 | +generated += gconv-modules |
| 336 | +endif |
| 337 | + |
| 338 | +# Rules to generate the headers. |
| 339 | +export AWK |
| 340 | + |
| 341 | +define generate-8bit-table |
| 342 | +$(make-target-directory) |
| 343 | +LC_ALL=C $(SHELL) ./gen-8bit.sh $< > $(@:stmp=T) |
| 344 | +$(move-if-change) $(@:stmp=T) $(@:stmp=h) |
| 345 | +touch $@ |
| 346 | +endef |
| 347 | + |
| 348 | +define generate-8bit-gap-table |
| 349 | +$(make-target-directory) |
| 350 | +LC_ALL=C $(SHELL) ./gen-8bit-gap.sh $< > $(@:stmp=T) |
| 351 | +$(move-if-change) $(@:stmp=T) $(@:stmp=h) |
| 352 | +touch $@ |
| 353 | +endef |
| 354 | + |
| 355 | +# The headers must be generated before the compilation. |
| 356 | +before-compile = $(addprefix $(objpfx),$(generated-modules:=.h)) |
| 357 | + |
| 358 | +ifndef avoid-generated |
| 359 | +$(objpfx)iconv-rules: Makefile |
| 360 | + $(make-target-directory) |
| 361 | + { echo $(filter-out lib%, $(modules)); \ |
| 362 | + echo 8bit $(gen-8bit-modules); \ |
| 363 | + echo 8bit-gap $(gen-8bit-gap-modules); } | \ |
| 364 | + $(AWK) 'NR == 1 { \ |
| 365 | + for (i = 1; i <= NF; i++) { \ |
| 366 | + printf "%s-routines := %s\n", $$i, tolower($$i); \ |
| 367 | + printf "%s-map := gconv.map\n", $$i; \ |
| 368 | + } \ |
| 369 | + }; \ |
| 370 | + NR > 1 { \ |
| 371 | + for (i = 2; i <= NF; i++) { \ |
| 372 | + printf "$$(objpfx)%s.stmp: ", $$i; \ |
| 373 | + map = toupper($$i); \ |
| 374 | + sub(/^ISO8859/, "ISO-8859", map); \ |
| 375 | + if (map == "ISO_2033") map = map "-1983"; \ |
| 376 | + printf "$$(charmaps)/%s ", map; \ |
| 377 | + printf "gen-%s.sh\n", $$1; \ |
| 378 | + printf "\t$$(generate-%s-table)\n", $$1; \ |
| 379 | + } \ |
| 380 | + }' > $@.new |
| 381 | + mv -f $@.new $@ |
| 382 | +endif |
| 383 | + |
| 384 | +$(generated-modules:%=$(objpfx)%.h): $(objpfx)%.h: $(objpfx)%.stmp |
| 385 | + @: |
| 386 | + |
| 387 | +$(gen-8bit-modules:%=$(objpfx)%.stmp): $(objpfx)%.stmp: $(objpfx)iconv-rules |
| 388 | +$(gen-8bit-gap-modules:%=$(objpfx)%.stmp): $(objpfx)%.stmp: $(objpfx)iconv-rules |
| 389 | + |
| 390 | +$(objpfx)iso8859-7jp.stmp: $(charmaps)/ISO-8859-7 gen-8bit-gap-1.sh |
| 391 | + $(make-target-directory) |
| 392 | + LC_ALL=C $(SHELL) ./gen-8bit-gap-1.sh $< > $(@:stmp=T) |
| 393 | + $(move-if-change) $(@:stmp=T) $(@:stmp=h) |
| 394 | + touch $@ |
| 395 | + |
| 396 | +headers: $(addprefix $(objpfx), $(generated-modules:=.h)) |
| 397 | + |
| 398 | +$(addprefix $(inst_gconvdir)/, $(modules.so)): \ |
| 399 | + $(inst_gconvdir)/%: $(objpfx)% $(+force) |
| 400 | + $(do-install-program) |
| 401 | +$(inst_gconvdir)/gconv-modules: gconv-modules $(+force) |
| 402 | + $(do-install) |
| 403 | +ifeq (no,$(cross-compiling)) |
| 404 | +# Update the $(prefix)/lib/gconv/gconv-modules.cache file. This is necessary |
| 405 | +# if this libc has more gconv modules than the previously installed one. |
| 406 | + if test -f "$(inst_gconvdir)/gconv-modules.cache"; then \ |
| 407 | + LC_ALL=C LANGUAGE=C \ |
| 408 | + $(common-objpfx)elf/ld.so --library-path $(rpath-link) \ |
| 409 | + $(common-objpfx)iconv/iconvconfig \ |
| 410 | + $(addprefix --prefix=,$(install_root)); \ |
| 411 | + fi |
| 412 | +else |
| 413 | + @echo '*@*@*@ You should recreate $(inst_gconvdir)/gconv-modules.cache' |
| 414 | +endif |
| 415 | + |
| 416 | +endif # build-shared = yes |
| 417 | + |
| 418 | +include ../Rules |
| 419 | + |
| 420 | +ifeq (no,$(cross-compiling)) |
| 421 | +ifeq (yes,$(build-shared)) |
| 422 | +tests: $(objpfx)iconv-test.out $(objpfx)tst-tables.out |
| 423 | +ifneq (no,$(PERL)) |
| 424 | +tests: $(objpfx)mtrace-tst-loading |
| 425 | +endif |
| 426 | +endif |
| 427 | +endif |
| 428 | + |
| 429 | +tst-loading-ENV = MALLOC_TRACE=$(objpfx)tst-loading.mtrace |
| 430 | +$(objpfx)mtrace-tst-loading: $(objpfx)tst-loading.out |
| 431 | + $(common-objpfx)malloc/mtrace $(objpfx)tst-loading.mtrace > $@ |
| 432 | + |
| 433 | +$(objpfx)bug-iconv1.out: $(objpfx)gconv-modules \ |
| 434 | + $(addprefix $(objpfx),$(modules.so)) |
| 435 | +$(objpfx)bug-iconv2.out: $(objpfx)gconv-modules \ |
| 436 | + $(addprefix $(objpfx),$(modules.so)) |
| 437 | +$(objpfx)bug-iconv3: $(libdl) |
| 438 | +$(objpfx)bug-iconv3.out: $(objpfx)gconv-modules \ |
| 439 | + $(addprefix $(objpfx),$(modules.so)) |
| 440 | +$(objpfx)bug-iconv5.out: $(objpfx)gconv-modules \ |
| 441 | + $(addprefix $(objpfx),$(modules.so)) |
| 442 | +$(objpfx)tst-loading.out: $(objpfx)gconv-modules \ |
| 443 | + $(addprefix $(objpfx),$(modules.so)) |
| 444 | +$(objpfx)tst-iconv4.out: $(objpfx)gconv-modules \ |
| 445 | + $(addprefix $(objpfx),$(modules.so)) |
| 446 | +$(objpfx)tst-iconv7.out: $(objpfx)gconv-modules \ |
| 447 | + $(addprefix $(objpfx),$(modules.so)) |
| 448 | + |
| 449 | +$(objpfx)iconv-test.out: run-iconv-test.sh $(objpfx)gconv-modules \ |
| 450 | + $(addprefix $(objpfx),$(modules.so)) \ |
| 451 | + $(common-objdir)/iconv/iconv_prog TESTS |
| 452 | + $(SHELL) -e $< $(common-objdir) > $@ |
| 453 | + |
| 454 | +$(objpfx)tst-tables.out: tst-tables.sh $(objpfx)gconv-modules \ |
| 455 | + $(addprefix $(objpfx),$(modules.so)) \ |
| 456 | + $(objpfx)tst-table-from $(objpfx)tst-table-to |
| 457 | + $(SHELL) $< $(common-objpfx) $(common-objpfx)iconvdata/ > $@ |
| 458 | + |
| 459 | +do-tests-clean common-mostlyclean: tst-tables-clean |
| 460 | + |
| 461 | +.PHONY: tst-tables-clean |
| 462 | +tst-tables-clean: |
| 463 | + -rm -f $(objpfx)tst-*.table $(objpfx)tst-EUC-TW.irreversible |
| 464 | + |
| 465 | +ifdef objpfx |
| 466 | +$(objpfx)gconv-modules: gconv-modules |
| 467 | + cp $^ $@ |
| 468 | +endif |
| 469 | diff -Naur glibc-2.9.orig/include-native/bits/libc-tsd.h glibc-2.9/include-native/bits/libc-tsd.h |
| 470 | --- glibc-2.9.orig/include-native/bits/libc-tsd.h 1969-12-31 19:00:00.000000000 -0500 |
| 471 | +++ glibc-2.9/include-native/bits/libc-tsd.h 2009-03-15 19:22:15.788787576 -0400 |
| 472 | @@ -0,0 +1,3 @@ |
| 473 | +#ifndef __libc_tsd_define |
| 474 | +#define __libc_tsd_define(A,B,C) |
| 475 | +#endif |
| 476 | diff -Naur glibc-2.9.orig/include-native/config.h glibc-2.9/include-native/config.h |
| 477 | --- glibc-2.9.orig/include-native/config.h 1969-12-31 19:00:00.000000000 -0500 |
| 478 | +++ glibc-2.9/include-native/config.h 2009-03-15 19:22:15.809829790 -0400 |
| 479 | @@ -0,0 +1 @@ |
| 480 | +/* Empty */ |
| 481 | diff -Naur glibc-2.9.orig/include-native/gnu/stubs.h glibc-2.9/include-native/gnu/stubs.h |
| 482 | --- glibc-2.9.orig/include-native/gnu/stubs.h 1969-12-31 19:00:00.000000000 -0500 |
| 483 | +++ glibc-2.9/include-native/gnu/stubs.h 2009-03-15 19:22:15.809829790 -0400 |
| 484 | @@ -0,0 +1 @@ |
| 485 | +/* Empty */ |
| 486 | diff -Naur glibc-2.9.orig/include-native/intl/loadinfo.h glibc-2.9/include-native/intl/loadinfo.h |
| 487 | --- glibc-2.9.orig/include-native/intl/loadinfo.h 1969-12-31 19:00:00.000000000 -0500 |
| 488 | +++ glibc-2.9/include-native/intl/loadinfo.h 2009-03-15 19:22:15.809829790 -0400 |
| 489 | @@ -0,0 +1,4 @@ |
| 490 | +#ifndef LOADINFO_H |
| 491 | +#define LOADINFO_H |
| 492 | +struct loaded_l10nfile; |
| 493 | +#endif |
| 494 | diff -Naur glibc-2.9.orig/include-native/libintl.h glibc-2.9/include-native/libintl.h |
| 495 | --- glibc-2.9.orig/include-native/libintl.h 1969-12-31 19:00:00.000000000 -0500 |
| 496 | +++ glibc-2.9/include-native/libintl.h 2009-03-15 19:22:15.838789367 -0400 |
| 497 | @@ -0,0 +1,13 @@ |
| 498 | +#include_next <libintl.h> |
| 499 | + |
| 500 | +#ifndef _ |
| 501 | +#define _(X) (X) |
| 502 | +#endif |
| 503 | + |
| 504 | +#ifndef N_ |
| 505 | +#define N_(X) (X) |
| 506 | +#endif |
| 507 | + |
| 508 | +#ifndef _libc_intl_domainname |
| 509 | +#define _libc_intl_domainname "libc" |
| 510 | +#endif |
| 511 | diff -Naur glibc-2.9.orig/include-native/symbol-hacks.h glibc-2.9/include-native/symbol-hacks.h |
| 512 | --- glibc-2.9.orig/include-native/symbol-hacks.h 1969-12-31 19:00:00.000000000 -0500 |
| 513 | +++ glibc-2.9/include-native/symbol-hacks.h 2009-03-15 19:22:15.838789367 -0400 |
| 514 | @@ -0,0 +1 @@ |
| 515 | +/* Empty */ |
| 516 | diff -Naur glibc-2.9.orig/include-native/tls.h glibc-2.9/include-native/tls.h |
| 517 | --- glibc-2.9.orig/include-native/tls.h 1969-12-31 19:00:00.000000000 -0500 |
| 518 | +++ glibc-2.9/include-native/tls.h 2009-03-15 19:22:15.838789367 -0400 |
| 519 | @@ -0,0 +1,11 @@ |
| 520 | +#ifndef _include_tls_h |
| 521 | +#define _include_tls_h 1 |
| 522 | + |
| 523 | +#if USE_TLS && HAVE___THREAD \ |
| 524 | + && (!defined NOT_IN_libc || defined IS_IN_libpthread) |
| 525 | +# define USE___THREAD 1 |
| 526 | +#else |
| 527 | +# define USE___THREAD 0 |
| 528 | +#endif |
| 529 | + |
| 530 | +#endif |
| 531 | diff -Naur glibc-2.9.orig/locale/Makefile glibc-2.9/locale/Makefile |
| 532 | --- glibc-2.9.orig/locale/Makefile 2005-12-20 01:58:41.000000000 -0500 |
| 533 | +++ glibc-2.9/locale/Makefile 2009-03-15 19:22:15.838789367 -0400 |
| 534 | @@ -44,6 +44,9 @@ |
| 535 | aux = $(categories:%=lc-%) $(categories:%=C-%) SYS_libc C_name \ |
| 536 | xlocale localename global-locale coll-lookup |
| 537 | others = localedef locale |
| 538 | +ifneq ($(cross-compiling),no) |
| 539 | +others-native = localedef-native |
| 540 | +endif |
| 541 | #others-static = localedef locale |
| 542 | install-bin = localedef locale |
| 543 | extra-objs = $(localedef-modules:=.o) $(localedef-aux:=.o) \ |
| 544 | @@ -81,6 +84,12 @@ |
| 545 | $(objpfx)locale: $(locale-modules:%=$(objpfx)%.o) |
| 546 | $(objpfx)localedef $(objpfx)locale: $(lib-modules:%=$(objpfx)%.o) |
| 547 | |
| 548 | +ifneq ($(cross-compiling),no) |
| 549 | +$(objpfx)localedef-native: $(localedef-modules:%=$(objpfx)%-native.o) |
| 550 | +$(objpfx)localedef-native: $(localedef-aux:%=$(objpfx)%-native.o) |
| 551 | +$(objpfx)localedef-native: $(lib-modules:%=$(objpfx)%-native.o) |
| 552 | +endif |
| 553 | + |
| 554 | C-translit.h: C-translit.h.in gen-translit.pl |
| 555 | $(PERL) gen-translit.pl < $< > $@.tmp |
| 556 | mv -f $@.tmp $@ |
| 557 | diff -Naur glibc-2.9.orig/localedata/Makefile glibc-2.9/localedata/Makefile |
| 558 | --- glibc-2.9.orig/localedata/Makefile 2008-11-27 19:05:08.000000000 -0500 |
| 559 | +++ glibc-2.9/localedata/Makefile 2009-03-15 19:22:15.939718625 -0400 |
| 560 | @@ -208,8 +208,13 @@ |
| 561 | INSTALL-SUPPORTED-LOCALES=$(addprefix install-, $(SUPPORTED-LOCALES)) |
| 562 | |
| 563 | # Sometimes the whole collection of locale files should be installed. |
| 564 | +ifeq ($(cross-compiling),no) |
| 565 | LOCALEDEF=I18NPATH=. GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \ |
| 566 | $(common-objpfx)elf/ld.so --library-path $(rpath-link) $(common-objpfx)locale/localedef |
| 567 | +else |
| 568 | +LOCALEDEF=I18NPATH=. GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \ |
| 569 | +$(common-objpfx)locale/localedef-native |
| 570 | +endif |
| 571 | install-locales: $(INSTALL-SUPPORTED-LOCALES) |
| 572 | |
| 573 | install-locales-dir: |
| 574 | diff -Naur glibc-2.9.orig/localedata/Makefile.orig glibc-2.9/localedata/Makefile.orig |
| 575 | --- glibc-2.9.orig/localedata/Makefile.orig 1969-12-31 19:00:00.000000000 -0500 |
| 576 | +++ glibc-2.9/localedata/Makefile.orig 2008-11-27 19:05:08.000000000 -0500 |
| 577 | @@ -0,0 +1,300 @@ |
| 578 | +# Copyright (C) 1996-2003, 2005, 2007, 2008 Free Software Foundation, Inc. |
| 579 | +# This file is part of the GNU C Library. |
| 580 | + |
| 581 | +# The GNU C Library is free software; you can redistribute it and/or |
| 582 | +# modify it under the terms of the GNU Lesser General Public |
| 583 | +# License as published by the Free Software Foundation; either |
| 584 | +# version 2.1 of the License, or (at your option) any later version. |
| 585 | + |
| 586 | +# The GNU C Library is distributed in the hope that it will be useful, |
| 587 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 588 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 589 | +# Lesser General Public License for more details. |
| 590 | + |
| 591 | +# You should have received a copy of the GNU Lesser General Public |
| 592 | +# License along with the GNU C Library; if not, write to the Free |
| 593 | +# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA |
| 594 | +# 02111-1307 USA. |
| 595 | + |
| 596 | +# Makefile for installing locale data source files. |
| 597 | + |
| 598 | +subdir := localedata |
| 599 | + |
| 600 | +all: # Make this the default target; it will be defined in Rules. |
| 601 | + |
| 602 | +# List with all available character set descriptions. |
| 603 | +charmaps := $(filter-out $(addprefix charmaps/, CVS RCS SCCS %~), \ |
| 604 | + $(wildcard charmaps/[A-I]*) \ |
| 605 | + $(wildcard charmaps/[J-Z]*)) |
| 606 | + |
| 607 | +# List with all available character set descriptions. |
| 608 | +locales := $(filter-out $(addprefix locales/, CVS RCS SCCS %~), \ |
| 609 | + $(wildcard locales/*)) |
| 610 | + |
| 611 | + |
| 612 | +subdir-dirs = tests-mbwc |
| 613 | +vpath %.c tests-mbwc |
| 614 | +vpath %.h tests-mbwc |
| 615 | + |
| 616 | + |
| 617 | +test-srcs := collate-test xfrm-test tst-fmon tst-rpmatch tst-trans \ |
| 618 | + tst-mbswcs1 tst-mbswcs2 tst-mbswcs3 tst-mbswcs4 tst-mbswcs5 \ |
| 619 | + tst-ctype tst-wctype tst-langinfo tst-numeric |
| 620 | +test-input := de_DE.ISO-8859-1 en_US.ISO-8859-1 da_DK.ISO-8859-1 \ |
| 621 | + hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 tr_TR.UTF-8 fr_FR.UTF-8 \ |
| 622 | + si_LK.UTF-8 |
| 623 | +test-input-data = $(addsuffix .in, $(basename $(test-input))) |
| 624 | +test-output := $(foreach s, .out .xout, \ |
| 625 | + $(addsuffix $s, $(basename $(test-input)))) |
| 626 | +ld-test-names := test1 test2 test3 test4 test5 test6 test7 |
| 627 | +ld-test-srcs := $(addprefix tests/,$(addsuffix .cm,$(ld-test-names)) \ |
| 628 | + $(addsuffix .def,$(ld-test-names)) \ |
| 629 | + $(addsuffix .ds,test5 test6) \ |
| 630 | + test6.c trans.def) |
| 631 | + |
| 632 | +fmon-tests = n01y12 n02n40 n10y31 n11y41 n12y11 n20n32 n30y20 n41n00 \ |
| 633 | + y01y10 y02n22 y22n42 y30y21 y32n31 y40y00 y42n21 |
| 634 | + |
| 635 | +generated := $(test-input) $(test-output) sort-test.out tst-locale.out \ |
| 636 | + tst-mbswcs.out tst-leaks.mtrace mtrace-tst-leaks |
| 637 | +generated-dirs := $(ld-test-names) tt_TT de_DE.437 \ |
| 638 | + $(addprefix tstfmon_,$(fmon-tests)) \ |
| 639 | + |
| 640 | +distribute := CHECKSUMS README SUPPORTED ChangeLog \ |
| 641 | + $(charmaps) $(locales) \ |
| 642 | + tst-rpmatch.sh tst-locale.sh tst-fmon.sh sort-test.sh \ |
| 643 | + tst-fmon.data $(test-input-data) $(ld-test-srcs) \ |
| 644 | + th_TH.in cs_CZ.in tst-mbswcs.sh tst-trans.sh tst-ctype.sh \ |
| 645 | + tst-ctype-de_DE.ISO-8859-1.in \ |
| 646 | + tst-numeric.sh tst-numeric.data \ |
| 647 | + $(wildcard tests-mbwc/*.[ch]) \ |
| 648 | + $(addprefix tst-fmon-locales/tstfmon_,$(fmon-tests)) \ |
| 649 | + gen-locale.sh show-ucs-data.c tst-langinfo.sh \ |
| 650 | + tst-wctype.sh tst-wctype.input gen-unicode-ctype.c \ |
| 651 | + dump-ctype.c |
| 652 | + |
| 653 | +# Get $(inst_i18ndir) defined. |
| 654 | +include ../Makeconfig |
| 655 | + |
| 656 | +ifeq (no,$(cross-compiling)) |
| 657 | +locale_test_suite := tst_iswalnum tst_iswalpha tst_iswcntrl \ |
| 658 | + tst_iswctype tst_iswdigit tst_iswgraph \ |
| 659 | + tst_iswlower tst_iswprint tst_iswpunct \ |
| 660 | + tst_iswspace tst_iswupper tst_iswxdigit tst_mblen \ |
| 661 | + tst_mbrlen tst_mbrtowc tst_mbsrtowcs tst_mbstowcs \ |
| 662 | + tst_mbtowc tst_strcoll tst_strfmon tst_strxfrm \ |
| 663 | + tst_swscanf tst_towctrans tst_towlower \ |
| 664 | + tst_towupper tst_wcrtomb tst_wcscat tst_wcschr \ |
| 665 | + tst_wcscmp tst_wcscoll tst_wcscpy tst_wcscspn \ |
| 666 | + tst_wcslen tst_wcsncat tst_wcsncmp tst_wcsncpy \ |
| 667 | + tst_wcspbrk tst_wcsrtombs tst_wcsspn tst_wcsstr \ |
| 668 | + tst_wcstod tst_wcstok tst_wcstombs tst_wcswidth \ |
| 669 | + tst_wcsxfrm tst_wctob tst_wctomb tst_wctrans \ |
| 670 | + tst_wctype tst_wcwidth |
| 671 | + |
| 672 | +tests = $(locale_test_suite) tst-digits tst-setlocale bug-iconv-trans \ |
| 673 | + tst-leaks tst-mbswcs6 tst-xlocale1 tst-xlocale2 bug-usesetlocale \ |
| 674 | + tst-strfmon1 tst-sscanf tst-strptime |
| 675 | +ifeq (yes,$(build-shared)) |
| 676 | +ifneq (no,$(PERL)) |
| 677 | +tests: $(objpfx)mtrace-tst-leaks |
| 678 | +endif |
| 679 | +endif |
| 680 | +endif |
| 681 | + |
| 682 | +# Files to install. |
| 683 | +install-others := $(addprefix $(inst_i18ndir)/, \ |
| 684 | + $(addsuffix .gz, $(charmaps)) \ |
| 685 | + $(locales)) |
| 686 | + |
| 687 | +include ../Rules |
| 688 | + |
| 689 | +# Install the charmap files in gzipped format. |
| 690 | +$(inst_i18ndir)/charmaps/%.gz: charmaps/% $(+force) |
| 691 | + $(make-target-directory) |
| 692 | + rm -f $(@:.gz=) $@ |
| 693 | + $(INSTALL_DATA) $< $(@:.gz=) |
| 694 | + gzip -9 $(@:.gz=) |
| 695 | + |
| 696 | +# Install the locale source files in the appropriate directory. |
| 697 | +$(inst_i18ndir)/locales/%: locales/% $(+force); $(do-install) |
| 698 | + |
| 699 | +# gcc does not know all the format specifiers we are using here. |
| 700 | +CFLAGS-tst-mbswcs1.c = -Wno-format |
| 701 | +CFLAGS-tst-mbswcs2.c = -Wno-format |
| 702 | +CFLAGS-tst-mbswcs3.c = -Wno-format |
| 703 | +CFLAGS-tst-mbswcs4.c = -Wno-format |
| 704 | +CFLAGS-tst-mbswcs5.c = -Wno-format |
| 705 | +CFLAGS-tst-trans.c = -Wno-format |
| 706 | + |
| 707 | + |
| 708 | +ifeq (no,$(cross-compiling)) |
| 709 | +# We have to generate locales |
| 710 | +LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \ |
| 711 | + en_US.ISO-8859-1 ja_JP.EUC-JP da_DK.ISO-8859-1 \ |
| 712 | + hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 ja_JP.SJIS fr_FR.ISO-8859-1 \ |
| 713 | + vi_VN.TCVN5712-1 nb_NO.ISO-8859-1 nn_NO.ISO-8859-1 \ |
| 714 | + tr_TR.UTF-8 cs_CZ.UTF-8 zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8 \ |
| 715 | + ja_JP.UTF-8 si_LK.UTF-8 |
| 716 | +LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^ ]*/\1/g') |
| 717 | +CHARMAPS := $(shell echo "$(LOCALES)" | \ |
| 718 | + sed -e 's/[^ .]*[.]\([^ ]*\)/\1/g' -e s/SJIS/SHIFT_JIS/g) |
| 719 | +CTYPE_FILES = $(addsuffix /LC_CTYPE,$(LOCALES)) |
| 720 | + |
| 721 | +generated-dirs += $(LOCALES) |
| 722 | + |
| 723 | +# Dependency for the locale files. We actually make it depend only on |
| 724 | +# one of the files. |
| 725 | +$(addprefix $(objpfx),$(CTYPE_FILES)): %: \ |
| 726 | + gen-locale.sh $(common-objpfx)locale/localedef Makefile \ |
| 727 | + $(addprefix charmaps/,$(CHARMAPS)) $(addprefix locales/,$(LOCALE_SRCS)) |
| 728 | + @$(SHELL) -e gen-locale.sh $(common-objpfx) '$(built-program-cmd)' $@ |
| 729 | + |
| 730 | +$(addsuffix .out,$(addprefix $(objpfx),$(tests))): %: \ |
| 731 | + $(addprefix $(objpfx),$(CTYPE_FILES)) |
| 732 | + |
| 733 | +tests: $(objpfx)sort-test.out $(objpfx)tst-fmon.out $(objpfx)tst-locale.out \ |
| 734 | + $(objpfx)tst-rpmatch.out $(objpfx)tst-trans.out \ |
| 735 | + $(objpfx)tst-mbswcs.out $(objpfx)tst-ctype.out $(objpfx)tst-wctype.out \ |
| 736 | + $(objpfx)tst-langinfo.out $(objpfx)tst-numeric.out |
| 737 | + |
| 738 | +$(objpfx)sort-test.out: sort-test.sh $(objpfx)collate-test $(objpfx)xfrm-test \ |
| 739 | + $(test-input-data) $(addprefix $(objpfx),$(CTYPE_FILES)) |
| 740 | + $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(test-input) \ |
| 741 | + > $@ |
| 742 | +$(objpfx)tst-fmon.out: tst-fmon.sh $(objpfx)tst-fmon tst-fmon.data \ |
| 743 | + $(objpfx)sort-test.out \ |
| 744 | + $(addprefix $(objpfx),$(CTYPE_FILES)) |
| 745 | + $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' tst-fmon.data \ |
| 746 | + > $@ |
| 747 | +$(objpfx)tst-numeric.out: tst-numeric.sh $(objpfx)tst-numeric tst-numeric.data \ |
| 748 | + $(objpfx)sort-test.out \ |
| 749 | + $(addprefix $(objpfx),$(CTYPE_FILES)) |
| 750 | + $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' tst-numeric.data \ |
| 751 | + > $@ |
| 752 | +$(objpfx)tst-locale.out: tst-locale.sh $(common-objpfx)locale/localedef \ |
| 753 | + $(ld-test-srcs) $(addprefix $(objpfx),$(CTYPE_FILES)) |
| 754 | + $(SHELL) -e $< $(common-objpfx) '$(built-program-cmd)' > $@ |
| 755 | +$(objpfx)tst-rpmatch.out: tst-rpmatch.sh $(objpfx)tst-rpmatch \ |
| 756 | + $(objpfx)tst-fmon.out \ |
| 757 | + $(addprefix $(objpfx),$(CTYPE_FILES)) |
| 758 | + $(SHELL) -e $< $(common-objpfx) '$(built-program-cmd)' > $@ |
| 759 | +$(objpfx)tst-trans.out: tst-trans.sh $(objpfx)tst-trans \ |
| 760 | + $(addprefix $(objpfx),$(CTYPE_FILES)) |
| 761 | + $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' |
| 762 | +$(objpfx)tst-mbswcs.out: tst-mbswcs.sh $(objpfx)tst-mbswcs1 \ |
| 763 | + $(objpfx)tst-mbswcs2 $(objpfx)tst-mbswcs3 \ |
| 764 | + $(objpfx)tst-mbswcs4 $(objpfx)tst-mbswcs5 \ |
| 765 | + $(addprefix $(objpfx),$(CTYPE_FILES)) |
| 766 | + $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' |
| 767 | +$(objpfx)tst-ctype.out: tst-ctype.sh $(objpfx)tst-ctype \ |
| 768 | + $(objpfx)sort-test.out \ |
| 769 | + $(addprefix $(objpfx),$(CTYPE_FILES)) |
| 770 | + $(SHELL) -e $< $(common-objpfx) '$(built-program-cmd)' |
| 771 | +$(objpfx)tst-wctype.out: tst-wctype.sh $(objpfx)tst-wctype \ |
| 772 | + $(objpfx)sort-test.out tst-wctype.input \ |
| 773 | + $(addprefix $(objpfx),$(CTYPE_FILES)) |
| 774 | + $(SHELL) -e $< $(common-objpfx) '$(built-program-cmd)' |
| 775 | +$(objpfx)tst-langinfo.out: tst-langinfo.sh $(objpfx)tst-langinfo \ |
| 776 | + $(objpfx)sort-test.out \ |
| 777 | + $(addprefix $(objpfx),$(CTYPE_FILES)) |
| 778 | + $(SHELL) -e $< $(common-objpfx) '$(built-program-cmd)' |
| 779 | +$(objpfx)tst-digits.out: $(objpfx)tst-locale.out |
| 780 | +$(objpfx)tst-mbswcs6.out: $(addprefix $(objpfx),$(CTYPE_FILES)) |
| 781 | +endif |
| 782 | + |
| 783 | +include SUPPORTED |
| 784 | + |
| 785 | +INSTALL-SUPPORTED-LOCALES=$(addprefix install-, $(SUPPORTED-LOCALES)) |
| 786 | + |
| 787 | +# Sometimes the whole collection of locale files should be installed. |
| 788 | +LOCALEDEF=I18NPATH=. GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \ |
| 789 | +$(common-objpfx)elf/ld.so --library-path $(rpath-link) $(common-objpfx)locale/localedef |
| 790 | +install-locales: $(INSTALL-SUPPORTED-LOCALES) |
| 791 | + |
| 792 | +install-locales-dir: |
| 793 | + $(..)./scripts/mkinstalldirs $(inst_localedir) |
| 794 | + |
| 795 | +$(INSTALL-SUPPORTED-LOCALES): install-locales-dir |
| 796 | + @locale=`echo $@ | sed -e 's/^install-//'`; \ |
| 797 | + charset=`echo $$locale | sed -e 's,.*/,,'`; \ |
| 798 | + locale=`echo $$locale | sed -e 's,/[^/]*,,'`; \ |
| 799 | + echo -n `echo $$locale | sed 's/\([^.\@]*\).*/\1/'`; \ |
| 800 | + echo -n ".$$charset"; \ |
| 801 | + echo -n `echo $$locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \ |
| 802 | + echo -n '...'; \ |
| 803 | + input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \ |
| 804 | + $(LOCALEDEF) --alias-file=../intl/locale.alias \ |
| 805 | + -i locales/$$input -c -f charmaps/$$charset \ |
| 806 | + $(addprefix --prefix=,$(install_root)) $$locale; \ |
| 807 | + echo ' done'; \ |
| 808 | + |
| 809 | +# The mbwc-tests need some environment setup to find the locale data files |
| 810 | +TEST_MBWC_ENV:= LOCPATH=$(common-objpfx)localedata |
| 811 | +tst_iswalnum-ENV = $(TEST_MBWC_ENV) |
| 812 | +tst_iswalpha-ENV = $(TEST_MBWC_ENV) |
| 813 | +tst_iswcntrl-ENV = $(TEST_MBWC_ENV) |
| 814 | +tst_iswctype-ENV = $(TEST_MBWC_ENV) |
| 815 | +tst_iswdigit-ENV = $(TEST_MBWC_ENV) |
| 816 | +tst_iswgraph-ENV = $(TEST_MBWC_ENV) |
| 817 | +tst_iswlower-ENV = $(TEST_MBWC_ENV) |
| 818 | +tst_iswprint-ENV = $(TEST_MBWC_ENV) |
| 819 | +tst_iswpunct-ENV = $(TEST_MBWC_ENV) |
| 820 | +tst_iswspace-ENV = $(TEST_MBWC_ENV) |
| 821 | +tst_iswupper-ENV = $(TEST_MBWC_ENV) |
| 822 | +tst_iswxdigit-ENV = $(TEST_MBWC_ENV) |
| 823 | +tst_mblen-ENV = $(TEST_MBWC_ENV) |
| 824 | +tst_mbrlen-ENV = $(TEST_MBWC_ENV) |
| 825 | +tst_mbrtowc-ENV = $(TEST_MBWC_ENV) |
| 826 | +tst_mbsrtowcs-ENV = $(TEST_MBWC_ENV) |
| 827 | +tst_mbstowcs-ENV = $(TEST_MBWC_ENV) |
| 828 | +tst_mbtowc-ENV = $(TEST_MBWC_ENV) |
| 829 | +tst_strcoll-ENV = $(TEST_MBWC_ENV) |
| 830 | +tst_strfmon-ENV = $(TEST_MBWC_ENV) |
| 831 | +tst_strxfrm-ENV = $(TEST_MBWC_ENV) |
| 832 | +tst_swscanf-ENV = $(TEST_MBWC_ENV) |
| 833 | +tst_towctrans-ENV = $(TEST_MBWC_ENV) |
| 834 | +tst_towlower-ENV = $(TEST_MBWC_ENV) |
| 835 | +tst_towupper-ENV = $(TEST_MBWC_ENV) |
| 836 | +tst_wcrtomb-ENV = $(TEST_MBWC_ENV) |
| 837 | +tst_wcscat-ENV = $(TEST_MBWC_ENV) |
| 838 | +tst_wcschr-ENV = $(TEST_MBWC_ENV) |
| 839 | +tst_wcscmp-ENV = $(TEST_MBWC_ENV) |
| 840 | +tst_wcscoll-ENV = $(TEST_MBWC_ENV) |
| 841 | +tst_wcscpy-ENV = $(TEST_MBWC_ENV) |
| 842 | +tst_wcscspn-ENV = $(TEST_MBWC_ENV) |
| 843 | +tst_wcslen-ENV = $(TEST_MBWC_ENV) |
| 844 | +tst_wcsncat-ENV = $(TEST_MBWC_ENV) |
| 845 | +tst_wcsncmp-ENV = $(TEST_MBWC_ENV) |
| 846 | +tst_wcsncpy-ENV = $(TEST_MBWC_ENV) |
| 847 | +tst_wcspbrk-ENV = $(TEST_MBWC_ENV) |
| 848 | +tst_wcsrtombs-ENV = $(TEST_MBWC_ENV) |
| 849 | +tst_wcsspn-ENV = $(TEST_MBWC_ENV) |
| 850 | +tst_wcsstr-ENV = $(TEST_MBWC_ENV) |
| 851 | +tst_wcstod-ENV = $(TEST_MBWC_ENV) |
| 852 | +tst_wcstok-ENV = $(TEST_MBWC_ENV) |
| 853 | +tst_wcstombs-ENV = $(TEST_MBWC_ENV) |
| 854 | +tst_wcswidth-ENV = $(TEST_MBWC_ENV) |
| 855 | +tst_wcsxfrm-ENV = $(TEST_MBWC_ENV) |
| 856 | +tst_wctob-ENV = $(TEST_MBWC_ENV) |
| 857 | +tst_wctomb-ENV = $(TEST_MBWC_ENV) |
| 858 | +tst_wctrans-ENV = $(TEST_MBWC_ENV) |
| 859 | +tst_wctype-ENV = $(TEST_MBWC_ENV) |
| 860 | +tst_wcwidth-ENV = $(TEST_MBWC_ENV) |
| 861 | +tst-digits-ENV = $(TEST_MBWC_ENV) |
| 862 | +tst-mbswcs6-ENV = $(TEST_MBWC_ENV) |
| 863 | +tst-xlocale1-ENV = $(TEST_MBWC_ENV) |
| 864 | +tst-xlocale2-ENV = $(TEST_MBWC_ENV) |
| 865 | +tst-strfmon1-ENV = $(TEST_MBWC_ENV) |
| 866 | +tst-strptime-ENV = $(TEST_MBWC_ENV) |
| 867 | + |
| 868 | +tst-setlocale-ENV = LOCPATH=$(common-objpfx)localedata LC_ALL=ja_JP.EUC-JP |
| 869 | + |
| 870 | +bug-iconv-trans-ENV = LOCPATH=$(common-objpfx)localedata |
| 871 | + |
| 872 | +tst-sscanf-ENV = LOCPATH=$(common-objpfx)localedata |
| 873 | + |
| 874 | +tst-leaks-ENV = MALLOC_TRACE=$(objpfx)tst-leaks.mtrace \ |
| 875 | + LOCPATH=$(common-objpfx)localedata |
| 876 | +$(objpfx)mtrace-tst-leaks: $(objpfx)tst-leaks.out |
| 877 | + $(common-objpfx)malloc/mtrace $(objpfx)tst-leaks.mtrace > $@ |
| 878 | diff -Naur glibc-2.9.orig/Makeconfig glibc-2.9/Makeconfig |
| 879 | --- glibc-2.9.orig/Makeconfig 2008-08-18 05:42:17.000000000 -0400 |
| 880 | +++ glibc-2.9/Makeconfig 2009-03-15 19:22:15.939718625 -0400 |
| 881 | @@ -446,6 +446,13 @@ |
| 882 | $(common-objpfx)libc% $(+postinit),$^) \ |
| 883 | $(link-extra-libs-static) $(link-libc-static) $(+postctor) $(+postinit) |
| 884 | endif |
| 885 | +# Command for linking programs against the host system. |
| 886 | +ifndef +link-native |
| 887 | ++link-native = $(BUILD_CC) -static -g -o $@ $^ \ |
| 888 | + $(LDFLAGS) $(LDFLAGS-$(@F)) \ |
| 889 | + $(combreloc-LDFLAGS) $(relro-LDFLAGS) \ |
| 890 | + $(link-extra-libs) |
| 891 | +endif |
| 892 | # Command for statically linking bounded-pointer programs with the C library. |
| 893 | ifndef +link-bounded |
| 894 | +link-bounded = $(CC) -nostdlib -nostartfiles -static -fbounded-pointers -o $@ \ |
| 895 | @@ -659,6 +666,8 @@ |
| 896 | $(+sysdep-includes) $(includes) \ |
| 897 | $(patsubst %/,-I%,$(..)) $(libio-include) -I. $(sysincludes) |
| 898 | |
| 899 | ++includes-native = -I$(..)include-native -I$(objpfx) -I. |
| 900 | + |
| 901 | # Since libio has several internal header files, we use a -I instead |
| 902 | # of many little headers in the include directory. |
| 903 | libio-include = -I$(..)libio |
| 904 | @@ -673,10 +682,15 @@ |
| 905 | $(foreach lib,$(libof-$(basename $(@F))) \ |
| 906 | $(libof-$(<F)) $(libof-$(@F)),$(CPPFLAGS-$(lib))) \ |
| 907 | $(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F))) |
| 908 | +CPPFLAGS-native = -D_GNU_SOURCE $($(subdir)-CPPFLAGS) $(+includes-native) $(defines) \ |
| 909 | + $(CPPFLAGS-$(suffix $@)) -include $(..)include/libc-symbols.h \ |
| 910 | + $(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F))) |
| 911 | override CFLAGS = -std=gnu99 $(gnu89-inline-CFLAGS) \ |
| 912 | $(filter-out %frame-pointer,$(+cflags)) $(+gccwarn-c) \ |
| 913 | $(sysdep-CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) \ |
| 914 | $(CFLAGS-$(@F)) |
| 915 | +override CFLAGS-native = -std=gnu99 $(gnu89-inline-CFLAGS) $(default_cflags) $(+gccwarn-c) \ |
| 916 | + $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) $(CFLAGS-$(@F)) |
| 917 | override CXXFLAGS = $(c++-sysincludes) \ |
| 918 | $(filter-out %frame-pointer,$(+cflags)) $(sysdep-CFLAGS) \ |
| 919 | $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) $(CFLAGS-$(@F)) |
| 920 | diff -Naur glibc-2.9.orig/Makerules glibc-2.9/Makerules |
| 921 | --- glibc-2.9.orig/Makerules 2008-02-06 19:39:18.000000000 -0500 |
| 922 | +++ glibc-2.9/Makerules 2009-03-15 19:22:15.975455420 -0400 |
| 923 | @@ -278,6 +278,9 @@ |
| 924 | object-suffixes-left := $(all-object-suffixes) |
| 925 | include $(o-iterator) |
| 926 | |
| 927 | +$(objpfx)%-native.o: %.c $(before-compile) |
| 928 | + $(native-compile-command.c) |
| 929 | + |
| 930 | # Omit the objpfx rules when building in the source tree, because |
| 931 | # objpfx is empty and so these rules just override the ones above. |
| 932 | ifdef objpfx |
| 933 | @@ -354,6 +357,8 @@ |
| 934 | compile-command.s = $(COMPILE.s) $< $(OUTPUT_OPTION) $(compile-mkdep-flags) |
| 935 | compile-command.c = $(compile.c) $(OUTPUT_OPTION) $(compile-mkdep-flags) |
| 936 | compile-command.cc = $(compile.cc) $(OUTPUT_OPTION) $(compile-mkdep-flags) |
| 937 | +# Native commands |
| 938 | +native-compile-command.c = $(native-compile.c) $(OUTPUT_OPTION) $(compile-mkdep-flags) |
| 939 | |
| 940 | # GCC can grok options after the file name, and it looks nicer that way. |
| 941 | compile.c = $(CC) $< -c $(CFLAGS) $(CPPFLAGS) |
| 942 | @@ -363,6 +368,8 @@ |
| 943 | COMPILE.S = $(CC) -c $(CPPFLAGS) $(S-CPPFLAGS) \ |
| 944 | $(ASFLAGS) $(ASFLAGS-$(suffix $@)) |
| 945 | COMPILE.s = $(filter-out -pipe,$(CC)) -c $(ASFLAGS) |
| 946 | +# Native commands |
| 947 | +native-compile.c = $(BUILD_CC) -g $< -c $(CFLAGS-native) $(CPPFLAGS-native) |
| 948 | |
| 949 | # We need this for the output to go in the right place. It will default to |
| 950 | # empty if make was configured to work with a cc that can't grok -c and -o |
| 951 | @@ -1156,7 +1163,7 @@ |
| 952 | $(make-target-directory) |
| 953 | $(patsubst %/,cd % &&,$(objpfx)) \ |
| 954 | $(BUILD_CC) $($(basename $(<F))-CFLAGS) $(ALL_BUILD_CFLAGS) \ |
| 955 | - $(firstword $(filter /%,$< $(shell pwd)/$<)) -o $(@F) |
| 956 | + $(addprefix $(shell pwd)/, $^) -o $(@F) |
| 957 | endef |
| 958 | |
| 959 | # Command to compile $< in $(common-objdir) using the native libraries. |
| 960 | diff -Naur glibc-2.9.orig/malloc/Makefile glibc-2.9/malloc/Makefile |
| 961 | --- glibc-2.9.orig/malloc/Makefile 2007-12-16 17:57:50.000000000 -0500 |
| 962 | +++ glibc-2.9/malloc/Makefile 2009-03-15 19:22:15.975455420 -0400 |
| 963 | @@ -73,10 +73,6 @@ |
| 964 | endif |
| 965 | endif |
| 966 | |
| 967 | -# Unless we get a test for the availability of libgd which also works |
| 968 | -# for cross-compiling we disable the memusagestat generation in this |
| 969 | -# situation. |
| 970 | -ifneq ($(cross-compiling),yes) |
| 971 | # If the gd library is available we build the `memusagestat' program. |
| 972 | ifneq ($(LIBGD),no) |
| 973 | others: $(objpfx)memusage |
| 974 | @@ -91,7 +87,6 @@ |
| 975 | # is to presume that the standard system headers will be ok for this file. |
| 976 | $(objpfx)memusagestat.o: sysincludes = # nothing |
| 977 | endif |
| 978 | -endif |
| 979 | |
| 980 | # Another goal which can be used to override the configure decision. |
| 981 | .PHONY: do-memusagestat |
| 982 | diff -Naur glibc-2.9.orig/Rules glibc-2.9/Rules |
| 983 | --- glibc-2.9.orig/Rules 2006-02-28 02:05:48.000000000 -0500 |
| 984 | +++ glibc-2.9/Rules 2009-03-15 19:22:15.975455420 -0400 |
| 985 | @@ -87,7 +87,7 @@ |
| 986 | |
| 987 | .PHONY: others tests |
| 988 | ifeq ($(build-programs),yes) |
| 989 | -others: $(addprefix $(objpfx),$(others) $(sysdep-others) $(extra-objs)) |
| 990 | +others: $(addprefix $(objpfx),$(others) $(others-native) $(sysdep-others) $(extra-objs)) |
| 991 | else |
| 992 | others: $(addprefix $(objpfx),$(extra-objs)) |
| 993 | endif |
| 994 | @@ -106,9 +106,11 @@ |
| 995 | ifeq ($(build-programs),yes) |
| 996 | binaries-all = $(others) $(sysdep-others) $(tests) $(xtests) $(test-srcs) |
| 997 | binaries-static = $(others-static) $(tests-static) $(xtests-static) |
| 998 | +binaries-native = $(others-native) |
| 999 | else |
| 1000 | binaries-all = $(tests) $(xtests) $(test-srcs) |
| 1001 | binaries-static = |
| 1002 | +binaries-native = |
| 1003 | endif |
| 1004 | |
| 1005 | binaries-shared = $(filter-out $(binaries-static), $(binaries-all)) |
| 1006 | @@ -127,6 +129,11 @@ |
| 1007 | $(+link-static) |
| 1008 | endif |
| 1009 | |
| 1010 | +ifneq "$(strip $(binaries-native))" "" |
| 1011 | +$(addprefix $(objpfx),$(binaries-native)): %: %.o |
| 1012 | + $(+link-native) |
| 1013 | +endif |
| 1014 | + |
| 1015 | ifeq ($(build-bounded),yes) |
| 1016 | binaries-bounded = $(addsuffix -bp,$(tests) $(xtests) $(test-srcs)) |
| 1017 | $(addprefix $(objpfx),$(binaries-bounded)): %-bp: %.ob \ |
| 1018 | diff -Naur glibc-2.9.orig/sunrpc/Makefile glibc-2.9/sunrpc/Makefile |
| 1019 | --- glibc-2.9.orig/sunrpc/Makefile 2006-10-18 15:25:38.000000000 -0400 |
| 1020 | +++ glibc-2.9/sunrpc/Makefile 2009-03-15 19:22:15.975455420 -0400 |
| 1021 | @@ -70,6 +70,9 @@ |
| 1022 | clnt_unix svc_unix create_xid xdr_intXX_t |
| 1023 | |
| 1024 | others := rpcinfo |
| 1025 | +ifneq ($(cross-compiling),no) |
| 1026 | +others-native := rpcgen-native |
| 1027 | +endif |
| 1028 | install-bin := rpcgen |
| 1029 | install-sbin := rpcinfo |
| 1030 | rpcgen-objs = rpc_main.o rpc_hout.o rpc_cout.o rpc_parse.o \ |
| 1031 | @@ -98,15 +101,12 @@ |
| 1032 | $(resolvobjdir)/libresolv.a |
| 1033 | endif |
| 1034 | |
| 1035 | -ifeq (no,$(cross-compiling)) |
| 1036 | -# We can only build this library if we can run the rpcgen we build. |
| 1037 | headers += $(rpcsvc:%.x=rpcsvc/%.h) |
| 1038 | extra-libs := librpcsvc |
| 1039 | extra-libs-others := librpcsvc # Make it in `others' pass, not `lib' pass. |
| 1040 | librpcsvc-routines = $(rpcsvc:%.x=x%) |
| 1041 | librpcsvc-inhibit-o = .os # Build no shared rpcsvc library. |
| 1042 | omit-deps = $(librpcsvc-routines) |
| 1043 | -endif |
| 1044 | |
| 1045 | CFLAGS-xbootparam_prot.c = -Wno-unused $(PIC-ccflag) |
| 1046 | CFLAGS-xnlm_prot.c = -Wno-unused $(PIC-ccflag) |
| 1047 | @@ -136,13 +136,26 @@ |
| 1048 | $(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit) |
| 1049 | $(+link) |
| 1050 | |
| 1051 | +ifneq ($(cross-compiling),no) |
| 1052 | +rpcgen.c: |
| 1053 | + touch rpcgen.c |
| 1054 | + |
| 1055 | +$(objpfx)rpcgen-native: $(addprefix $(objpfx),$(rpcgen-objs:%.o=%-native.o)) |
| 1056 | +endif |
| 1057 | + |
| 1058 | # This makes sure -DNOT_IN_libc is passed for all these modules. |
| 1059 | cpp-srcs-left := $(rpcgen-objs:.o=.c) |
| 1060 | lib := nonlib |
| 1061 | include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left)) |
| 1062 | |
| 1063 | # Tell rpcgen where to find the C preprocessor. |
| 1064 | +ifeq ($(cross-compiling),no) |
| 1065 | rpcgen-cmd = CPP='$(CC) -E -x c-header' $(built-program-cmd) -Y ../scripts |
| 1066 | +rpcgen = $(objpfx)rpcgen |
| 1067 | +else |
| 1068 | +rpcgen-cmd = CPP='$(CC) -E -x c-header' $(objpfx)rpcgen-native -Y ../scripts |
| 1069 | +rpcgen = $(objpfx)rpcgen-native |
| 1070 | +endif |
| 1071 | |
| 1072 | # Install the rpc data base file. |
| 1073 | $(inst_sysconfdir)/rpc: etc.rpc $(+force) |
| 1074 | @@ -153,7 +166,7 @@ |
| 1075 | # relinked. |
| 1076 | $(rpcsvc:%.x=$(objpfx)rpcsvc/%.h): $(objpfx)rpcsvc/%.h: $(objpfx)rpcsvc/%.stmp |
| 1077 | @: |
| 1078 | -$(objpfx)rpcsvc/%.stmp: rpcsvc/%.x $(objpfx)rpcgen |
| 1079 | +$(objpfx)rpcsvc/%.stmp: rpcsvc/%.x $(rpcgen) |
| 1080 | $(make-target-directory) |
| 1081 | -@rm -f ${@:stmp=T} $@ |
| 1082 | $(rpcgen-cmd) -h $< -o ${@:stmp=T} |
| 1083 | @@ -163,7 +176,7 @@ |
| 1084 | # Generate the rpcsvc XDR functions with rpcgen. |
| 1085 | $(rpcsvc:%.x=$(objpfx)x%.c): $(objpfx)x%.c: $(objpfx)x%.stmp |
| 1086 | @: |
| 1087 | -$(objpfx)x%.stmp: rpcsvc/%.x $(objpfx)rpcgen |
| 1088 | +$(objpfx)x%.stmp: rpcsvc/%.x $(rpcgen) |
| 1089 | -@rm -f ${@:stmp=T} $@ |
| 1090 | $(rpcgen-cmd) -c $< -o ${@:stmp=T} |
| 1091 | $(move-if-change) $(@:stmp=T) $(@:stmp=c) |
| 1092 | diff -Naur glibc-2.9.orig/timezone/Makefile glibc-2.9/timezone/Makefile |
| 1093 | --- glibc-2.9.orig/timezone/Makefile 2007-07-28 16:33:11.000000000 -0400 |
| 1094 | +++ glibc-2.9/timezone/Makefile 2009-03-15 19:22:16.056496560 -0400 |
| 1095 | @@ -28,6 +28,9 @@ |
| 1096 | extra-objs := scheck.o ialloc.o |
| 1097 | |
| 1098 | others := zdump zic |
| 1099 | +ifneq ($(cross-compiling),no) |
| 1100 | +others-native := zic-native |
| 1101 | +endif |
| 1102 | tests := test-tz tst-timezone |
| 1103 | |
| 1104 | tzbases := africa antarctica asia australasia europe northamerica \ |
| 1105 | @@ -69,13 +72,10 @@ |
| 1106 | $(addprefix $(inst_zonedir)/, \ |
| 1107 | $(posixrules-file))) |
| 1108 | |
| 1109 | -ifeq ($(cross-compiling),no) |
| 1110 | -# Don't try to install the zoneinfo files since we can't run zic. |
| 1111 | install-others = $(addprefix $(inst_zonedir)/,$(zonenames) \ |
| 1112 | $(zonenames:%=posix/%) \ |
| 1113 | $(zonenames:%=right/%)) \ |
| 1114 | $(installed-localtime-file) $(installed-posixrules-file) |
| 1115 | -endif |
| 1116 | |
| 1117 | ifeq ($(have-ksh),yes) |
| 1118 | install-others += $(inst_zonedir)/iso3166.tab $(inst_zonedir)/zone.tab |
| 1119 | @@ -128,7 +128,11 @@ |
| 1120 | # We have to use `-d $(inst_zonedir)' to explictly tell zic where to |
| 1121 | # place the output files although $(zonedir) is compiled in. But the |
| 1122 | # user might have set $(install_root) on the command line of `make install'. |
| 1123 | +ifeq ($(cross-compiling),no) |
| 1124 | zic-cmd = $(built-program-cmd) -d $(inst_zonedir) |
| 1125 | +else |
| 1126 | +zic-cmd = $(common-objpfx)/timezone/zic-native -d $(inst_zonedir) |
| 1127 | +endif |
| 1128 | tzcompile = $(zic-cmd)$(target-zone-flavor) -L $(word 3,$^) \ |
| 1129 | -y $(dir $(word 4,$^))$(notdir $(word 4,$^)) $< |
| 1130 | |
| 1131 | @@ -158,8 +162,10 @@ |
| 1132 | $(zic-cmd) -p $(posixrules) |
| 1133 | endif |
| 1134 | |
| 1135 | - |
| 1136 | $(objpfx)zic: $(objpfx)scheck.o $(objpfx)ialloc.o |
| 1137 | +ifneq ($(cross-compiling),no) |
| 1138 | +$(objpfx)zic-native: $(objpfx)scheck-native.o $(objpfx)ialloc-native.o |
| 1139 | +endif |
| 1140 | |
| 1141 | tz-cflags = -DTZDIR='"$(zonedir)"' \ |
| 1142 | -DTZDEFAULT='"$(localtime-file)"' \ |