File glibc-compiled-binaries.diff of Package glibc

---
 config.make.in    |    1 +
 configure         |   16 +++++++++++++++-
 configure.in      |    1 +
 posix/Makefile    |    2 +-
 sunrpc/Makefile   |    2 +-
 timezone/Makefile |    2 +-
 6 files changed, 20 insertions(+), 4 deletions(-)

Index: glibc-2.15/config.make.in
===================================================================
--- glibc-2.15.orig/config.make.in
+++ glibc-2.15/config.make.in
@@ -100,6 +100,7 @@ add-ons = @add_ons@
 add-on-subdirs = @add_on_subdirs@
 sysdeps-add-ons = @sysdeps_add_ons@
 cross-compiling = @cross_compiling@
+compiled-binaries-can-run-on-buildhost = @compiled_binaries_can_run_on_buildhost@
 force-install = @force_install@
 
 # Build tools.
Index: glibc-2.15/configure.in
===================================================================
--- glibc-2.15.orig/configure.in
+++ glibc-2.15/configure.in
@@ -15,6 +15,7 @@ if test $host != $build; then
   AC_CHECK_PROGS(BUILD_CC, gcc cc)
 fi
 AC_SUBST(cross_compiling)
+AC_SUBST(compiled_binaries_can_run_on_buildhost)
 AC_PROG_CPP
 # We need the C++ compiler only for testing.
 AC_PROG_CXX
Index: glibc-2.15/configure
===================================================================
--- glibc-2.15.orig/configure
+++ glibc-2.15/configure
@@ -553,6 +553,7 @@ ac_clean_files=
 ac_config_libobj_dir=.
 LIBOBJS=
 cross_compiling=no
+compiled_binaries_can_run_on_buildhost=yes
 subdirs=
 MFLAGS=
 MAKEFLAGS=
@@ -706,6 +707,7 @@ CXXFLAGS
 CXX
 CPP
 cross_compiling
+compiled_binaries_can_run_on_buildhost
 BUILD_CC
 OBJEXT
 ac_ct_CC
@@ -1250,6 +1252,13 @@ do
   as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
+# Check whether --enable-runbinaries was given.
+if test "${enable_runbinaries+set}" = set; then
+  enableval=$enable_runbinaries; compiled_binaries_can_run_on_buildhost=$enableval
+else
+  compiled_binaries_can_run_on_buildhost=yes
+fi
+
 # There might be people who depend on the old broken behavior: `$host'
 # used to hold the argument of --host etc.
 # FIXME: To remove some day.
@@ -1265,6 +1274,7 @@ if test "x$host_alias" != x; then
     If a cross compiler is detected then cross compile mode will be used" >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
+    compiled_binaries_can_run_on_buildhost=no
   fi
 fi
 
@@ -1450,6 +1460,9 @@ Optional Features:
   --enable-multi-arch     enable single DSO with optimizations for multiple
                           architectures
   --enable-nss-crypt      enable libcrypt to use nss
+  --enable-runbinaries    the compiled binaries should run on the buildhost because
+                          it happens to have a compatible cpu
+
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
Index: glibc-2.15/posix/Makefile
===================================================================
--- glibc-2.15.orig/posix/Makefile
+++ glibc-2.15/posix/Makefile
@@ -320,7 +320,7 @@ $(inst_libexecdir)/getconf: $(inst_bindi
 	done < $(objpfx)getconf.speclist
 
 $(objpfx)getconf.speclist: $(objpfx)getconf
-ifeq (no,$(cross-compiling))
+ifeq (yes,$(compiled-binaries-can-run-on-buildhost))
 	LC_ALL=C GETCONF_DIR=/dev/null \
 	$(run-program-prefix) $< _POSIX_V7_WIDTH_RESTRICTED_ENVS > $@.new
 	LC_ALL=C GETCONF_DIR=/dev/null \
Index: glibc-2.15/sunrpc/Makefile
===================================================================
--- glibc-2.15.orig/sunrpc/Makefile
+++ glibc-2.15/sunrpc/Makefile
@@ -108,7 +108,7 @@ otherlibs += $(nssobjdir)/libnss_files.a
 	     $(resolvobjdir)/libresolv.a
 endif
 
-ifeq (no,$(cross-compiling))
+ifeq (yes,$(compiled-binaries-can-run-on-buildhost))
 # We can only build this library if we can run the rpcgen we build.
 headers += $(rpcsvc:%.x=rpcsvc/%.h)
 extra-libs := librpcsvc
Index: glibc-2.15/timezone/Makefile
===================================================================
--- glibc-2.15.orig/timezone/Makefile
+++ glibc-2.15/timezone/Makefile
@@ -69,7 +69,7 @@ installed-posixrules-file := $(firstword
 					 $(addprefix $(inst_zonedir)/, \
 						     $(posixrules-file)))
 
-ifeq ($(cross-compiling),no)
+ifeq (yes,$(compiled-binaries-can-run-on-buildhost))
 # Don't try to install the zoneinfo files since we can't run zic.
 install-others = $(addprefix $(inst_zonedir)/,$(zonenames) \
 					      $(zonenames:%=posix/%) \
openSUSE Build Service is sponsored by