summaryrefslogtreecommitdiff
path: root/src/cmd/INIT/make.probe
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2012-06-24 22:28:35 +0000
committerIgor Pashev <pashev.igor@gmail.com>2012-06-24 22:28:35 +0000
commit3950ffe2a485479f6561c27364d3d7df5a21d124 (patch)
tree468c6e14449d1b1e279222ec32f676b0311917d2 /src/cmd/INIT/make.probe
downloadksh-upstream.tar.gz
Imported Upstream version 93u+upstream
Diffstat (limited to 'src/cmd/INIT/make.probe')
-rw-r--r--src/cmd/INIT/make.probe2242
1 files changed, 2242 insertions, 0 deletions
diff --git a/src/cmd/INIT/make.probe b/src/cmd/INIT/make.probe
new file mode 100644
index 0000000..8a3c383
--- /dev/null
+++ b/src/cmd/INIT/make.probe
@@ -0,0 +1,2242 @@
+:
+### this script contains archaic constructs that work with all sh variants ###
+# Glenn Fowler
+# AT&T Research
+#
+# @(#)make.probe (AT&T Research) 2011-06-01
+#
+# C probe for make
+#
+# NOTE: C.probe must be included or .'d here
+#
+
+cc_dll_def=-D_BLD_DLL
+
+probe_ar_arflags="-Xany"
+probe_arflags="-xar"
+probe_ccs="strip size nm ld ar" # longest to shortest
+probe_debug="-g"
+probe_dll="'-G 0' -Wc,dll,exportall,longname,rent -Wc,exportall -dynamic $cc_dll_def"
+probe_export_dynamic="-rdynamic -export-dynamic -Wl,-export-dynamic -Wl,-E -bexpall -force_flat_namespace"
+probe_gcc_optimize="-O2"
+probe_gcc_version="*[Gg][Cc][Cc]*"
+probe_include_local="'-ignore-source-dir -iquote' -iquote -I-"
+probe_ldlazy='-zlazyload -znolazyload -Wl,-zlazyload -Wl,-znolazyload'
+probe_ldlib="LD_LIBRARY_PATH LIBPATH LPATH"
+probe_ldmap="'-Wl,-M' '-Qoption ld -M' '-Wl,-m' '-m'"
+probe_ldorigin="-Wl,-z,origin"
+probe_ldrecord='-zrecord -zignore -Wl,-zrecord -Wl,-zignore'
+probe_ldrunpath="-Wl,-R, -R -Wl,-rpath, -L"
+probe_ldstrip="'-s -mr' -Wl,-s"
+probe_lib="a lib"
+probe_lib_append="/usr/lib/pa1.1"
+probe_lib_all_undef="-all -notall -all -none -Bwhole-archive -Bno-whole-archive -whole-archive -no-whole-archive -Wl,-whole-archive -Wl,-no-whole-archive -all_load '' -Wl,-zallextract -Wl,-zdefaultextract +forceload +noforceload"
+probe_lib_multiple="-Wl,-zmuldefs"
+probe_libdir="shlib lib"
+probe_nmflags="'' -p -B"
+probe_optimize="-O"
+probe_pic="-Kpic -KPIC -fpic -fPIC -pic -PIC +z +Z"
+probe_no_protect="'-fno-stack-protector -fno-stack-protector-all' -GS-"
+probe_readonly="-R -Krodata -xMerge -Wa,-r"
+probe_shared="'' -G -b -c -shared -Wl,dll"
+probe_shared_name="-Wl,-soname= -h"
+probe_shared_nostart="-nostartfiles"
+probe_shared_registry='"-update_registry $probe_shared_registry_file"'
+probe_shared_registry_file='registry.ld'
+probe_shared_registry_path="\$(LIBDIR)/$probe_shared_registry_file"
+probe_strict="'-ansi -pedantic' '-ansi -strict' -strict -ansi"
+probe_stripflags="'-f -s' -f -s"
+probe_unresolved="'-expect_unresolved \"*\"'"
+probe_warn="-Wall -fullwarn -w3 '-A -A' +w1"
+
+echo '#pragma pp:version' > libpp.$src
+echo '#define dDflag on' > dDflag.$src
+echo 'int main(){return 0;}' > doti.$src
+echo 'int code(){return 0;} int main(){return code();}' > export.$src
+echo '#include <stdio.h>' > imstd.$src
+echo '#include "_i_.h"' > imusr.$src
+echo 'int x;' > _i_.h
+mkdir im
+echo '(' > im/stdio.h
+echo '#include "implc_x.h"
+int main(){f(1);return 0;}' > implc.$src
+echo 'template <class T> void f(T){}' > implc_x.$src
+echo 'template <class T> void f(T);' > implc_x.h
+echo 'extern int NotalL(){return(0);}' > notall.$src
+echo '#include <stdio.h>
+extern int i;
+int i = 1;
+extern int f(){return(!i);}
+int main(){FILE* fp=stdin;return(f());}' > pic.$src
+echo 'class x {int n;} m;' > plusplus.$src
+echo 'int prefix(){return 0;}' > prefix.$src
+echo 'template<class T> int gt(T a, T b);
+template<class T> int gt(T a, T b) { return a > b; }
+int main () { return gt(2,1); }' > ptr.$src
+echo 'int main(){return 0;}' > require.$src
+echo '#if mips && !sgi || __CYGWIN__
+( /* some systems choke on this probe */
+#else
+#if test_const
+#define CONST const
+#else
+#define CONST
+#endif
+CONST char x[]={1,2,3,4,5,6,7,8,9,0};
+int main(){*(char*)x=0; return x[0];}
+#endif' > readonly.$src
+# NOTE: sfclose() defined on uwin, not defined on all other systems
+echo 'extern int sfclose(); extern int ShareD(){return(sfclose());}' > shared.$src
+echo '#define g(a,b) a ## b
+volatile int a;
+const int g(x,y)=1;
+extern int c(int);' > stdc.$src
+echo 'extern int f(); int main() { return f(); }' > sovmain.$src
+echo 'int f() { return 0; }' > sovlib.$src
+echo '#include <stdio.h>
+int i;
+int main(){int j;j = i * 10;return j;}' > strip.$src
+echo 'template <class T> void f(T){}
+int main(){f(1);return 0;}' > toucho.$src
+echo '#if defined(__STDC__) || defined(__cplusplus)
+extern type call(int);
+#endif
+int main() {call(0);return(0);}' > tstlib.$src
+echo 'int main(){return 0;}' > warn.$src
+echo 'int f(){return 0;}' > warn1.$src
+echo 'int f(){}' > warn2.$src
+echo 'int f(){int i; return 0;}' > warn3.$src
+echo 'int f(){int i; return i;}' > warn4.$src
+echo 'int f(){return g();}' > warn5.$src
+warn_enum="1 2 3 4 5"
+
+chmod -w *.$src
+
+ar_arflags=
+arflags=
+cc_dll=
+cc_pic=
+cc_PIC=
+dDflag=
+debug=
+dialect=
+dll_dir='$(LIBDIR)'
+dll_libraries=
+dll_variants=
+doti=
+exectype=
+export_dynamic=
+gnu=
+implicitc=
+include_local=
+lddynamic=
+ldlazy=
+ldnolazy=
+ldnorecord=
+ldorigin=
+ldrecord=
+ldrunpath=
+ldscript=
+ldstatic=
+ldstrip=
+Lflag=
+lib_dll=
+lib_all=
+lib_undef=
+libpath=
+libpp=
+makeoptions=
+nmedit=
+nmflags=
+no_protect=
+optimize=
+plusplus=
+prefix_archive=lib
+prefix_dynamic=
+prefix_shared=lib
+ptrcopy=
+ptrimplicit=
+ptrmkdir=
+readonly=
+repository=
+require=
+runpath=
+shared=
+shared_name=
+shared_registry=
+shellmagic=
+soversion=
+stdc=
+strict=
+stripflags=
+symprefix=
+toucho=
+warn=
+
+set $probe_lib
+lib=$1
+
+d=
+for f in $stdinclude $usrinclude
+do case $f in
+ -I*) ;;
+ *) d="$d $f" ;;
+ esac
+done
+stdinclude=$d
+
+set x $cc
+cc_dir=`echo $2 | sed -e 's,/*[^/]*$,,'`
+for c in $probe_ccs
+do if $executable $cc_dir/$c
+ then x=$cc_dir/$c
+ else x=$c
+ fi
+ eval $c='$x'
+done
+ld_dir=
+rm -f doti.$obj
+if $cc -c doti.$src
+then eval set x $probe_verbose
+ shift
+ for o
+ do $cc $o doti.$obj
+ $cc $o doti.$obj -lF0oB@r
+ done 2>&1 | sed -e 's/^[+ ]*//' -e 's/[ ].*//' -e '/^\//!d' -e 's/:$//' -e '/ld[a-zA-Z0-9.]*$/!d' -e 's,///*,/,g' > t
+ for i in `cat t`
+ do rm -f t.$obj
+ if test -x $i && $i -r -o t.$obj doti.$obj && test -f t.$obj
+ then case $ld in
+ ld) ld=$i ;;
+ esac
+ ld_dir=`echo $i | sed 's,/[^/]*$,,'`
+ break
+ fi
+ done
+fi
+IFS=:
+set x $PATH
+IFS=$ifs
+path=$*
+m=
+for c in $probe_ccs
+do eval o='$'$c
+ case $o in
+ $c) ;;
+ *) continue ;;
+ esac
+ C='${c}'
+ for x in $cc_dir $ld_dir
+ do cd $x
+ for p in "${C}" "${C}[!a-zA-Z]*" "*[!a-zA-Z]${C}" "*[!a-zA-Z]${C}[!a-zA-Z]*"
+ do eval set x $p
+ case $# in
+ 2) if $executable $2
+ then case $2 in
+ *$c*$c*);;
+ *) m=$p
+ break 3
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ done
+ done
+done
+cd $tmpdir
+for c in $probe_ccs
+do eval o='$'$c
+ case $o in
+ $c) ;;
+ *) continue ;;
+ esac
+ for x in $cc_dir $ld_dir
+ do if $executable $x/$c
+ then eval $c='$x/$c'
+ continue 2
+ fi
+ case $m in
+ ?*) eval set x $x/$m
+ case $# in
+ 2) if $executable $2
+ then eval $c='$2'
+ continue 2
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ done
+ for x in $path
+ do if $executable $x/$c
+ then eval $c='$x/$c'
+ break
+ fi
+ done
+done
+dld=$cc
+
+rm -f dynamic.$exe
+if $cc -o dynamic.$exe dynamic.$obj && $executable dynamic.$exe
+then mkdir mylib
+ echo > mylib/libc.$lib
+ eval set x $probe_ldlib
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f dynamic.$exe
+ if eval $1=./mylib '$'cc -o dynamic.$exe dynamic.$obj
+ then :
+ else libpath=$1
+ break
+ fi
+ done
+fi
+test `$cc -E libpp.$src | grep -c '^#pragma pp:version "libpp '` -eq 1 && libpp=1
+$cc -E doti.$src > doti.i && $cc -c doti.i && test -s doti.$obj && doti=1
+if $cc -c imusr.$src
+then eval set x $probe_include_local
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ if $cc -c $1 imusr.$src
+ then : "$1 should skip \"_i_.h\" in ."
+ elif $cc -c imstd.$src
+ then if $cc -c -Iim imstd.$src
+ then : '-Idir should find <stdio.h> in dir'
+ elif $cc -c $1 -Iim imstd.$src
+ then : "$1 -Idir should find <stdio.h> in dir"
+ elif $cc -c -Iim $1 imstd.$src
+ then include_local=$1
+ break
+ else : "-Idir $1 should skip <stdio.h> in dir"
+ fi
+ else : should find stdio.h
+ fi
+ done
+else : 'should find "_i_.h" in .'
+fi
+
+if $cc -c pic.$src 2>e
+then e=`wc -l e`
+ s=`$size pic.$obj; wc pic.$obj`
+ eval set x $probe_pic
+ shift
+ while :
+ do case $# in
+ 0|1) break ;;
+ esac
+ pic=$1
+ shift
+ PIC=$1
+ shift
+ rm -f pic.$obj
+ $cc $pic -c pic.$src 2>e && test -f pic.$obj || continue
+ $cc $pic -o pic.$exe pic.$obj && test -f pic.$exe || {
+ rm -f pic.$exe
+ $cc -o pic.$exe pic.$obj && test -f pic.$exe && continue
+ }
+ case `wc -l e` in
+ $e) ;;
+ *) continue ;;
+ esac
+ case $pic in
+ ???*) m=`echo " $pic" | sed -e 's/^ [-+]//g' -e 's/./-& /g' -e 's/[-+] //g'`
+ rm -f pic.$obj pic1.$exe
+ if $cc $m -c pic.$src 2>e && test -f pic.$obj &&
+ $cc -o pic1.$exe pic.$obj && test -f pic1.$exe
+ then case `wc -l e` in
+ $e) cc_pic=$m
+ break
+ ;;
+ esac
+ fi
+ cc_pic=$pic
+ break
+ ;;
+ *) case `$size pic.$obj; wc pic.$obj` in
+ $s) ;;
+ *) cc_pic=$pic
+ break
+ ;;
+ esac
+ ;;
+ esac
+ done
+ # this works around gcc 2.95 sun4 -fpic a.out core dump after exit
+ case $hosted:$cc_pic in
+ 1:?*) if ./pic.$exe
+ then # this catches lynxos.ppc gcc that dumps -fpic and not -mshared
+ echo 'static int* f() { static int v; return &v; }
+int main() { f(); return 0; }' > picok.$src
+ $cc $cc_pic -o picok.$exe picok.$src && ./picok.$exe || cc_pic=
+ else cc_pic=
+ fi
+ ;;
+ esac
+ case $cc_pic in
+ ?*) rm -f pic.$obj
+ if $cc $PIC -c pic.$src 2>e && test -f pic.$obj
+ then cc_PIC=$PIC
+ else cc_PIC=$cc_pic
+ fi
+ ;;
+ *) eval set x $probe_dll
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f pic.$obj pic.$exe
+ $cc $1 -c pic.$src 2>e && test -f pic.$obj || continue
+ $cc $1 -o pic.$exe pic.$obj && test -f pic.$exe || {
+ rm -f pic.$exe
+ $cc -o pic.$exe pic.$obj && test -f pic.$exe && continue
+ }
+ case $1 in
+ -Wc,*exportall*)
+ # get specific since sgi gets this far too
+ rm -f pic.$exe pic.x
+ $cc -Wl,dll -o pic.$exe pic.$obj || continue
+ test -f pic.$exe || continue
+ test -f pic.x || continue
+ cc_dll="-D_SHARE_EXT_VARS $1"
+ so=.x
+ sd=.dll
+ dld=$cc
+ shared=-Wl,dll
+ prefix_shared=
+ probe_sd=
+ probe_shared=
+ #unused# lddynamic=-Bdynamic
+ #unused# ldstatic=-Bstatic
+ lib_dll=SYMBOL
+ break
+ ;;
+ esac
+ case `wc -l e` in
+ $e) cc_dll=$1
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+fi
+
+$cc -c plusplus.$src && plusplus=1
+$cc -E -dD dDflag.$src > t
+case `grep '#define[ ][ ]*dDflag[ ][ ]*on' t` in
+?*) dDflag=1 ;;
+esac
+case `grep '#define.*_GNUC_' t` in
+?*) gnu=1 ;;
+esac
+case $plusplus in
+"") $cc -c stdc.$src && stdc=1 ;;
+*) mkdir ptr
+ cd ptr
+ $cc -c ../ptr.$src &
+ NFS_locks_are_botched=$!
+ cd ..
+ if $cc -c require.$src && $cc require.$obj
+ then set x `$cc require.$obj 2>&1`
+ d=
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ case $1 in
+ -l*) d="$d $1" ;;
+ esac
+ done
+ for f in ++
+ do if $cc require.$obj -l$f
+ then set x `$cc require.$obj -l$f 2>&1`
+ r=
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ case $1 in
+ -l*) case " $d $r " in
+ *" "$1" "*) ;;
+ *) r="$r $1" ;;
+ esac
+ esac
+ done
+ case $r in
+ ?*) require="$require $f"
+ echo '' $r > req.$f
+ ;;
+ esac
+ fi
+ done
+ fi
+ cd ptr
+ for i in *
+ do if test -d $i
+ then repository=$i
+ break
+ fi
+ done
+ cd ..
+ kill -9 $NFS_locks_are_botched
+ rm -rf ptr
+ case $repository in
+ *?) mkdir ptr
+ cd ptr
+ i=PTR
+ case $repository in
+ $i) i=$i$i ;;
+ esac
+ $cc -ptr$i -c ../ptr.$src &
+ NFS_locks_are_botched=$!
+ cd ..
+ sleep 5
+ if test -d ptr/$i/$repository
+ then ptrimplicit=1
+ fi
+ kill -9 $NFS_locks_are_botched
+ rm -rf ptr
+ ;;
+ esac
+ $cc -o implc implc.$src && $executable implc && implicitc=1
+ if $cc -c toucho.$src && test -f toucho.$obj
+ then o=`ls -l toucho.$obj`
+ if $cc -o toucho toucho.$obj && $executable toucho
+ then n=`ls -l touch.$obj`
+ case $n in
+ "$o") ;;
+ *) toucho=1 ;;
+ esac
+ fi
+ fi
+ ;;
+esac
+
+if $cc -c pic.$src
+then eval set x $probe_nmflags
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ case `$nm $1 pic.$obj | grep -c '[0123456789][ ][ ]*T[ ][ ]*[_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]'` in
+ 0) ;;
+ *) nmflags=$1
+ break
+ ;;
+ esac
+ done
+ case $# in
+ 0) case `$nm -gh pic.$obj | grep -c '|\.*[TtDdBbC][EeAaSsOo][XxTtSsMm]'` in
+ 0) ;;
+ *) nmflags=-gh
+ nmedit="-e '/\.*[TtDdBbC][EeAaSsOo][XxTtSsMm]/!d' -e 's/[| ].*//'"
+ ;;
+ esac
+ ;;
+ *) nmedit="-e '/[ ]T[ ][ ]*[_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]/!d' -e 's/.*[ ]T[ ][ ]*//'"
+ ;;
+ esac
+fi
+
+if $cc -c doti.$src
+then eval set x $probe_stripflags
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ if $strip $1 doti.$obj
+ then stripflags=$1
+ break
+ fi
+ done
+fi
+
+rm -f export.$obj export.exe
+if $cc -c export.$src
+then lm=
+ if $cc -o export.exe export.$obj -lm 2>e && lm=-lm ||
+ $cc -o export.exe export.$obj 2>e
+ then z=`wc -c < export.exe; $size export.exe 2>/dev/null`
+ eval set x $probe_export_dynamic
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f export.exe
+ if $cc -o export.exe $1 export.$obj $lm 2>f && $executable export.exe
+ then y=`wc -c < export.exe; $size export.exe 2>/dev/null`
+ case $y in
+ $z) ;;
+ *) if cmp -s e f
+ then export_dynamic=$1
+ break
+ fi
+ ;;
+ esac
+ fi
+ done
+ fi
+fi
+rm -f export.$obj export.exe
+
+rm -f strip.exe
+if $cc -o strip.exe strip.$src
+then z=`wc -c < strip.exe`
+ eval set x $probe_ldstrip
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f strip.exe
+ if $cc -o strip.exe $1 strip.$src
+ then case `wc -c < strip.exe` in
+ $z) ;;
+ *) ldstrip=$1
+ break
+ ;;
+ esac
+ fi
+ done
+fi
+
+rm -f strip.exe strip.$obj
+if $cc -c strip.$src && $cc -o strip.exe strip.$obj 2>e
+then eval set x x $probe_ldlazy
+ while :
+ do shift
+ shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f strip.$exe
+ $cc -o strip.$exe $1 strip.$obj $2 2>f && test -f strip.$exe || continue
+ cmp -s e f || continue
+ ldlazy=$1
+ ldnolazy=$2
+ break
+ done
+ eval set x x $probe_ldrecord
+ while :
+ do shift
+ shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f strip.$exe
+ $cc -o strip.$exe $1 strip.$obj $2 2>f && test -f strip.$exe || continue
+ cmp -s e f || continue
+ ldrecord=$1
+ ldnorecord=$2
+ break
+ done
+fi
+
+case $cc_dll:$cc_pic:$so:$dynamic:$static in
+::::|$cc_dll_def::::)
+ : last chance dynamic checks
+ while :
+ do
+ echo '__declspec(dllexport) int fun() { return 0; }' > exp.$src
+ if $cc -c $cc_dll_def exp.$src
+ then rm -f xxx.dll xxx.lib
+ if $cc -shared -Wl,--enable-auto-image-base -Wl,--out-implib=xxx.lib -o xxx.dll exp.$obj &&
+ test -f xxx.lib -a -f xxx.dll
+ then
+ : cygwin
+ cc_dll=$cc_dll_def
+ dll_dir='$(BINDIR)'
+ sd=.dll
+ so=.dll.a
+ ldscript=".def .exp .ign .res"
+ lib_dll=option
+ lib_all=-Wl,-whole-archive
+ lib_undef=-Wl,-no-whole-archive
+ dld=$cc
+ shared='-shared -Wl,--enable-auto-image-base -Wl,--out-implib=$(<:N=*'$so')'
+ prefix_dynamic=cyg
+ prefix_shared=lib
+ break
+ fi
+ fi
+ break
+ done
+ ;;
+*) if $cc -c $cc_dll $cc_pic shared.$src && $cc -c $cc_dll $cc_pic notall.$src
+ then for xx in "$cc" "$ld"
+ do eval set x $probe_shared
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f xxx$dll
+ # UNDENT ...
+
+ if $xx $1 -o xxx$dll shared.$obj 2>e && test -r xxx$dll
+ then if test -s e && egrep -i 'unknown|invalid|option' e > /dev/null
+ then continue
+ fi
+ case `PATH=/bin:/usr/bin:$PATH file xxx$dll` in
+ *lib*|*obj*|*shared*)
+ ;;
+ "") $executable xxx$dll || continue
+ ;;
+ *ELF*|*elf*)
+ $executable xxx$dll || continue
+ case `strings xxx$dll | sed -e 's,.*[ |],,' | sort -u | egrep -i '^([._](dynamic|dynstr|dynsym))$'` in
+ [012]) continue ;;
+ esac
+ ;;
+ *archive*not*stripped*|*data*dynamic*not*stripped*)
+ $executable xxx$dll || continue
+ ;;
+ *) continue
+ ;;
+ esac
+ dld=$xx
+ shared=$1
+ # does -nostartfiles make sense for C?
+ case $plusplus in
+ '') z=`wc -c < xxx$dll`
+ eval set x $probe_shared_nostart
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f xxx$dll
+ if $dld $shared $1 -o xxx$dll shared.$obj 2>e && test -r xxx$dll
+ then case `wc -c < xxx$dll` in
+ $z) ;;
+ *) if test -s e
+ then case `cat e` in
+ *[Ee][Rr][Rr][Oo][Rr]*|*[Ww][Aa][Rr][Nn][Ii][Nn][Gg]*|*[Oo][Pp][Tt][Ii][Oo][Nn]*)
+ continue
+ ;;
+ esac
+ fi
+ case $shared in
+ '') shared=$1 ;;
+ *) shared="$shared $1" ;;
+ esac
+ break
+ ;;
+ esac
+ fi
+ done
+ ;;
+ esac
+ case $cc_dll in
+ "") cc_dll=$cc_dll_def ;;
+ esac
+ eval set x x $probe_sd
+ while :
+ do shift
+ shift
+ case $# in
+ [01]) break ;;
+ esac
+ rm -f xxx xxx$1 xxx$2
+ if $dld $shared -o xxx shared.$obj 2>e
+ then if test -f xxx$1 -a \( -f xxx$2 -o "$cc_dll" = "$cc_dll_def" \)
+ then sd=$1
+ so=$2
+ lddynamic=-Bdynamic
+ ldstatic=-Bstatic
+ break 2
+ elif test -f xxx -a -f xxx$2
+ then sd=$1
+ so=$2
+ break 2
+ else case $so in
+ '') so=$1 ;;
+ esac
+ break
+ fi
+ fi
+ done
+ rm -f libxxx.$lib
+ $ar cr libxxx.$lib shared.$obj
+ ranlib libxxx.$lib
+ eval set x x $probe_lib_all_undef
+ rm -f xxx$dll
+ if $dld $shared -o xxx$dll libxxx.$lib && test -r xxx$dll
+ then if $nm $nmflags xxx$dll | grep ShareD
+ then lib_dll=OPTION
+ set x x
+ fi
+ fi
+ while :
+ do shift
+ shift
+ case $# in
+ 0|1) break ;;
+ esac
+ rm -f xxx$dll
+ if $dld $shared -o xxx$dll $1 libxxx.$lib $2 && test -r xxx$dll
+ then if $nm $nmflags xxx$dll | grep ShareD
+ then lib_dll=option
+ lib_all=$1
+ lib_undef=$2
+ break
+ fi
+ fi
+ case $2 in
+ ?*) if $dld $shared -o xxx$dll $1 libxxx.$lib && test -r xxx$dll
+ then if $nm $nmflags xxx$dll | grep ShareD
+ then lib_dll=option
+ lib_all=$1
+ break
+ fi
+ fi
+ ;;
+ esac
+ done
+ case $lib_dll in
+ OPTION) lib_dll=option
+ ;;
+ option) case $lib_undef in
+ "") rm -f libyyy.$lib
+ $ar cr libyyy.$lib notall.$obj
+ ranlib libyyy.$lib
+ $cc -c prefix.$src
+ eval set x x $probe_lib_all_undef
+ while :
+ do shift
+ shift
+ case $# in
+ 0|1) break ;;
+ esac
+ rm -f xxx$dll
+ if $dld $shared -o xxx$dll prefix.$obj $lib_all libxxx.$lib $2 libyyy.$lib && test -r xxx$dll
+ then rm -f t
+ $nm $nmflags xxx$dll > t
+ case `grep -c ShareD t`:`grep -c NotalL t` in
+ 0:*) ;;
+ *:0) lib_undef=$2
+ break
+ ;;
+ esac
+ fi
+ done
+ ;;
+ esac
+ case $lib_undef in
+ "") eval set x $probe_lib_multiple
+ rm -f libyyy.$lib
+ cp libxxx.$lib libyyy.$lib
+ rm -f xxx$dll
+ if $dld $shared -o xxx$dll prefix.$obj $lib_all libxxx.$lib libyyy.$lib && test -r xxx$dll
+ then :
+ else while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f xxx$dll
+ if $dld $shared -o xxx$dll prefix.$obj $lib_all $1 libxxx.$lib libyyy.$lib && test -r xxx$dll
+ then rm -f t
+ $nm $nmflags xxx$dll > t
+ case `grep -c ShareD t` in
+ 0) ;;
+ *) lib_all="$lib_all $1"
+ break
+ ;;
+ esac
+ fi
+ done
+ fi
+ lib_dll=symbol
+ ;;
+ esac
+ ;;
+ *) lib_dll=symbol
+ ;;
+ esac
+ case `cat e` in
+ ?*) eval set x $probe_unresolved
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f xxx$dll
+ if eval '$dld $shared' $1 '-o xxx$dll shared.$obj 2>e && test -r xxx$dll'
+ then case `cat e` in
+ "") shared="$shared $1"; break ;;
+ esac
+ fi
+ done
+ ;;
+ esac
+ r=
+ eval set x $probe_shared_registry
+ while :
+ do shift
+ r=x$r
+ case $# in
+ 0) break ;;
+ esac
+ rm -f xxx$dll
+ if eval \$dld \$shared -o xxx\$dll $1 shared.\$obj &&
+ test -r xxx$dll -a -r $probe_shared_registry_file
+ then probe_shared_registry_file='$(CC.SHARED.REGISTRY.PATH)'
+ eval set x $probe_shared_registry
+ i=
+ while :
+ do shift
+ i=x$i
+ case $i in
+ $r) break ;;
+ esac
+ done
+ shared_registry=$1
+ fi
+ done
+ break 2
+ fi
+
+ # ... INDENT
+ done
+ done
+ fi
+ case $so in
+ ?*) rm -f xxx*
+ if $dld $shared -g -o xxx shared.$obj 2>e
+ then set x $probe_sdb
+ while :
+ do shift
+ case $1 in
+ 0) break ;;
+ esac
+ if test -f xxx$1
+ then sdb=$1
+ break
+ fi
+ done
+ fi
+ if $cc -c require.$src
+ then p='
+/usr/proberun/lib:/local/runprobe/lib
+'
+ eval set x $probe_ldrunpath
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f require.exe
+ if $cc -o require.exe $1"$p" require.$obj &&
+ grep -c /proberun/ require.exe >/dev/null &&
+ grep -c /runprobe/ require.exe > /dev/null
+ then ldrunpath=$1
+ eval set x $probe_ldorigin
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f origin.exe
+ if $cc -o origin.exe $1 $ldrunpath'$ORIGIN' require.$obj
+ then if ./origin.exe > /dev/null 2>&1
+ then ldorigin="$1 $ldrunpath"'\$ORIGIN/$(BINDIR:P=R=$(DLLDIR))'
+ fi
+ break
+ fi
+ done
+ break
+ fi
+ done
+ fi
+ rm -f libxxx$so
+ if $cc -c sovmain.$src &&
+ $cc -c $cc_dll $cc_pic sovlib.c &&
+ $dld $shared -o libxxx$so sovlib.$obj &&
+ $cc -o sovmain.$exe -L. sovmain.$obj -lxxx
+ then rm -f sovmain.$exe
+ mv libxxx$so libxxx$so.5.6
+ if $cc -o sovmain.$exe -L. sovmain.$obj -lxxx
+ then soversion=1
+ fi
+ fi
+ rm -f doti.$obj
+ std64=/lib64
+ lcl64=/usr/local/lib64
+ if test -d $std64 -a -d $lcl64 && $cc -c doti.$src
+ then for i in `cd $lcl64; ls *$so 2>/dev/null | sed 's/lib\([^.]*\).*/\1/'`
+ do if $cc -o runpath.$exe doti.$obj -l$i >/dev/null 2>&1
+ then LD_LIBRARY_PATH= ./runpath.$exe >/dev/null 2>&1 && continue
+ if LD_LIBRARY_PATH=$lcl64 ./runpath.$exe >/dev/null 2>&1
+ then runpath=$lcl64
+ break
+ elif LD_LIBRARY_PATH=$std64 ./runpath.$exe >/dev/null 2>&1
+ then runpath=$std64
+ break
+ elif LD_LIBRARY_PATH=$lcl64:$std64 ./runpath.$exe >/dev/null 2>&1
+ then runpath=$lcl64:$std64
+ break
+ fi
+ fi
+ done
+ fi
+ ;;
+ esac
+ ;;
+esac
+
+rm -f shared.$obj
+if $cc -c shared.$src
+then eval set x $probe_ar_arflags
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f libxxx.$lib
+ if $ar $1 r libxxx.$lib shared.$obj && $ar $1 t libxxx.$lib 2>&1 | grep shared.$obj >/dev/null
+ then ar_arflags=$1
+ break
+ fi
+ done
+ eval set x $probe_arflags
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f libxxx.$lib
+ if $cc $1 -o libxxx.$lib shared.$obj && $ar t libxxx.$lib 2>&1 | grep shared.$obj >/dev/null
+ then arflags=$1
+ break
+ fi
+ done
+fi
+
+case $shared in
+-G) case $cc_dll in
+ "") cc_dll=$cc_dll_def ;;
+ esac
+ ;;
+*) case $lib_dll in
+ symbol) echo 'extern int f();
+ int main() { f(); return 0; }' > main.$src
+ echo '#include <stdio.h>
+ int f() { printf("hello world"); return 0; }' > member.$src
+ if $cc -c main.$src && $cc -c member.$src
+ then echo f > lib.exp
+ rm -f lib.$obj main.exe
+ if $ld -o lib.$obj -L: -bexport:lib.exp -berok -bmodtype:SRE -T512 -H512 -lm -lc member.$obj && $cc -o main.exe main.$obj lib.$obj
+ then dld=$ld
+ shared='-T512 -H512 -L$(LIBDIR): -berok -bmodtype:SRE'
+ lib_dll=export
+ dll_libraries='-lm -lc'
+ ldscript=.exp
+ case $cc_dll in
+ "") cc_dll=$cc_dll_def ;;
+ esac
+ case $so in
+ "") so=.$obj ;;
+ esac
+ fi
+ fi
+ ;;
+ esac
+ ;;
+esac
+case $shared in
+?*) if $cc -c $cc_dll $cc_pic shared.$src
+ then eval set x $probe_shared_name
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f xxx$dll
+ if $dld $shared ${1}libfoo.1.2 -o xxx$dll shared.$obj 2>e && test -r xxx$dll
+ then shared_name=$1
+ break
+ fi
+ done
+ fi
+ ;;
+esac
+case " $cc_dll " in
+*" $cc_dll_def "*)
+ ;;
+" ") ;;
+*) cc_dll="$cc_dll_def $cc_dll"
+ ;;
+esac
+
+case $hosttype in
+win32.*|cygwin.*|os2.*)
+ Lflag=1
+ ;;
+*) if $cc -c doti.$src
+ then if $cc -L. doti.$obj -lc >/dev/null
+ then case $cc_dll in
+ '') ;;
+ *) Lflag=1 ;;
+ esac
+ fi
+ fi
+ ;;
+esac
+
+case $lib_dll in
+option) case $hosttype in
+ linux.*) dll_libraries=-lc ;;
+ esac
+ ;;
+SYMBOL) lib_dll=symbol
+ ;;
+symbol) echo "#include <stdio.h>
+extern int fun()
+{
+ puts(\"fun\");
+ return 0;
+}" > dllib.$src
+ echo "extern int fun();
+int
+main()
+{
+ return fun();
+}" > dlmain.$src
+ pwd=`pwd`
+ while :
+ do
+ if $cc -c $cc_dll $cc_pic dlmain.$src &&
+ $cc -c $cc_dll $cc_pic dllib.$src
+ then rm -f libxxx$so
+ if $dld $shared -o libxxx$so dllib.$obj &&
+ chmod 555 libxxx$so
+ then rm -f dlmain.$exe
+ if $cc -o dlmain.$exe dlmain.$obj $pwd/libxxx$so &&
+ (./dlmain.$exe) >/dev/null 2>&1
+ then break
+ fi
+ fi
+ rm -f libxxx$so dlmain.$exe
+ if $dld $shared -o libxxx$so dllib.$obj -lm -lc &&
+ chmod 555 libxxx$so &&
+ $cc -o dlmain.$exe dlmain.$obj $pwd/libxxx$so &&
+ (./dlmain.$exe) >/dev/null 2>&1
+ then dll_libraries='-lm -lc'
+ fi
+ fi
+ break
+ done
+ # the dll_libraries probe is still lame
+ case $dll_libraries in
+ '') case $hosttype in
+ sco.*|sol*.*|sun*) ;;
+ *) dll_libraries='-lm -lc' ;;
+ esac
+ ;;
+ esac
+ ;;
+esac
+
+stdlib=
+a=`$cc -print-multi-directory 2>/dev/null`
+case $a in
+.) ;;
+*) for d in `$cc -print-search-dirs 2>/dev/null | sed -e '/^libraries:/!d' -e 's/.*=//' | tr : '\n' | grep /lib/`
+ do if [ -d ${d}${a} ]
+ then stdlib="$stdlib ${d}${a}"
+ else case $d in
+ */lib/) d=`echo '' $d | sed -e 's,/$,,'`
+ if [ -d ${d}${a} ]
+ then stdlib="$stdlib ${d}${a}"
+ fi
+ ;;
+ esac
+ fi
+ done
+ ;;
+esac
+case $stdlib in
+'') stdlib=`$cc -v doti.$src 2>&1 |
+ sed 's/ */\n/g' |
+ sed -e '/^-L/!d' -e 's/^-L//' |
+ while read dir
+ do if test -d "$dir"
+ then (cd "$dir"; pwd)
+ fi
+ done`
+ ;;
+*) eval set x $probe_verbose
+ shift
+ for o in "$@"
+ do stdlib="$stdlib "`$cc $o doti.$src 2>&1 |
+ sed 's/ */\n/g' |
+ sed -e '/^-L/!d' -e '/\/lib64$/!d' -e 's/^-L//'`
+ done
+ ;;
+esac
+case $stdlib in
+?*) keepstdlib=1
+ o=$stdlib
+ stdlib=
+ for dir in $o
+ do case " $stdlib " in
+ *" $o "*) continue ;;
+ esac
+ case $dir in
+ /usr/lib64)
+ i=/usr/local/lib64
+ a=/lib64
+ ;;
+ /lib64) i=/usr/local/lib64
+ a=/usr/lib64
+ ;;
+ /usr/lib)
+ i=/usr/local/lib
+ a=/lib
+ ;;
+ lib) i=/usr/local/lib
+ a=/usr/lib
+ ;;
+ *) i=
+ a=
+ ;;
+ esac
+ if test "" != "$i" -a -d "$i"
+ then case " $o " in
+ *" $i "*)
+ ;;
+ *) stdlib="$stdlib $i"
+ ;;
+ esac
+ fi
+ stdlib="$stdlib $dir"
+ if test "" != "$a" -a -d "$a"
+ then case " $o " in
+ *" $a "*)
+ ;;
+ *) stdlib="$stdlib $a"
+ ;;
+ esac
+ fi
+ done
+ case $hosted in
+ 1) case " $stdlib " in
+ *" /usr/lib "*)
+ ;;
+ *) case " $stdlib " in
+ *" /usr/local/lib "*)
+ ;;
+ *) stdlib="$stdlib /usr/local/lib"
+ ;;
+ esac
+ stdlib="$stdlib /usr/lib"
+ ;;
+ esac
+ case " $stdlib " in
+ *" /lib "*)
+ ;;
+ *) stdlib="$stdlib /lib"
+ ;;
+ esac
+ esac
+ ;;
+*) keepstdlib=0
+ case $dir in
+ */arch/$hosttype/lib/*)
+ notlib=`echo $dir | sed "s,/arch/$hosttype/lib/.*,/arch/$hosttype/lib,"`
+ ;;
+ *) notlib=////
+ ;;
+ esac
+ tstlib=
+ implib=
+ if $cc -c hosted.$src
+ then for f in `(
+ eval set x $probe_verbose
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ $cc $1 hosted.$obj
+ done
+ ) 2>&1 | sed -e 's/[ :]/\\
+ /g' -e 's/-L//g' -e 's/^P,//' -e "s/[\"']//g" -e 's,^[\\\\/]*[\\\\/],/,' | sed -e '/^\$/d' -e '/^[-+]/d' -e '/^[^\\\\\\/]/d' -e '/[\\\\\\/]tmp[\\\\\\/]/d' -e 's/:\$//' -e 's,//*$,,'`
+ do case " $tstlib $implib " in
+ *" $f "*) continue ;;
+ esac
+ case $f in
+ $notlib) continue ;;
+ esac
+ if test -d $f
+ then tstlib="$tstlib $f"
+ elif test -f $f
+ then d=`echo $f | sed -e 's,[\\\\/]*[^\\\\/]*\$,,'`
+ case " $tstlib $implib " in
+ *" $d "*) continue ;;
+ esac
+ case $d in
+ *[\\/]usr[\\/]lib)
+ x=$d
+ d="`echo $d | sed -e 's,[\\\\/][\\\\/]*usr[\\\\/]lib\$,/lib,'`"
+ case " $tstlib $implib " in
+ *" $d "*) ;;
+ *) implib="$implib $d" ;;
+ esac
+ implib="$implib $x"
+ ;;
+ *[\\/]lib)
+ implib="$implib $d"
+ d="`echo $d | sed -e 's,[\\\\/][\\\\/]*lib\$,/usr/lib,'`"
+ case " $tstlib $implib " in
+ *" $d "*) ;;
+ *) implib="$implib $d" ;;
+ esac
+ ;;
+ *) implib="$implib $d"
+ ;;
+ esac
+ fi
+ done
+ fi
+ tstlib="$tstlib $implib"
+ if $cc -Dtype=void -Dcall=exit -c tstlib.$src && mv tstlib.$obj tst.$obj
+ then case $plusplus in
+ '') probe_lxx= ;;
+ esac
+ l=
+ for sym in $probe_l $probe_lxx
+ do case $l in
+ "") l=$sym; continue ;;
+ esac
+ rm -f tstlib.$exe
+ if $cc -o tstlib.$exe tst.$obj -l$l
+ then eval set x $probe_ldmap
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ d=`$cc -Dtype=int -Dcall=$sym $static $1 tstlib.$src -l$l 2>&1 | sed -e '/[\\\\\\/].*[\\\\\\/]lib[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+]*\.[^\\\\\\/]*\$/!d' -e 's,^[^\\\\\/]*,,' -e 's,[\\\\\\/]lib[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+]*\.[^\\\\\\/]*\$,,' -e '/^[\\\\\\/]/!d' | sort -u`
+ case $d in
+ ?*) tstlib="$tstlib $d" ;;
+ esac
+ done
+ fi
+ l=
+ done
+ fi
+ libstd=
+ libset=
+ stdlibroot="/ /usr/"
+ for d in $tstlib
+ do case $d in
+ [\\/]lib|[\\/]usr[\\/]lib)
+ ;;
+ *) case " $stdlib " in
+ *\ $d\ *)
+ ;;
+ *) if ls $d ${PREROOT+$PREROOT/../$d} > tmp.tmp && test -s tmp.tmp
+ then for i in $probe_lib $obj
+ do if grep -i "\\.$i\$" tmp.tmp >/dev/null
+ then case " $probe_lib_append " in
+ *\ $d\ *)
+ libstd="$libstd $d"
+ ;;
+ *) stdlib="$stdlib $d"
+ case $d in
+ /usr/lib|/usr/lib/*)
+ ;;
+ /usr/lib?*)
+ e=`echo $d | sed -e 's,/usr,,'`
+ g=`echo $d/libc.* $e/libc.*`
+ case "$e $g " in
+ *".* "*);;
+ *) stdlib="$stdlib $e"
+ stdlibroot=
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ case $libset in
+ "") case $i in
+ $obj) ;;
+ *) libset=1
+ lib=$i
+ ;;
+ esac
+ ;;
+ esac
+ break
+ fi
+ done
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ done
+ for d in `$ld --verbose 2>&1 | sed -e '/SEARCH_DIR/!d' -e 's/[ ][ ][ ]*/ /g' -e 's/SEARCH_DIR(\([^ ]*\));/\1/g' -e 's, //[^ ]*,,' -e 's,",,g'`
+ do if test -d $d
+ then case " $stdlib $libstd " in
+ *\ ${d}\ *)
+ ;;
+ *) libstd="$libstd $d"
+ ;;
+ esac
+ fi
+ done
+ case $hosted in
+ "") tstlib= ;;
+ *) tstlib="$stdlibroot /usr/ccs/ /usr/local/" ;;
+ esac
+ case $stdlibroot in
+ ?*) d=
+ for f in $stdinclude
+ do f=`echo $f | sed -e 's,[^\\\\/]*\$,,'`
+ d="$d $f"
+ done
+ tstlib="$d $tstlib"
+ ;;
+ esac
+ $cc -c doti.$src > all.tmp
+ for f in $probe_libdir
+ do for d in $stdlib $libstd $tstlib
+ do if test -d ${d}${f}
+ then ls ${d}${f} ${PREROOT:+$PREROOT/../${d}${f}} |
+ while read i
+ do for j in ${d}${f}/${i} ${PREROOT:+$PREROOT/../${d}${f}/${i}}
+ do if test -f $j -a -r $j -a -s $j
+ then echo $i
+ break
+ fi
+ done
+ done > tmp.tmp
+ if test -s tmp.tmp
+ then if egrep -i "^${prefix_archive}[abcdefghijklmnopqrstuvwxyz0123456789_][abcdefghijklmnopqrstuvwxyz0123456789_]*\\.$lib\$" tmp.tmp >lib.tmp ||
+ egrep -i "\\.$obj\$" tmp.tmp >/dev/null ||
+ egrep -i "^${prefix_shared}[abcdefghijklmnopqrstuvwxyz0123456789_][abcdefghijklmnopqrstuvwxyz0123456789_]*\\$so(.[0-9]+)*\$" tmp.tmp >>lib.tmp
+ then if test -s lib.tmp
+ then sed -e "s,.*/,," -e 's,^'${prefix_archive}'\(.*\)\.'$lib'$,\1,g' -e 's,^'${prefix_shared}'\(.*\)\'$so'[.0-9]*,\1,g' lib.tmp | sort -u > tmp.tmp
+ xs=`sort all.tmp all.tmp tmp.tmp | uniq -u`
+ case $xs in
+ '') continue ;;
+ esac
+ ok=0
+ for x in $xs
+ do case $x in
+ *_p) continue ;; # linux gcc known to hang for -lc_p
+ esac
+ if $cc -o doti.$exe doti.$obj -l$x 2>e
+ then ok=1
+ else if test -s e && egrep -i ":.*[ ](find|found|locate|search|-l$x)[ ]" e > /dev/null
+ then if egrep -i ":.*[ ](access|permission)[ ]" e
+ then : maybe
+ else ok=0
+ break
+ fi
+ fi
+ case $Lflag in
+ 1) if $cc -L${d}${f} -o doti.$exe doti.$obj -l$x
+ then ok=0
+ break
+ fi
+ ;;
+ esac
+ fi
+ done
+ case $ok in
+ 0) continue ;;
+ esac
+ sort -u all.tmp tmp.tmp > lib.tmp
+ mv lib.tmp all.tmp
+ fi
+ case " $stdlib $libstd " in
+ *" ${d}${f} "*)
+ ;;
+ *) if test -d ${d}${f}/fsoft
+ then stdlib="$stdlib ${d}${f}/"'$(FLOAT_OPTION)'
+ fi
+ stdlib="$stdlib ${d}${f}"
+ ;;
+ esac
+ fi
+ fi
+ fi
+ done
+ done
+ stdlib="$stdlib $libstd"
+ case $stdlib in
+ */shlib*)
+ dy=
+ st=
+ for i in $stdlib $libstd
+ do case $i in
+ */shlib) dy="$dy $i" ;;
+ *) st="$st $i" ;;
+ esac
+ done
+ for i in /var
+ do if test -d $i/shlib
+ then dy="$dy $i/shlib"
+ fi
+ done
+ stdlib="$dy $st"
+ ;;
+ esac
+ ;;
+esac
+
+if $cc -c prefix.$src
+then eval set x $probe_symprefix
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ if $nm $nmflags prefix.$obj | grep -c ${1}prefix >/dev/null
+ then symprefix=$1
+ break
+ fi
+ done
+fi
+
+if $cc -c warn.$src 2>e && test -f warn.$obj
+then e=`wc -c < e`
+
+ eval set x $probe_debug
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f warn.$obj
+ $cc $1 -c warn.$src 2>e && test -f warn.$obj || continue
+ case `wc -c < e` in
+ $e) debug=$1; break ;;
+ esac
+ done
+
+ eval set x $probe_no_protect
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f warn.$obj
+ $cc $1 -c warn.$src 2>e && test -f warn.$obj || continue
+ case `wc -c < e` in
+ $e) no_protect=$1; break ;;
+ esac
+ done
+
+ case $version_string in
+ $probe_gcc_version) probe_optimize="$probe_gcc_optimize $probe_optimize" ;;
+ esac
+ eval set x $probe_optimize
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f warn.$obj
+ $cc $1 -c warn.$src 2>e && test -f warn.$obj || continue
+ case `wc -c < e` in
+ $e) optimize=$1; break ;;
+ esac
+ done
+
+ eval set x $probe_strict
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f warn.$obj
+ $cc $1 -c warn.$src 2>e && test -f warn.$obj || continue
+ n=`wc -c < e`
+ if test $n -ge $e
+ then strict=$1
+ break
+ fi
+ done
+
+ $cc -c warn1.$src 2>e
+ o=`wc -c < e`
+ eval set x $probe_warn
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ rm -f warn.$obj warn.$exe
+ $cc -o warn.$exe $1 warn.$src 2>e && test -f warn.$exe || continue
+ n=`wc -c < e`
+ for i in $warn_enum
+ do rm -f warn$i.$obj
+ $cc -c $1 warn$i.$src 2>e && test -f warn$i.$obj || continue
+ n=`wc -c < e`
+ if test $n -gt $o
+ then warn=$1
+ break 2
+ fi
+ done
+ done
+
+fi
+
+while :
+do case $hosted in
+ 1) rm -f readonly.$exe
+ eval set x '""' $probe_readonly
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ for co in '' -Dtest_const
+ do rm -f readonly.$exe
+ if $cc -o readonly.$exe $co $1 readonly.$src && $executable readonly.$exe
+ then if ./readonly.$exe >/dev/null 2>&1
+ then :
+ else readonly=$1
+ break 3
+ fi
+ fi
+ done
+ done
+ rm -f readonly.$exe readonly.s
+ if $cc -S readonly.$src && test -f readonly.s
+ then if sed -e 's/^\([ ]*[.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$:]*[ ]*\.*\)data/\1text/' \
+ -e 's/^\([ ]*[.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$:]*[ ]*\.*\)zero[ ][ ]*/\1set .,.+/' \
+ -e 's/^\([ ]*[.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$:]*[ ]*\.*\)space[ ][ ]*1/\1byte 0/' \
+ -e 's/^\([ ]*[.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$:]*[ ]*\.*\)space[ ][ ]*2/\1byte 0,0/' \
+ -e 's/^\([ ]*[.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$:]*[ ]*\.*\)space[ ][ ]*3/\1byte 0,0,0/' \
+ -e 's/^\([ ]*[.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$:]*[ ]*\.*\)space[ ][ ]*4/\1byte 0,0,0,0/' \
+ readonly.s > ro.s && $cc -o readonly.$exe ro.s && $executable readonly.$exe
+ then if ./readonly.$exe >/dev/null 2>&1
+ then :
+ else readonly='-S.data'
+ break
+ fi
+ fi
+ rm -f readonly.$exe
+ if sed -e 's/^\([ ]*[.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$:]*[ ]*\.*\)idat/\1code/' \
+ -e 's/^\([ ]*[.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$:]*[ ]*\.*\)zero[ ][ ]*/\1set .,.+/' \
+ -e 's/^\([ ]*[.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$:]*[ ]*\.*\)space[ ][ ]*1/\1byte 0/' \
+ -e 's/^\([ ]*[.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$:]*[ ]*\.*\)space[ ][ ]*2/\1byte 0,0/' \
+ -e 's/^\([ ]*[.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$:]*[ ]*\.*\)space[ ][ ]*3/\1byte 0,0,0/' \
+ -e 's/^\([ ]*[.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$:]*[ ]*\.*\)space[ ][ ]*4/\1byte 0,0,0,0/' \
+ readonly.s > ro.s && $cc -o readonly.$exe ro.s && $executable readonly.$exe
+ then if ./readonly.$exe >/dev/null 2>&1
+ then :
+ else readonly='-S.idat'
+ break
+ fi
+ fi
+ if sed -e 's/^\([ ]*[.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$:]*[ ]*\.*\)data/\1rdata/' \
+ readonly.s > ro.s && $cc -o readonly.$exe ro.s && $executable readonly.$exe
+ then if ./readonly.$exe >/dev/null 2>&1
+ then :
+ else readonly='-S.rdata'
+ break
+ fi
+ fi
+ fi
+ ;;
+ esac
+ break
+done
+
+case $stdc in
+?*) dialect="$dialect ANSI" ;;
+esac
+case $plusplus in
+?*) dialect="$dialect C++" ;;
+esac
+case $hosted in
+"") dialect="$dialect CROSS" ;;
+esac
+case $doti in
+?*) dialect="$dialect DOTI" ;;
+esac
+case $gnu in
+?*) dialect="$dialect GNU" ;;
+esac
+case $so:$dynamic:$static in
+::) ;;
+*) dialect="$dialect DYNAMIC"
+ case $soversion in
+ ?*) dialect="$dialect VERSION" ;;
+ esac
+ ;;
+esac
+case $implicitc in
+?*) dialect="$dialect IMPLICITC" ;;
+esac
+case $ptrcopy in
+?*) dialect="$dialect PTRCOPY" ;;
+esac
+case $ptrimplicit in
+?*) dialect="$dialect PTRIMPLICIT" ;;
+esac
+case $ptrmkdir in
+?*) dialect="$dialect PTRMKDIR" ;;
+esac
+case $libpp in
+?*) dialect="$dialect LIBPP" ;;
+esac
+case $toucho in
+?*) dialect="$dialect TOUCHO" ;;
+esac
+case $dDflag in
+?*) dialect="$dialect -dD" ;;
+esac
+# 2005-05-25 use $(CC.INCLUDE.LOCAL) instead
+case $include_local in
+?*) dialect="$dialect -I-" ;;
+esac
+case $Lflag in
+?*) dialect="$dialect -L" ;;
+esac
+
+ppcmd='$(CPP)'
+ppdir='$(CPP:D)'
+eval ppopt='"'$ppopt'"'
+eval ppenv='"'$ppenv'"'
+
+set x "" .$exe
+shift
+exe=
+for i
+do rm -f require$i
+done
+if $cc -o require require.$src
+then for i
+ do if $executable require$i
+ then exe=$i
+ break
+ fi
+ done
+fi
+case $sa:$sd:$so in
+::?*) eval set x $probe_sa
+ while :
+ do shift
+ case $# in
+ 0) break ;;
+ esac
+ for i in $stdlib
+ do eval j="'" $i/lib*$1 "'"
+ case $j in
+ " $i/lib*$1 ")
+ eval j="'" $i/lib*$1.[0123456789]* "'"
+ case $j in
+ " $i/lib*$1.[0123456789]* ")
+ continue
+ ;;
+ esac
+ ;;
+ esac
+ sa=$1
+ lddynamic=-Bdynamic
+ ldstatic=-Bstatic
+ break 2
+ done
+ done
+ ;;
+esac
+case $ldscript in
+"") case $so in
+ .lib) ldscript=".def .exp" ;;
+ *) ldscript=".ld" ;;
+ esac
+ ;;
+esac
+case $hosttype in
+'') hosttype=unknown ;;
+sgi.mips3) dll_variants='sgi.mips2:o32:-mips2 sgi.mips4:64:-mips4' ;;
+sgi.mips4) dll_variants='sgi.mips2:o32:-mips2 sgi.mips3:n32:-mips3' ;;
+esac
+
+case $hosted in
+"") ccnative=`echo $cc | sed -e 's,.*/,,'`
+ ccs=$ccnative
+ for c in cc gcc
+ do case " $ccs " in
+ *" $c "*) ;;
+ *) ccs="$ccs $c" ;;
+ esac
+ done
+ for p in $path
+ do for c in $ccs
+ do if $executable $p/$c
+ then rm -f native.$exe
+ if $p/$c -o native.$exe doti.$src && ./native.$exe
+ then ccnative=$p/$c
+ exectype=`package CC="$ccnative" || $SHELL -c "package CC='$ccnative'"`
+ case $exectype in
+ *[Uu][Ss][Aa][Gg][Ee]:*)
+ exectype=`PATH=$_probe_PATH; export PATH; package CC="$ccnative" || $SHELL -c "package CC='$ccnative'"`
+ ;;
+ esac
+ break 2
+ fi
+ fi
+ done
+ done
+ ;;
+*) ccnative=$cc
+ exectype=$hosttype
+ ;;
+esac
+
+# runtime shared lib exported symbol resolution
+
+case $cc_dll:$shared in
+:|:*|*:);;
+*) cat > cmd.c <<'!'
+#include <stdio.h>
+#include <dlfcn.h>
+typedef int (*Lib_f)(int**, int**, int**);
+int gbl_def = 1;
+int gbl_ref = 1;
+int gbl_ext;
+int main(int argc, char** argv)
+{
+ void* dll;
+ Lib_f lib;
+ int* def;
+ int* ref;
+ int* ext;
+
+ if (!(dll = dlopen(*++argv, RTLD_LAZY)))
+ fprintf(stderr, "library not found\n");
+ else if (!((lib = (Lib_f)dlsym(dll, "lib"))) && !(lib = (Lib_f)dlsym(dll, "_lib")))
+ fprintf(stderr, "symbol not found\n");
+ else if ((*lib)(&def, &ref, &ext))
+ fprintf(stderr, "function failed\n");
+ else if (def == &gbl_def && ref == &gbl_ref && ext == &gbl_ext)
+ printf("ALL\n");
+ else if (ref == &gbl_ref && ext == &gbl_ext)
+ printf("REF\n");
+ else if (ext == &gbl_ext)
+ printf("EXT\n");
+ return 0;
+}
+!
+ cat > lib.c <<'!'
+int gbl_def = 1;
+int gbl_ref;
+int gbl_ext;
+int lib(int** def, int** ref, int** ext)
+{
+ *def = &gbl_def;
+ *ref = &gbl_ref;
+ *ext = &gbl_ext;
+ return 0;
+}
+!
+ if $cc -c $cc_dll $cc_pic cmd.c &&
+ $cc -c $cc_dll $cc_pic lib.c && {
+ $cc $cc_dll $export_dynamic -o cmd.exe cmd.o ||
+ $cc $cc_dll $export_dynamic -o cmd.exe cmd.o -ldl
+ } &&
+ $dld $shared -o libgbl.dll lib.o
+ then x=`./cmd.exe ./libgbl.dll`
+ case $x in
+ ?*) dialect="$dialect EXPORT=$x" ;;
+ esac
+ else case $sd:$hosttype in
+ .dll:*win*) dialect="$dialect EXPORT=DLL" ;;
+ esac
+ fi
+ ;;
+esac
+
+# shellmagic defined if installed shell scripts need magic
+
+echo ': got magic :
+echo ok' > ok
+chmod +x ok
+case `(eval ./ok | /bin/sh) 2>/dev/null` in
+ok) ;;
+*) echo '#!/bin/env sh
+: got magic :
+echo ok' > ok
+ chmod +x ok
+ case `(eval ./ok | /bin/sh) 2>/dev/null` in
+ ok) shellmagic='$("#")!/bin/env sh'
+ ;;
+ *) for i in /emx/bin/bash.exe /emx/bin/sh.exe
+ do if test -x $i
+ then shellmagic='$("#")!'$i
+ break
+ fi
+ done
+ ;;
+ esac
+ ;;
+esac
+
+#
+# path cleanup
+#
+
+for i in ar ccnative dld ld nm size stdinclude stdlib strip
+do eval o='$'$i
+ v=$o
+ case $v in
+ *//*) v=`echo $v | sed 's,///*,/,g'` ;;
+ esac
+ if (test . -ef "`pwd`")
+ then k=
+ for x in $v
+ do case $x in
+ */../*|*/..)
+ case $x in
+ /*) a=/ ;;
+ *) a= ;;
+ esac
+ IFS=/
+ set '' $x
+ IFS=$ifs
+ r=
+ for d
+ do r="$d $r"
+ done
+ p=
+ g=
+ for d in $r
+ do case $d in
+ ..) g="$g $d" ;;
+ *) case $g in
+ '') case $p in
+ '') p=$d ;;
+ *) p=$d/$p ;;
+ esac
+ ;;
+ *) set $g
+ shift
+ g=$*
+ ;;
+ esac
+ ;;
+ esac
+ done
+ case $a in
+ '') for d in $g
+ do p=$d/$p
+ done
+ ;;
+ *) p=$a$p
+ ;;
+ esac
+ case $p in
+ /) continue ;;
+ esac
+ test $x -ef $p && x=$p
+ ;;
+ esac
+ k="$k $x"
+ done
+ set '' $k
+ shift
+ v=$1
+ case $# in
+ 0) ;;
+ *) shift
+ while :
+ do case $# in
+ 0) break ;;
+ esac
+ k=
+ for d
+ do for j in $v
+ do test $d -ef $j && continue 2
+ done
+ k="$k $d"
+ done
+ set '' $k
+ case $# in
+ 1) break ;;
+ esac
+ shift
+ v="$v $1"
+ shift
+ done
+ ;;
+ esac
+ fi
+ case $v in
+ $o) ;;
+ *) eval $i='$'v ;;
+ esac
+done
+
+case $keepstdlib in
+1) ;;
+*) #
+ # favor lib64 over lib
+ #
+ case $hosttype in
+ *64|*[!0-9]64[!a-zA-Z0-9]*)
+ o=$stdlib
+ stdlib=
+ for i in $o
+ do case " $stdlib " in
+ *" $i "*)
+ continue
+ ;;
+ esac
+ case $i in
+ *64) stdlib="$stdlib $i"
+ continue
+ ;;
+ esac
+ case " $o " in
+ *" ${i}64 "*)
+ case " $stdlib " in
+ *" ${i}64 "*)
+ ;;
+ *) stdlib="$stdlib ${i}64"
+ ;;
+ esac
+ ;;
+ esac
+ stdlib="$stdlib $i"
+ done
+ ;;
+ esac
+ ;;
+esac
+
+#
+# set up for local override
+#
+
+CC_VERSION_STAMP=$version_stamp
+CC_VERSION_STRING=$version_string
+CC_CC=$cc
+CC_NATIVE=$ccnative
+CC_EXECTYPE=$exectype
+CC_HOSTTYPE=$hosttype
+CC_ALTPP_FLAGS=$ppopt
+CC_ALTPP_ENV=$ppenv
+CC_AR=$ar
+CC_AR_ARFLAGS=$ar_arflags
+CC_ARFLAGS=$arflags
+CC_DEBUG=$debug
+CC_DIALECT=$dialect
+CC_PICBIG=$cc_PIC
+CC_PICSMALL=$cc_pic
+CC_PIC=$CC_PICBIG
+CC_DLL_ONLY=$cc_dll
+case $CC_DLL_ONLY in
+'') CC_DLLBIG=
+ CC_DLLSMALL=
+ CC_DLL=
+ ;;
+*) CC_DLLBIG="$CC_DLL_ONLY $CC_PICBIG"
+ CC_DLLSMALL="$CC_DLL_ONLY $CC_PICSMALL"
+ CC_DLL="$CC_DLL_ONLY $CC_PICBIG"
+ ;;
+esac
+CC_DLL_DIR=$dll_dir
+CC_DLL_LIBRARIES=$dll_libraries
+CC_DLL_VARIANTS=$dll_variants
+CC_DYNAMIC=$dynamic
+CC_EXPORT_DYNAMIC=$export_dynamic
+CC_INCLUDE_LOCAL=$include_local
+CC_LD=$ld
+CC_LD_DYNAMIC=$lddynamic
+CC_LD_LAZY=$ldlazy
+CC_LD_NOLAZY=$ldnolazy
+CC_LD_ORIGIN=$ldorigin
+CC_LD_RECORD=$ldrecord
+CC_LD_NORECORD=$ldnorecord
+CC_LD_RUNPATH=$ldrunpath
+CC_LD_STATIC=$ldstatic
+CC_LD_STRIP=$ldstrip
+CC_LIB_DLL=$lib_dll
+CC_LIB_ALL=$lib_all
+CC_LIB_UNDEF=$lib_undef
+CC_MAKE_OPTIONS=$makeoptions
+CC_NM=$nm
+CC_NMEDIT=$nmedit
+CC_NMFLAGS=$nmflags
+CC_NOPROTECT=$no_protect
+CC_OPTIMIZE=$optimize
+CC_READONLY=$readonly
+CC_REPOSITORY=$repository
+CC_REQUIRE=$require
+CC_RUNPATH=$runpath
+CC_SHARED=$shared
+CC_SHARED_LD=$dld
+CC_SHARED_NAME=$shared_name
+CC_SHARED_REGISTRY=$shared_registry
+CC_SHARED_REGISTRY_PATH=$probe_shared_registry_path
+CC_SHELLMAGIC=$shellmagic
+CC_SIZE=$size
+CC_STATIC=$static
+CC_STDINCLUDE=$stdinclude
+CC_STDLIB=$stdlib
+CC_STRICT=$strict
+CC_STRIP=$strip
+CC_STRIP_FLAGS=$stripflags
+CC_PREFIX_ARCHIVE=$prefix_archive
+CC_PREFIX_DYNAMIC=$prefix_dynamic
+CC_PREFIX_SHARED=$prefix_shared
+CC_PREFIX_SYMBOL=$symprefix
+CC_SUFFIX_ARCHIVE=.$lib
+CC_SUFFIX_COMMAND=$suffix_command
+CC_SUFFIX_DEBUG=$sdb
+CC_SUFFIX_DYNAMIC=$sd
+CC_SUFFIX_LD=$ldscript
+CC_SUFFIX_OBJECT=.$obj
+CC_SUFFIX_SHARED=$so
+CC_SUFFIX_SOURCE=.$src
+CC_SUFFIX_STATIC=$sa
+CC_VERSION=$version_flags
+CC_WARN=$warn
+CC_ATTRIBUTES=$ATTRIBUTES
+
+exec >&3
+
+#
+# check for local override
+# all CC_* but { CC_CC CC_VERSION_STAMP CC_VERSION_STRING } may be modified
+# additional CC.* may be printed on stdout
+#
+
+if test -f "$dir/probe.lcl"
+then . "$dir/probe.lcl"
+fi
+
+#
+# the payoff
+#
+
+case $version_stamp in
+?*) echo "# $version_stamp" ;;
+esac
+echo CC.CC = $cc
+echo CC.NATIVE = $CC_NATIVE
+echo CC.EXECTYPE = $CC_EXECTYPE
+echo CC.HOSTTYPE = $CC_HOSTTYPE
+echo CC.ALTPP.FLAGS = $CC_ALTPP_FLAGS
+echo CC.ALTPP.ENV = $CC_ALTPP_ENV
+echo CC.AR = $CC_AR
+echo CC.AR.ARFLAGS = $CC_AR_ARFLAGS
+echo CC.ARFLAGS = $CC_ARFLAGS
+echo CC.DEBUG = $CC_DEBUG
+echo CC.DIALECT = $CC_DIALECT
+echo CC.DLLBIG = $CC_DLLBIG
+echo CC.DLLSMALL = $CC_DLLSMALL
+echo CC.DLL = $CC_DLL
+echo CC.DLL.DEF = $cc_dll_def
+echo CC.DLL.DIR = $CC_DLL_DIR
+echo CC.DLL.LIBRARIES = $CC_DLL_LIBRARIES
+echo CC.DLL.VARIANTS = $CC_DLL_VARIANTS
+echo CC.DYNAMIC = $CC_DYNAMIC
+echo CC.EXPORT.DYNAMIC = $CC_EXPORT_DYNAMIC
+echo CC.INCLUDE.LOCAL = $CC_INCLUDE_LOCAL
+#
+# 2004-02-14 release workaround
+#
+case $CC_SHARED_LD in
+$CC_CC) echo if LDSHARED
+ echo CC.LD = $CC_LD
+ echo else
+ echo CC.LD = $CC_CC
+ echo end
+ ;;
+*) echo CC.LD = $CC_LD
+ ;;
+esac
+echo CC.LD.DYNAMIC = $CC_LD_DYNAMIC
+echo CC.LD.LAZY = $CC_LD_LAZY
+echo CC.LD.NOLAZY = $CC_LD_NOLAZY
+echo CC.LD.ORIGIN = $CC_LD_ORIGIN
+echo CC.LD.RECORD = $CC_LD_RECORD
+echo CC.LD.NORECORD = $CC_LD_NORECORD
+echo CC.LD.RUNPATH = $CC_LD_RUNPATH
+echo CC.LD.STATIC = $CC_LD_STATIC
+echo CC.LD.STRIP = $CC_LD_STRIP
+echo CC.LIB.DLL = $CC_LIB_DLL
+echo CC.LIB.ALL = $CC_LIB_ALL
+echo CC.LIB.UNDEF = $CC_LIB_UNDEF
+echo CC.MAKE.OPTIONS = $CC_MAKE_OPTIONS
+echo CC.NM = $CC_NM
+case $CC_NMEDIT in
+?*) CC_NMEDIT=" $CC_NMEDIT" ;;
+esac
+echo CC.NMEDIT ="$CC_NMEDIT"
+echo CC.NMFLAGS = $CC_NMFLAGS
+echo CC.NOPROTECT = $CC_NOPROTECT
+echo CC.OPTIMIZE = $CC_OPTIMIZE
+echo CC.PICBIG = $CC_PICBIG
+echo CC.PICSMALL = $CC_PICSMALL
+echo CC.PIC = $CC_PIC
+echo CC.READONLY = $CC_READONLY
+echo CC.REPOSITORY = $CC_REPOSITORY
+for f in $CC_REQUIRE
+do echo CC.REQUIRE.$f =`cat req.$f`
+done
+echo CC.RUNPATH = $CC_RUNPATH
+echo CC.SHARED = $CC_SHARED
+echo CC.SHARED.LD = $CC_SHARED_LD
+echo CC.SHARED.NAME = $CC_SHARED_NAME
+echo CC.SHARED.REGISTRY = $CC_SHARED_REGISTRY
+echo CC.SHARED.REGISTRY.PATH = $CC_SHARED_REGISTRY_PATH
+echo CC.SHELLMAGIC = $CC_SHELLMAGIC
+echo CC.SIZE = $CC_SIZE
+echo CC.STATIC = $CC_STATIC
+echo CC.STDINCLUDE = $CC_STDINCLUDE
+echo CC.STDLIB = $CC_STDLIB
+echo CC.STRICT = $CC_STRICT
+echo CC.STRIP = $CC_STRIP
+echo CC.STRIP.FLAGS = $CC_STRIP_FLAGS
+echo CC.PREFIX.ARCHIVE = $CC_PREFIX_ARCHIVE
+echo CC.PREFIX.DYNAMIC = $CC_PREFIX_DYNAMIC
+echo CC.PREFIX.SHARED = $CC_PREFIX_SHARED
+echo CC.PREFIX.SYMBOL = $CC_PREFIX_SYMBOL
+echo CC.SUFFIX.ARCHIVE = $CC_SUFFIX_ARCHIVE
+echo CC.SUFFIX.COMMAND = $CC_SUFFIX_COMMAND
+echo CC.SUFFIX.DEBUG = $CC_SUFFIX_DEBUG
+echo CC.SUFFIX.DYNAMIC = $CC_SUFFIX_DYNAMIC
+echo CC.SUFFIX.LD = $CC_SUFFIX_LD
+echo CC.SUFFIX.OBJECT = $CC_SUFFIX_OBJECT
+echo CC.SUFFIX.SHARED = $CC_SUFFIX_SHARED
+echo CC.SUFFIX.SOURCE = $CC_SUFFIX_SOURCE
+echo CC.SUFFIX.STATIC = $CC_SUFFIX_STATIC
+echo CC.VERSION = $CC_VERSION
+case $CC_VERSION_STRING in
+*\"*) i=`echo " $CC_VERSION_STRING" | sed -e 's,",\\\\",g' -e 's,^ ,,' -e 's,.*,"&",'` ;;
+*\'*) i=\"$CC_VERSION_STRING\" ;;
+*) i=$CC_VERSION_STRING ;;
+esac
+cat <<!
+CC.VERSION.STRING = $i
+!
+echo CC.WARN = $CC_WARN
+
+for i in $CC_ATTRIBUTES
+do eval echo CC.$i = \$$i
+done