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