summaryrefslogtreecommitdiff
path: root/newlib/patches/04-newlib-newlib-configure-ac.patch
blob: 6d618f9c4df4dfd34b2fdca2b0f2841c894eb320 (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#! /bin/sh
patch -p1 -f $* < $0
exit $?

More intelligently populate the targ-include directory.

--- newlib-1.16.0/newlib/configure.in	2007-05-24 19:33:30.000000000 +0200
+++ newlib/newlib/configure.in	2008-01-22 15:27:33.000000000 +0100
@@ -127,6 +127,8 @@ AC_LIBTOOL_WIN32_DLL
 AM_PROG_LIBTOOL
 fi
 
+AC_PROG_LN_S
+
 AC_ARG_ENABLE(newlib_hw_fp,
 [  --enable-newlib-hw-fp    Turn on hardware floating point math],
 [case "${enableval}" in
@@ -141,7 +143,7 @@ AM_CONDITIONAL(NEWLIB_HW_FP, test x$newl
 LIBC_INCLUDE_GREP=`echo ${CC} | grep \/libc\/include`
 abs_newlib_basedir=`cd ${newlib_basedir} && pwd`
 if test -z "${LIBC_INCLUDE_GREP}"; then
-  CC_FOR_NEWLIB="${CC} -I$PWD/targ-include -I${abs_newlib_basedir}/libc/include"
+  CC_FOR_NEWLIB="${CC} -I$PWD/targ-include"
 else
   CC_FOR_NEWLIB="${CC}"
 fi
--- newlib-1.16.0/newlib/Makefile.am	2007-05-24 19:33:29.000000000 +0200
+++ newlib/newlib/Makefile.am	2008-01-22 15:36:40.000000000 +0100
@@ -195,52 +195,20 @@ all-recursive: stmp-targ-include
 stmp-targ-include: config.status
 	-rm -rf targ-include stmp-targ-include
 	mkdir targ-include targ-include/sys targ-include/machine targ-include/bits
-	cp newlib.h targ-include/newlib.h
-	-for i in $(srcdir)/libc/machine/$(machine_dir)/machine/*.h; do \
-	    if [ -f $$i ]; then \
-	      cp $$i targ-include/machine/`basename $$i`; \
-	    else true; fi ; \
-	  done
-	-for i in $(srcdir)/libc/machine/$(machine_dir)/sys/*.h; do \
-	    if [ -f $$i ]; then \
-	      cp $$i targ-include/sys/`basename $$i`; \
-	    else true; fi ; \
-	  done
-	-for i in $(srcdir)/libc/machine/$(machine_dir)/include/*.h; do \
-	    if [ -f $$i ]; then \
-	      cp $$i targ-include/`basename $$i`; \
-	    else true; fi ; \
-	  done
-	-for i in $(srcdir)/libc/sys/$(sys_dir)/include/*.h; do \
-	    if [ -f $$i ]; then \
-	      cp $$i targ-include/`basename $$i`; \
-	    else true; fi ; \
-	  done
-	-for i in $(srcdir)/libc/sys/$(sys_dir)/sys/*.h; do \
-	    if [ -f $$i ]; then \
-	      cp $$i targ-include/sys/`basename $$i`; \
-	    else true; fi ; \
-	  done
-	-for i in $(srcdir)/libc/sys/$(sys_dir)/bits/*.h; do \
-	    if [ -f $$i ]; then \
-	      cp $$i targ-include/bits/`basename $$i`; \
-	    else true; fi ; \
-	  done
-	-for i in $(srcdir)/libc/sys/$(sys_dir)/machine/*.h; do \
-	    if [ -f $$i ]; then \
-	      cp $$i targ-include/machine/`basename $$i`; \
-	    else true; fi ; \
-	  done
-	-for i in $(srcdir)/libc/sys/$(sys_dir)/machine/$(machine_dir)/*.h; do \
-	    if [ -f $$i ]; then \
-	      cp $$i targ-include/machine/`basename $$i`; \
-	    else true; fi ; \
-	  done
-	-for i in $(srcdir)/libc/sys/$(sys_dir)/machine/$(machine_dir)/include/*.h; do \
-	    if [ -f $$i ]; then \
-	      cp $$i targ-include/machine/`basename $$i`; \
-	    else true; fi ; \
-	  done
+	$(LN_S) $(abspath newlib.h) targ-include/newlib.h
+	for dir in sys/$(sys_dir)/machine/$(machine_dir) \
+		sys/$(sys_dir) machine/$(machine_dir) .; do \
+	  for include in include .; do \
+	    for subdir in machine sys bits .; do \
+	      for header in $(srcdir)/libc/$$dir/$$include/$$subdir/*.h; do \
+	        f=targ-include/$${subdir}/`basename $$header`; \
+	        if [ "x$${header##*/}" != x'*.h' -a ! -e "$$f" ]; then \
+	          $(LN_S) "$$(readlink -f "$$header")" "$$f" || exit "$?"; \
+	        fi; \
+	      done; \
+	    done; \
+	  done; \
+	done
 	touch $@
 
 CLEANFILES = targ-include stmp-targ-include