patches/glibc/2.6.1/220-cross-posix_makefile.patch
author Remy Bohmer <linux@bohmer.net>
Sun Jul 11 22:23:34 2010 +0200 (2010-07-11)
changeset 2021 3e52a1510f87
permissions -rw-r--r--
debug/gdb: Fix compilation for Mingw hosts

GDB requires PDcurses instead of ncurses while running on Windows.
So, do not always compile ncurses in case GDB needs to build.

PDcurses is provided by an earlier build step and is not described in
this file.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
[yann.morin.1998@anciense.nib.fr: we already have a way to detect ncurses usage]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@1136
     1
On 20090111.1151+0100, Thomas Jourdan <tjourdan@neuf.fr> wrote:
yann@1136
     2
yann@1136
     3
  I'm still working on the solaris port an I have the same issue here.
yann@1136
     4
  While trying to build the i686-nptl-linux-gnu toolchain under
yann@1136
     5
  OpenSolaris, the problems appears during the make install rule of the
yann@1136
     6
  libc function.
yann@1136
     7
yann@1136
     8
  The problem is that solaris tries to execute ld-linux.so.2, which is an
yann@1136
     9
  elf 32 bits dyn lib, and it fails with a memory fault, not a "cannot
yann@1136
    10
  execute binary file". Hence the build stops on this error.
yann@1136
    11
yann@1136
    12
And on 20090111.1339+0100, he replied with:
yann@1136
    13
yann@1136
    14
  After digging a little, the problem comes from the
yann@1136
    15
  glibc-2.6.1/posix/Makefile. It has been solved starting from glibc 2.7
yann@1136
    16
  so I extracted a patch for glibc 2.6.1.
yann@1136
    17
yann@1136
    18
--- glibc-2.6.1/posix/Makefile	2007-04-04 01:28:20.000000000 +0200
yann@1136
    19
+++ glibc-2.7/posix/Makefile	2007-09-12 01:57:22.000000000 +0200
yann@1136
    20
@@ -98,7 +98,7 @@
yann@1136
    21
 endif
yann@1136
    22
 others		:= getconf
yann@1136
    23
 install-bin	:= getconf
yann@1136
    24
-install-others	:= $(inst_libexecdir)/getconf
yann@1136
    25
+install-others-programs	:= $(inst_libexecdir)/getconf
yann@1136
    26
 
yann@1136
    27
 before-compile	:= testcases.h ptestcases.h
yann@1136
    28
 
yann@1136
    29
@@ -110,7 +110,7 @@
yann@1136
    30
 	     tst-rxspencer-mem tst-rxspencer.mtrace tst-getconf.out \
yann@1136
    31
 	     tst-pcre-mem tst-pcre.mtrace tst-boost-mem tst-boost.mtrace \
yann@1136
    32
 	     bug-ga2.mtrace bug-ga2-mem bug-glob2.mtrace bug-glob2-mem \
yann@1136
    33
-	     tst-vfork3-mem tst-vfork3.mtrace
yann@1136
    34
+	     tst-vfork3-mem tst-vfork3.mtrace getconf.speclist
yann@1136
    35
 
yann@1136
    36
 include ../Rules
yann@1136
    37
 
yann@1136
    38
@@ -291,12 +291,20 @@
yann@1136
    39
 $(objpfx)bug-glob2-mem: $(objpfx)bug-glob2.out
yann@1136
    40
 	$(common-objpfx)malloc/mtrace $(objpfx)bug-glob2.mtrace > $@
yann@1136
    41
 
yann@1136
    42
-$(inst_libexecdir)/getconf: $(objpfx)getconf FORCE
yann@1136
    43
+$(inst_libexecdir)/getconf: $(inst_bindir)/getconf \
yann@1136
    44
+			    $(objpfx)getconf.speclist FORCE
yann@1136
    45
 	$(addprefix $(..)./scripts/mkinstalldirs ,\
yann@1136
    46
 		    $(filter-out $(wildcard $@),$@))
yann@1136
    47
-	for spec in `LC_ALL=C GETCONF_DIR=/dev/null \
yann@1136
    48
-		     $(run-program-prefix) $< \
yann@1136
    49
-		     _POSIX_V6_WIDTH_RESTRICTED_ENVS`; do \
yann@1136
    50
-		$(INSTALL_PROGRAM) $< $@/$$spec.new; \
yann@1136
    51
-		mv -f $@/$$spec.new $@/$$spec; \
yann@1136
    52
-	done
yann@1136
    53
+	while read spec; do \
yann@1136
    54
+	  ln -f $< $@/$$spec.new || $(INSTALL_PROGRAM) $< $@/$$spec.new; \
yann@1136
    55
+	  mv -f $@/$$spec.new $@/$$spec; \
yann@1136
    56
+	done < $(objpfx)getconf.speclist
yann@1136
    57
+
yann@1136
    58
+$(objpfx)getconf.speclist: $(objpfx)getconf
yann@1136
    59
+ifeq (no,$(cross-compiling))
yann@1136
    60
+	LC_ALL=C GETCONF_DIR=/dev/null \
yann@1136
    61
+	$(run-program-prefix) $< _POSIX_V6_WIDTH_RESTRICTED_ENVS > $@.new
yann@1136
    62
+else
yann@1136
    63
+	> $@.new
yann@1136
    64
+endif
yann@1136
    65
+	mv -f $@.new $@