1*4882a593SmuzhiyunFrom 9000ee4d8bb5c5e0bcc588e9bec86eb56f4285e1 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Li xin <lixin.fnst@cn.fujitsu.com>
3*4882a593SmuzhiyunDate: Fri, 19 Jun 2015 16:45:54 +0900
4*4882a593SmuzhiyunSubject: [PATCH] Fix makedefs
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun1)remove RANLIB, SYSLIBS, AR and get them from env.
7*4882a593Smuzhiyun2)reference sysroot when searching header files
8*4882a593Smuzhiyun3)include sysroot path instead of absolute include path
9*4882a593Smuzhiyunfor Linux2 and Linux3 systems.
10*4882a593Smuzhiyun4)for non-native build, search STAGING_BASELIBDIR/LIBDIR
11*4882a593Smuzhiyun  native build, search host library path for nsl and resolv library
12*4882a593Smuzhiyun  which comes from libc
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunUpstreamstatus: Inappropriate [embedded specific]
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunSigned-off-by: Yao Zhao <yao.zhao@windriver.com>
17*4882a593Smuzhiyun---
18*4882a593Smuzhiyun makedefs | 27 +++++++++++----------------
19*4882a593Smuzhiyun 1 file changed, 11 insertions(+), 16 deletions(-)
20*4882a593Smuzhiyun
21*4882a593Smuzhiyundiff --git a/makedefs b/makedefs
22*4882a593Smuzhiyunindex 3448c1e..78e0717 100644
23*4882a593Smuzhiyun--- a/makedefs
24*4882a593Smuzhiyun+++ b/makedefs
25*4882a593Smuzhiyun@@ -197,9 +197,6 @@ echo "# pie=$pie"
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun # Defaults for most sane systems
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun-RANLIB=ranlib
30*4882a593Smuzhiyun-SYSLIBS=
31*4882a593Smuzhiyun-AR=ar
32*4882a593Smuzhiyun ARFL=rv
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun # Ugly function to make our error message more visible among the
35*4882a593Smuzhiyun@@ -492,12 +489,12 @@ case "$SYSTEM.$RELEASE" in
36*4882a593Smuzhiyun 		case "$CCARGS" in
37*4882a593Smuzhiyun 		 *-DNO_DB*) ;;
38*4882a593Smuzhiyun 		 *-DHAS_DB*) ;;
39*4882a593Smuzhiyun-		 *) if [ -f /usr/include/db.h ]
40*4882a593Smuzhiyun+		 *) if [ -f "$BUILD_SYSROOT"/usr/include/db.h ]
41*4882a593Smuzhiyun 		    then
42*4882a593Smuzhiyun 			: we are all set
43*4882a593Smuzhiyun-		    elif [ -f /usr/include/db/db.h ]
44*4882a593Smuzhiyun+		    elif [ -f "$BUILD_SYSROOT"/usr/include/db/db.h ]
45*4882a593Smuzhiyun 		    then
46*4882a593Smuzhiyun-			CCARGS="$CCARGS -I/usr/include/db"
47*4882a593Smuzhiyun+			CCARGS="$CCARGS -I"$BUILD_SYSROOT"/usr/include/db"
48*4882a593Smuzhiyun 		    else
49*4882a593Smuzhiyun 			# No, we're not going to try db1 db2 db3 etc.
50*4882a593Smuzhiyun 			# On a properly installed system, Postfix builds
51*4882a593Smuzhiyun@@ -506,12 +503,12 @@ case "$SYSTEM.$RELEASE" in
52*4882a593Smuzhiyun 			echo "Install the appropriate db*-devel package first." 1>&2
53*4882a593Smuzhiyun 			exit 1
54*4882a593Smuzhiyun 		    fi
55*4882a593Smuzhiyun-		    SYSLIBS="-ldb"
56*4882a593Smuzhiyun+		    SYSLIBS="$SYSLIBS -ldb"
57*4882a593Smuzhiyun 		    ;;
58*4882a593Smuzhiyun 		esac
59*4882a593Smuzhiyun 		for name in nsl resolv $GDBM_LIBS
60*4882a593Smuzhiyun 		do
61*4882a593Smuzhiyun-		    for lib in /usr/lib64 /lib64 /usr/lib /lib
62*4882a593Smuzhiyun+		    for lib in $BUILD_SYSROOT_NSL_PATH
63*4882a593Smuzhiyun 		    do
64*4882a593Smuzhiyun 			test -e $lib/lib$name.a -o -e $lib/lib$name.so && {
65*4882a593Smuzhiyun 			    SYSLIBS="$SYSLIBS -l$name"
66*4882a593Smuzhiyun@@ -531,7 +528,7 @@ case "$SYSTEM.$RELEASE" in
67*4882a593Smuzhiyun 		       if [ `expr "X$CCARGS" : "X.*-DNO_EPOLL"` -gt 0 ]
68*4882a593Smuzhiyun 		       then
69*4882a593Smuzhiyun 			   :
70*4882a593Smuzhiyun-		       elif [ ! -e /usr/include/sys/epoll.h ]
71*4882a593Smuzhiyun+		       elif [ ! -e "$BUILD_SYSROOT"/usr/include/sys/epoll.h ]
72*4882a593Smuzhiyun 		       then
73*4882a593Smuzhiyun 			   echo CCARGS="$CCARGS -DNO_EPOLL"
74*4882a593Smuzhiyun 		       else
75*4882a593Smuzhiyun@@ -555,8 +552,6 @@ int     main(int argc, char **argv)
76*4882a593Smuzhiyun }
77*4882a593Smuzhiyun EOF
78*4882a593Smuzhiyun 			   ${CC-gcc} -o makedefs.test makedefs.test.c || exit 1
79*4882a593Smuzhiyun-			   ./makedefs.test 2>/dev/null ||
80*4882a593Smuzhiyun-				CCARGS="$CCARGS -DNO_EPOLL"
81*4882a593Smuzhiyun 			   rm -f makedefs.test makedefs.test.[co]
82*4882a593Smuzhiyun 		       fi;;
83*4882a593Smuzhiyun 		esac
84*4882a593Smuzhiyun@@ -572,12 +567,12 @@ EOF
85*4882a593Smuzhiyun 		case "$CCARGS" in
86*4882a593Smuzhiyun 		 *-DNO_DB*) ;;
87*4882a593Smuzhiyun 		 *-DHAS_DB*) ;;
88*4882a593Smuzhiyun-		 *) if [ -f /usr/include/db.h ]
89*4882a593Smuzhiyun+		 *) if [ -f "$BUILD_SYSROOT"/usr/include/db.h ]
90*4882a593Smuzhiyun 		    then
91*4882a593Smuzhiyun 			: we are all set
92*4882a593Smuzhiyun-		    elif [ -f /usr/include/db/db.h ]
93*4882a593Smuzhiyun+		    elif [ -f "$BUILD_SYSROOT"/usr/include/db/db.h ]
94*4882a593Smuzhiyun 		    then
95*4882a593Smuzhiyun-			CCARGS="$CCARGS -I/usr/include/db"
96*4882a593Smuzhiyun+			CCARGS="$CCARGS -I"$BUILD_SYSROOT"/usr/include/db"
97*4882a593Smuzhiyun 		    else
98*4882a593Smuzhiyun 			# On a properly installed system, Postfix builds
99*4882a593Smuzhiyun 			# by including <db.h> and by linking with -ldb
100*4882a593Smuzhiyun@@ -585,12 +580,12 @@ EOF
101*4882a593Smuzhiyun 			echo "Install the appropriate db*-devel package first." 1>&2
102*4882a593Smuzhiyun 			exit 1
103*4882a593Smuzhiyun 		    fi
104*4882a593Smuzhiyun-		    SYSLIBS="-ldb"
105*4882a593Smuzhiyun+		    SYSLIBS="$SYSLIBS -ldb"
106*4882a593Smuzhiyun 		    ;;
107*4882a593Smuzhiyun 		esac
108*4882a593Smuzhiyun 		for name in nsl resolv
109*4882a593Smuzhiyun 		do
110*4882a593Smuzhiyun-		    for lib in /usr/lib64 /lib64 /usr/lib /usr/lib/* /lib /lib/*
111*4882a593Smuzhiyun+		    for lib in $BUILD_SYSROOT_NSL_PATH
112*4882a593Smuzhiyun 		    do
113*4882a593Smuzhiyun 			test -e $lib/lib$name.a -o -e $lib/lib$name.so && {
114*4882a593Smuzhiyun 			    SYSLIBS="$SYSLIBS -l$name"
115*4882a593Smuzhiyun--
116*4882a593Smuzhiyun2.17.1
117*4882a593Smuzhiyun
118