summaryrefslogtreecommitdiff
path: root/patches/glibc/2.3.2/glibc-2.3.2-override.patch
blob: 17c999d123ef5beacee3a1acee628db6ec08c4b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
The error

make[2]: *** [.../gcc-3.3.3-glibc-2.1.3/i686-unknown-linux-gnu/share/zoneinfo/Africa/Algiers] Segmentation fault
make[2]: Leaving directory `.../gcc-3.3.3-glibc-2.1.3/glibc-2.1.3/timezone'
make[1]: *** [timezone/subdir_install] Error 2

is caused by glibc trying to run something it just compiled.
A crude workaround for this was posted at
http://lists.scratchbox.org/pipermail/scratchbox-users/2004-February/000018.html
but the following patch lets you optionally override these programs at
make time by setting Make variables 
  localedef_FOR_BUILD rpcgen_FOR_BUILD zic_FOR_BUILD
and maybe a few others to point to versions of those programs
that can run on the build machine.
Thanks to http://groups.google.com/groups?selm=9012160052.AA23106%40kaos.ksr.com
for pointing out the idiom for inline $(ifdef ...) in GNU Make.

Dan Kegel 2004-05-17
[rediffed for glibc-2.3.2]
[typos corrected - those are make variables, not environment variables,
 and it's $(built-program-override-name), not $(build-program-override-name)]

--- glibc-2.3.2/Makeconfig.old	2004-05-17 13:53:46.000000000 -0700
+++ glibc-2.3.2/Makeconfig	2004-05-17 14:09:59.000000000 -0700
@@ -534,9 +534,12 @@
 run-program-prefix =
 endif
 # Never use $(run-program-prefix) for the statically-linked %-bp test programs
-built-program-cmd = $(patsubst %,$(run-program-prefix),\
+built-program-real = $(patsubst %,$(run-program-prefix),\
 			$(filter-out %-bp,$(built-program-file))) \
 		    $(built-program-file)
+# If user set foo_FOR_BUILD, use that instead of actually running the program we just linked.
+built-program-override-name = $(notdir $(word 2,$^))_FOR_BUILD
+built-program-cmd = $(if $(findstring undefined,$(origin $(built-program-override-name))),$(built-program-real),$($(built-program-override-name)))
 
 ifndef LD
 LD := ld -X