mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-04 05:15:22 +00:00 
			
		
		
		
	
		
			
	
	
		
			84 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			84 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								# AST_PROG_LD
							 | 
						||
| 
								 | 
							
								# ----------
							 | 
						||
| 
								 | 
							
								# find the pathname to the GNU or non-GNU linker
							 | 
						||
| 
								 | 
							
								AC_DEFUN([AST_PROG_LD],
							 | 
						||
| 
								 | 
							
								[AC_ARG_WITH([gnu-ld],
							 | 
						||
| 
								 | 
							
								    [AC_HELP_STRING([--with-gnu-ld],
							 | 
						||
| 
								 | 
							
									[assume the C compiler uses GNU ld @<:@default=no@:>@])],
							 | 
						||
| 
								 | 
							
								    [test "$withval" = no || with_gnu_ld=yes],
							 | 
						||
| 
								 | 
							
								    [with_gnu_ld=no])
							 | 
						||
| 
								 | 
							
								AC_REQUIRE([AST_PROG_SED])dnl
							 | 
						||
| 
								 | 
							
								AC_REQUIRE([AC_PROG_CC])dnl
							 | 
						||
| 
								 | 
							
								AC_REQUIRE([AC_CANONICAL_HOST])dnl
							 | 
						||
| 
								 | 
							
								AC_REQUIRE([AC_CANONICAL_BUILD])dnl
							 | 
						||
| 
								 | 
							
								ac_prog=ld
							 | 
						||
| 
								 | 
							
								if test "$GCC" = yes; then
							 | 
						||
| 
								 | 
							
								  # Check if gcc -print-prog-name=ld gives a path.
							 | 
						||
| 
								 | 
							
								  AC_MSG_CHECKING([for ld used by $CC])
							 | 
						||
| 
								 | 
							
								  case $host in
							 | 
						||
| 
								 | 
							
								  *-*-mingw*)
							 | 
						||
| 
								 | 
							
								    # gcc leaves a trailing carriage return which upsets mingw
							 | 
						||
| 
								 | 
							
								    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
							 | 
						||
| 
								 | 
							
								  *)
							 | 
						||
| 
								 | 
							
								    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
							 | 
						||
| 
								 | 
							
								  esac
							 | 
						||
| 
								 | 
							
								  case $ac_prog in
							 | 
						||
| 
								 | 
							
								    # Accept absolute paths.
							 | 
						||
| 
								 | 
							
								    [[\\/]]* | ?:[[\\/]]*)
							 | 
						||
| 
								 | 
							
								      re_direlt='/[[^/]][[^/]]*/\.\./'
							 | 
						||
| 
								 | 
							
								      # Canonicalize the pathname of ld
							 | 
						||
| 
								 | 
							
								      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
							 | 
						||
| 
								 | 
							
								      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
							 | 
						||
| 
								 | 
							
									ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
							 | 
						||
| 
								 | 
							
								      done
							 | 
						||
| 
								 | 
							
								      test -z "$LD" && LD="$ac_prog"
							 | 
						||
| 
								 | 
							
								      ;;
							 | 
						||
| 
								 | 
							
								  "")
							 | 
						||
| 
								 | 
							
								    # If it fails, then pretend we aren't using GCC.
							 | 
						||
| 
								 | 
							
								    ac_prog=ld
							 | 
						||
| 
								 | 
							
								    ;;
							 | 
						||
| 
								 | 
							
								  *)
							 | 
						||
| 
								 | 
							
								    # If it is relative, then search for the first ld in PATH.
							 | 
						||
| 
								 | 
							
								    with_gnu_ld=unknown
							 | 
						||
| 
								 | 
							
								    ;;
							 | 
						||
| 
								 | 
							
								  esac
							 | 
						||
| 
								 | 
							
								elif test "$with_gnu_ld" = yes; then
							 | 
						||
| 
								 | 
							
								  AC_MSG_CHECKING([for GNU ld])
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
								  AC_MSG_CHECKING([for non-GNU ld])
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								AC_CACHE_VAL(lt_cv_path_LD,
							 | 
						||
| 
								 | 
							
								[if test -z "$LD"; then
							 | 
						||
| 
								 | 
							
								  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
							 | 
						||
| 
								 | 
							
								  for ac_dir in $PATH; do
							 | 
						||
| 
								 | 
							
								    IFS="$lt_save_ifs"
							 | 
						||
| 
								 | 
							
								    test -z "$ac_dir" && ac_dir=.
							 | 
						||
| 
								 | 
							
								    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
							 | 
						||
| 
								 | 
							
								      lt_cv_path_LD="$ac_dir/$ac_prog"
							 | 
						||
| 
								 | 
							
								      # Check to see if the program is GNU ld.  I'd rather use --version,
							 | 
						||
| 
								 | 
							
								      # but apparently some variants of GNU ld only accept -v.
							 | 
						||
| 
								 | 
							
								      # Break only if it was the GNU/non-GNU ld that we prefer.
							 | 
						||
| 
								 | 
							
								      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
							 | 
						||
| 
								 | 
							
								      *GNU* | *'with BFD'*)
							 | 
						||
| 
								 | 
							
									test "$with_gnu_ld" != no && break
							 | 
						||
| 
								 | 
							
									;;
							 | 
						||
| 
								 | 
							
								      *)
							 | 
						||
| 
								 | 
							
									test "$with_gnu_ld" != yes && break
							 | 
						||
| 
								 | 
							
									;;
							 | 
						||
| 
								 | 
							
								      esac
							 | 
						||
| 
								 | 
							
								    fi
							 | 
						||
| 
								 | 
							
								  done
							 | 
						||
| 
								 | 
							
								  IFS="$lt_save_ifs"
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
								  lt_cv_path_LD="$LD" # Let the user override the test with a path.
							 | 
						||
| 
								 | 
							
								fi])
							 | 
						||
| 
								 | 
							
								LD="$lt_cv_path_LD"
							 | 
						||
| 
								 | 
							
								if test -n "$LD"; then
							 | 
						||
| 
								 | 
							
								  AC_MSG_RESULT($LD)
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
								  AC_MSG_RESULT(no)
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
							 | 
						||
| 
								 | 
							
								AST_PROG_LD_GNU
							 | 
						||
| 
								 | 
							
								])# AST_PROG_LD
							 |