1)remove RANLIB, SYSLIBS, AR and get them from env. 2)reference sysroot when searching header files 3)include sysroot path instead of absolute include path for Linux2 and Linux3 systems. 4)for non-native build, search STAGING_BASELIBDIR/LIBDIR native build, search host library path for nsl and resolv library which comes from libc Upstreamstatus: Inappropriate [embedded specific] Signed-off-by: Yao Zhao --- makedefs | 27 +++++++++++---------------- 1 files changed, 11 insertions(+), 16 deletions(-) diff --git a/makedefs b/makedefs index dd5f256..e6fb795 100644 --- a/makedefs +++ b/makedefs @@ -87,9 +87,6 @@ # Defaults for most sane systems -RANLIB=ranlib -SYSLIBS= -AR=ar ARFL=rv # Ugly function to make our error message more visible among the @@ -293,12 +290,12 @@ case "$SYSTEM.$RELEASE" in case "$CCARGS" in *-DNO_DB*) ;; *-DHAS_DB*) ;; - *) if [ -f /usr/include/db.h ] + *) if [ -f "$BUILD_SYSROOT"/usr/include/db.h ] then : we are all set - elif [ -f /usr/include/db/db.h ] + elif [ -f "$BUILD_SYSROOT"/usr/include/db/db.h ] then - CCARGS="$CCARGS -I/usr/include/db" + CCARGS="$CCARGS -I"$BUILD_SYSROOT"/usr/include/db" else # No, we're not going to try db1 db2 db3 etc. # On a properly installed system, Postfix builds @@ -307,12 +304,12 @@ case "$SYSTEM.$RELEASE" in echo "Install the appropriate db*-devel package first." 1>&2 exit 1 fi - SYSLIBS="-ldb" + SYSLIBS="$SYSLIBS -ldb" ;; esac for name in nsl resolv $GDBM_LIBS do - for lib in /usr/lib64 /lib64 /usr/lib /lib + for lib in $BUILD_SYSROOT_NSL_PATH do test -e $lib/lib$name.a -o -e $lib/lib$name.so && { SYSLIBS="$SYSLIBS -l$name" @@ -332,7 +329,7 @@ case "$SYSTEM.$RELEASE" in if [ `expr "X$CCARGS" : "X.*-DNO_EPOLL"` -gt 0 ] then : - elif [ ! -e /usr/include/sys/epoll.h ] + elif [ ! -e "$BUILD_SYSROOT"/usr/include/sys/epoll.h ] then echo CCARGS="$CCARGS -DNO_EPOLL" else @@ -356,8 +353,6 @@ int main(int argc, char **argv) } EOF ${CC-gcc} -o makedefs.test makedefs.test.c || exit 1 - ./makedefs.test 2>/dev/null || - CCARGS="$CCARGS -DNO_EPOLL" rm -f makedefs.test makedefs.test.[co] fi;; esac @@ -366,12 +361,12 @@ EOF case "$CCARGS" in *-DNO_DB*) ;; *-DHAS_DB*) ;; - *) if [ -f /usr/include/db.h ] + *) if [ -f "$BUILD_SYSROOT"/usr/include/db.h ] then : we are all set - elif [ -f /usr/include/db/db.h ] + elif [ -f "$BUILD_SYSROOT"/usr/include/db/db.h ] then - CCARGS="$CCARGS -I/usr/include/db" + CCARGS="$CCARGS -I"$BUILD_SYSROOT"/usr/include/db" else # On a properly installed system, Postfix builds # by including and by linking with -ldb @@ -379,7 +374,7 @@ EOF echo "Install the appropriate db*-devel package first." 1>&2 exit 1 fi - SYSLIBS="-ldb" + SYSLIBS="$SYSLIBS -ldb" ;; esac for name in nsl resolv @@ -415,7 +410,7 @@ EOF esac for name in nsl resolv do - for lib in /usr/lib64 /lib64 /usr/lib /lib + for lib in $BUILD_SYSROOT_NSL_PATH do test -e $lib/lib$name.a -o -e $lib/lib$name.so && { SYSLIBS="$SYSLIBS -l$name" -- 1.7.1