* m4/libtool.m4 (_LT_CHECK_POSIX_SORT, _LT_CHECK_READ_R): New macros to test sort(1) and read variations, define and use $posix_sort, $read_r. (_LT_SETUP): m4_require them. * config/ltmain.m4sh (func_generate_dlsyms): Use $posix_sort. --- m4/libtool.m4 2005-04-29 20:17:22.000000000 +0200 +++ m4/libtool.m4 2005-05-09 20:41:10.000000000 +0200 @@ -134,6 +134,8 @@ _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_CHECK_XSI_SHELL])dnl +m4_require([_LT_CHECK_POSIX_SORT])dnl +m4_require([_LT_CHECK_READ_R])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl @@ -6238,3 +6308,28 @@ _LT_EOF esac ]) + +# _LT_CHECK_POSIX_SORT +# -------------------- +# Whether sort(1) uses -kCOL or +COLM1, where COLM1 = COL - 1. +m4_defun([_LT_CHECK_POSIX_SORT], +[if sort -k3 /dev/null 2>&1; then + posix_sort=: +else + posix_sort=false +fi +_LT_DECL([], posix_sort, 1, [Whether sort(1) understands "-k"]) +])# _LT_CHECK_POSIX_SORT + +# _LT_CHECK_READ_R +# -------------------- +# Try to find out whether read understands "-r" +m4_defun([_LT_CHECK_READ_R], +[if echo bt | tr b '\\' | { read -r line; test "X$line" = 'X\t'; } 2>/dev/null +then + read_r='read -r' +else + read_r=read +fi +_LT_DECL([], read_r, 1, [read -r]) +])# _LT_CHECK_READ_R --- config/ltmain.m4sh 27 Apr 2005 20:30:38 -0000 1.66 +++ config/ltmain.m4sh 19 May 2005 20:18:50 -0000 @@ -850,11 +850,7 @@ # Try sorting and uniquifying the output. if $GREP -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | + if $posix_sort; then sort -k 3; else sort +2; fi | uniq > "$nlist"S; then : else