| [2270211] | 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 | Origin: Joe Ciccone
|
|---|
| 7 | Upstream Status: Unknown
|
|---|
| 8 | Description: Adds native compile support to the build system then uses that
|
|---|
| 9 | support to build zic-native, for installing timezone info,
|
|---|
| 10 | rpcgen-native, for building librpcsvc.a, and localedef-native,
|
|---|
| 11 | for creating the locale-archive.
|
|---|
| 12 |
|
|---|
| 13 | diff -Naur glibc-2.8.orig/iconv/Makefile glibc-2.8/iconv/Makefile
|
|---|
| 14 | --- glibc-2.8.orig/iconv/Makefile 2007-07-24 23:41:17.000000000 -0400
|
|---|
| 15 | +++ glibc-2.8/iconv/Makefile 2009-01-03 15:58:18.839544523 -0500
|
|---|
| 16 | @@ -57,6 +57,9 @@
|
|---|
| 17 | iconvconfig.h
|
|---|
| 18 |
|
|---|
| 19 | others = iconv_prog iconvconfig
|
|---|
| 20 | +ifneq ($(cross-compiling),no)
|
|---|
| 21 | + others-native = iconvconfig-native
|
|---|
| 22 | +endif
|
|---|
| 23 | install-others-programs = $(inst_bindir)/iconv
|
|---|
| 24 | install-sbin = iconvconfig
|
|---|
| 25 |
|
|---|
| 26 | @@ -79,6 +82,7 @@
|
|---|
| 27 |
|
|---|
| 28 | $(objpfx)iconv_prog: $(iconv_prog-modules:%=$(objpfx)%.o)
|
|---|
| 29 | $(objpfx)iconvconfig: $(iconvconfig-modules:%=$(objpfx)%.o)
|
|---|
| 30 | +$(objpfx)iconvconfig-native: $(iconvconfig-modules:%=$(objpfx)%-native.o)
|
|---|
| 31 |
|
|---|
| 32 | ifneq ($(cross-compiling),yes)
|
|---|
| 33 | xtests: test-iconvconfig
|
|---|
| 34 | diff -Naur glibc-2.8.orig/iconvdata/Makefile glibc-2.8/iconvdata/Makefile
|
|---|
| 35 | --- glibc-2.8.orig/iconvdata/Makefile 2008-01-09 15:03:36.000000000 -0500
|
|---|
| 36 | +++ glibc-2.8/iconvdata/Makefile 2009-01-03 15:49:37.736711254 -0500
|
|---|
| 37 | @@ -317,23 +317,25 @@
|
|---|
| 38 |
|
|---|
| 39 | headers: $(addprefix $(objpfx), $(generated-modules:=.h))
|
|---|
| 40 |
|
|---|
| 41 | +ifeq ($(cross-compiling),no)
|
|---|
| 42 | +iconvconfig-cmd = LC_ALL=C LANGUAGE=C \
|
|---|
| 43 | + $(common-objpfx)elf/ld.so --library-path $(rpath-link) \
|
|---|
| 44 | + $(common-objpfx)iconv/iconvconfig
|
|---|
| 45 | +else
|
|---|
| 46 | +iconvconfig-cmd = LC_ALL=C LANGUAGE=C \
|
|---|
| 47 | + $(common-objpfx)iconv/iconvconfig-native
|
|---|
| 48 | +endif
|
|---|
| 49 | +
|
|---|
| 50 | $(addprefix $(inst_gconvdir)/, $(modules.so)): \
|
|---|
| 51 | $(inst_gconvdir)/%: $(objpfx)% $(+force)
|
|---|
| 52 | $(do-install-program)
|
|---|
| 53 | $(inst_gconvdir)/gconv-modules: gconv-modules $(+force)
|
|---|
| 54 | $(do-install)
|
|---|
| 55 | -ifeq (no,$(cross-compiling))
|
|---|
| 56 | # Update the $(prefix)/lib/gconv/gconv-modules.cache file. This is necessary
|
|---|
| 57 | # if this libc has more gconv modules than the previously installed one.
|
|---|
| 58 | if test -f "$(inst_gconvdir)/gconv-modules.cache"; then \
|
|---|
| 59 | - LC_ALL=C LANGUAGE=C \
|
|---|
| 60 | - $(common-objpfx)elf/ld.so --library-path $(rpath-link) \
|
|---|
| 61 | - $(common-objpfx)iconv/iconvconfig \
|
|---|
| 62 | - $(addprefix --prefix=,$(install_root)); \
|
|---|
| 63 | + $(iconvconfig-cmd) $(addprefix --prefix=,$(install_root)); \
|
|---|
| 64 | fi
|
|---|
| 65 | -else
|
|---|
| 66 | - @echo '*@*@*@ You should recreate $(inst_gconvdir)/gconv-modules.cache'
|
|---|
| 67 | -endif
|
|---|
| 68 |
|
|---|
| 69 | endif # build-shared = yes
|
|---|
| 70 |
|
|---|
| 71 | diff -Naur glibc-2.8.orig/include-native/bits/libc-tsd.h glibc-2.8/include-native/bits/libc-tsd.h
|
|---|
| 72 | --- glibc-2.8.orig/include-native/bits/libc-tsd.h 1969-12-31 19:00:00.000000000 -0500
|
|---|
| 73 | +++ glibc-2.8/include-native/bits/libc-tsd.h 2009-01-03 15:49:37.736711254 -0500
|
|---|
| 74 | @@ -0,0 +1,3 @@
|
|---|
| 75 | +#ifndef __libc_tsd_define
|
|---|
| 76 | +#define __libc_tsd_define(A,B)
|
|---|
| 77 | +#endif
|
|---|
| 78 | diff -Naur glibc-2.8.orig/include-native/config.h glibc-2.8/include-native/config.h
|
|---|
| 79 | --- glibc-2.8.orig/include-native/config.h 1969-12-31 19:00:00.000000000 -0500
|
|---|
| 80 | +++ glibc-2.8/include-native/config.h 2009-01-03 15:49:37.736711254 -0500
|
|---|
| 81 | @@ -0,0 +1 @@
|
|---|
| 82 | +/* Empty */
|
|---|
| 83 | diff -Naur glibc-2.8.orig/include-native/gnu/stubs.h glibc-2.8/include-native/gnu/stubs.h
|
|---|
| 84 | --- glibc-2.8.orig/include-native/gnu/stubs.h 1969-12-31 19:00:00.000000000 -0500
|
|---|
| 85 | +++ glibc-2.8/include-native/gnu/stubs.h 2009-01-03 15:49:37.736711254 -0500
|
|---|
| 86 | @@ -0,0 +1 @@
|
|---|
| 87 | +/* Empty */
|
|---|
| 88 | diff -Naur glibc-2.8.orig/include-native/intl/loadinfo.h glibc-2.8/include-native/intl/loadinfo.h
|
|---|
| 89 | --- glibc-2.8.orig/include-native/intl/loadinfo.h 1969-12-31 19:00:00.000000000 -0500
|
|---|
| 90 | +++ glibc-2.8/include-native/intl/loadinfo.h 2009-01-03 15:49:37.736711254 -0500
|
|---|
| 91 | @@ -0,0 +1,4 @@
|
|---|
| 92 | +#ifndef LOADINFO_H
|
|---|
| 93 | +#define LOADINFO_H
|
|---|
| 94 | +struct loaded_l10nfile;
|
|---|
| 95 | +#endif
|
|---|
| 96 | diff -Naur glibc-2.8.orig/include-native/libintl.h glibc-2.8/include-native/libintl.h
|
|---|
| 97 | --- glibc-2.8.orig/include-native/libintl.h 1969-12-31 19:00:00.000000000 -0500
|
|---|
| 98 | +++ glibc-2.8/include-native/libintl.h 2009-01-03 15:49:37.736711254 -0500
|
|---|
| 99 | @@ -0,0 +1,13 @@
|
|---|
| 100 | +#include_next <libintl.h>
|
|---|
| 101 | +
|
|---|
| 102 | +#ifndef _
|
|---|
| 103 | +#define _(X) (X)
|
|---|
| 104 | +#endif
|
|---|
| 105 | +
|
|---|
| 106 | +#ifndef N_
|
|---|
| 107 | +#define N_(X) (X)
|
|---|
| 108 | +#endif
|
|---|
| 109 | +
|
|---|
| 110 | +#ifndef _libc_intl_domainname
|
|---|
| 111 | +#define _libc_intl_domainname "libc"
|
|---|
| 112 | +#endif
|
|---|
| 113 | diff -Naur glibc-2.8.orig/include-native/symbol-hacks.h glibc-2.8/include-native/symbol-hacks.h
|
|---|
| 114 | --- glibc-2.8.orig/include-native/symbol-hacks.h 1969-12-31 19:00:00.000000000 -0500
|
|---|
| 115 | +++ glibc-2.8/include-native/symbol-hacks.h 2009-01-03 15:49:37.736711254 -0500
|
|---|
| 116 | @@ -0,0 +1 @@
|
|---|
| 117 | +/* Empty */
|
|---|
| 118 | diff -Naur glibc-2.8.orig/include-native/tls.h glibc-2.8/include-native/tls.h
|
|---|
| 119 | --- glibc-2.8.orig/include-native/tls.h 1969-12-31 19:00:00.000000000 -0500
|
|---|
| 120 | +++ glibc-2.8/include-native/tls.h 2009-01-03 15:49:37.736711254 -0500
|
|---|
| 121 | @@ -0,0 +1,11 @@
|
|---|
| 122 | +#ifndef _include_tls_h
|
|---|
| 123 | +#define _include_tls_h 1
|
|---|
| 124 | +
|
|---|
| 125 | +#if USE_TLS && HAVE___THREAD \
|
|---|
| 126 | + && (!defined NOT_IN_libc || defined IS_IN_libpthread)
|
|---|
| 127 | +# define USE___THREAD 1
|
|---|
| 128 | +#else
|
|---|
| 129 | +# define USE___THREAD 0
|
|---|
| 130 | +#endif
|
|---|
| 131 | +
|
|---|
| 132 | +#endif
|
|---|
| 133 | diff -Naur glibc-2.8.orig/locale/Makefile glibc-2.8/locale/Makefile
|
|---|
| 134 | --- glibc-2.8.orig/locale/Makefile 2005-12-20 01:58:41.000000000 -0500
|
|---|
| 135 | +++ glibc-2.8/locale/Makefile 2009-01-03 15:49:37.736711254 -0500
|
|---|
| 136 | @@ -44,6 +44,9 @@
|
|---|
| 137 | aux = $(categories:%=lc-%) $(categories:%=C-%) SYS_libc C_name \
|
|---|
| 138 | xlocale localename global-locale coll-lookup
|
|---|
| 139 | others = localedef locale
|
|---|
| 140 | +ifneq ($(cross-compiling),no)
|
|---|
| 141 | +others-native = localedef-native
|
|---|
| 142 | +endif
|
|---|
| 143 | #others-static = localedef locale
|
|---|
| 144 | install-bin = localedef locale
|
|---|
| 145 | extra-objs = $(localedef-modules:=.o) $(localedef-aux:=.o) \
|
|---|
| 146 | @@ -81,6 +84,12 @@
|
|---|
| 147 | $(objpfx)locale: $(locale-modules:%=$(objpfx)%.o)
|
|---|
| 148 | $(objpfx)localedef $(objpfx)locale: $(lib-modules:%=$(objpfx)%.o)
|
|---|
| 149 |
|
|---|
| 150 | +ifneq ($(cross-compiling),no)
|
|---|
| 151 | +$(objpfx)localedef-native: $(localedef-modules:%=$(objpfx)%-native.o)
|
|---|
| 152 | +$(objpfx)localedef-native: $(localedef-aux:%=$(objpfx)%-native.o)
|
|---|
| 153 | +$(objpfx)localedef-native: $(lib-modules:%=$(objpfx)%-native.o)
|
|---|
| 154 | +endif
|
|---|
| 155 | +
|
|---|
| 156 | C-translit.h: C-translit.h.in gen-translit.pl
|
|---|
| 157 | $(PERL) gen-translit.pl < $< > $@.tmp
|
|---|
| 158 | mv -f $@.tmp $@
|
|---|
| 159 | diff -Naur glibc-2.8.orig/localedata/Makefile glibc-2.8/localedata/Makefile
|
|---|
| 160 | --- glibc-2.8.orig/localedata/Makefile 2008-03-30 19:40:06.000000000 -0400
|
|---|
| 161 | +++ glibc-2.8/localedata/Makefile 2009-01-03 15:49:37.736711254 -0500
|
|---|
| 162 | @@ -207,8 +207,13 @@
|
|---|
| 163 | INSTALL-SUPPORTED-LOCALES=$(addprefix install-, $(SUPPORTED-LOCALES))
|
|---|
| 164 |
|
|---|
| 165 | # Sometimes the whole collection of locale files should be installed.
|
|---|
| 166 | +ifeq ($(cross-compiling),no)
|
|---|
| 167 | LOCALEDEF=I18NPATH=. GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
|
|---|
| 168 | $(common-objpfx)elf/ld.so --library-path $(rpath-link) $(common-objpfx)locale/localedef
|
|---|
| 169 | +else
|
|---|
| 170 | +LOCALEDEF=I18NPATH=. GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
|
|---|
| 171 | +$(common-objpfx)locale/localedef-native
|
|---|
| 172 | +endif
|
|---|
| 173 | install-locales: $(INSTALL-SUPPORTED-LOCALES)
|
|---|
| 174 |
|
|---|
| 175 | install-locales-dir:
|
|---|
| 176 | diff -Naur glibc-2.8.orig/Makeconfig glibc-2.8/Makeconfig
|
|---|
| 177 | --- glibc-2.8.orig/Makeconfig 2008-01-31 19:01:12.000000000 -0500
|
|---|
| 178 | +++ glibc-2.8/Makeconfig 2009-01-03 15:49:37.736711254 -0500
|
|---|
| 179 | @@ -446,6 +446,13 @@
|
|---|
| 180 | $(common-objpfx)libc% $(+postinit),$^) \
|
|---|
| 181 | $(link-extra-libs-static) $(link-libc-static) $(+postctor) $(+postinit)
|
|---|
| 182 | endif
|
|---|
| 183 | +# Command for linking programs against the host system.
|
|---|
| 184 | +ifndef +link-native
|
|---|
| 185 | ++link-native = $(BUILD_CC) -static -g -o $@ $^ \
|
|---|
| 186 | + $(LDFLAGS) $(LDFLAGS-$(@F)) \
|
|---|
| 187 | + $(combreloc-LDFLAGS) $(relro-LDFLAGS) \
|
|---|
| 188 | + $(link-extra-libs)
|
|---|
| 189 | +endif
|
|---|
| 190 | # Command for statically linking bounded-pointer programs with the C library.
|
|---|
| 191 | ifndef +link-bounded
|
|---|
| 192 | +link-bounded = $(CC) -nostdlib -nostartfiles -static -fbounded-pointers -o $@ \
|
|---|
| 193 | @@ -659,6 +666,8 @@
|
|---|
| 194 | $(+sysdep-includes) $(includes) \
|
|---|
| 195 | $(patsubst %/,-I%,$(..)) $(libio-include) -I. $(sysincludes)
|
|---|
| 196 |
|
|---|
| 197 | ++includes-native = -I$(..)include-native -I$(objpfx) -I.
|
|---|
| 198 | +
|
|---|
| 199 | # Since libio has several internal header files, we use a -I instead
|
|---|
| 200 | # of many little headers in the include directory.
|
|---|
| 201 | libio-include = -I$(..)libio
|
|---|
| 202 | @@ -673,10 +682,15 @@
|
|---|
| 203 | $(foreach lib,$(libof-$(basename $(@F))) \
|
|---|
| 204 | $(libof-$(<F)) $(libof-$(@F)),$(CPPFLAGS-$(lib))) \
|
|---|
| 205 | $(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F)))
|
|---|
| 206 | +CPPFLAGS-native = -D_GNU_SOURCE $($(subdir)-CPPFLAGS) $(+includes-native) $(defines) \
|
|---|
| 207 | + $(CPPFLAGS-$(suffix $@)) -include $(..)include/libc-symbols.h \
|
|---|
| 208 | + $(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F)))
|
|---|
| 209 | override CFLAGS = -std=gnu99 $(gnu89-inline-CFLAGS) \
|
|---|
| 210 | $(filter-out %frame-pointer,$(+cflags)) $(+gccwarn-c) \
|
|---|
| 211 | $(sysdep-CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) \
|
|---|
| 212 | $(CFLAGS-$(@F))
|
|---|
| [cf77be8] | 213 | +override CFLAGS-native = -std=gnu99 $(gnu89-inline-CFLAGS) $(default_cflags) $(+gccwarn-c) \
|
|---|
| [2270211] | 214 | + $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) $(CFLAGS-$(@F))
|
|---|
| 215 | override CXXFLAGS = $(c++-sysincludes) \
|
|---|
| 216 | $(filter-out %frame-pointer,$(+cflags)) $(sysdep-CFLAGS) \
|
|---|
| 217 | $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) $(CFLAGS-$(@F))
|
|---|
| 218 | diff -Naur glibc-2.8.orig/Makerules glibc-2.8/Makerules
|
|---|
| 219 | --- glibc-2.8.orig/Makerules 2008-02-06 19:39:18.000000000 -0500
|
|---|
| 220 | +++ glibc-2.8/Makerules 2009-01-03 15:49:37.736711254 -0500
|
|---|
| 221 | @@ -278,6 +278,9 @@
|
|---|
| 222 | object-suffixes-left := $(all-object-suffixes)
|
|---|
| 223 | include $(o-iterator)
|
|---|
| 224 |
|
|---|
| 225 | +$(objpfx)%-native.o: %.c $(before-compile)
|
|---|
| 226 | + $(native-compile-command.c)
|
|---|
| 227 | +
|
|---|
| 228 | # Omit the objpfx rules when building in the source tree, because
|
|---|
| 229 | # objpfx is empty and so these rules just override the ones above.
|
|---|
| 230 | ifdef objpfx
|
|---|
| 231 | @@ -354,6 +357,8 @@
|
|---|
| 232 | compile-command.s = $(COMPILE.s) $< $(OUTPUT_OPTION) $(compile-mkdep-flags)
|
|---|
| 233 | compile-command.c = $(compile.c) $(OUTPUT_OPTION) $(compile-mkdep-flags)
|
|---|
| 234 | compile-command.cc = $(compile.cc) $(OUTPUT_OPTION) $(compile-mkdep-flags)
|
|---|
| 235 | +# Native commands
|
|---|
| 236 | +native-compile-command.c = $(native-compile.c) $(OUTPUT_OPTION) $(compile-mkdep-flags)
|
|---|
| 237 |
|
|---|
| 238 | # GCC can grok options after the file name, and it looks nicer that way.
|
|---|
| 239 | compile.c = $(CC) $< -c $(CFLAGS) $(CPPFLAGS)
|
|---|
| 240 | @@ -363,6 +368,8 @@
|
|---|
| 241 | COMPILE.S = $(CC) -c $(CPPFLAGS) $(S-CPPFLAGS) \
|
|---|
| 242 | $(ASFLAGS) $(ASFLAGS-$(suffix $@))
|
|---|
| 243 | COMPILE.s = $(filter-out -pipe,$(CC)) -c $(ASFLAGS)
|
|---|
| 244 | +# Native commands
|
|---|
| 245 | +native-compile.c = $(BUILD_CC) -g $< -c $(CFLAGS-native) $(CPPFLAGS-native)
|
|---|
| 246 |
|
|---|
| 247 | # We need this for the output to go in the right place. It will default to
|
|---|
| 248 | # empty if make was configured to work with a cc that can't grok -c and -o
|
|---|
| 249 | @@ -1156,7 +1163,7 @@
|
|---|
| 250 | $(make-target-directory)
|
|---|
| 251 | $(patsubst %/,cd % &&,$(objpfx)) \
|
|---|
| 252 | $(BUILD_CC) $($(basename $(<F))-CFLAGS) $(ALL_BUILD_CFLAGS) \
|
|---|
| 253 | - $(firstword $(filter /%,$< $(shell pwd)/$<)) -o $(@F)
|
|---|
| 254 | + $(addprefix $(shell pwd)/, $^) -o $(@F)
|
|---|
| 255 | endef
|
|---|
| 256 |
|
|---|
| 257 | # Command to compile $< in $(common-objdir) using the native libraries.
|
|---|
| 258 | diff -Naur glibc-2.8.orig/malloc/Makefile glibc-2.8/malloc/Makefile
|
|---|
| 259 | --- glibc-2.8.orig/malloc/Makefile 2007-12-16 17:57:50.000000000 -0500
|
|---|
| 260 | +++ glibc-2.8/malloc/Makefile 2009-01-03 15:49:37.736711254 -0500
|
|---|
| 261 | @@ -73,10 +73,6 @@
|
|---|
| 262 | endif
|
|---|
| 263 | endif
|
|---|
| 264 |
|
|---|
| 265 | -# Unless we get a test for the availability of libgd which also works
|
|---|
| 266 | -# for cross-compiling we disable the memusagestat generation in this
|
|---|
| 267 | -# situation.
|
|---|
| 268 | -ifneq ($(cross-compiling),yes)
|
|---|
| 269 | # If the gd library is available we build the `memusagestat' program.
|
|---|
| 270 | ifneq ($(LIBGD),no)
|
|---|
| 271 | others: $(objpfx)memusage
|
|---|
| 272 | @@ -91,7 +87,6 @@
|
|---|
| 273 | # is to presume that the standard system headers will be ok for this file.
|
|---|
| 274 | $(objpfx)memusagestat.o: sysincludes = # nothing
|
|---|
| 275 | endif
|
|---|
| 276 | -endif
|
|---|
| 277 |
|
|---|
| 278 | # Another goal which can be used to override the configure decision.
|
|---|
| 279 | .PHONY: do-memusagestat
|
|---|
| 280 | diff -Naur glibc-2.8.orig/Rules glibc-2.8/Rules
|
|---|
| 281 | --- glibc-2.8.orig/Rules 2006-02-28 02:05:48.000000000 -0500
|
|---|
| 282 | +++ glibc-2.8/Rules 2009-01-03 15:49:37.736711254 -0500
|
|---|
| 283 | @@ -87,7 +87,7 @@
|
|---|
| 284 |
|
|---|
| 285 | .PHONY: others tests
|
|---|
| 286 | ifeq ($(build-programs),yes)
|
|---|
| 287 | -others: $(addprefix $(objpfx),$(others) $(sysdep-others) $(extra-objs))
|
|---|
| 288 | +others: $(addprefix $(objpfx),$(others) $(others-native) $(sysdep-others) $(extra-objs))
|
|---|
| 289 | else
|
|---|
| 290 | others: $(addprefix $(objpfx),$(extra-objs))
|
|---|
| 291 | endif
|
|---|
| 292 | @@ -106,9 +106,11 @@
|
|---|
| 293 | ifeq ($(build-programs),yes)
|
|---|
| 294 | binaries-all = $(others) $(sysdep-others) $(tests) $(xtests) $(test-srcs)
|
|---|
| 295 | binaries-static = $(others-static) $(tests-static) $(xtests-static)
|
|---|
| 296 | +binaries-native = $(others-native)
|
|---|
| 297 | else
|
|---|
| 298 | binaries-all = $(tests) $(xtests) $(test-srcs)
|
|---|
| 299 | binaries-static =
|
|---|
| 300 | +binaries-native =
|
|---|
| 301 | endif
|
|---|
| 302 |
|
|---|
| 303 | binaries-shared = $(filter-out $(binaries-static), $(binaries-all))
|
|---|
| 304 | @@ -127,6 +129,11 @@
|
|---|
| 305 | $(+link-static)
|
|---|
| 306 | endif
|
|---|
| 307 |
|
|---|
| 308 | +ifneq "$(strip $(binaries-native))" ""
|
|---|
| 309 | +$(addprefix $(objpfx),$(binaries-native)): %: %.o
|
|---|
| 310 | + $(+link-native)
|
|---|
| 311 | +endif
|
|---|
| 312 | +
|
|---|
| 313 | ifeq ($(build-bounded),yes)
|
|---|
| 314 | binaries-bounded = $(addsuffix -bp,$(tests) $(xtests) $(test-srcs))
|
|---|
| 315 | $(addprefix $(objpfx),$(binaries-bounded)): %-bp: %.ob \
|
|---|
| 316 | diff -Naur glibc-2.8.orig/sunrpc/Makefile glibc-2.8/sunrpc/Makefile
|
|---|
| 317 | --- glibc-2.8.orig/sunrpc/Makefile 2006-10-18 15:25:38.000000000 -0400
|
|---|
| 318 | +++ glibc-2.8/sunrpc/Makefile 2009-01-03 15:49:37.736711254 -0500
|
|---|
| 319 | @@ -70,6 +70,9 @@
|
|---|
| 320 | clnt_unix svc_unix create_xid xdr_intXX_t
|
|---|
| 321 |
|
|---|
| 322 | others := rpcinfo
|
|---|
| 323 | +ifneq ($(cross-compiling),no)
|
|---|
| 324 | +others-native := rpcgen-native
|
|---|
| 325 | +endif
|
|---|
| 326 | install-bin := rpcgen
|
|---|
| 327 | install-sbin := rpcinfo
|
|---|
| 328 | rpcgen-objs = rpc_main.o rpc_hout.o rpc_cout.o rpc_parse.o \
|
|---|
| 329 | @@ -98,15 +101,12 @@
|
|---|
| 330 | $(resolvobjdir)/libresolv.a
|
|---|
| 331 | endif
|
|---|
| 332 |
|
|---|
| 333 | -ifeq (no,$(cross-compiling))
|
|---|
| 334 | -# We can only build this library if we can run the rpcgen we build.
|
|---|
| 335 | headers += $(rpcsvc:%.x=rpcsvc/%.h)
|
|---|
| 336 | extra-libs := librpcsvc
|
|---|
| 337 | extra-libs-others := librpcsvc # Make it in `others' pass, not `lib' pass.
|
|---|
| 338 | librpcsvc-routines = $(rpcsvc:%.x=x%)
|
|---|
| 339 | librpcsvc-inhibit-o = .os # Build no shared rpcsvc library.
|
|---|
| 340 | omit-deps = $(librpcsvc-routines)
|
|---|
| 341 | -endif
|
|---|
| 342 |
|
|---|
| 343 | CFLAGS-xbootparam_prot.c = -Wno-unused $(PIC-ccflag)
|
|---|
| 344 | CFLAGS-xnlm_prot.c = -Wno-unused $(PIC-ccflag)
|
|---|
| 345 | @@ -136,13 +136,26 @@
|
|---|
| 346 | $(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit)
|
|---|
| 347 | $(+link)
|
|---|
| 348 |
|
|---|
| 349 | +ifneq ($(cross-compiling),no)
|
|---|
| 350 | +rpcgen.c:
|
|---|
| 351 | + touch rpcgen.c
|
|---|
| 352 | +
|
|---|
| 353 | +$(objpfx)rpcgen-native: $(addprefix $(objpfx),$(rpcgen-objs:%.o=%-native.o))
|
|---|
| 354 | +endif
|
|---|
| 355 | +
|
|---|
| 356 | # This makes sure -DNOT_IN_libc is passed for all these modules.
|
|---|
| 357 | cpp-srcs-left := $(rpcgen-objs:.o=.c)
|
|---|
| 358 | lib := nonlib
|
|---|
| 359 | include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
|
|---|
| 360 |
|
|---|
| 361 | # Tell rpcgen where to find the C preprocessor.
|
|---|
| 362 | +ifeq ($(cross-compiling),no)
|
|---|
| 363 | rpcgen-cmd = CPP='$(CC) -E -x c-header' $(built-program-cmd) -Y ../scripts
|
|---|
| 364 | +rpcgen = $(objpfx)rpcgen
|
|---|
| 365 | +else
|
|---|
| 366 | +rpcgen-cmd = CPP='$(CC) -E -x c-header' $(objpfx)rpcgen-native -Y ../scripts
|
|---|
| 367 | +rpcgen = $(objpfx)rpcgen-native
|
|---|
| 368 | +endif
|
|---|
| 369 |
|
|---|
| 370 | # Install the rpc data base file.
|
|---|
| 371 | $(inst_sysconfdir)/rpc: etc.rpc $(+force)
|
|---|
| 372 | @@ -153,7 +166,7 @@
|
|---|
| 373 | # relinked.
|
|---|
| 374 | $(rpcsvc:%.x=$(objpfx)rpcsvc/%.h): $(objpfx)rpcsvc/%.h: $(objpfx)rpcsvc/%.stmp
|
|---|
| 375 | @:
|
|---|
| 376 | -$(objpfx)rpcsvc/%.stmp: rpcsvc/%.x $(objpfx)rpcgen
|
|---|
| 377 | +$(objpfx)rpcsvc/%.stmp: rpcsvc/%.x $(rpcgen)
|
|---|
| 378 | $(make-target-directory)
|
|---|
| 379 | -@rm -f ${@:stmp=T} $@
|
|---|
| 380 | $(rpcgen-cmd) -h $< -o ${@:stmp=T}
|
|---|
| 381 | @@ -163,7 +176,7 @@
|
|---|
| 382 | # Generate the rpcsvc XDR functions with rpcgen.
|
|---|
| 383 | $(rpcsvc:%.x=$(objpfx)x%.c): $(objpfx)x%.c: $(objpfx)x%.stmp
|
|---|
| 384 | @:
|
|---|
| 385 | -$(objpfx)x%.stmp: rpcsvc/%.x $(objpfx)rpcgen
|
|---|
| 386 | +$(objpfx)x%.stmp: rpcsvc/%.x $(rpcgen)
|
|---|
| 387 | -@rm -f ${@:stmp=T} $@
|
|---|
| 388 | $(rpcgen-cmd) -c $< -o ${@:stmp=T}
|
|---|
| 389 | $(move-if-change) $(@:stmp=T) $(@:stmp=c)
|
|---|
| 390 | diff -Naur glibc-2.8.orig/timezone/Makefile glibc-2.8/timezone/Makefile
|
|---|
| 391 | --- glibc-2.8.orig/timezone/Makefile 2007-07-28 16:33:11.000000000 -0400
|
|---|
| 392 | +++ glibc-2.8/timezone/Makefile 2009-01-03 15:49:37.740044706 -0500
|
|---|
| 393 | @@ -28,6 +28,9 @@
|
|---|
| 394 | extra-objs := scheck.o ialloc.o
|
|---|
| 395 |
|
|---|
| 396 | others := zdump zic
|
|---|
| 397 | +ifneq ($(cross-compiling),no)
|
|---|
| 398 | +others-native := zic-native
|
|---|
| 399 | +endif
|
|---|
| 400 | tests := test-tz tst-timezone
|
|---|
| 401 |
|
|---|
| 402 | tzbases := africa antarctica asia australasia europe northamerica \
|
|---|
| 403 | @@ -69,13 +72,10 @@
|
|---|
| 404 | $(addprefix $(inst_zonedir)/, \
|
|---|
| 405 | $(posixrules-file)))
|
|---|
| 406 |
|
|---|
| 407 | -ifeq ($(cross-compiling),no)
|
|---|
| 408 | -# Don't try to install the zoneinfo files since we can't run zic.
|
|---|
| 409 | install-others = $(addprefix $(inst_zonedir)/,$(zonenames) \
|
|---|
| 410 | $(zonenames:%=posix/%) \
|
|---|
| 411 | $(zonenames:%=right/%)) \
|
|---|
| 412 | $(installed-localtime-file) $(installed-posixrules-file)
|
|---|
| 413 | -endif
|
|---|
| 414 |
|
|---|
| 415 | ifeq ($(have-ksh),yes)
|
|---|
| 416 | install-others += $(inst_zonedir)/iso3166.tab $(inst_zonedir)/zone.tab
|
|---|
| 417 | @@ -128,7 +128,11 @@
|
|---|
| 418 | # We have to use `-d $(inst_zonedir)' to explictly tell zic where to
|
|---|
| 419 | # place the output files although $(zonedir) is compiled in. But the
|
|---|
| 420 | # user might have set $(install_root) on the command line of `make install'.
|
|---|
| 421 | +ifeq ($(cross-compiling),no)
|
|---|
| 422 | zic-cmd = $(built-program-cmd) -d $(inst_zonedir)
|
|---|
| 423 | +else
|
|---|
| 424 | +zic-cmd = $(common-objpfx)/timezone/zic-native -d $(inst_zonedir)
|
|---|
| 425 | +endif
|
|---|
| 426 | tzcompile = $(zic-cmd)$(target-zone-flavor) -L $(word 3,$^) \
|
|---|
| 427 | -y $(dir $(word 4,$^))$(notdir $(word 4,$^)) $<
|
|---|
| 428 |
|
|---|
| 429 | @@ -158,8 +162,10 @@
|
|---|
| 430 | $(zic-cmd) -p $(posixrules)
|
|---|
| 431 | endif
|
|---|
| 432 |
|
|---|
| 433 | -
|
|---|
| 434 | $(objpfx)zic: $(objpfx)scheck.o $(objpfx)ialloc.o
|
|---|
| 435 | +ifneq ($(cross-compiling),no)
|
|---|
| 436 | +$(objpfx)zic-native: $(objpfx)scheck-native.o $(objpfx)ialloc-native.o
|
|---|
| 437 | +endif
|
|---|
| 438 |
|
|---|
| 439 | tz-cflags = -DTZDIR='"$(zonedir)"' \
|
|---|
| 440 | -DTZDEFAULT='"$(localtime-file)"' \
|
|---|