aboutsummaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4')
-rw-r--r--m4/GNUmakefile155
-rwxr-xr-xm4/amdgrep7
-rwxr-xr-xm4/amindent328
-rwxr-xr-xm4/autopat36
-rwxr-xr-xm4/chop-aclocal.pl19
-rwxr-xr-xm4/copy-if-newbig29
-rw-r--r--m4/macros/HEADER13
-rw-r--r--m4/macros/TRAILER2
-rw-r--r--m4/macros/c_void_p.m422
-rw-r--r--m4/macros/cache_check_dynamic.m426
-rw-r--r--m4/macros/check_amu_fs.m440
-rw-r--r--m4/macros/check_autofs_style.m435
-rw-r--r--m4/macros/check_checkmount_style.m428
-rw-r--r--m4/macros/check_extern.m4106
-rw-r--r--m4/macros/check_extern_ldap.m499
-rw-r--r--m4/macros/check_fhandle.m425
-rw-r--r--m4/macros/check_field.m4113
-rw-r--r--m4/macros/check_fs_headers.m453
-rw-r--r--m4/macros/check_fs_mntent.m4191
-rw-r--r--m4/macros/check_gnu_getopt.m442
-rw-r--r--m4/macros/check_hide_mount_type.m431
-rw-r--r--m4/macros/check_lib2.m466
-rw-r--r--m4/macros/check_libwrap_severity.m441
-rw-r--r--m4/macros/check_map_funcs.m447
-rw-r--r--m4/macros/check_mnt2_cdfs_opt.m492
-rw-r--r--m4/macros/check_mnt2_gen_opt.m485
-rw-r--r--m4/macros/check_mnt2_nfs_opt.m459
-rw-r--r--m4/macros/check_mnt2_pcfs_opt.m492
-rw-r--r--m4/macros/check_mnt2_udf_opt.m453
-rw-r--r--m4/macros/check_mnttab_file_name.m457
-rw-r--r--m4/macros/check_mnttab_location.m426
-rw-r--r--m4/macros/check_mnttab_opt.m452
-rw-r--r--m4/macros/check_mnttab_style.m435
-rw-r--r--m4/macros/check_mnttab_type.m4179
-rw-r--r--m4/macros/check_mount_style.m444
-rw-r--r--m4/macros/check_mount_trap.m449
-rw-r--r--m4/macros/check_mount_type.m4179
-rw-r--r--m4/macros/check_mtype_printf_type.m422
-rw-r--r--m4/macros/check_mtype_type.m419
-rw-r--r--m4/macros/check_network_transport_type.m427
-rw-r--r--m4/macros/check_nfs_fh_dref.m447
-rw-r--r--m4/macros/check_nfs_hn_dref.m421
-rw-r--r--m4/macros/check_nfs_prot_headers.m496
-rw-r--r--m4/macros/check_nfs_sa_dref.m433
-rw-r--r--m4/macros/check_nfs_socket_connection.m428
-rw-r--r--m4/macros/check_os_libs.m428
-rw-r--r--m4/macros/check_restartable_signal_handler.m422
-rw-r--r--m4/macros/check_umount_style.m428
-rw-r--r--m4/macros/check_unmount_args.m421
-rw-r--r--m4/macros/check_unmount_call.m427
-rw-r--r--m4/macros/check_varargs_macros.m439
-rw-r--r--m4/macros/expand_cpp_hex.m440
-rw-r--r--m4/macros/expand_cpp_int.m442
-rw-r--r--m4/macros/expand_cpp_string.m440
-rw-r--r--m4/macros/expand_run_string.m429
-rw-r--r--m4/macros/extern_optarg.m436
-rw-r--r--m4/macros/extern_sys_errlist.m430
-rw-r--r--m4/macros/field_mntent_t_mnt_time_string.m436
-rw-r--r--m4/macros/func_bad_hasmntopt.m459
-rw-r--r--m4/macros/func_bad_memcmp.m411
-rw-r--r--m4/macros/func_bad_yp_all.m427
-rw-r--r--m4/macros/header_templates.m41103
-rw-r--r--m4/macros/host_macros.m4119
-rw-r--r--m4/macros/libtool.m47997
-rw-r--r--m4/macros/linux_headers.m449
-rw-r--r--m4/macros/localconfig.m413
-rw-r--r--m4/macros/mount_headers.m412
-rw-r--r--m4/macros/opt_amu_cflags.m424
-rw-r--r--m4/macros/opt_cppflags.m422
-rw-r--r--m4/macros/opt_debug.m430
-rw-r--r--m4/macros/opt_ldflags.m422
-rw-r--r--m4/macros/opt_libs.m422
-rw-r--r--m4/macros/os_cflags.m492
-rw-r--r--m4/macros/os_cppflags.m418
-rw-r--r--m4/macros/os_ldflags.m422
-rw-r--r--m4/macros/package_bugreport.m48
-rw-r--r--m4/macros/package_name.m48
-rw-r--r--m4/macros/package_version.m48
-rw-r--r--m4/macros/prog_lex.m414
-rw-r--r--m4/macros/prog_yacc.m46
-rw-r--r--m4/macros/save_state.m413
-rw-r--r--m4/macros/struct_field_nfs_fh.m435
-rw-r--r--m4/macros/struct_mntent.m421
-rw-r--r--m4/macros/struct_mnttab.m421
-rw-r--r--m4/macros/struct_nfs_args.m455
-rw-r--r--m4/macros/struct_nfs_fh.m463
-rw-r--r--m4/macros/struct_nfs_fh3.m439
-rw-r--r--m4/macros/struct_nfs_gfs_mount.m422
-rw-r--r--m4/macros/try_compile_anyfs.m4185
-rw-r--r--m4/macros/try_compile_nfs.m413
-rw-r--r--m4/macros/try_compile_rpc.m423
-rw-r--r--m4/macros/type_auth_create_gidlist.m425
-rw-r--r--m4/macros/type_autofs_args.m433
-rw-r--r--m4/macros/type_cachefs_args.m423
-rw-r--r--m4/macros/type_cdfs_args.m457
-rw-r--r--m4/macros/type_efs_args.m425
-rw-r--r--m4/macros/type_lofs_args.m430
-rw-r--r--m4/macros/type_mfs_args.m423
-rw-r--r--m4/macros/type_pcfs_args.m450
-rw-r--r--m4/macros/type_pte_t.m415
-rw-r--r--m4/macros/type_recvfrom_fromlen.m429
-rw-r--r--m4/macros/type_rfs_args.m423
-rw-r--r--m4/macros/type_rpcvers_t.m411
-rw-r--r--m4/macros/type_svc_in_arg.m439
-rw-r--r--m4/macros/type_time_t.m45
-rw-r--r--m4/macros/type_tmpfs_args.m423
-rw-r--r--m4/macros/type_udf_args.m425
-rw-r--r--m4/macros/type_ufs_args.m441
-rw-r--r--m4/macros/type_xdrproc_t.m420
-rw-r--r--m4/macros/type_xfs_args.m425
-rw-r--r--m4/macros/type_yp_order_outorder.m423
-rw-r--r--m4/macros/with_addon.m426
-rwxr-xr-xm4/mk-aclocal18
-rwxr-xr-xm4/mkconf20
-rwxr-xr-xm4/rmtspc6
-rwxr-xr-xm4/update_build_version41
116 files changed, 14099 insertions, 0 deletions
diff --git a/m4/GNUmakefile b/m4/GNUmakefile
new file mode 100644
index 000000000000..de2457ae373d
--- /dev/null
+++ b/m4/GNUmakefile
@@ -0,0 +1,155 @@
+#
+# THIS MAKEFILE IS FOR am-utils maintainers only!
+#
+# GNUmakefile for remaking configuration files.
+#
+# Erez Zadok <ezk@cs.columbia.edu>
+#
+
+AUTOCONF=autoconf --localdir=./m4 ./m4/configure.in
+AUTOHEADER=autoheader --localdir=./m4 ./m4/configure.in
+#AUTOMAKE=./m4/automake --include-deps --amdir=./m4/amdir
+#AUTOMAKE=automake --include-deps --no-intermediates --localdir=./m4
+#AUTOMAKE=automake --include-deps --localdir=./m4
+AUTOMAKE=automake --include-deps --altdir=./m4
+ACLOCAL=aclocal --altdir=./m4
+MK_ACLOCAL=./mk-aclocal
+
+CUTWARNMSG="warning: AC_TRY_RUN called without default to allow cross compilin"
+CUTWARNMSG2="AC_OUTPUT_COMMANDS|autoupdate"
+AMFILES=../Makefile.am $(wildcard ../*/Makefile.am)
+INAMFILES=$(AMFILES:.am=.in)
+ACFILES=$(wildcard macros/*.m4 macros/HEADER macros/TRAILER m4/aclocal.m4)
+
+LOG=/tmp/amu-${USER}.log
+
+TOPDIR=..
+VPATH=
+
+all: testdir ${TOPDIR}/configure config.h.in ${TOPDIR}/Makefile.in \
+ GNUmakefile stamp-h.in
+
+config: all $(TOPDIR)/buildall aux_conf.h.in
+ (cd ${TOPDIR} && ./buildall -c)
+
+dconfig: all $(TOPDIR)/buildall aux_conf.h.in
+ (cd ${TOPDIR} && ./buildall -C)
+
+qconfig: all $(TOPDIR)/buildall aux_conf.h.in
+ (cd ${TOPDIR} && ./buildall -q)
+
+build: all $(TOPDIR)/buildall aux_conf.h.in
+ (cd ${TOPDIR} && ./buildall -b)
+
+world: all $(TOPDIR)/buildall aux_conf.h.in
+ (cd ${TOPDIR} && ./buildall)
+
+testdir: ${TOPDIR}/amd/amd.c
+
+${TOPDIR}/configure: configure.in aclocal.m4
+ -(cd ${TOPDIR} && ${AUTOCONF} > configure.new 2> ${LOG})
+ -@egrep -v ${CUTWARNMSG} ${LOG} > ${LOG}.new ; mv ${LOG}.new ${LOG}
+ @echo '############################################################'
+ @echo 'Checking for "AC_OUTPUT_COMMANDS" warnings:'
+ @echo ' (If you see any output, fix this when autoconf/automake are'
+ @echo ' back in sync in their CVS trees. -ezk, 2/10/00)'
+ -@egrep ${CUTWARNMSG2} ${LOG}
+ -@egrep -v ${CUTWARNMSG2} ${LOG} > ${LOG}.new ; mv ${LOG}.new ${LOG}
+ @echo '############################################################'
+ @if test -s ${LOG}; then cat ${LOG}; exit 2; fi
+ -mv ../configure ../configure.old
+ mv ../configure.new ../configure
+ rm -f ../configure.old
+ chmod a+rx $@
+
+config.h.in: configure.in acconfig.h
+ -(cd ${TOPDIR} && ${AUTOHEADER} > ./m4/config.h.in 2> ${LOG})
+ -@egrep -v ${CUTWARNMSG} ${LOG} > ${LOG}.new ; mv ${LOG}.new ${LOG}
+ @echo '############################################################'
+ @echo 'Checking for "AC_OUTPUT_COMMANDS" warnings:'
+ @echo ' (If you see any output, fix this when autoconf/automake are'
+ @echo ' back in sync in their CVS trees. -ezk, 2/10/00)'
+ -@egrep ${CUTWARNMSG2} ${LOG}
+ -@egrep -v ${CUTWARNMSG2} ${LOG} > ${LOG}.new ; mv ${LOG}.new ${LOG}
+ @echo '############################################################'
+ @if test -s ${LOG}; then cat ${LOG}; exit 2; fi
+
+${TOPDIR}/Makefile.in: ${AMFILES} configure.in aclocal.m4
+ (cd ${TOPDIR} && ${AUTOMAKE})
+ @rm -f ${LOG}
+
+aclocal.m4: ${ACFILES} configure.in
+ rm -f $@
+ ${MK_ACLOCAL} > acinclude.m4
+ (cd ${TOPDIR} && ${ACLOCAL})
+
+stamp-h.in: ${AMFILES} config.h.in aclocal.m4 aux_conf.h.in
+ echo timestamp > $@
+
+clean:
+ rm -f ${TOPDIR}/configure config.h.in $(INAMFILES) aclocal.m4 stamp.h.in
+
+##############################################################################
+# maintainer rules to update autoconf/automake/libtool files distributed with
+# am-utils. -Erez.
+
+P1s=/usr/share/automake
+P2s=/usr/share/libtool
+P1=/usr/local/gnu/lib/automake
+P2=/usr/local/gnu/lib/libtool
+P3=/misc/mirror/gnu/prep/config
+P4=/misc/mirror/gnu/prep/GNUinfo
+ICMD=./m4/copy-if-newbig
+CPCMD=cp -p
+
+update: \
+ config.guess \
+ config.sub \
+ doc/texinfo.tex
+# depcomp \
+# install-sh \
+# ltconfig \
+# ltmain.sh \
+# mdate-sh \
+# missing \
+# mkinstalldirs \
+
+config.guess:: $(P1s)*/config.guess
+ $(ICMD) $? $@
+config.guess:: $(P2s)/config.guess
+ $(ICMD) $? $@
+config.guess:: $(P3)/config.guess
+ $(ICMD) $? $@
+
+config.sub:: $(P1s)*/config.sub
+ $(ICMD) $? $@
+config.sub:: $(P2s)/config.sub
+ $(ICMD) $? $@
+config.sub:: $(P3)/config.sub
+ $(ICMD) $? $@
+
+depcomp:: $(P1)/depcomp
+ $(CPCMD) $? $@
+
+install-sh: $(P1)/install-sh
+ $(CPCMD) $? $@
+
+ltconfig: $(P2)/ltconfig
+ $(CPCMD) $? $@
+
+ltmain.sh: $(P2)/ltmain.sh
+ $(CPCMD) $? $@
+
+mdate-sh: $(P1)/mdate-sh
+ $(CPCMD) $? $@
+
+missing: $(P1)/missing
+ $(CPCMD) $? $@
+
+mkinstalldirs: $(P1)/mkinstalldirs
+ $(CPCMD) $? $@
+
+doc/texinfo.tex: $(P4)/texinfo.tex
+ $(CPCMD) $? $@
+
+##############################################################################
diff --git a/m4/amdgrep b/m4/amdgrep
new file mode 100755
index 000000000000..86dffbf791cf
--- /dev/null
+++ b/m4/amdgrep
@@ -0,0 +1,7 @@
+#!/bin/sh
+exec egrep -n "$*" \
+ [a-z]*/*.[hcyl] \
+ conf/*/*.[hc] \
+ Makefile.am \
+ [a-z]*/Makefile.am \
+ m4/macros/*.m4
diff --git a/m4/amindent b/m4/amindent
new file mode 100755
index 000000000000..8c4f7fcdf02f
--- /dev/null
+++ b/m4/amindent
@@ -0,0 +1,328 @@
+#!/bin/sh
+# indent all am-utils files
+if [ ! -f amd/amd.c ]; then
+ # maybe we are in a subdir
+ echo cd ..
+ cd ..
+fi
+if [ ! -f amd/amd.c ]; then
+ echo "please run $0 from the top level of the am-utils source tree"
+ exit 2
+fi
+
+# files="
+# */*.[hc]
+# */*.h.in
+# conf/*/*.[hc]
+# OLD/*/*.[hc]
+# "
+#files="conf/*/*.[hc]"
+files="specify_the_file.c"
+
+sunopts="
+-npro
+-nbad
+-bap
+-bbb
+-nbc
+-br
+-ncdb
+-d0
+-di0
+-nei
+-eei
+-nfc1
+-i2
+-lp
+-nsc
+-TIntFuncPtr
+-Tadd_fn
+-Taddrlist
+-Tam_node
+-Tam_ops
+-Tam_opts
+-Tam_stats
+-Tamq_mount_info
+-Tamq_mount_info_list
+-Tamq_mount_stats
+-Tamq_mount_tree
+-Tamq_mount_tree_list
+-Tamq_mount_tree_p
+-Tamq_opt
+-Tamq_setopt
+-Tamq_string
+-Tattrstat
+-Tauto_tree
+-Tautomount
+-Tcallout
+-Tcreateargs
+-Tdict
+-Tdict_data
+-Tdict_ent
+-Tdirlist
+-Tdiropargs
+-Tdiropokres
+-Tdiropres
+-Tdirpath
+-Tdisk_fs
+-Tentry
+-Tether_if
+-Texportnode
+-Texports
+-Tfattr
+-Tfh_cache
+-Tfhandle
+-Tfhandle_t
+-Tfhstatus
+-Tfilename
+-Tfserver
+-Tfsmount
+-Tftype
+-Tfwd_fun
+-Tgid_t
+-Tgroupnode
+-Tgroups
+-Thost
+-Tioloc
+-Tkv
+-Tlinkargs
+-Tmap_type
+-Tmnt_map
+-Tmntfs
+-Tmntlist
+-Tmount
+-Tmountbody
+-Tmountlist
+-Tname
+-Tnfs_fh
+-Tnfs_private
+-Tnfscookie
+-Tnfspath
+-Tnfsstat
+-Tnfstime
+-Tnfsx_mnt
+-Tnsw_lookup
+-Tnsw_switchconfig
+-Topt_apply
+-Tpid_t
+-Tpjob
+-Tqelem
+-Treadargs
+-Treaddirargs
+-Treaddirres
+-Treadlinkres
+-Treadokres
+-Treadres
+-Trenameargs
+-Trpc_forward
+-Tsattr
+-Tsattrargs
+-Tserv_state
+-Tstatfsokres
+-Tstatfsres
+-Tsymlinkargs
+-Ttask_fun
+-Ttime_t
+-Ttime_type
+-Tuid2home_t
+-Tuid_t
+-Tusername2uid_t
+-Tvffserver
+-Tvfmount_fs
+-Tvfs_init
+-Tvfs_match
+-Tvfumount_fs
+-Tvmount_fs
+-Tvmounted
+-Tvoidp
+-Tvumount_fs
+-Tvumounted
+-Twriteargs
+"
+
+gnuopts="
+-npro
+-nbad
+-bap
+-sob
+-fca
+-nfc1
+-ncdb
+-br
+-ce
+-ss
+-npcs
+-cs
+-nbc
+-psl
+-lp
+-sc
+-T IntFuncPtr
+-T add_fn
+-T addrlist
+-T am_node
+-T am_ops
+-T am_opts
+-T am_stats
+-T amq_mount_info
+-T amq_mount_info_list
+-T amq_mount_stats
+-T amq_mount_tree
+-T amq_mount_tree_list
+-T amq_mount_tree_p
+-T amq_opt
+-T amq_setopt
+-T amq_string
+-T attrstat
+-T auto_tree
+-T automount
+-T callout
+-T createargs
+-T dict
+-T dict_data
+-T dict_ent
+-T dirlist
+-T diropargs
+-T diropokres
+-T diropres
+-T dirpath
+-T disk_fs
+-T entry
+-T ether_if
+-T exportnode
+-T exports
+-T fattr
+-T fh_cache
+-T fhandle
+-T fhandle_t
+-T fhstatus
+-T filename
+-T fserver
+-T fsmount
+-T ftype
+-T fwd_fun
+-T gid_t
+-T groupnode
+-T groups
+-T host
+-T ioloc
+-T kv
+-T linkargs
+-T map_type
+-T mnt_map
+-T mntfs
+-T mntlist
+-T mount
+-T mountbody
+-T mountlist
+-T name
+-T nfs_fh
+-T nfs_private
+-T nfscookie
+-T nfspath
+-T nfsstat
+-T nfstime
+-T nfsx_mnt
+-T nsw_lookup
+-T nsw_switchconfig
+-T opt_apply
+-T pid_t
+-T pjob
+-T qelem
+-T readargs
+-T readdirargs
+-T readdirres
+-T readlinkres
+-T readokres
+-T readres
+-T renameargs
+-T rpc_forward
+-T sattr
+-T sattrargs
+-T serv_state
+-T statfsokres
+-T statfsres
+-T symlinkargs
+-T task_fun
+-T time_t
+-T time_type
+-T uid2home_t
+-T uid_t
+-T username2uid_t
+-T vffserver
+-T vfmount_fs
+-T vfs_init
+-T vfs_match
+-T vfumount_fs
+-T vmount_fs
+-T vmounted
+-T voidp
+-T vumount_fs
+-T vumounted
+-T writeargs
+"
+
+
+#prefix=".C"
+
+# check args
+if [ $# -lt 1 ]; then
+ echo "Usage: $0 <-g|-s> [files...]"
+ exit 1
+fi
+if [ $1 = "-g" -o "$1" = "-s" ]; then
+ OPT=$1
+ shift
+else
+ echo "Usage: $0 <-g|-s> [files...]"
+ exit 1
+fi
+# check if specified files to process
+if [ $# -gt 0 ]; then
+ files="$*"
+fi
+
+for i in ${files}; do
+ if [ ! -f $i ]; then
+ echo "No such file: $i"
+ continue
+ fi
+
+ case $OPT in
+
+ -g )
+ icmd="/usr/local/gnu/bin/indent"
+ cmd="${icmd} $i -o $i$prefix $gnuopts"
+ showcmd="${icmd} $i -o $i$prefix"
+
+ ;;
+
+ -s )
+ icmd="/opt/SUNWspro/bin/indent"
+ cmd="${icmd} $i $i$prefix $sunopts"
+ showcmd="${icmd} $i $i$prefix"
+ ;;
+
+ * )
+ echo "Usage: $0 <-g|-s>"
+ exit 1
+ ;;
+ esac
+
+ echo ${showcmd}
+ ${cmd}
+ if [ $? != 0 ]; then
+ echo Failed!
+ exit $?
+ fi
+
+ # remove trailing spaces
+ cmd="./m4/rmtspc $i"
+ echo ${cmd}
+ ${cmd}
+ if [ $? != 0 ]; then
+ echo Failed!
+ exit $?
+ fi
+
+done
diff --git a/m4/autopat b/m4/autopat
new file mode 100755
index 000000000000..e0c3d36546e4
--- /dev/null
+++ b/m4/autopat
@@ -0,0 +1,36 @@
+#!/bin/bash -norc
+# find patterns of cache entries to automatically remove from config.cache
+# Used by am-utils developers.
+# Erez Zadok <ezk AT cs.columbia.edu>
+#set -x
+
+macdir="../m4/macros"
+
+# find the right directory
+if [ ! -d $macdir ]; then
+ echo "Could not find $macdir directory."
+ exit 2
+fi
+
+# skip if no config.cache file
+if [ ! -f config.cache ]; then
+ echo "Not in the A.cpu-company-system."
+ exit 2
+fi
+
+# look for files that changed vs. config.cache
+pat=""
+for i in ${macdir}/*.m4; do
+ if test $i -nt config.cache; then
+ n=`egrep '^ac_cv_' $i |sed 's/[^a-zA-Z0-9_].*//g'|sort|uniq`
+ if test -z "$n"; then
+ continue;
+ fi
+ if test -z "$pat"; then
+ pat="$n"
+ else
+ pat="$pat|$n"
+ fi
+ fi
+done
+echo "$pat"
diff --git a/m4/chop-aclocal.pl b/m4/chop-aclocal.pl
new file mode 100755
index 000000000000..2bf6b75f4c18
--- /dev/null
+++ b/m4/chop-aclocal.pl
@@ -0,0 +1,19 @@
+#!/bin/perl -w
+
+$seq = 1;
+$file = "";
+$file = sprintf("tmp/%02d.m4", $seq);
+open(FILE, ">$file") || die "cannot open \"$file\": $!";
+printf(STDOUT "FILE: $file\n");
+while (<>) {
+ if (/^$/) {
+ close(FILE);
+ $seq++;
+ $file = sprintf("tmp/%02d.m4", $seq);
+ open(FILE, ">$file") || die "cannot open \"$file\": $!";
+ printf(STDOUT "FILE: $file\n");
+ next;
+ }
+ printf FILE;
+}
+close(FILE);
diff --git a/m4/copy-if-newbig b/m4/copy-if-newbig
new file mode 100755
index 000000000000..3438c5263562
--- /dev/null
+++ b/m4/copy-if-newbig
@@ -0,0 +1,29 @@
+#!/usr/bin/perl -w
+# copy a file if it is both newer and bigger in size
+# if copying, first rename older file to .orig
+
+$src = $ARGV[0];
+$dst = $ARGV[1];
+# dev,ino,mode,nlink,uid,gid,rdev,size,atime,mtime,ctime,blksize,blocks
+@srcstat = stat($src);
+@dststat = stat($dst);
+
+$srcsize = $srcstat[7];
+$srcmtime = $srcstat[9];
+$dstsize = $dststat[7];
+$dstmtime = $dststat[9];
+
+# copy if src file is bigger and newer
+if ($srcsize > $dstsize && $srcmtime > $dstmtime) {
+ print "mv -f $dst $dst.orig\n";
+ system("mv -f $dst $dst.orig");
+ print "cp -p $src $dst\n";
+ system("cp -p $src $dst");
+ die "cp command failed" if ($? != 0);
+}
+# make sure dst file has newer timestamp
+if ($srcmtime > $dstmtime) {
+ print "touch $dst\n";
+ system("touch $dst");
+}
+exit(0);
diff --git a/m4/macros/HEADER b/m4/macros/HEADER
new file mode 100644
index 000000000000..43e835e59883
--- /dev/null
+++ b/m4/macros/HEADER
@@ -0,0 +1,13 @@
+dnl aclocal.m4 file for am-utils-6.x
+dnl Contains definitions for specialized GNU-autoconf macros.
+dnl Author: Erez Zadok <ezk AT cs.columbia.edu>
+dnl
+dnl DO NOT EDIT DIRECTLY! Generated automatically by maintainers from
+dnl m4/GNUmakefile!
+dnl
+dnl ######################################################################
+dnl UNCOMMENT THE NEXT FEW LINES FOR DEBUGGING CONFIGURE
+dnl define([AC_CACHE_LOAD], )dnl
+dnl define([AC_CACHE_SAVE], )dnl
+dnl ======================================================================
+
diff --git a/m4/macros/TRAILER b/m4/macros/TRAILER
new file mode 100644
index 000000000000..0e77c3541b7b
--- /dev/null
+++ b/m4/macros/TRAILER
@@ -0,0 +1,2 @@
+dnl ######################################################################
+dnl end of aclocal.m4 for am-utils-6.x
diff --git a/m4/macros/c_void_p.m4 b/m4/macros/c_void_p.m4
new file mode 100644
index 000000000000..3977c9be86c8
--- /dev/null
+++ b/m4/macros/c_void_p.m4
@@ -0,0 +1,22 @@
+dnl ######################################################################
+dnl check if compiler can handle "void *"
+AC_DEFUN([AMU_C_VOID_P],
+[
+AC_CACHE_CHECK(if compiler can handle void *,
+ac_cv_c_void_p,
+[
+# try to compile a program which uses void *
+AC_TRY_COMPILE(
+[ ],
+[
+void *vp;
+], ac_cv_c_void_p=yes, ac_cv_c_void_p=no)
+])
+if test "$ac_cv_c_void_p" = yes
+then
+ AC_DEFINE(voidp, void *)
+else
+ AC_DEFINE(voidp, char *)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/cache_check_dynamic.m4 b/m4/macros/cache_check_dynamic.m4
new file mode 100644
index 000000000000..b8eb5989c659
--- /dev/null
+++ b/m4/macros/cache_check_dynamic.m4
@@ -0,0 +1,26 @@
+dnl ######################################################################
+dnl New versions of the cache functions which also dynamically evaluate the
+dnl cache-id field, so that it may contain shell variables to expand
+dnl dynamically for the creation of $ac_cv_* variables on the fly.
+dnl In addition, this function allows you to call COMMANDS which generate
+dnl output on the command line, because it prints its own AC_MSG_CHECKING
+dnl after COMMANDS are run.
+dnl
+dnl ======================================================================
+dnl AMU_CACHE_CHECK_DYNAMIC(MESSAGE, CACHE-ID, COMMANDS)
+define(AMU_CACHE_CHECK_DYNAMIC,
+[
+ac_tmp=`echo $2`
+if eval "test \"`echo '$''{'$ac_tmp'+set}'`\" = set"; then
+ AC_MSG_CHECKING([$1])
+ echo $ECHO_N "(cached) $ECHO_C" 1>&AS_MESSAGE_FD([])
+dnl XXX: for older autoconf versions
+dnl echo $ac_n "(cached) $ac_c" 1>&AS_MESSAGE_FD([])
+else
+ $3
+ AC_MSG_CHECKING([$1])
+fi
+ac_tmp_val=`eval eval "echo '$''{'$ac_tmp'}'"`
+AC_MSG_RESULT($ac_tmp_val)
+])
+dnl ======================================================================
diff --git a/m4/macros/check_amu_fs.m4 b/m4/macros/check_amu_fs.m4
new file mode 100644
index 000000000000..fc31f9e29639
--- /dev/null
+++ b/m4/macros/check_amu_fs.m4
@@ -0,0 +1,40 @@
+dnl ######################################################################
+dnl check if an automounter filesystem exists (it almost always does).
+dnl Usage: AC_CHECK_AMU_FS(<fs>, <msg>, [<depfs>])
+dnl Print the message in <msg>, and declare HAVE_AMU_FS_<fs> true.
+dnl If <depfs> is defined, then define this filesystem as tru only of the
+dnl filesystem for <depfs> is true.
+AC_DEFUN([AMU_CHECK_AMU_FS],
+[
+# store variable name of fs
+ac_upcase_am_fs_name=`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ac_safe=HAVE_AMU_FS_$ac_upcase_am_fs_name
+# check for cache and set it if needed
+AMU_CACHE_CHECK_DYNAMIC(for $2 filesystem ($1),
+ac_cv_am_fs_$1,
+[
+# true by default
+eval "ac_cv_am_fs_$1=yes"
+# if <depfs> exists but is defined to "no", set this filesystem to no.
+if test -n "$3"
+then
+ # flse by default if arg 3 was supplied
+ eval "ac_cv_am_fs_$1=no"
+ if test "`eval echo '$''{ac_cv_fs_'$3'}'`" = yes
+ then
+ eval "ac_cv_am_fs_$1=yes"
+ fi
+ # some filesystems do not have a mnttab entry, but exist based on headers
+ if test "`eval echo '$''{ac_cv_fs_header_'$3'}'`" = yes
+ then
+ eval "ac_cv_am_fs_$1=yes"
+ fi
+fi
+])
+# check if need to define variable
+if test "`eval echo '$''{ac_cv_am_fs_'$1'}'`" = yes
+then
+ AC_DEFINE_UNQUOTED($ac_safe)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/check_autofs_style.m4 b/m4/macros/check_autofs_style.m4
new file mode 100644
index 000000000000..d94fd5685420
--- /dev/null
+++ b/m4/macros/check_autofs_style.m4
@@ -0,0 +1,35 @@
+dnl ######################################################################
+dnl check the autofs flavor
+AC_DEFUN([AMU_CHECK_AUTOFS_STYLE],
+[
+AC_CACHE_CHECK(autofs style,
+ac_cv_autofs_style,
+[
+# select the correct style to mount(2) a filesystem
+case "${host_os}" in
+ solaris1* | solaris2.[[0-4]] )
+ ac_cv_autofs_style=default ;;
+ solaris2.5* )
+ ac_cv_autofs_style=solaris_v1 ;;
+ # Solaris 8+ uses the AutoFS V3/V4 protocols, but they are very similar
+ # to V2, so use one style for all.
+ solaris* )
+ ac_cv_autofs_style=solaris_v2_v3 ;;
+ irix6* )
+ ac_cv_autofs_style=solaris_v1 ;;
+ linux* )
+ ac_cv_autofs_style=linux ;;
+ * )
+ ac_cv_autofs_style=default ;;
+esac
+])
+# always make a link and include the file name, otherwise on systems where
+# autofs support has not been ported yet check_fs_{headers, mntent}.m4 add
+# ops_autofs.o to AMD_FS_OBJS, but there's no way to build it.
+am_utils_link_files=${am_utils_link_files}amd/ops_autofs.c:conf/autofs/autofs_${ac_cv_autofs_style}.c" "amu_autofs_prot.h:conf/autofs/autofs_${ac_cv_autofs_style}.h" "
+
+# set headers in a macro for Makefile.am files to use (for dependencies)
+AMU_AUTOFS_PROT_HEADER='${top_builddir}/'amu_autofs_prot.h
+AC_SUBST(AMU_AUTOFS_PROT_HEADER)
+])
+dnl ======================================================================
diff --git a/m4/macros/check_checkmount_style.m4 b/m4/macros/check_checkmount_style.m4
new file mode 100644
index 000000000000..404a3ecc800c
--- /dev/null
+++ b/m4/macros/check_checkmount_style.m4
@@ -0,0 +1,28 @@
+dnl ######################################################################
+dnl check style of fixmount check_mount() function
+AC_DEFUN([AMU_CHECK_CHECKMOUNT_STYLE],
+[
+AC_CACHE_CHECK(style of fixmount check_mount(),
+ac_cv_style_checkmount,
+[
+# select the correct style for unmounting filesystems
+case "${host_os_name}" in
+ svr4* | sysv4* | solaris2* | sunos5* )
+ ac_cv_style_checkmount=svr4 ;;
+ bsd44* | bsdi* | freebsd* | netbsd* | openbsd* | darwin* | macosx* | rhapsody* )
+ ac_cv_style_checkmount=bsd44 ;;
+ aix* )
+ ac_cv_style_checkmount=aix ;;
+ osf* )
+ ac_cv_style_checkmount=osf ;;
+ ultrix* )
+ ac_cv_style_checkmount=ultrix ;;
+ * )
+ ac_cv_style_checkmount=default ;;
+esac
+])
+am_utils_checkmount_style_file="check_mount.c"
+am_utils_link_files=${am_utils_link_files}fixmount/${am_utils_checkmount_style_file}:conf/checkmount/checkmount_${ac_cv_style_checkmount}.c" "
+
+])
+dnl ======================================================================
diff --git a/m4/macros/check_extern.m4 b/m4/macros/check_extern.m4
new file mode 100644
index 000000000000..b28dc9e903c8
--- /dev/null
+++ b/m4/macros/check_extern.m4
@@ -0,0 +1,106 @@
+dnl ######################################################################
+dnl check for external definition for a function (not external variables)
+dnl Usage AMU_CHECK_EXTERN(extern)
+dnl Checks for external definition for "extern" that is delimited on the
+dnl left and the right by a character that is not a valid symbol character.
+dnl
+dnl Note that $pattern below is very carefully crafted to match any system
+dnl external definition, with __P posix prototypes, with or without an extern
+dnl word, etc. Think twice before changing this.
+AC_DEFUN([AMU_CHECK_EXTERN],
+[
+# store variable name for external definition
+ac_upcase_extern_name=`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ac_safe=HAVE_EXTERN_$ac_upcase_extern_name
+# check for cached value and set it if needed
+AMU_CACHE_CHECK_DYNAMIC(external function definition for $1,
+ac_cv_extern_$1,
+[
+# the old pattern assumed that the complete external definition is on one
+# line but on some systems it is split over several lines, so only match
+# beginning of the extern definition including the opening parenthesis.
+#pattern="(extern)?.*[^a-zA-Z0-9_]$1[^a-zA-Z0-9_]?.*\(.*\).*;"
+pattern="(extern)?.*[[^a-zA-Z0-9_]]$1[[^a-zA-Z0-9_]]?.*\("
+AC_EGREP_CPP(${pattern},
+[
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif /* HAVE_SYS_TYPES_H */
+#ifdef HAVE_SYS_WAIT_H
+# include <sys/wait.h>
+#endif /* HAVE_SYS_WAIT_H */
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else /* not TIME_WITH_SYS_TIME */
+# if HAVE_SYS_TIME_H
+# include <sys/time.h>
+# else /* not HAVE_SYS_TIME_H */
+# include <time.h>
+# endif /* not HAVE_SYS_TIME_H */
+#endif /* not TIME_WITH_SYS_TIME */
+
+#if defined(_AIX) && defined(HAVE_SYS_VMOUNT_H)
+# include <sys/vmount.h>
+#endif /* defined(_AIX) && defined(HAVE_SYS_VMOUNT_H) */
+
+#ifdef HAVE_STDIO_H
+# include <stdio.h>
+#endif /* HAVE_STDIO_H */
+#ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+#endif /* HAVE_STDLIB_H */
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif /* HAVE_UNISTD_H */
+#if HAVE_STRING_H
+# include <string.h>
+#endif /* HAVE_STRING_H */
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif /* HAVE_STRINGS_H */
+#ifdef HAVE_NETDB_H
+# include <netdb.h>
+#endif /* HAVE_NETDB_H */
+#ifdef HAVE_CLUSTER_H
+# include <cluster.h>
+#endif /* HAVE_CLUSTER_H */
+#ifdef HAVE_RPC_RPC_H
+/*
+ * Turn on PORTMAP, so that additional header files would get included
+ * and the important definition for UDPMSGSIZE is included too.
+ */
+# ifndef PORTMAP
+# define PORTMAP
+# endif /* not PORTMAP */
+# include <rpc/rpc.h>
+# ifndef XDRPROC_T_TYPE
+typedef bool_t (*xdrproc_t) __P ((XDR *, __ptr_t, ...));
+# endif /* not XDRPROC_T_TYPE */
+#endif /* HAVE_RPC_RPC_H */
+
+#if defined(HAVE_TCPD_H) && defined(HAVE_LIBWRAP)
+# include <tcpd.h>
+#endif /* defined(HAVE_TCPD_H) && defined(HAVE_LIBWRAP) */
+
+], eval "ac_cv_extern_$1=yes", eval "ac_cv_extern_$1=no")
+])
+# check if need to define variable
+if test "`eval echo '$''{ac_cv_extern_'$1'}'`" = yes
+then
+ AC_DEFINE_UNQUOTED($ac_safe)
+fi
+])
+dnl ======================================================================
+
+dnl ######################################################################
+dnl run AMU_CHECK_EXTERN on each argument given
+dnl Usage: AMU_CHECK_EXTERNS(arg arg arg ...)
+AC_DEFUN([AMU_CHECK_EXTERNS],
+[
+for ac_tmp_arg in $1
+do
+AMU_CHECK_EXTERN($ac_tmp_arg)
+done
+])
+dnl ======================================================================
diff --git a/m4/macros/check_extern_ldap.m4 b/m4/macros/check_extern_ldap.m4
new file mode 100644
index 000000000000..ba4b2d7bc714
--- /dev/null
+++ b/m4/macros/check_extern_ldap.m4
@@ -0,0 +1,99 @@
+dnl ######################################################################
+dnl check for external definition for an LDAP function (not external variables)
+dnl Usage AMU_CHECK_EXTERN_LDAP(extern)
+dnl Checks for external definition for "extern" that is delimited on the
+dnl left and the right by a character that is not a valid symbol character.
+dnl
+dnl Note that $pattern below is very carefully crafted to match any system
+dnl external definition, with __P posix prototypes, with or without an extern
+dnl word, etc. Think twice before changing this.
+AC_DEFUN([AMU_CHECK_EXTERN_LDAP],
+[
+# store variable name for external definition
+ac_upcase_extern_name=`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ac_safe=HAVE_EXTERN_$ac_upcase_extern_name
+# check for cached value and set it if needed
+AMU_CACHE_CHECK_DYNAMIC(external function definition for $1,
+ac_cv_extern_$1,
+[
+# the old pattern assumed that the complete external definition is on one
+# line but on some systems it is split over several lines, so only match
+# beginning of the extern definition including the opening parenthesis.
+#pattern="(extern)?.*[^a-zA-Z0-9_]$1[^a-zA-Z0-9_]?.*\(.*\).*;"
+dnl This expression is a bit different than check_extern.m4 because of the
+dnl way that openldap wrote their externs in <ldap.h>.
+pattern="(extern)?.*([[^a-zA-Z0-9_]])?$1[[^a-zA-Z0-9_]]?.*\("
+AC_EGREP_CPP(${pattern},
+[
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif /* HAVE_SYS_TYPES_H */
+#ifdef HAVE_SYS_WAIT_H
+# include <sys/wait.h>
+#endif /* HAVE_SYS_WAIT_H */
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else /* not TIME_WITH_SYS_TIME */
+# if HAVE_SYS_TIME_H
+# include <sys/time.h>
+# else /* not HAVE_SYS_TIME_H */
+# include <time.h>
+# endif /* not HAVE_SYS_TIME_H */
+#endif /* not TIME_WITH_SYS_TIME */
+
+#ifdef HAVE_STDIO_H
+# include <stdio.h>
+#endif /* HAVE_STDIO_H */
+#ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+#endif /* HAVE_STDLIB_H */
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif /* HAVE_UNISTD_H */
+#if HAVE_STRING_H
+# include <string.h>
+#endif /* HAVE_STRING_H */
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif /* HAVE_STRINGS_H */
+#ifdef HAVE_NETDB_H
+# include <netdb.h>
+#endif /* HAVE_NETDB_H */
+#ifdef HAVE_CLUSTER_H
+# include <cluster.h>
+#endif /* HAVE_CLUSTER_H */
+#ifdef HAVE_RPC_RPC_H
+/*
+ * Turn on PORTMAP, so that additional header files would get included
+ * and the important definition for UDPMSGSIZE is included too.
+ */
+# ifndef PORTMAP
+# define PORTMAP
+# endif /* not PORTMAP */
+# include <rpc/rpc.h>
+# ifndef XDRPROC_T_TYPE
+typedef bool_t (*xdrproc_t) __P ((XDR *, __ptr_t, ...));
+# endif /* not XDRPROC_T_TYPE */
+#endif /* HAVE_RPC_RPC_H */
+
+#if defined(HAVE_TCPD_H) && defined(HAVE_LIBWRAP)
+# include <tcpd.h>
+#endif /* defined(HAVE_TCPD_H) && defined(HAVE_LIBWRAP) */
+
+#ifdef HAVE_LDAP_H
+# include <ldap.h>
+#endif /* HAVE_LDAP_H */
+#ifdef HAVE_LBER_H
+# include <lber.h>
+#endif /* HAVE_LBER_H */
+
+], eval "ac_cv_extern_$1=yes", eval "ac_cv_extern_$1=no")
+])
+# check if need to define variable
+if test "`eval echo '$''{ac_cv_extern_'$1'}'`" = yes
+then
+ AC_DEFINE_UNQUOTED($ac_safe)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/check_fhandle.m4 b/m4/macros/check_fhandle.m4
new file mode 100644
index 000000000000..f2a9c09e6095
--- /dev/null
+++ b/m4/macros/check_fhandle.m4
@@ -0,0 +1,25 @@
+dnl ######################################################################
+dnl Find if type 'fhandle' exists
+AC_DEFUN([AMU_CHECK_FHANDLE],
+[
+AC_CACHE_CHECK(if plain fhandle type exists,
+ac_cv_have_fhandle,
+[
+# try to compile a program which may have a definition for the type
+# set to a default value
+ac_cv_have_fhandle=no
+# look for "struct nfs_fh"
+if test "$ac_cv_have_fhandle" = no
+then
+AC_TRY_COMPILE_NFS(
+[ fhandle a;
+], ac_cv_have_fhandle=yes, ac_cv_have_fhandle=no)
+fi
+
+])
+if test "$ac_cv_have_fhandle" != no
+then
+ AC_DEFINE(HAVE_FHANDLE)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/check_field.m4 b/m4/macros/check_field.m4
new file mode 100644
index 000000000000..20010323ea4d
--- /dev/null
+++ b/m4/macros/check_field.m4
@@ -0,0 +1,113 @@
+dnl ######################################################################
+dnl FIXED VERSION OF AUTOCONF 2.59 AC_CHECK_MEMBER. g/cc will fail to check
+dnl a member if the .member is itself a data structure, because you cannot
+dnl compare, in C, a data structure against NULL; you can compare a native
+dnl data type (int, char) or a pointer. Solution: do what I did in my
+dnl original member checking macro: try to take the address of the member.
+dnl You can always take the address of anything.
+dnl -Erez Zadok, Feb 19, 2005.
+dnl
+
+# AC_CHECK_MEMBER2(AGGREGATE.MEMBER,
+# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
+# [INCLUDES])
+# ---------------------------------------------------------
+# AGGREGATE.MEMBER is for instance `struct passwd.pw_gecos', shell
+# variables are not a valid argument.
+AC_DEFUN([AC_CHECK_MEMBER2],
+[AS_LITERAL_IF([$1], [],
+ [AC_FATAL([$0: requires literal arguments])])dnl
+m4_bmatch([$1], [\.], ,
+ [m4_fatal([$0: Did not see any dot in `$1'])])dnl
+AS_VAR_PUSHDEF([ac_Member], [ac_cv_member_$1])dnl
+dnl Extract the aggregate name, and the member name
+AC_CACHE_CHECK([for $1], ac_Member,
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT([$4])],
+[dnl AGGREGATE ac_aggr;
+static m4_bpatsubst([$1], [\..*]) ac_aggr;
+dnl ac_aggr.MEMBER;
+if (&(ac_aggr.m4_bpatsubst([$1], [^[^.]*\.])))
+return 0;])],
+ [AS_VAR_SET(ac_Member, yes)],
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT([$4])],
+[dnl AGGREGATE ac_aggr;
+static m4_bpatsubst([$1], [\..*]) ac_aggr;
+dnl sizeof ac_aggr.MEMBER;
+if (sizeof ac_aggr.m4_bpatsubst([$1], [^[^.]*\.]))
+return 0;])],
+ [AS_VAR_SET(ac_Member, yes)],
+ [AS_VAR_SET(ac_Member, no)])])])
+AS_IF([test AS_VAR_GET(ac_Member) = yes], [$2], [$3])dnl
+AS_VAR_POPDEF([ac_Member])dnl
+])# AC_CHECK_MEMBER
+
+
+# AC_CHECK_MEMBERS2([AGGREGATE.MEMBER, ...],
+# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]
+# [INCLUDES])
+# ---------------------------------------------------------
+# The first argument is an m4 list.
+AC_DEFUN([AC_CHECK_MEMBERS2],
+[m4_foreach([AC_Member], [$1],
+ [AC_CHECK_MEMBER2(AC_Member,
+ [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_[]AC_Member), 1,
+ [Define to 1 if `]m4_bpatsubst(AC_Member,
+ [^[^.]*\.])[' is
+ member of `]m4_bpatsubst(AC_Member, [\..*])['.])
+$2],
+ [$3],
+ [$4])])])
+
+
+
+dnl ######################################################################
+dnl find if structure $1 has field field $2
+AC_DEFUN([AMU_CHECK_FIELD],
+[
+AC_CHECK_MEMBERS2($1, , ,[
+AMU_MOUNT_HEADERS(
+[
+/* now set the typedef */
+#ifdef HAVE_STRUCT_MNTENT
+typedef struct mntent mntent_t;
+#else /* not HAVE_STRUCT_MNTENT */
+# ifdef HAVE_STRUCT_MNTTAB
+typedef struct mnttab mntent_t;
+# endif /* HAVE_STRUCT_MNTTAB */
+#endif /* not HAVE_STRUCT_MNTENT */
+
+/*
+ * for various filesystem specific mount arguments
+ */
+
+#ifdef HAVE_SYS_FS_EFS_CLNT_H
+# include <sys/fs/efs_clnt.h>
+#endif /* HAVE_SYS_FS_EFS_CLNT_H */
+#ifdef HAVE_SYS_FS_XFS_CLNT_H
+# include <sys/fs/xfs_clnt.h>
+#endif /* HAVE_SYS_FS_XFS_CLNT_H */
+#ifdef HAVE_SYS_FS_UFS_MOUNT_H
+# include <sys/fs/ufs_mount.h>
+#endif /* HAVE_SYS_FS_UFS_MOUNT_H */
+#ifdef HAVE_SYS_FS_AUTOFS_H
+# include <sys/fs/autofs.h>
+#endif /* HAVE_SYS_FS_AUTOFS_H */
+#ifdef HAVE_RPCSVC_AUTOFS_PROT_H
+# include <rpcsvc/autofs_prot.h>
+#else /* not HAVE_RPCSVC_AUTOFS_PROT_H */
+# ifdef HAVE_SYS_FS_AUTOFS_PROT_H
+# include <sys/fs/autofs_prot.h>
+# endif /* HAVE_SYS_FS_AUTOFS_PROT_H */
+#endif /* not HAVE_RPCSVC_AUTOFS_PROT_H */
+#ifdef HAVE_HSFS_HSFS_H
+# include <hsfs/hsfs.h>
+#endif /* HAVE_HSFS_HSFS_H */
+
+#ifdef HAVE_IFADDRS_H
+# include <ifaddrs.h>
+#endif /* HAVE_IFADDRS_H */
+
+])
+])
+])
+dnl ======================================================================
diff --git a/m4/macros/check_fs_headers.m4 b/m4/macros/check_fs_headers.m4
new file mode 100644
index 000000000000..9aa1a5ed5367
--- /dev/null
+++ b/m4/macros/check_fs_headers.m4
@@ -0,0 +1,53 @@
+dnl ######################################################################
+dnl check if a filesystem exists (if any of its header files exist).
+dnl Usage: AC_CHECK_FS_HEADERS(<headers>..., <fs>, [<fssymbol>])
+dnl Check if any of the headers <headers> exist. If any exist, then
+dnl define HAVE_FS_<fs>. If <fssymbol> exits, then define
+dnl HAVE_FS_<fssymbol> instead...
+AC_DEFUN([AMU_CHECK_FS_HEADERS],
+[
+# find what name to give to the fs
+if test -n "$3"
+then
+ ac_fs_name=$3
+else
+ ac_fs_name=$2
+fi
+# store variable name of fs
+ac_upcase_fs_name=`echo $2 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ac_fs_headers_safe=HAVE_FS_$ac_upcase_fs_name
+# check for cache and set it if needed
+AMU_CACHE_CHECK_DYNAMIC(for $ac_fs_name filesystem in <$1>,
+ac_cv_fs_header_$ac_fs_name,
+[
+# define to "no" by default
+eval "ac_cv_fs_header_$ac_fs_name=no"
+# and look to see if it was found
+AC_CHECK_HEADERS($1,
+[ eval "ac_cv_fs_header_$ac_fs_name=yes"
+ break
+])])
+# check if need to define variable
+if test "`eval echo '$''{ac_cv_fs_header_'$ac_fs_name'}'`" = yes
+then
+ AC_DEFINE_UNQUOTED($ac_fs_headers_safe)
+# append ops_<fs>.o object to AMD_FS_OBJS for automatic compilation
+# if first time we add something to this list, then also tell autoconf
+# to replace instances of it in Makefiles.
+ if test -z "$AMD_FS_OBJS"
+ then
+ AMD_FS_OBJS="ops_${ac_fs_name}.o"
+ AC_SUBST(AMD_FS_OBJS)
+ else
+ # since this object file could have already been added before
+ # we need to ensure we do not add it twice.
+ case "${AMD_FS_OBJS}" in
+ *ops_${ac_fs_name}.o* ) ;;
+ * )
+ AMD_FS_OBJS="$AMD_FS_OBJS ops_${ac_fs_name}.o"
+ ;;
+ esac
+ fi
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/check_fs_mntent.m4 b/m4/macros/check_fs_mntent.m4
new file mode 100644
index 000000000000..6146c7eee358
--- /dev/null
+++ b/m4/macros/check_fs_mntent.m4
@@ -0,0 +1,191 @@
+dnl ######################################################################
+dnl check if a filesystem type exists (if its header files exist)
+dnl Usage: AC_CHECK_FS_MNTENT(<filesystem>, [<fssymbol>])
+dnl
+dnl Check in some headers for MNTTYPE_<filesystem> macro. If that exist,
+dnl then define HAVE_FS_<filesystem>. If <fssymbol> exits, then define
+dnl HAVE_FS_<fssymbol> instead...
+AC_DEFUN([AMU_CHECK_FS_MNTENT],
+[
+# find what name to give to the fs
+if test -n "$2"
+then
+ ac_fs_name=$2
+ ac_fs_as_name=" (from: $1)"
+else
+ ac_fs_name=$1
+ ac_fs_as_name=""
+fi
+# store variable name of filesystem
+ac_upcase_fs_name=`echo $ac_fs_name | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ac_safe=HAVE_FS_$ac_upcase_fs_name
+# check for cache and set it if needed
+AMU_CACHE_CHECK_DYNAMIC(for $ac_fs_name$ac_fs_as_name mntent definition,
+ac_cv_fs_$ac_fs_name,
+[
+# assume not found
+eval "ac_cv_fs_$ac_fs_name=no"
+for ac_fs_tmp in $1
+do
+ ac_upcase_fs_symbol=`echo $ac_fs_tmp | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+
+ # first look for MNTTYPE_*
+ AC_EGREP_CPP(yes,
+ AMU_MOUNT_HEADERS(
+ [
+#ifdef MNTTYPE_$ac_upcase_fs_symbol
+ yes
+#endif /* MNTTYPE_$ac_upcase_fs_symbol */
+ ]), [eval "ac_cv_fs_$ac_fs_name=yes"], [eval "ac_cv_fs_$ac_fs_name=no"] )
+ # check if need to terminate "for" loop
+ if test "`eval echo '$''{ac_cv_fs_'$ac_fs_name'}'`" != no
+ then
+ break
+ fi
+
+ # now try to look for MOUNT_ macro
+ AC_EGREP_CPP(yes,
+ AMU_MOUNT_HEADERS(
+ [
+#ifdef MOUNT_$ac_upcase_fs_symbol
+ yes
+#endif /* MOUNT_$ac_upcase_fs_symbol */
+ ]), [eval "ac_cv_fs_$ac_fs_name=yes"], [eval "ac_cv_fs_$ac_fs_name=no"] )
+ # check if need to terminate "for" loop
+ if test "`eval echo '$''{ac_cv_fs_'$ac_fs_name'}'`" != no
+ then
+ break
+ fi
+
+ # now try to look for MNT_ macro
+ AC_EGREP_CPP(yes,
+ AMU_MOUNT_HEADERS(
+ [
+#ifdef MNT_$ac_upcase_fs_symbol
+ yes
+#endif /* MNT_$ac_upcase_fs_symbol */
+ ]), [eval "ac_cv_fs_$ac_fs_name=yes"], [eval "ac_cv_fs_$ac_fs_name=no"] )
+ # check if need to terminate "for" loop
+ if test "`eval echo '$''{ac_cv_fs_'$ac_fs_name'}'`" != no
+ then
+ break
+ fi
+
+ # now try to look for GT_ macro (ultrix)
+ AC_EGREP_CPP(yes,
+ AMU_MOUNT_HEADERS(
+ [
+#ifdef GT_$ac_upcase_fs_symbol
+ yes
+#endif /* GT_$ac_upcase_fs_symbol */
+ ]), [eval "ac_cv_fs_$ac_fs_name=yes"], [eval "ac_cv_fs_$ac_fs_name=no"] )
+ # check if need to terminate "for" loop
+ if test "`eval echo '$''{ac_cv_fs_'$ac_fs_name'}'`" != no
+ then
+ break
+ fi
+
+ # look for a loadable filesystem module (linux)
+ if test -f /lib/modules/$host_os_version/fs/$ac_fs_tmp.ko
+ then
+ eval "ac_cv_fs_$ac_fs_name=yes"
+ break
+ fi
+ if test -f /lib/modules/$host_os_version/fs/$ac_fs_tmp.o
+ then
+ eval "ac_cv_fs_$ac_fs_name=yes"
+ break
+ fi
+
+ # look for a loadable filesystem module (linux 2.4+)
+ if test -f /lib/modules/$host_os_version/kernel/fs/$ac_fs_tmp/$ac_fs_tmp.ko
+ then
+ eval "ac_cv_fs_$ac_fs_name=yes"
+ break
+ fi
+ if test -f /lib/modules/$host_os_version/kernel/fs/$ac_fs_tmp/$ac_fs_tmp.o
+ then
+ eval "ac_cv_fs_$ac_fs_name=yes"
+ break
+ fi
+
+ # look for a loadable filesystem module (linux redhat-5.1)
+ if test -f /lib/modules/preferred/fs/$ac_fs_tmp.ko
+ then
+ eval "ac_cv_fs_$ac_fs_name=yes"
+ break
+ fi
+ if test -f /lib/modules/preferred/fs/$ac_fs_tmp.o
+ then
+ eval "ac_cv_fs_$ac_fs_name=yes"
+ break
+ fi
+
+ # in addition look for statically compiled filesystem (linux)
+ if egrep "[[^a-zA-Z0-9_]]$ac_fs_tmp$" /proc/filesystems >/dev/null 2>&1
+ then
+ eval "ac_cv_fs_$ac_fs_name=yes"
+ break
+ fi
+
+ if test "$ac_fs_tmp" = "nfs3" -a "$ac_cv_header_linux_nfs_mount_h" = "yes"
+ then
+ # hack hack hack
+ # in 6.1, which has fallback to v2/udp, we might want
+ # to always use version 4.
+ # in 6.0 we do not have much choice
+ #
+ let nfs_mount_version="`grep NFS_MOUNT_VERSION /usr/include/linux/nfs_mount.h | awk '{print $''3;}'`"
+ if test $nfs_mount_version -ge 4
+ then
+ eval "ac_cv_fs_$ac_fs_name=yes"
+ break
+ fi
+ fi
+
+ # run a test program for bsdi3
+ AC_TRY_RUN(
+ [
+#include <sys/param.h>
+#include <sys/mount.h>
+main()
+{
+ int i;
+ struct vfsconf vf;
+ i = getvfsbyname("$ac_fs_tmp", &vf);
+ if (i < 0)
+ exit(1);
+ else
+ exit(0);
+}
+ ], [eval "ac_cv_fs_$ac_fs_name=yes"
+ break
+ ]
+ )
+
+done
+])
+# check if need to define variable
+if test "`eval echo '$''{ac_cv_fs_'$ac_fs_name'}'`" = yes
+then
+ AC_DEFINE_UNQUOTED($ac_safe)
+# append ops_<fs>.o object to AMD_FS_OBJS for automatic compilation
+# if first time we add something to this list, then also tell autoconf
+# to replace instances of it in Makefiles.
+ if test -z "$AMD_FS_OBJS"
+ then
+ AMD_FS_OBJS="ops_${ac_fs_name}.o"
+ AC_SUBST(AMD_FS_OBJS)
+ else
+ # since this object file could have already been added before
+ # we need to ensure we do not add it twice.
+ case "${AMD_FS_OBJS}" in
+ *ops_${ac_fs_name}.o* ) ;;
+ * )
+ AMD_FS_OBJS="$AMD_FS_OBJS ops_${ac_fs_name}.o"
+ ;;
+ esac
+ fi
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/check_gnu_getopt.m4 b/m4/macros/check_gnu_getopt.m4
new file mode 100644
index 000000000000..7631532141fb
--- /dev/null
+++ b/m4/macros/check_gnu_getopt.m4
@@ -0,0 +1,42 @@
+dnl ######################################################################
+dnl Do we have a GNUish getopt
+AC_DEFUN([AMU_CHECK_GNU_GETOPT],
+[
+AC_CACHE_CHECK([for GNU getopt], ac_cv_sys_gnu_getopt, [
+AC_TRY_RUN([
+#include <stdio.h>
+#include <unistd.h>
+int main()
+{
+ int argc = 3;
+ char *argv[] = { "actest", "arg", "-x", NULL };
+ int c;
+ FILE* rf;
+ int isGNU = 0;
+
+ rf = fopen("conftestresult", "w");
+ if (rf == NULL) exit(1);
+
+ while ( (c = getopt(argc, argv, "x")) != -1 ) {
+ switch ( c ) {
+ case 'x':
+ isGNU=1;
+ break;
+ default:
+ exit(1);
+ }
+ }
+ fprintf(rf, isGNU ? "yes" : "no");
+ exit(0);
+}
+],[
+ac_cv_sys_gnu_getopt="`cat conftestresult`"
+],[
+ac_cv_sys_gnu_getopt="fail"
+])
+])
+if test "$ac_cv_sys_gnu_getopt" = "yes"
+then
+ AC_DEFINE(HAVE_GNU_GETOPT)
+fi
+])
diff --git a/m4/macros/check_hide_mount_type.m4 b/m4/macros/check_hide_mount_type.m4
new file mode 100644
index 000000000000..89c6c4da438f
--- /dev/null
+++ b/m4/macros/check_hide_mount_type.m4
@@ -0,0 +1,31 @@
+dnl ######################################################################
+dnl Define mount type to hide amd mounts from df(1)
+dnl
+dnl This has to be determined individually per OS. Depending on whatever
+dnl mount options are defined in the system header files such as
+dnl MNTTYPE_IGNORE or MNTTYPE_AUTO, or others does not work: some OSs define
+dnl some of these then use other stuff; some do not define them at all in
+dnl the headers, but still use it; and more. After a long attempt to get
+dnl this automatically configured, I came to the conclusion that the semi-
+dnl automatic per-host-os determination here is the best.
+dnl
+AC_DEFUN([AMU_CHECK_HIDE_MOUNT_TYPE],
+[
+AC_CACHE_CHECK(for mount type to hide from df,
+ac_cv_hide_mount_type,
+[
+case "${host_os}" in
+ irix* | hpux* )
+ ac_cv_hide_mount_type="ignore"
+ ;;
+ sunos4* )
+ ac_cv_hide_mount_type="auto"
+ ;;
+ * )
+ ac_cv_hide_mount_type="nfs"
+ ;;
+esac
+])
+AC_DEFINE_UNQUOTED(HIDE_MOUNT_TYPE, "$ac_cv_hide_mount_type")
+])
+dnl ======================================================================
diff --git a/m4/macros/check_lib2.m4 b/m4/macros/check_lib2.m4
new file mode 100644
index 000000000000..64e6bb5b7109
--- /dev/null
+++ b/m4/macros/check_lib2.m4
@@ -0,0 +1,66 @@
+dnl a bug-fixed version of autoconf 2.12.
+dnl first try to link library without $5, and only of that failed,
+dnl try with $5 if specified.
+dnl it adds $5 to $LIBS if it was needed -Erez.
+dnl AC_CHECK_LIB2(LIBRARY, FUNCTION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND
+dnl [, OTHER-LIBRARIES]]])
+AC_DEFUN([AMU_CHECK_LIB2],
+[AC_MSG_CHECKING([for $2 in -l$1])
+dnl Use a cache variable name containing both the library and function name,
+dnl because the test really is for library $1 defining function $2, not
+dnl just for library $1. Separate tests with the same $1 and different $2s
+dnl may have different results.
+ac_lib_var=`echo $1['_']$2 | sed 'y%./+-%__p_%'`
+AC_CACHE_VAL(ac_cv_lib_$ac_lib_var,
+[ac_save_LIBS="$LIBS"
+
+# first try with base library, without auxiliary library
+LIBS="-l$1 $LIBS"
+AC_TRY_LINK(dnl
+ifelse([$2], [main], , dnl Avoid conflicting decl of main.
+[/* Override any gcc2 internal prototype to avoid an error. */
+]
+[/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $2();
+]),
+ [$2()],
+ eval "ac_cv_lib_$ac_lib_var=\"$1\"",
+ eval "ac_cv_lib_$ac_lib_var=no")
+
+# if OK, set to no auxiliary library, else try auxiliary library
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = no"; then
+ LIBS="-l$1 $5 $LIBS"
+ AC_TRY_LINK(dnl
+ ifelse([$2], [main], , dnl Avoid conflicting decl of main.
+ [/* Override any gcc2 internal prototype to avoid an error. */
+ ]
+ [/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+ char $2();
+ ]),
+ [$2()],
+ eval "ac_cv_lib_$ac_lib_var=\"$1 $5\"",
+ eval "ac_cv_lib_$ac_lib_var=no")
+fi
+
+LIBS="$ac_save_LIBS"
+])dnl
+ac_tmp="`eval echo '$''{ac_cv_lib_'$ac_lib_var'}'`"
+if test "${ac_tmp}" != no; then
+ AC_MSG_RESULT(-l$ac_tmp)
+ ifelse([$3], ,
+[
+ ac_tr_lib=HAVE_LIB`echo $1 | sed -e 's/[[^a-zA-Z0-9_]]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+
+ AC_DEFINE_UNQUOTED($ac_tr_lib)
+ LIBS="-l$ac_tmp $LIBS"
+], [$3])
+else
+ AC_MSG_RESULT(no)
+ifelse([$4], , , [$4
+])dnl
+fi
+
+])
diff --git a/m4/macros/check_libwrap_severity.m4 b/m4/macros/check_libwrap_severity.m4
new file mode 100644
index 000000000000..955ba55ab9d0
--- /dev/null
+++ b/m4/macros/check_libwrap_severity.m4
@@ -0,0 +1,41 @@
+dnl ######################################################################
+dnl check if libwrap (if exists), requires the caller to define the variables
+dnl deny_severity and allow_severity.
+AC_DEFUN([AMU_CHECK_LIBWRAP_SEVERITY],
+[
+AC_CACHE_CHECK([if libwrap wants caller to define allow_severity and deny_severity], ac_cv_need_libwrap_severity_vars, [
+# save, then reset $LIBS back to original value
+SAVEDLIBS="$LIBS"
+LIBS="$LIBS -lwrap"
+# run program one without defining our own severity variables
+AC_TRY_RUN(
+[
+int main()
+{
+ exit(0);
+}
+],[ac_tmp_val1="yes"],[ac_tmp_val1="no"])
+# run program two with defining our own severity variables
+AC_TRY_RUN(
+[
+int deny_severity, allow_severity, rfc931_timeout;
+int main()
+{
+ exit(0);
+}
+],[ac_tmp_val2="yes"],[ac_tmp_val2="no"])
+# restore original value of $LIBS
+LIBS="$SAVEDLIBS"
+# now decide what to do
+if test "$ac_tmp_val1" = "no" && test "$ac_tmp_val2" = "yes"
+then
+ ac_cv_need_libwrap_severity_vars="yes"
+else
+ ac_cv_need_libwrap_severity_vars="no"
+fi
+])
+if test "$ac_cv_need_libwrap_severity_vars" = "yes"
+then
+ AC_DEFINE(NEED_LIBWRAP_SEVERITY_VARIABLES)
+fi
+])
diff --git a/m4/macros/check_map_funcs.m4 b/m4/macros/check_map_funcs.m4
new file mode 100644
index 000000000000..4e0dc879e5ea
--- /dev/null
+++ b/m4/macros/check_map_funcs.m4
@@ -0,0 +1,47 @@
+dnl ######################################################################
+dnl check if a map exists (if some library function exists).
+dnl Usage: AC_CHECK_MAP_FUNCS(<functions>..., <map>, [<mapsymbol>])
+dnl Check if any of the functions <functions> exist. If any exist, then
+dnl define HAVE_MAP_<map>. If <mapsymbol> exits, then defined
+dnl HAVE_MAP_<mapsymbol> instead...
+AC_DEFUN([AMU_CHECK_MAP_FUNCS],
+[
+# find what name to give to the map
+if test -n "$3"
+then
+ ac_map_name=$3
+else
+ ac_map_name=$2
+fi
+# store variable name of map
+ac_upcase_map_name=`echo $ac_map_name | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ac_safe=HAVE_MAP_$ac_upcase_map_name
+# check for cache and set it if needed
+AMU_CACHE_CHECK_DYNAMIC(for $ac_map_name maps,
+ac_cv_map_$ac_map_name,
+[
+# define to "no" by default
+eval "ac_cv_map_$ac_map_name=no"
+# and look to see if it was found
+AC_CHECK_FUNCS($1,
+[
+ eval "ac_cv_map_$ac_map_name=yes"
+ break
+])])
+# check if need to define variable
+if test "`eval echo '$''{ac_cv_map_'$ac_map_name'}'`" = yes
+then
+ AC_DEFINE_UNQUOTED($ac_safe)
+# append info_<map>.o object to AMD_INFO_OBJS for automatic compilation
+# if first time we add something to this list, then also tell autoconf
+# to replace instances of it in Makefiles.
+ if test -z "$AMD_INFO_OBJS"
+ then
+ AMD_INFO_OBJS="info_${ac_map_name}.o"
+ AC_SUBST(AMD_INFO_OBJS)
+ else
+ AMD_INFO_OBJS="$AMD_INFO_OBJS info_${ac_map_name}.o"
+ fi
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/check_mnt2_cdfs_opt.m4 b/m4/macros/check_mnt2_cdfs_opt.m4
new file mode 100644
index 000000000000..db90e4673585
--- /dev/null
+++ b/m4/macros/check_mnt2_cdfs_opt.m4
@@ -0,0 +1,92 @@
+dnl ######################################################################
+dnl Find CDFS-specific mount(2) options (hex numbers)
+dnl Usage: AMU_CHECK_MNT2_CDFS_OPT(<fs>)
+dnl Check if there is an entry for MS_<fs> or M_<fs> in sys/mntent.h or
+dnl mntent.h, then define MNT2_CDFS_OPT_<fs> to the hex number.
+AC_DEFUN([AMU_CHECK_MNT2_CDFS_OPT],
+[
+# what name to give to the fs
+ac_fs_name=$1
+# store variable name of fs
+ac_upcase_fs_name=`echo $ac_fs_name | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ac_safe=MNT2_CDFS_OPT_$ac_upcase_fs_name
+# check for cache and set it if needed
+AMU_CACHE_CHECK_DYNAMIC(for CDFS-specific mount(2) option $ac_fs_name,
+ac_cv_mnt2_cdfs_opt_$ac_fs_name,
+[
+# undefine by default
+eval "ac_cv_mnt2_cdfs_opt_$ac_fs_name=notfound"
+value=notfound
+
+# first, try MS_* (most systems). Must be the first test!
+if test "$value" = notfound
+then
+AMU_EXPAND_CPP_HEX(
+AMU_MOUNT_HEADERS
+, MS_$ac_upcase_fs_name)
+fi
+
+# if failed, try MNT_* (bsd44 systems)
+if test "$value" = notfound
+then
+AMU_EXPAND_CPP_HEX(
+AMU_MOUNT_HEADERS
+, MNT_$ac_upcase_fs_name)
+fi
+
+# if failed, try MS_* as an integer (linux systems)
+if test "$value" = notfound
+then
+AMU_EXPAND_CPP_INT(
+AMU_MOUNT_HEADERS
+, MS_$ac_upcase_fs_name)
+fi
+
+# If failed try M_* (must be last test since svr4 systems define M_DATA etc.
+# in <sys/stream.h>
+# This test was off for now, because of the conflicts with other systems.
+# but I turned it back on by faking the inclusion of <sys/stream.h> already.
+if test "$value" = notfound
+then
+AMU_EXPAND_CPP_HEX(
+#ifndef _sys_stream_h
+# define _sys_stream_h
+#endif /* not _sys_stream_h */
+#ifndef _SYS_STREAM_H
+# define _SYS_STREAM_H
+#endif /* not _SYS_STREAM_H */
+AMU_MOUNT_HEADERS
+, M_$ac_upcase_fs_name)
+fi
+
+# if failed, try ISOFSMNT_* as a hex (bsdi4 systems)
+if test "$value" = notfound
+then
+AMU_EXPAND_CPP_HEX(
+AMU_MOUNT_HEADERS
+, ISOFSMNT_$ac_upcase_fs_name)
+fi
+
+# set cache variable to value
+eval "ac_cv_mnt2_cdfs_opt_$ac_fs_name=$value"
+])
+# outside cache check, if ok, define macro
+ac_tmp=`eval echo '$''{ac_cv_mnt2_cdfs_opt_'$ac_fs_name'}'`
+if test "${ac_tmp}" != notfound
+then
+ AC_DEFINE_UNQUOTED($ac_safe, $ac_tmp)
+fi
+])
+dnl ======================================================================
+
+dnl ######################################################################
+dnl run AMU_CHECK_MNT2_CDFS_OPT on each argument given
+dnl Usage: AMU_CHECK_MNT2_CDFS_OPTS(arg arg arg ...)
+AC_DEFUN([AMU_CHECK_MNT2_CDFS_OPTS],
+[
+for ac_tmp_arg in $1
+do
+AMU_CHECK_MNT2_CDFS_OPT($ac_tmp_arg)
+done
+])
+dnl ======================================================================
diff --git a/m4/macros/check_mnt2_gen_opt.m4 b/m4/macros/check_mnt2_gen_opt.m4
new file mode 100644
index 000000000000..b9cc0d746bc8
--- /dev/null
+++ b/m4/macros/check_mnt2_gen_opt.m4
@@ -0,0 +1,85 @@
+dnl ######################################################################
+dnl Find generic mount(2) options (hex numbers)
+dnl Usage: AMU_CHECK_MNT2_GEN_OPT(<fs>)
+dnl Check if there is an entry for MS_<fs>, MNT_<fs>, or M_<fs>
+dnl (in that order) in mntent.h, sys/mntent.h, or mount.h...
+dnl then define MNT2_GEN_OPT_<fs> to the hex number.
+AC_DEFUN([AMU_CHECK_MNT2_GEN_OPT],
+[
+# what name to give to the fs
+ac_fs_name=$1
+# store variable name of fs
+ac_upcase_fs_name=`echo $ac_fs_name | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ac_safe=MNT2_GEN_OPT_$ac_upcase_fs_name
+# check for cache and set it if needed
+AMU_CACHE_CHECK_DYNAMIC(for generic mount(2) option $ac_fs_name,
+ac_cv_mnt2_gen_opt_$ac_fs_name,
+[
+# undefine by default
+eval "ac_cv_mnt2_gen_opt_$ac_fs_name=notfound"
+value=notfound
+
+# first, try MS_* (most systems). Must be the first test!
+if test "$value" = notfound
+then
+AMU_EXPAND_CPP_HEX(
+AMU_MOUNT_HEADERS
+, MS_$ac_upcase_fs_name)
+fi
+
+# if failed, try MNT_* (bsd44 systems)
+if test "$value" = notfound
+then
+AMU_EXPAND_CPP_HEX(
+AMU_MOUNT_HEADERS
+, MNT_$ac_upcase_fs_name)
+fi
+
+# if failed, try MS_* as an integer (linux systems)
+if test "$value" = notfound
+then
+AMU_EXPAND_CPP_INT(
+AMU_MOUNT_HEADERS
+, MS_$ac_upcase_fs_name)
+fi
+
+# If failed try M_* (must be last test since svr4 systems define M_DATA etc.
+# in <sys/stream.h>
+# This test was off for now, because of the conflicts with other systems.
+# but I turned it back on by faking the inclusion of <sys/stream.h> already.
+if test "$value" = notfound
+then
+AMU_EXPAND_CPP_HEX(
+#ifndef _sys_stream_h
+# define _sys_stream_h
+#endif /* not _sys_stream_h */
+#ifndef _SYS_STREAM_H
+# define _SYS_STREAM_H
+#endif /* not _SYS_STREAM_H */
+AMU_MOUNT_HEADERS
+, M_$ac_upcase_fs_name)
+fi
+
+# set cache variable to value
+eval "ac_cv_mnt2_gen_opt_$ac_fs_name=$value"
+])
+# outside cache check, if ok, define macro
+ac_tmp=`eval echo '$''{ac_cv_mnt2_gen_opt_'$ac_fs_name'}'`
+if test "${ac_tmp}" != notfound
+then
+ AC_DEFINE_UNQUOTED($ac_safe, $ac_tmp)
+fi
+])
+dnl ======================================================================
+
+dnl ######################################################################
+dnl run AMU_CHECK_MNT2_GEN_OPT on each argument given
+dnl Usage: AMU_CHECK_MNT2_GEN_OPTS(arg arg arg ...)
+AC_DEFUN([AMU_CHECK_MNT2_GEN_OPTS],
+[
+for ac_tmp_arg in $1
+do
+AMU_CHECK_MNT2_GEN_OPT($ac_tmp_arg)
+done
+])
+dnl ======================================================================
diff --git a/m4/macros/check_mnt2_nfs_opt.m4 b/m4/macros/check_mnt2_nfs_opt.m4
new file mode 100644
index 000000000000..23d8b974fa7b
--- /dev/null
+++ b/m4/macros/check_mnt2_nfs_opt.m4
@@ -0,0 +1,59 @@
+dnl ######################################################################
+dnl Find NFS-specific mount(2) options (hex numbers)
+dnl Usage: AMU_CHECK_MNT2_NFS_OPT(<fs>)
+dnl Check if there is an entry for NFSMNT_<fs> in sys/mntent.h or
+dnl mntent.h, then define MNT2_NFS_OPT_<fs> to the hex number.
+AC_DEFUN([AMU_CHECK_MNT2_NFS_OPT],
+[
+# what name to give to the fs
+ac_fs_name=$1
+# store variable name of fs
+ac_upcase_fs_name=`echo $ac_fs_name | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ac_safe=MNT2_NFS_OPT_$ac_upcase_fs_name
+# check for cache and set it if needed
+AMU_CACHE_CHECK_DYNAMIC(for NFS-specific mount(2) option $ac_fs_name,
+ac_cv_mnt2_nfs_opt_$ac_fs_name,
+[
+# undefine by default
+eval "ac_cv_mnt2_nfs_opt_$ac_fs_name=notfound"
+value=notfound
+
+# first try NFSMNT_* (most systems)
+if test "$value" = notfound
+then
+AMU_EXPAND_CPP_HEX(
+AMU_MOUNT_HEADERS
+, NFSMNT_$ac_upcase_fs_name)
+fi
+
+# next try NFS_MOUNT_* (linux)
+if test "$value" = notfound
+then
+AMU_EXPAND_CPP_HEX(
+AMU_MOUNT_HEADERS
+, NFS_MOUNT_$ac_upcase_fs_name)
+fi
+
+# set cache variable to value
+eval "ac_cv_mnt2_nfs_opt_$ac_fs_name=$value"
+])
+# outside cache check, if ok, define macro
+ac_tmp=`eval echo '$''{ac_cv_mnt2_nfs_opt_'$ac_fs_name'}'`
+if test "${ac_tmp}" != notfound
+then
+ AC_DEFINE_UNQUOTED($ac_safe, $ac_tmp)
+fi
+])
+dnl ======================================================================
+
+dnl ######################################################################
+dnl run AMU_CHECK_MNT2_NFS_OPT on each argument given
+dnl Usage: AMU_CHECK_MNT2_NFS_OPTS(arg arg arg ...)
+AC_DEFUN([AMU_CHECK_MNT2_NFS_OPTS],
+[
+for ac_tmp_arg in $1
+do
+AMU_CHECK_MNT2_NFS_OPT($ac_tmp_arg)
+done
+])
+dnl ======================================================================
diff --git a/m4/macros/check_mnt2_pcfs_opt.m4 b/m4/macros/check_mnt2_pcfs_opt.m4
new file mode 100644
index 000000000000..d1c3043a9439
--- /dev/null
+++ b/m4/macros/check_mnt2_pcfs_opt.m4
@@ -0,0 +1,92 @@
+dnl ######################################################################
+dnl Find PCFS-specific mount(2) options (hex numbers)
+dnl Usage: AMU_CHECK_MNT2_PCFS_OPT(<fs>)
+dnl Check if there is an entry for MS_<fs> or M_<fs> in sys/mntent.h or
+dnl mntent.h, then define MNT2_PCFS_OPT_<fs> to the hex number.
+AC_DEFUN([AMU_CHECK_MNT2_PCFS_OPT],
+[
+# what name to give to the fs
+ac_fs_name=$1
+# store variable name of fs
+ac_upcase_fs_name=`echo $ac_fs_name | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ac_safe=MNT2_PCFS_OPT_$ac_upcase_fs_name
+# check for cache and set it if needed
+AMU_CACHE_CHECK_DYNAMIC(for PCFS-specific mount(2) option $ac_fs_name,
+ac_cv_mnt2_pcfs_opt_$ac_fs_name,
+[
+# undefine by default
+eval "ac_cv_mnt2_pcfs_opt_$ac_fs_name=notfound"
+value=notfound
+
+# first, try MS_* (most systems). Must be the first test!
+if test "$value" = notfound
+then
+AMU_EXPAND_CPP_HEX(
+AMU_MOUNT_HEADERS
+, MS_$ac_upcase_fs_name)
+fi
+
+# if failed, try MNT_* (bsd44 systems)
+if test "$value" = notfound
+then
+AMU_EXPAND_CPP_HEX(
+AMU_MOUNT_HEADERS
+, MNT_$ac_upcase_fs_name)
+fi
+
+# if failed, try MS_* as an integer (linux systems)
+if test "$value" = notfound
+then
+AMU_EXPAND_CPP_INT(
+AMU_MOUNT_HEADERS
+, MS_$ac_upcase_fs_name)
+fi
+
+# If failed try M_* (must be last test since svr4 systems define M_DATA etc.
+# in <sys/stream.h>
+# This test was off for now, because of the conflicts with other systems.
+# but I turned it back on by faking the inclusion of <sys/stream.h> already.
+if test "$value" = notfound
+then
+AMU_EXPAND_CPP_HEX(
+#ifndef _sys_stream_h
+# define _sys_stream_h
+#endif /* not _sys_stream_h */
+#ifndef _SYS_STREAM_H
+# define _SYS_STREAM_H
+#endif /* not _SYS_STREAM_H */
+AMU_MOUNT_HEADERS
+, M_$ac_upcase_fs_name)
+fi
+
+# if failed, try MSDOSFSMNT_* as a hex (bsd44 systems)
+if test "$value" = notfound
+then
+AMU_EXPAND_CPP_HEX(
+AMU_MOUNT_HEADERS
+, MSDOSFSMNT_$ac_upcase_fs_name)
+fi
+
+# set cache variable to value
+eval "ac_cv_mnt2_pcfs_opt_$ac_fs_name=$value"
+])
+# outside cache check, if ok, define macro
+ac_tmp=`eval echo '$''{ac_cv_mnt2_pcfs_opt_'$ac_fs_name'}'`
+if test "${ac_tmp}" != notfound
+then
+ AC_DEFINE_UNQUOTED($ac_safe, $ac_tmp)
+fi
+])
+dnl ======================================================================
+
+dnl ######################################################################
+dnl run AMU_CHECK_MNT2_PCFS_OPT on each argument given
+dnl Usage: AMU_CHECK_MNT2_PCFS_OPTS(arg arg arg ...)
+AC_DEFUN([AMU_CHECK_MNT2_PCFS_OPTS],
+[
+for ac_tmp_arg in $1
+do
+AMU_CHECK_MNT2_PCFS_OPT($ac_tmp_arg)
+done
+])
+dnl ======================================================================
diff --git a/m4/macros/check_mnt2_udf_opt.m4 b/m4/macros/check_mnt2_udf_opt.m4
new file mode 100644
index 000000000000..80e381136392
--- /dev/null
+++ b/m4/macros/check_mnt2_udf_opt.m4
@@ -0,0 +1,53 @@
+dnl ######################################################################
+dnl Find UDF-specific mount(2) options (hex numbers)
+dnl Usage: AMU_CHECK_MNT2_UDF_OPT(<fs>)
+dnl Check if there is an entry for MS_<fs> or M_<fs> in sys/mntent.h or
+dnl mntent.h, then define MNT2_UDF_OPT_<fs> to the hex number.
+AC_DEFUN([AMU_CHECK_MNT2_UDF_OPT],
+[
+# what name to give to the fs
+ac_fs_name=$1
+# store variable name of fs
+ac_upcase_fs_name=`echo $ac_fs_name | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ac_safe=MNT2_UDF_OPT_$ac_upcase_fs_name
+# check for cache and set it if needed
+AMU_CACHE_CHECK_DYNAMIC(for UDF-specific mount(2) option $ac_fs_name,
+ac_cv_mnt2_udf_opt_$ac_fs_name,
+[
+# undefine by default
+eval "ac_cv_mnt2_udf_opt_$ac_fs_name=notfound"
+value=notfound
+
+# XXX - tests for other systems need to be added here!
+
+# if failed, try UDFMNT_* as a hex (netbsd systems)
+if test "$value" = notfound
+then
+AMU_EXPAND_CPP_HEX(
+AMU_MOUNT_HEADERS
+, UDFMNT_$ac_upcase_fs_name)
+fi
+
+# set cache variable to value
+eval "ac_cv_mnt2_udf_opt_$ac_fs_name=$value"
+])
+# outside cache check, if ok, define macro
+ac_tmp=`eval echo '$''{ac_cv_mnt2_udf_opt_'$ac_fs_name'}'`
+if test "${ac_tmp}" != notfound
+then
+ AC_DEFINE_UNQUOTED($ac_safe, $ac_tmp)
+fi
+])
+dnl ======================================================================
+
+dnl ######################################################################
+dnl run AMU_CHECK_MNT2_UDF_OPT on each argument given
+dnl Usage: AMU_CHECK_MNT2_UDF_OPTS(arg arg arg ...)
+AC_DEFUN([AMU_CHECK_MNT2_UDF_OPTS],
+[
+for ac_tmp_arg in $1
+do
+AMU_CHECK_MNT2_UDF_OPT($ac_tmp_arg)
+done
+])
+dnl ======================================================================
diff --git a/m4/macros/check_mnttab_file_name.m4 b/m4/macros/check_mnttab_file_name.m4
new file mode 100644
index 000000000000..0d81e7f55d4e
--- /dev/null
+++ b/m4/macros/check_mnttab_file_name.m4
@@ -0,0 +1,57 @@
+dnl ######################################################################
+dnl Find name of mount table file, and define it as MNTTAB_FILE_NAME
+dnl
+dnl Solaris defines MNTTAB as /etc/mnttab, the file where /sbin/mount
+dnl stores its cache of mounted filesystems. But under SunOS, the same
+dnl macro MNTTAB, is defined as the _source_ of filesystems to mount, and
+dnl is set to /etc/fstab. That is why I have to first check out
+dnl if MOUNTED exists, and if not, check for the MNTTAB macro.
+dnl
+AC_DEFUN([AMU_CHECK_MNTTAB_FILE_NAME],
+[
+AC_CACHE_CHECK(for name of mount table file name,
+ac_cv_mnttab_file_name,
+[
+# expand cpp value for MNTTAB
+AMU_EXPAND_CPP_STRING(
+AMU_MOUNT_HEADERS(
+[
+/* see M4 comment at the top of the definition of this macro */
+#ifdef MOUNTED
+# define _MNTTAB_FILE_NAME MOUNTED
+# else /* not MOUNTED */
+# ifdef MNTTAB
+# define _MNTTAB_FILE_NAME MNTTAB
+# endif /* MNTTAB */
+#endif /* not MOUNTED */
+]),
+_MNTTAB_FILE_NAME,
+[ ac_cv_mnttab_file_name=$value
+],
+[
+ac_cv_mnttab_file_name=notfound
+# check explicitly for /etc/mnttab
+if test "$ac_cv_mnttab_file_name" = notfound
+then
+ if test -f /etc/mnttab
+ then
+ ac_cv_mnttab_file_name="/etc/mnttab"
+ fi
+fi
+# check explicitly for /etc/mtab
+if test "$ac_cv_mnttab_file_name" = notfound
+then
+ if test -f /etc/mtab
+ then
+ ac_cv_mnttab_file_name="/etc/mtab"
+ fi
+fi
+])
+])
+# test value and create macro as needed
+if test "$ac_cv_mnttab_file_name" != notfound
+then
+ AC_DEFINE_UNQUOTED(MNTTAB_FILE_NAME, "$ac_cv_mnttab_file_name")
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/check_mnttab_location.m4 b/m4/macros/check_mnttab_location.m4
new file mode 100644
index 000000000000..616cf2753f32
--- /dev/null
+++ b/m4/macros/check_mnttab_location.m4
@@ -0,0 +1,26 @@
+dnl ######################################################################
+dnl check if the mount table is kept in a file or in the kernel.
+AC_DEFUN([AMU_CHECK_MNTTAB_LOCATION],
+[
+AMU_CACHE_CHECK_DYNAMIC(where mount table is kept,
+ac_cv_mnttab_location,
+[
+# assume location is on file
+ac_cv_mnttab_location=file
+AC_CHECK_FUNCS(mntctl getmntinfo getmountent,
+ac_cv_mnttab_location=kernel)
+# Solaris 8 Beta Refresh and up use the mntfs pseudo filesystem to store the
+# mount table in kernel (cf. mnttab(4): the MS_NOMNTTAB option in
+# <sys/mount.h> inhibits that a mount shows up there and thus can be used to
+# check for the in-kernel mount table
+if test "$ac_cv_mnt2_gen_opt_nomnttab" != notfound
+then
+ ac_cv_mnttab_location=kernel
+fi
+])
+if test "$ac_cv_mnttab_location" = file
+then
+ AC_DEFINE(MOUNT_TABLE_ON_FILE)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/check_mnttab_opt.m4 b/m4/macros/check_mnttab_opt.m4
new file mode 100644
index 000000000000..97bdd7c85f87
--- /dev/null
+++ b/m4/macros/check_mnttab_opt.m4
@@ -0,0 +1,52 @@
+dnl ######################################################################
+dnl check the string type of the name of a filesystem mount table entry
+dnl option.
+dnl Usage: AMU_CHECK_MNTTAB_OPT(<fs>)
+dnl Check if there is an entry for MNTOPT_<fs> in sys/mntent.h or mntent.h
+dnl define MNTTAB_OPT_<fs> to the string name (e.g., "ro").
+AC_DEFUN([AMU_CHECK_MNTTAB_OPT],
+[
+# what name to give to the fs
+ac_fs_name=$1
+# store variable name of fs
+ac_upcase_fs_name=`echo $ac_fs_name | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ac_safe=MNTTAB_OPT_$ac_upcase_fs_name
+# check for cache and set it if needed
+AMU_CACHE_CHECK_DYNAMIC(for mount table option $ac_fs_name,
+ac_cv_mnttab_opt_$ac_fs_name,
+[
+# undefine by default
+eval "ac_cv_mnttab_opt_$ac_fs_name=notfound"
+# and look to see if it was found
+AMU_EXPAND_CPP_STRING(
+AMU_MOUNT_HEADERS
+, MNTOPT_$ac_upcase_fs_name)
+# set cache variable to value
+if test "${value}" != notfound
+then
+ eval "ac_cv_mnttab_opt_$ac_fs_name=\\\"$value\\\""
+else
+ eval "ac_cv_mnttab_opt_$ac_fs_name=$value"
+fi
+dnl DO NOT CHECK FOR MNT_* b/c bsd44 systems don't use /etc/mnttab,
+])
+# outside cache check, if ok, define macro
+ac_tmp=`eval echo '$''{ac_cv_mnttab_opt_'$ac_fs_name'}'`
+if test "${ac_tmp}" != notfound
+then
+ AC_DEFINE_UNQUOTED($ac_safe, $ac_tmp)
+fi
+])
+dnl ======================================================================
+
+dnl ######################################################################
+dnl run AMU_CHECK_MNTTAB_OPT on each argument given
+dnl Usage: AMU_CHECK_MNTTAB_OPTS(arg arg arg ...)
+AC_DEFUN([AMU_CHECK_MNTTAB_OPTS],
+[
+for ac_tmp_arg in $1
+do
+AMU_CHECK_MNTTAB_OPT($ac_tmp_arg)
+done
+])
+dnl ======================================================================
diff --git a/m4/macros/check_mnttab_style.m4 b/m4/macros/check_mnttab_style.m4
new file mode 100644
index 000000000000..12e4602a983b
--- /dev/null
+++ b/m4/macros/check_mnttab_style.m4
@@ -0,0 +1,35 @@
+dnl ######################################################################
+dnl check style of accessing the mount table file
+AC_DEFUN([AMU_CHECK_MNTTAB_STYLE],
+[
+AC_CACHE_CHECK(mount table style,
+ac_cv_style_mnttab,
+[
+# select the correct style for mount table manipulation functions
+case "${host_os_name}" in
+ aix* )
+ ac_cv_style_mnttab=aix ;;
+ bsd* | bsdi* | freebsd* | netbsd* | openbsd* | darwin* | macosx* | rhapsody* )
+ ac_cv_style_mnttab=bsd ;;
+ isc3* )
+ ac_cv_style_mnttab=isc3 ;;
+ mach3* )
+ ac_cv_style_mnttab=mach3 ;;
+ osf* )
+ ac_cv_style_mnttab=osf ;;
+ svr4* | sysv4* | solaris2* | sunos5* | aoi* )
+ ac_cv_style_mnttab=svr4 ;;
+ ultrix* )
+ ac_cv_style_mnttab=ultrix ;;
+ linux*)
+ ac_cv_style_mnttab=linux ;;
+ * )
+ ac_cv_style_mnttab=file ;;
+esac
+])
+am_utils_link_files=${am_utils_link_files}libamu/mtabutil.c:conf/mtab/mtab_${ac_cv_style_mnttab}.c" "
+
+# append mtab utilities object to LIBOBJS for automatic compilation
+AC_LIBOBJ(mtabutil)
+])
+dnl ======================================================================
diff --git a/m4/macros/check_mnttab_type.m4 b/m4/macros/check_mnttab_type.m4
new file mode 100644
index 000000000000..61e1c01b99a3
--- /dev/null
+++ b/m4/macros/check_mnttab_type.m4
@@ -0,0 +1,179 @@
+dnl ######################################################################
+dnl check the string type of the name of a filesystem mount table entry.
+dnl Usage: AC_CHECK_MNTTAB_TYPE(<fs>, [fssymbol])
+dnl Check if there is an entry for MNTTYPE_<fs> in sys/mntent.h and mntent.h
+dnl define MNTTAB_TYPE_<fs> to the string name (e.g., "nfs"). If <fssymbol>
+dnl exist, then define MNTTAB_TYPE_<fssymbol> instead. If <fssymbol> is
+dnl defined, then <fs> can be a list of fs strings to look for.
+dnl If no symbols have been defined, but the filesystem has been found
+dnl earlier, then set the mount-table type to "<fs>" anyway...
+AC_DEFUN([AMU_CHECK_MNTTAB_TYPE],
+[
+# find what name to give to the fs
+if test -n "$2"
+then
+ ac_fs_name=$2
+else
+ ac_fs_name=$1
+fi
+# store variable name of fs
+ac_upcase_fs_name=`echo $ac_fs_name | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ac_safe=MNTTAB_TYPE_$ac_upcase_fs_name
+# check for cache and set it if needed
+AMU_CACHE_CHECK_DYNAMIC(for mnttab name for $ac_fs_name filesystem,
+ac_cv_mnttab_type_$ac_fs_name,
+[
+# undefine by default
+eval "ac_cv_mnttab_type_$ac_fs_name=notfound"
+# and look to see if it was found
+for ac_fs_tmp in $1
+do
+ if test "$ac_fs_tmp" = "nfs3" -a "$ac_cv_fs_nfs3" = "yes" -a "$ac_cv_header_linux_nfs_h" = "yes"
+ then
+ eval "ac_cv_mnttab_type_$ac_fs_name=\\\"$ac_cv_mnttab_type_nfs\\\""
+ break
+ fi
+
+ ac_upcase_fs_symbol=`echo $ac_fs_tmp | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' | tr -d '.'`
+
+ # first look for MNTTYPE_*
+ AC_EGREP_CPP(yes,
+ AMU_MOUNT_HEADERS(
+ [
+#ifdef MNTTYPE_$ac_upcase_fs_symbol
+ yes
+#endif /* MNTTYPE_$ac_upcase_fs_symbol */
+ ]),
+ [ eval "ac_cv_mnttab_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ ])
+ # check if need to terminate "for" loop
+ if test "`eval echo '$''{ac_cv_mnttab_type_'$ac_fs_name'}'`" != notfound
+ then
+ break
+ fi
+
+ # look for a loadable filesystem module (linux)
+ if test -f /lib/modules/$host_os_version/fs/$ac_fs_tmp.ko
+ then
+ eval "ac_cv_mnttab_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ break
+ fi
+ if test -f /lib/modules/$host_os_version/fs/$ac_fs_tmp.o
+ then
+ eval "ac_cv_mnttab_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ break
+ fi
+
+ # look for a loadable filesystem module (linux 2.4+)
+ if test -f /lib/modules/$host_os_version/kernel/fs/$ac_fs_tmp/$ac_fs_tmp.ko
+ then
+ eval "ac_cv_mnttab_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ break
+ fi
+ if test -f /lib/modules/$host_os_version/kernel/fs/$ac_fs_tmp/$ac_fs_tmp.o
+ then
+ eval "ac_cv_mnttab_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ break
+ fi
+
+ # look for a loadable filesystem module (linux redhat-5.1)
+ if test -f /lib/modules/preferred/fs/$ac_fs_tmp.ko
+ then
+ eval "ac_cv_mnttab_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ break
+ fi
+ if test -f /lib/modules/preferred/fs/$ac_fs_tmp.o
+ then
+ eval "ac_cv_mnttab_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ break
+ fi
+
+ # next look for statically compiled filesystem (linux)
+ if egrep "[[^a-zA-Z0-9_]]$ac_fs_tmp$" /proc/filesystems >/dev/null 2>&1
+ then
+ eval "ac_cv_mnttab_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ break
+ fi
+
+ # then try to run a program that derefences a static array (bsd44)
+ AMU_EXPAND_RUN_STRING(
+ AMU_MOUNT_HEADERS(
+ [
+#ifndef INITMOUNTNAMES
+# error INITMOUNTNAMES not defined
+#endif /* not INITMOUNTNAMES */
+ ]),
+ [
+ char const *namelist[] = INITMOUNTNAMES;
+ if (argc > 1)
+ printf("\"%s\"", namelist[MOUNT_$ac_upcase_fs_symbol]);
+ ], [ eval "ac_cv_mnttab_type_$ac_fs_name=\\\"$value\\\""
+ ])
+ # check if need to terminate "for" loop
+ if test "`eval echo '$''{ac_cv_mnttab_type_'$ac_fs_name'}'`" != notfound
+ then
+ break
+ fi
+
+ # then run a test program for bsdi3, tru64, and others
+ AC_TRY_RUN(
+ [
+#include <sys/param.h>
+#include <sys/mount.h>
+main()
+{
+ int i;
+ struct vfsconf vf;
+ i = getvfsbyname("$ac_fs_tmp", &vf);
+ if (i < 0)
+ exit(1);
+ else
+ exit(0);
+}
+ ], [eval "ac_cv_mnttab_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ break
+ ]
+ )
+ # check if need to terminate "for" loop
+ if test "`eval echo '$''{ac_cv_mnttab_type_'$ac_fs_name'}'`" != notfound
+ then
+ break
+ fi
+
+ # finally try to run a program that derefences a static array (bsd44)
+ AMU_EXPAND_RUN_STRING(
+ AMU_MOUNT_HEADERS(
+ [
+ ]),
+ [
+ if (argc > 1)
+ printf("\"%s\"", MOUNT_$ac_upcase_fs_symbol);
+ ], [ eval "ac_cv_mnttab_type_$ac_fs_name=\\\"$value\\\""
+ ])
+ # check if need to terminate "for" loop
+ if test "`eval echo '$''{ac_cv_mnttab_type_'$ac_fs_name'}'`" != notfound
+ then
+ break
+ fi
+
+done
+
+# check if not defined, yet the filesystem is defined
+if test "`eval echo '$''{ac_cv_mnttab_type_'$ac_fs_name'}'`" = notfound
+then
+# this should test if $ac_cv_fs_<fsname> is "yes"
+ if test "`eval echo '$''{ac_cv_fs_'$ac_fs_name'}'`" = yes ||
+ test "`eval echo '$''{ac_cv_fs_header_'$ac_fs_name'}'`" = yes
+ then
+ eval "ac_cv_mnttab_type_$ac_fs_name=\\\"$ac_fs_name\\\""
+ fi
+fi
+])
+# check if need to define variable
+ac_tmp=`eval echo '$''{ac_cv_mnttab_type_'$ac_fs_name'}'`
+if test "$ac_tmp" != notfound
+then
+ AC_DEFINE_UNQUOTED($ac_safe, $ac_tmp)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/check_mount_style.m4 b/m4/macros/check_mount_style.m4
new file mode 100644
index 000000000000..e34f943494dd
--- /dev/null
+++ b/m4/macros/check_mount_style.m4
@@ -0,0 +1,44 @@
+dnl ######################################################################
+dnl check style of mounting filesystems
+AC_DEFUN([AMU_CHECK_MOUNT_STYLE],
+[
+AC_CACHE_CHECK(style of mounting filesystems,
+ac_cv_style_mount,
+[
+# select the correct style for mounting filesystems
+case "${host_os_name}" in
+ solaris1* | sunos[[34]]* | bsdi[[12]]* )
+ ac_cv_style_mount=default ;;
+ hpux[[6-9]]* | hpux10* )
+ ac_cv_style_mount=hpux ;;
+ svr4* | sysv4* | solaris* | sunos* | aoi* | hpux* )
+ ac_cv_style_mount=svr4 ;;
+ bsdi* )
+ ac_cv_style_mount=bsdi3 ;;
+ aix3* | aix4* )
+ ac_cv_style_mount=aix3 ;;
+ aix* )
+ ac_cv_style_mount=aix ;;
+ irix5* )
+ ac_cv_style_mount=irix5 ;;
+ irix* )
+ ac_cv_style_mount=irix6 ;;
+ isc3* )
+ ac_cv_style_mount=isc3 ;;
+ linux* )
+ ac_cv_style_mount=linux ;;
+ mach3* )
+ ac_cv_style_mount=mach3 ;;
+ stellix* )
+ ac_cv_style_mount=stellix ;;
+ * ) # no style needed. Use default filesystem calls ala BSD
+ ac_cv_style_mount=default ;;
+esac
+])
+am_utils_mount_style_file="mountutil.c"
+am_utils_link_files=${am_utils_link_files}libamu/${am_utils_mount_style_file}:conf/mount/mount_${ac_cv_style_mount}.c" "
+
+# append mount utilities object to LIBOBJS for automatic compilation
+AC_LIBOBJ(mountutil)
+])
+dnl ======================================================================
diff --git a/m4/macros/check_mount_trap.m4 b/m4/macros/check_mount_trap.m4
new file mode 100644
index 000000000000..7c90c5b1336d
--- /dev/null
+++ b/m4/macros/check_mount_trap.m4
@@ -0,0 +1,49 @@
+dnl ######################################################################
+dnl check the mount system call trap needed to mount(2) a filesystem
+AC_DEFUN([AMU_CHECK_MOUNT_TRAP],
+[
+AC_CACHE_CHECK(mount trap system-call style,
+ac_cv_mount_trap,
+[
+# select the correct style to mount(2) a filesystem
+case "${host_os_name}" in
+ solaris1* | sunos[[34]]* )
+ ac_cv_mount_trap=default ;;
+ hpux[[6-9]]* | hpux10* )
+ ac_cv_mount_trap=hpux ;;
+ svr4* | sysv4* | solaris* | sunos* | aoi* | hpux* )
+ ac_cv_mount_trap=svr4 ;;
+ news4* | riscix* )
+ ac_cv_mount_trap=news4 ;;
+ linux* )
+ ac_cv_mount_trap=linux ;;
+ irix* )
+ ac_cv_mount_trap=irix ;;
+ aux* )
+ ac_cv_mount_trap=aux ;;
+ hcx* )
+ ac_cv_mount_trap=hcx ;;
+ rtu6* )
+ ac_cv_mount_trap=rtu6 ;;
+ dgux* )
+ ac_cv_mount_trap=dgux ;;
+ aix* )
+ ac_cv_mount_trap=aix3 ;;
+ mach2* | mach3* )
+ ac_cv_mount_trap=mach3 ;;
+ ultrix* )
+ ac_cv_mount_trap=ultrix ;;
+ isc3* )
+ ac_cv_mount_trap=isc3 ;;
+ stellix* )
+ ac_cv_mount_trap=stellix ;;
+ netbsd* )
+ ac_cv_mount_trap=netbsd ;;
+ * )
+ ac_cv_mount_trap=default ;;
+esac
+])
+am_utils_mount_trap=$srcdir"/conf/trap/trap_"$ac_cv_mount_trap".h"
+AC_SUBST_FILE(am_utils_mount_trap)
+])
+dnl ======================================================================
diff --git a/m4/macros/check_mount_type.m4 b/m4/macros/check_mount_type.m4
new file mode 100644
index 000000000000..9b08def707b4
--- /dev/null
+++ b/m4/macros/check_mount_type.m4
@@ -0,0 +1,179 @@
+dnl ######################################################################
+dnl check the string type of the name of a filesystem mount table entry.
+dnl Usage: AC_CHECK_MOUNT_TYPE(<fs>, [fssymbol])
+dnl Check if there is an entry for MNTTYPE_<fs> in sys/mntent.h and mntent.h
+dnl define MOUNT_TYPE_<fs> to the string name (e.g., "nfs"). If <fssymbol>
+dnl exist, then define MOUNT_TYPE_<fssymbol> instead. If <fssymbol> is
+dnl defined, then <fs> can be a list of fs strings to look for.
+dnl If no symbols have been defined, but the filesystem has been found
+dnl earlier, then set the mount-table type to "<fs>" anyway...
+AC_DEFUN([AMU_CHECK_MOUNT_TYPE],
+[
+# find what name to give to the fs
+if test -n "$2"
+then
+ ac_fs_name=$2
+else
+ ac_fs_name=$1
+fi
+# prepare upper-case name of filesystem
+ac_upcase_fs_name=`echo $ac_fs_name | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+##############################################################################
+# check for cache and set it if needed
+AMU_CACHE_CHECK_DYNAMIC(for mount(2) type/name for $ac_fs_name filesystem,
+ac_cv_mount_type_$ac_fs_name,
+[
+# undefine by default
+eval "ac_cv_mount_type_$ac_fs_name=notfound"
+# and look to see if it was found
+for ac_fs_tmp in $1
+do
+
+ ac_upcase_fs_symbol=`echo $ac_fs_tmp | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' | tr -d '.'`
+
+ # first look for MNTTYPE_<fs>
+ AC_EGREP_CPP(yes,
+ AMU_MOUNT_HEADERS(
+ [
+#ifdef MNTTYPE_$ac_upcase_fs_symbol
+ yes
+#endif /* MNTTYPE_$ac_upcase_fs_symbol */
+ ]), [eval "ac_cv_mount_type_$ac_fs_name=MNTTYPE_$ac_upcase_fs_symbol"],
+ [eval "ac_cv_mount_type_$ac_fs_name=notfound"] )
+ # check if need to terminate "for" loop
+ if test "`eval echo '$''{ac_cv_mount_type_'$ac_fs_name'}'`" != notfound
+ then
+ break
+ fi
+
+ # next look for MOUNT_<fs>
+ AC_EGREP_CPP(yes,
+ AMU_MOUNT_HEADERS(
+ [
+#ifdef MOUNT_$ac_upcase_fs_symbol
+ yes
+#endif /* MOUNT_$ac_upcase_fs_symbol */
+ ]), [eval "ac_cv_mount_type_$ac_fs_name=MOUNT_$ac_upcase_fs_symbol"],
+ [eval "ac_cv_mount_type_$ac_fs_name=notfound"] )
+ # check if need to terminate "for" loop
+ if test "`eval echo '$''{ac_cv_mount_type_'$ac_fs_name'}'`" != notfound
+ then
+ break
+ fi
+
+ # next look for MNT_<fs>
+ AC_EGREP_CPP(yes,
+ AMU_MOUNT_HEADERS(
+ [
+#ifdef MNT_$ac_upcase_fs_symbol
+ yes
+#endif /* MNT_$ac_upcase_fs_symbol */
+ ]), [eval "ac_cv_mount_type_$ac_fs_name=MNT_$ac_upcase_fs_symbol"],
+ [eval "ac_cv_mount_type_$ac_fs_name=notfound"] )
+ # check if need to terminate "for" loop
+ if test "`eval echo '$''{ac_cv_mount_type_'$ac_fs_name'}'`" != notfound
+ then
+ break
+ fi
+
+ # next look for GT_<fs> (ultrix)
+ AC_EGREP_CPP(yes,
+ AMU_MOUNT_HEADERS(
+ [
+#ifdef GT_$ac_upcase_fs_symbol
+ yes
+#endif /* GT_$ac_upcase_fs_symbol */
+ ]), [eval "ac_cv_mount_type_$ac_fs_name=GT_$ac_upcase_fs_symbol"],
+ [eval "ac_cv_mount_type_$ac_fs_name=notfound"] )
+ # check if need to terminate "for" loop
+ if test "`eval echo '$''{ac_cv_mount_type_'$ac_fs_name'}'`" != notfound
+ then
+ break
+ fi
+
+ # look for a loadable filesystem module (linux)
+ if test -f /lib/modules/$host_os_version/fs/$ac_fs_tmp.ko
+ then
+ eval "ac_cv_mount_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ break
+ fi
+ if test -f /lib/modules/$host_os_version/fs/$ac_fs_tmp.o
+ then
+ eval "ac_cv_mount_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ break
+ fi
+
+ # look for a loadable filesystem module (linux 2.4+)
+ if test -f /lib/modules/$host_os_version/kernel/fs/$ac_fs_tmp/$ac_fs_tmp.ko
+ then
+ eval "ac_cv_mount_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ break
+ fi
+ if test -f /lib/modules/$host_os_version/kernel/fs/$ac_fs_tmp/$ac_fs_tmp.o
+ then
+ eval "ac_cv_mount_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ break
+ fi
+
+ # look for a loadable filesystem module (linux redhat-5.1)
+ if test -f /lib/modules/preferred/fs/$ac_fs_tmp.ko
+ then
+ eval "ac_cv_mount_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ break
+ fi
+ if test -f /lib/modules/preferred/fs/$ac_fs_tmp.o
+ then
+ eval "ac_cv_mount_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ break
+ fi
+
+ # in addition look for statically compiled filesystem (linux)
+ if egrep "[[^a-zA-Z0-9_]]$ac_fs_tmp$" /proc/filesystems >/dev/null 2>&1
+ then
+ eval "ac_cv_mount_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ break
+ fi
+
+ # run a test program for bsdi3
+ AC_TRY_RUN(
+ [
+#include <sys/param.h>
+#include <sys/mount.h>
+main()
+{
+ int i;
+ struct vfsconf vf;
+ i = getvfsbyname("$ac_fs_tmp", &vf);
+ if (i < 0)
+ exit(1);
+ else
+ exit(0);
+}
+ ], [eval "ac_cv_mount_type_$ac_fs_name=\\\"$ac_fs_tmp\\\""
+ break
+ ]
+ )
+
+done
+# check if not defined, yet the filesystem is defined
+if test "`eval echo '$''{ac_cv_mount_type_'$ac_fs_name'}'`" = notfound
+then
+# this should test if $ac_cv_fs_<fsname> is "yes"
+ if test "`eval echo '$''{ac_cv_fs_'$ac_fs_name'}'`" = yes ||
+ test "`eval echo '$''{ac_cv_fs_header_'$ac_fs_name'}'`" = yes
+ then
+ eval "ac_cv_mount_type_$ac_fs_name=MNTTYPE_$ac_upcase_fs_name"
+ fi
+fi
+])
+# end of cache check for ac_cv_mount_type_$ac_fs_name
+##############################################################################
+# check if need to define variable
+if test "`eval echo '$''{ac_cv_mount_type_'$ac_fs_name'}'`" != notfound
+then
+ ac_safe=MOUNT_TYPE_$ac_upcase_fs_name
+ ac_tmp=`eval echo '$''{ac_cv_mount_type_'$ac_fs_name'}'`
+ AC_DEFINE_UNQUOTED($ac_safe, $ac_tmp)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/check_mtype_printf_type.m4 b/m4/macros/check_mtype_printf_type.m4
new file mode 100644
index 000000000000..3cd5d7178201
--- /dev/null
+++ b/m4/macros/check_mtype_printf_type.m4
@@ -0,0 +1,22 @@
+dnl ######################################################################
+dnl check the correct printf-style type for the mount type in the mount()
+dnl system call.
+dnl If you change this one, you must also fix the check_mtype_type.m4.
+AC_DEFUN([AMU_CHECK_MTYPE_PRINTF_TYPE],
+[
+AC_CACHE_CHECK(printf string to print type field of mount() call,
+ac_cv_mtype_printf_type,
+[
+# select the correct printf type
+case "${host_os_name}" in
+ osf* | freebsd2* | bsdi2* | aix* | ultrix* )
+ ac_cv_mtype_printf_type="%d" ;;
+ irix3 | isc3 )
+ ac_cv_mtype_printf_type="0x%x" ;;
+ * )
+ ac_cv_mtype_printf_type="%s" ;;
+esac
+])
+AC_DEFINE_UNQUOTED(MTYPE_PRINTF_TYPE, "$ac_cv_mtype_printf_type")
+])
+dnl ======================================================================
diff --git a/m4/macros/check_mtype_type.m4 b/m4/macros/check_mtype_type.m4
new file mode 100644
index 000000000000..8ef2f50ef0ad
--- /dev/null
+++ b/m4/macros/check_mtype_type.m4
@@ -0,0 +1,19 @@
+dnl ######################################################################
+dnl check the correct type for the mount type in the mount() system call
+dnl If you change this one, you must also fix the check_mtype_printf_type.m4.
+AC_DEFUN([AMU_CHECK_MTYPE_TYPE],
+[
+AC_CACHE_CHECK(type of mount type field in mount() call,
+ac_cv_mtype_type,
+[
+# select the correct type
+case "${host_os_name}" in
+ osf* | freebsd2* | bsdi2* | aix* | ultrix* )
+ ac_cv_mtype_type=int ;;
+ * )
+ ac_cv_mtype_type="char *" ;;
+esac
+])
+AC_DEFINE_UNQUOTED(MTYPE_TYPE, $ac_cv_mtype_type)
+])
+dnl ======================================================================
diff --git a/m4/macros/check_network_transport_type.m4 b/m4/macros/check_network_transport_type.m4
new file mode 100644
index 000000000000..9f9de5776df0
--- /dev/null
+++ b/m4/macros/check_network_transport_type.m4
@@ -0,0 +1,27 @@
+dnl ######################################################################
+dnl check the correct network transport type to use
+AC_DEFUN([AMU_CHECK_NETWORK_TRANSPORT_TYPE],
+[
+AC_CACHE_CHECK(network transport type,
+ac_cv_transport_type,
+[
+# select the correct type
+case "${host_os_name}" in
+ solaris1* | sunos[[34]]* | hpux[[6-9]]* | hpux10* )
+ ac_cv_transport_type=sockets ;;
+ solaris* | sunos* | hpux* )
+ ac_cv_transport_type=tli ;;
+ * )
+ ac_cv_transport_type=sockets ;;
+esac
+])
+am_utils_link_files=${am_utils_link_files}libamu/transputil.c:conf/transp/transp_${ac_cv_transport_type}.c" "
+
+# append transport utilities object to LIBOBJS for automatic compilation
+AC_LIBOBJ(transputil)
+if test $ac_cv_transport_type = tli
+then
+ AC_DEFINE(HAVE_TRANSPORT_TYPE_TLI)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/check_nfs_fh_dref.m4 b/m4/macros/check_nfs_fh_dref.m4
new file mode 100644
index 000000000000..6ef0ab4fbb66
--- /dev/null
+++ b/m4/macros/check_nfs_fh_dref.m4
@@ -0,0 +1,47 @@
+dnl ######################################################################
+dnl check the correct way to dereference the address part of the nfs fhandle
+AC_DEFUN([AMU_CHECK_NFS_FH_DREF],
+[
+AC_CACHE_CHECK(nfs file-handle address dereferencing style,
+ac_cv_nfs_fh_dref_style,
+[
+# select the correct nfs address dereferencing style
+case "${host_os}" in
+ hpux[[6-9]]* | hpux10* )
+ ac_cv_nfs_fh_dref_style=hpux ;;
+ sunos3* )
+ ac_cv_nfs_fh_dref_style=sunos3 ;;
+ sunos4* | solaris1* )
+ ac_cv_nfs_fh_dref_style=sunos4 ;;
+ svr4* | sysv4* | solaris* | sunos* | hpux* )
+ ac_cv_nfs_fh_dref_style=svr4 ;;
+ bsd44* | bsdi2* | freebsd2.[[01]]* )
+ ac_cv_nfs_fh_dref_style=bsd44 ;;
+ # all new BSDs changed the type of the
+ # filehandle in nfs_args from nfsv2fh_t to u_char.
+ freebsd* | freebsdelf* | bsdi* | netbsd* | openbsd* | darwin* | macosx* | rhapsody* )
+ ac_cv_nfs_fh_dref_style=freebsd22 ;;
+ aix[[1-3]]* | aix4.[[01]]* )
+ ac_cv_nfs_fh_dref_style=aix3 ;;
+ aix* )
+ ac_cv_nfs_fh_dref_style=aix42 ;;
+ irix* )
+ ac_cv_nfs_fh_dref_style=irix ;;
+ linux* )
+ ac_cv_nfs_fh_dref_style=linux ;;
+ isc3 )
+ ac_cv_nfs_fh_dref_style=isc3 ;;
+ osf[[1-3]]* )
+ ac_cv_nfs_fh_dref_style=osf2 ;;
+ osf* )
+ ac_cv_nfs_fh_dref_style=osf4 ;;
+ nextstep* )
+ ac_cv_nfs_fh_dref_style=nextstep ;;
+ * )
+ ac_cv_nfs_fh_dref_style=default ;;
+esac
+])
+am_utils_nfs_fh_dref=$srcdir"/conf/fh_dref/fh_dref_"$ac_cv_nfs_fh_dref_style".h"
+AC_SUBST_FILE(am_utils_nfs_fh_dref)
+])
+dnl ======================================================================
diff --git a/m4/macros/check_nfs_hn_dref.m4 b/m4/macros/check_nfs_hn_dref.m4
new file mode 100644
index 000000000000..9ed2695d264e
--- /dev/null
+++ b/m4/macros/check_nfs_hn_dref.m4
@@ -0,0 +1,21 @@
+dnl ######################################################################
+dnl check the correct way to dereference the hostname part of the nfs fhandle
+AC_DEFUN([AMU_CHECK_NFS_HN_DREF],
+[
+AC_CACHE_CHECK(nfs hostname dereferencing style,
+ac_cv_nfs_hn_dref_style,
+[
+# select the correct nfs address dereferencing style
+case "${host_os_name}" in
+ linux* )
+ ac_cv_nfs_hn_dref_style=linux ;;
+ isc3 )
+ ac_cv_nfs_hn_dref_style=isc3 ;;
+ * )
+ ac_cv_nfs_hn_dref_style=default ;;
+esac
+])
+am_utils_nfs_hn_dref=$srcdir"/conf/hn_dref/hn_dref_"$ac_cv_nfs_hn_dref_style".h"
+AC_SUBST_FILE(am_utils_nfs_hn_dref)
+])
+dnl ======================================================================
diff --git a/m4/macros/check_nfs_prot_headers.m4 b/m4/macros/check_nfs_prot_headers.m4
new file mode 100644
index 000000000000..36b2c3947299
--- /dev/null
+++ b/m4/macros/check_nfs_prot_headers.m4
@@ -0,0 +1,96 @@
+dnl ######################################################################
+dnl check if system has NFS protocol headers
+AC_DEFUN([AMU_CHECK_NFS_PROT_HEADERS],
+[
+AC_CACHE_CHECK(location of NFS protocol header files,
+ac_cv_nfs_prot_headers,
+[
+# select the correct style for mounting filesystems
+case "${host_os}" in
+ irix5* )
+ ac_cv_nfs_prot_headers=irix5 ;;
+ irix* )
+ ac_cv_nfs_prot_headers=irix6 ;;
+ sunos3* )
+ ac_cv_nfs_prot_headers=sunos3 ;;
+ sunos4* | solaris1* )
+ ac_cv_nfs_prot_headers=sunos4 ;;
+ sunos5.[[0-3]] | solaris2.[[0-3]] )
+ ac_cv_nfs_prot_headers=sunos5_3 ;;
+ sunos5.4* | solaris2.4* )
+ ac_cv_nfs_prot_headers=sunos5_4 ;;
+ sunos5.5* | solaris2.5* )
+ ac_cv_nfs_prot_headers=sunos5_5 ;;
+ sunos5.6* | solaris2.6* )
+ ac_cv_nfs_prot_headers=sunos5_6 ;;
+ sunos5.7* | solaris2.7* )
+ ac_cv_nfs_prot_headers=sunos5_7 ;;
+ sunos5* | solaris2* )
+ ac_cv_nfs_prot_headers=sunos5_8 ;;
+ bsdi2*)
+ ac_cv_nfs_prot_headers=bsdi2 ;;
+ bsdi* )
+ ac_cv_nfs_prot_headers=bsdi3 ;;
+ freebsd2* )
+ ac_cv_nfs_prot_headers=freebsd2 ;;
+ freebsd* | freebsdelf* )
+ ac_cv_nfs_prot_headers=freebsd3 ;;
+ netbsd1.[[0-2]]* )
+ ac_cv_nfs_prot_headers=netbsd ;;
+ netbsd1.3* )
+ ac_cv_nfs_prot_headers=netbsd1_3 ;;
+ netbsd* | netbsdelf* )
+ ac_cv_nfs_prot_headers=netbsd1_4 ;;
+ openbsd* )
+ ac_cv_nfs_prot_headers=openbsd ;;
+ hpux[[6-9]]* | hpux10* )
+ ac_cv_nfs_prot_headers=hpux ;;
+ hpux* )
+ ac_cv_nfs_prot_headers=hpux11 ;;
+ aix[[1-3]]* )
+ ac_cv_nfs_prot_headers=aix3 ;;
+ aix4.[[01]]* )
+ ac_cv_nfs_prot_headers=aix4 ;;
+ aix4.2* )
+ ac_cv_nfs_prot_headers=aix4_2 ;;
+ aix4.3* )
+ ac_cv_nfs_prot_headers=aix4_3 ;;
+ aix5.1* )
+ ac_cv_nfs_prot_headers=aix5_1 ;;
+ aix* )
+ ac_cv_nfs_prot_headers=aix5_2 ;;
+ osf[[1-3]]* )
+ ac_cv_nfs_prot_headers=osf2 ;;
+ osf4* )
+ ac_cv_nfs_prot_headers=osf4 ;;
+ osf* )
+ ac_cv_nfs_prot_headers=osf5 ;;
+ svr4* )
+ ac_cv_nfs_prot_headers=svr4 ;;
+ sysv4* ) # this is for NCR2 machines
+ ac_cv_nfs_prot_headers=ncr2 ;;
+ linux* )
+ ac_cv_nfs_prot_headers=linux ;;
+ nextstep* )
+ ac_cv_nfs_prot_headers=nextstep ;;
+ ultrix* )
+ ac_cv_nfs_prot_headers=ultrix ;;
+ darwin* | macosx* | rhapsody* )
+ ac_cv_nfs_prot_headers=darwin ;;
+ * )
+ ac_cv_nfs_prot_headers=default ;;
+esac
+])
+
+# make sure correct header is linked in top build directory
+am_utils_nfs_prot_file="amu_nfs_prot.h"
+am_utils_link_files=${am_utils_link_files}${am_utils_nfs_prot_file}:conf/nfs_prot/nfs_prot_${ac_cv_nfs_prot_headers}.h" "
+
+# define the name of the header to be included for other M4 macros
+AC_DEFINE_UNQUOTED(AMU_NFS_PROTOCOL_HEADER, "${srcdir}/conf/nfs_prot/nfs_prot_${ac_cv_nfs_prot_headers}.h")
+
+# set headers in a macro for Makefile.am files to use (for dependencies)
+AMU_NFS_PROT_HEADER='${top_builddir}/'$am_utils_nfs_prot_file
+AC_SUBST(AMU_NFS_PROT_HEADER)
+])
+dnl ======================================================================
diff --git a/m4/macros/check_nfs_sa_dref.m4 b/m4/macros/check_nfs_sa_dref.m4
new file mode 100644
index 000000000000..5fa1bea6d9b6
--- /dev/null
+++ b/m4/macros/check_nfs_sa_dref.m4
@@ -0,0 +1,33 @@
+dnl ######################################################################
+dnl check the correct way to dereference the address part of the nfs fhandle
+AC_DEFUN([AMU_CHECK_NFS_SA_DREF],
+[
+AC_CACHE_CHECK(nfs address dereferencing style,
+ac_cv_nfs_sa_dref_style,
+[
+# select the correct nfs address dereferencing style
+case "${host_os}" in
+ hpux[[6-9]]* | hpux10* | sunos[[34]]* | solaris1* )
+ ac_cv_nfs_sa_dref_style=default ;;
+ svr4* | sysv4* | solaris* | sunos* | hpux* )
+ ac_cv_nfs_sa_dref_style=svr4 ;;
+ 386bsd* | bsdi1* )
+ ac_cv_nfs_sa_dref_style=386bsd ;;
+ bsd44* | bsdi* | freebsd* | netbsd* | openbsd* | darwin* | macosx* | rhapsody* )
+ ac_cv_nfs_sa_dref_style=bsd44 ;;
+ linux* )
+ ac_cv_nfs_sa_dref_style=linux ;;
+ aix* )
+ ac_cv_nfs_sa_dref_style=aix3 ;;
+ aoi* )
+ ac_cv_nfs_sa_dref_style=aoi ;;
+ isc3 )
+ ac_cv_nfs_sa_dref_style=isc3 ;;
+ * )
+ ac_cv_nfs_sa_dref_style=default ;;
+esac
+])
+am_utils_nfs_sa_dref=$srcdir"/conf/sa_dref/sa_dref_"$ac_cv_nfs_sa_dref_style".h"
+AC_SUBST_FILE(am_utils_nfs_sa_dref)
+])
+dnl ======================================================================
diff --git a/m4/macros/check_nfs_socket_connection.m4 b/m4/macros/check_nfs_socket_connection.m4
new file mode 100644
index 000000000000..3e3a8074127b
--- /dev/null
+++ b/m4/macros/check_nfs_socket_connection.m4
@@ -0,0 +1,28 @@
+dnl ######################################################################
+dnl check if need to turn on, off, or leave alone the NFS "noconn" option
+AC_DEFUN([AMU_CHECK_NFS_SOCKET_CONNECTION],
+[
+AC_CACHE_CHECK(if to turn on/off noconn option,
+ac_cv_nfs_socket_connection,
+[
+# set default to no-change
+ac_cv_nfs_socket_connection=none
+# select the correct style
+case "${host_os}" in
+ openbsd2.[[01]]* )
+ ac_cv_nfs_socket_connection=noconn ;;
+ openbsd* | freebsd* | freebsdelf* )
+ ac_cv_nfs_socket_connection=conn ;;
+esac
+])
+# set correct value
+case "$ac_cv_nfs_socket_connection" in
+ noconn )
+ AC_DEFINE(USE_UNCONNECTED_NFS_SOCKETS)
+ ;;
+ conn )
+ AC_DEFINE(USE_CONNECTED_NFS_SOCKETS)
+ ;;
+esac
+])
+dnl ======================================================================
diff --git a/m4/macros/check_os_libs.m4 b/m4/macros/check_os_libs.m4
new file mode 100644
index 000000000000..d732a748899b
--- /dev/null
+++ b/m4/macros/check_os_libs.m4
@@ -0,0 +1,28 @@
+dnl ######################################################################
+dnl set OS libraries specific to an OS:
+dnl libnsl/libsocket are needed only on solaris and some svr4 systems.
+dnl Using a typical macro has proven unsuccesful, because on some other
+dnl systems such as irix, including libnsl and or libsocket actually breaks
+dnl lots of code. So I am forced to use a special purpose macro that sets
+dnl the libraries based on the OS. Sigh. -Erez.
+AC_DEFUN([AMU_CHECK_OS_LIBS],
+[
+AC_CACHE_CHECK(for additional OS libraries,
+ac_cv_os_libs,
+[
+# select the correct set of libraries to link with
+case "${host_os_name}" in
+ svr4* | sysv4* | solaris2* | sunos5* | aoi* )
+ ac_cv_os_libs="-lsocket -lnsl" ;;
+ * )
+ ac_cv_os_libs=none ;;
+esac
+])
+# set list of libraries to link with
+if test "$ac_cv_os_libs" != none
+then
+ LIBS="$ac_cv_os_libs $LIBS"
+fi
+
+])
+dnl ======================================================================
diff --git a/m4/macros/check_restartable_signal_handler.m4 b/m4/macros/check_restartable_signal_handler.m4
new file mode 100644
index 000000000000..224274f8d465
--- /dev/null
+++ b/m4/macros/check_restartable_signal_handler.m4
@@ -0,0 +1,22 @@
+dnl ######################################################################
+dnl check if a system needs to restart its signal handlers
+AC_DEFUN([AMU_CHECK_RESTARTABLE_SIGNAL_HANDLER],
+[
+AC_CACHE_CHECK(if system needs to restart signal handlers,
+ac_cv_restartable_signal_handler,
+[
+# select the correct systems to restart signal handlers
+case "${host_os_name}" in
+ svr3* | svr4* | sysv4* | solaris2* | sunos5* | aoi* | irix* )
+ ac_cv_restartable_signal_handler=yes ;;
+ * )
+ ac_cv_restartable_signal_handler=no ;;
+esac
+])
+# define REINSTALL_SIGNAL_HANDLER if need to
+if test "$ac_cv_restartable_signal_handler" = yes
+then
+ AC_DEFINE(REINSTALL_SIGNAL_HANDLER)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/check_umount_style.m4 b/m4/macros/check_umount_style.m4
new file mode 100644
index 000000000000..c5abcf12ea74
--- /dev/null
+++ b/m4/macros/check_umount_style.m4
@@ -0,0 +1,28 @@
+dnl ######################################################################
+dnl check style of unmounting filesystems
+AC_DEFUN([AMU_CHECK_UMOUNT_STYLE],
+[
+AC_CACHE_CHECK(style of unmounting filesystems,
+ac_cv_style_umount,
+[
+# select the correct style for unmounting filesystems
+case "${host_os_name}" in
+ linux* )
+ ac_cv_style_umount=linux ;;
+ bsd44* | bsdi* | freebsd* | netbsd* | openbsd* | darwin* | macosx* | rhapsody* )
+ ac_cv_style_umount=bsd44 ;;
+ osf* )
+ ac_cv_style_umount=osf ;;
+ aix* )
+ ac_cv_style_umount=aix ;;
+ * )
+ ac_cv_style_umount=default ;;
+esac
+])
+am_utils_umount_style_file="umount_fs.c"
+am_utils_link_files=${am_utils_link_files}libamu/${am_utils_umount_style_file}:conf/umount/umount_${ac_cv_style_umount}.c" "
+
+# append un-mount utilities object to LIBOBJS for automatic compilation
+AC_LIBOBJ(umount_fs)
+])
+dnl ======================================================================
diff --git a/m4/macros/check_unmount_args.m4 b/m4/macros/check_unmount_args.m4
new file mode 100644
index 000000000000..678f5ba9c997
--- /dev/null
+++ b/m4/macros/check_unmount_args.m4
@@ -0,0 +1,21 @@
+dnl ######################################################################
+dnl check the unmount system call arguments needed for
+AC_DEFUN([AMU_CHECK_UNMOUNT_ARGS],
+[
+AC_CACHE_CHECK(unmount system-call arguments,
+ac_cv_unmount_args,
+[
+# select the correct style to mount(2) a filesystem
+case "${host_os_name}" in
+ aix* )
+ ac_cv_unmount_args="mnt->mnt_passno, 0" ;;
+ ultrix* )
+ ac_cv_unmount_args="mnt->mnt_passno" ;;
+ * )
+ ac_cv_unmount_args="mnt->mnt_dir" ;;
+esac
+])
+am_utils_unmount_args=$ac_cv_unmount_args
+AC_SUBST(am_utils_unmount_args)
+])
+dnl ======================================================================
diff --git a/m4/macros/check_unmount_call.m4 b/m4/macros/check_unmount_call.m4
new file mode 100644
index 000000000000..34a922ae2f39
--- /dev/null
+++ b/m4/macros/check_unmount_call.m4
@@ -0,0 +1,27 @@
+dnl ######################################################################
+dnl check for the correct system call to unmount a filesystem.
+AC_DEFUN([AMU_CHECK_UNMOUNT_CALL],
+[
+dnl make sure this one is called before [AC_CHECK_UNMOUNT_ARGS]
+AC_BEFORE([$0], [AC_CHECK_UNMOUNT_ARGS])
+AC_CACHE_CHECK(the system call to unmount a filesystem,
+ac_cv_unmount_call,
+[
+# check for various unmount a filesystem calls
+if test "$ac_cv_func_uvmount" = yes ; then
+ ac_cv_unmount_call=uvmount
+elif test "$ac_cv_func_unmount" = yes ; then
+ ac_cv_unmount_call=unmount
+elif test "$ac_cv_func_umount" = yes ; then
+ ac_cv_unmount_call=umount
+else
+ ac_cv_unmount_call=no
+fi
+])
+if test "$ac_cv_unmount_call" != no
+then
+ am_utils_unmount_call=$ac_cv_unmount_call
+ AC_SUBST(am_utils_unmount_call)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/check_varargs_macros.m4 b/m4/macros/check_varargs_macros.m4
new file mode 100644
index 000000000000..44bd3edf1989
--- /dev/null
+++ b/m4/macros/check_varargs_macros.m4
@@ -0,0 +1,39 @@
+dnl ######################################################################
+dnl check if compiler can handle variable-length argument macros
+AC_DEFUN([AMU_VARARGS_MACROS],
+[
+AC_CACHE_CHECK(if compiler can handle variable-length macros,
+ac_cv_varargs_macros,
+[
+# try C99 style
+AC_TRY_COMPILE(
+[
+#define foo(str,size,fmt,...) bar(__FILE__,__LINE__,(str),(size),(fmt),__VA_ARGS__)
+],
+[
+char a[80];
+foo(a, sizeof(a), "%d,%d", 1, 2);
+], ac_cv_varargs_macros=c99,
+# else try gcc style
+AC_TRY_COMPILE(
+[
+#define foo(str,size,args...) bar(__FILE__,__LINE__,(str),(size),(fmt),args)
+],
+[
+char a[80];
+foo(a, sizeof(a), "%d,%d", 1, 2);
+], ac_cv_varargs_macros=gcc, ac_cv_varargs_macros=none))
+])
+if test "$ac_cv_varargs_macros" = c99
+then
+ AC_DEFINE(HAVE_C99_VARARGS_MACROS, 1,
+ [System supports C99-style variable-length argument macros])
+else
+ if test "$ac_cv_varargs_macros" = gcc
+ then
+ AC_DEFINE(HAVE_GCC_VARARGS_MACROS, 1,
+ [System supports GCC-style variable-length argument macros])
+ fi
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/expand_cpp_hex.m4 b/m4/macros/expand_cpp_hex.m4
new file mode 100644
index 000000000000..0c7a9e421abd
--- /dev/null
+++ b/m4/macros/expand_cpp_hex.m4
@@ -0,0 +1,40 @@
+dnl ######################################################################
+dnl Expand the value of a CPP macro into a printable hex number.
+dnl Takes: header, macro, [action-if-found, [action-if-not-found]]
+dnl It runs the header through CPP looking for a match between the macro
+dnl and a string pattern, and if sucessful, it prints the string value out.
+AC_DEFUN([AMU_EXPAND_CPP_HEX],
+[
+# we are looking for a regexp of a string
+AC_EGREP_CPP(0x,
+[$1]
+$2,
+value="notfound"
+AC_TRY_RUN(
+[
+[$1]
+main(argc)
+int argc;
+{
+#ifdef $2
+if (argc > 1)
+ printf("0x%x", $2);
+exit(0);
+#else
+# error no such option $2
+#endif
+exit(1);
+}], value=`./conftest dummy 2>>config.log`, value="notfound", value="notfound")
+,
+value="notfound"
+)
+if test "$value" = notfound
+then
+ :
+ $4
+else
+ :
+ $3
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/expand_cpp_int.m4 b/m4/macros/expand_cpp_int.m4
new file mode 100644
index 000000000000..37253769cfd5
--- /dev/null
+++ b/m4/macros/expand_cpp_int.m4
@@ -0,0 +1,42 @@
+dnl ######################################################################
+dnl Expand the value of a CPP macro into a printable integer number.
+dnl Takes: header, macro, [action-if-found, [action-if-not-found]]
+dnl It runs the header through CPP looking for a match between the macro
+dnl and a string pattern, and if sucessful, it prints the string value out.
+AC_DEFUN([AMU_EXPAND_CPP_INT],
+[
+# we are looking for a regexp of an integer (must not start with 0 --- those
+# are octals).
+AC_EGREP_CPP(
+[[1-9]][[0-9]]*,
+[$1]
+$2,
+value="notfound"
+AC_TRY_RUN(
+[
+[$1]
+main(argc)
+int argc;
+{
+#ifdef $2
+if (argc > 1)
+ printf("%d", $2);
+exit(0);
+#else
+# error no such option $2
+#endif
+exit(1);
+}], value=`./conftest dummy 2>>config.log`, value="notfound", value="notfound")
+,
+value="notfound"
+)
+if test "$value" = notfound
+then
+ :
+ $4
+else
+ :
+ $3
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/expand_cpp_string.m4 b/m4/macros/expand_cpp_string.m4
new file mode 100644
index 000000000000..51293c4f7a12
--- /dev/null
+++ b/m4/macros/expand_cpp_string.m4
@@ -0,0 +1,40 @@
+dnl ######################################################################
+dnl Expand the value of a CPP macro into a printable string.
+dnl Takes: header, macro, [action-if-found, [action-if-not-found]]
+dnl It runs the header through CPP looking for a match between the macro
+dnl and a string pattern, and if sucessful, it prints the string value out.
+AC_DEFUN([AMU_EXPAND_CPP_STRING],
+[
+# we are looking for a regexp of a string
+AC_EGREP_CPP(\".*\",
+[$1]
+$2,
+value="notfound"
+AC_TRY_RUN(
+[
+[$1]
+main(argc)
+int argc;
+{
+#ifdef $2
+if (argc > 1)
+ printf("%s", $2);
+exit(0);
+#else
+# error no such option $2
+#endif
+exit(1);
+}], value=`./conftest dummy 2>>config.log`, value="notfound", value="notfound")
+,
+value="notfound"
+)
+if test "$value" = notfound
+then
+ :
+ $4
+else
+ :
+ $3
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/expand_run_string.m4 b/m4/macros/expand_run_string.m4
new file mode 100644
index 000000000000..2cb964e11f91
--- /dev/null
+++ b/m4/macros/expand_run_string.m4
@@ -0,0 +1,29 @@
+dnl ######################################################################
+dnl Run a program and print its output as a string
+dnl Takes: (header, code-to-run, [action-if-found, [action-if-not-found]])
+AC_DEFUN([AMU_EXPAND_RUN_STRING],
+[
+value="notfound"
+AC_TRY_RUN(
+[
+$1
+main(argc)
+int argc;
+{
+$2
+exit(0);
+}],
+[
+value=`./conftest dummy 2>>config.log`
+test -z "$value" && value="notfound"
+], value="notfound", value="notfound")
+if test "$value" = notfound
+then
+ :
+ $4
+else
+ :
+ $3
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/extern_optarg.m4 b/m4/macros/extern_optarg.m4
new file mode 100644
index 000000000000..70cb50ae690e
--- /dev/null
+++ b/m4/macros/extern_optarg.m4
@@ -0,0 +1,36 @@
+dnl ######################################################################
+dnl find if "extern char *optarg" exists in headers
+AC_DEFUN([AMU_EXTERN_OPTARG],
+[
+AC_CACHE_CHECK(if external definition for optarg[] exists,
+ac_cv_extern_optarg,
+[
+# try to compile program that uses the variable
+AC_TRY_COMPILE(
+[
+#ifdef HAVE_STDIO_H
+# include <stdio.h>
+#endif /* HAVE_STDIO_H */
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif /* HAVE_UNISTD_H */
+#ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+#endif /* HAVE_STDLIB_H */
+#ifdef HAVE_SYS_ERRNO_H
+# include <sys/errno.h>
+#endif /* HAVE_SYS_ERRNO_H */
+#ifdef HAVE_ERRNO_H
+# include <errno.h>
+#endif /* HAVE_ERRNO_H */
+],
+[
+char *cp = optarg;
+], ac_cv_extern_optarg=yes, ac_cv_extern_optarg=no)
+])
+if test "$ac_cv_extern_optarg" = yes
+then
+ AC_DEFINE(HAVE_EXTERN_OPTARG)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/extern_sys_errlist.m4 b/m4/macros/extern_sys_errlist.m4
new file mode 100644
index 000000000000..7d95752341f7
--- /dev/null
+++ b/m4/macros/extern_sys_errlist.m4
@@ -0,0 +1,30 @@
+dnl ######################################################################
+dnl find if "extern char *sys_errlist[]" exist in headers
+AC_DEFUN([AMU_EXTERN_SYS_ERRLIST],
+[
+AC_CACHE_CHECK(if external definition for sys_errlist[] exists,
+ac_cv_extern_sys_errlist,
+[
+# try to locate pattern in header files
+#pattern="(extern)?.*char.*sys_errlist.*\[\]"
+pattern="(extern)?.*char.*sys_errlist.*"
+AC_EGREP_CPP(${pattern},
+[
+#ifdef HAVE_STDIO_H
+# include <stdio.h>
+#endif /* HAVE_STDIO_H */
+#ifdef HAVE_SYS_ERRNO_H
+# include <sys/errno.h>
+#endif /* HAVE_SYS_ERRNO_H */
+#ifdef HAVE_ERRNO_H
+# include <errno.h>
+#endif /* HAVE_ERRNO_H */
+], ac_cv_extern_sys_errlist=yes, ac_cv_extern_sys_errlist=no)
+])
+# check if need to define variable
+if test "$ac_cv_extern_sys_errlist" = yes
+then
+ AC_DEFINE(HAVE_EXTERN_SYS_ERRLIST)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/field_mntent_t_mnt_time_string.m4 b/m4/macros/field_mntent_t_mnt_time_string.m4
new file mode 100644
index 000000000000..42ad647b4385
--- /dev/null
+++ b/m4/macros/field_mntent_t_mnt_time_string.m4
@@ -0,0 +1,36 @@
+fdnl ######################################################################
+dnl find if mntent_t field mnt_time exists and is of type "char *"
+AC_DEFUN([AMU_FIELD_MNTENT_T_MNT_TIME_STRING],
+[
+AC_CACHE_CHECK(if mntent_t field mnt_time exist as type string,
+ac_cv_field_mntent_t_mnt_time_string,
+[
+# try to compile a program
+AC_TRY_COMPILE(
+AMU_MOUNT_HEADERS(
+[
+/* now set the typedef */
+#ifdef HAVE_STRUCT_MNTENT
+typedef struct mntent mntent_t;
+#else /* not HAVE_STRUCT_MNTENT */
+# ifdef HAVE_STRUCT_MNTTAB
+typedef struct mnttab mntent_t;
+# else /* not HAVE_STRUCT_MNTTAB */
+# error XXX: could not find definition for struct mntent or struct mnttab!
+# endif /* not HAVE_STRUCT_MNTTAB */
+#endif /* not HAVE_STRUCT_MNTENT */
+]),
+[
+mntent_t mtt;
+char *cp = "test";
+int i;
+mtt.mnt_time = cp;
+i = mtt.mnt_time[0];
+], ac_cv_field_mntent_t_mnt_time_string=yes, ac_cv_field_mntent_t_mnt_time_string=no)
+])
+if test "$ac_cv_field_mntent_t_mnt_time_string" = yes
+then
+ AC_DEFINE(HAVE_MNTENT_T_MNT_TIME_STRING)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/func_bad_hasmntopt.m4 b/m4/macros/func_bad_hasmntopt.m4
new file mode 100644
index 000000000000..d458bd30c4c0
--- /dev/null
+++ b/m4/macros/func_bad_hasmntopt.m4
@@ -0,0 +1,59 @@
+dnl ######################################################################
+dnl Check if we have as buggy hasmntopt() libc function
+AC_DEFUN([AMU_FUNC_BAD_HASMNTOPT],
+[
+AC_CACHE_CHECK([for working hasmntopt], ac_cv_func_hasmntopt_working,
+[AC_TRY_RUN(
+AMU_MOUNT_HEADERS(
+[[
+#ifdef HAVE_MNTENT_H
+/* some systems need <stdio.h> before <mntent.h> is included */
+# ifdef HAVE_STDIO_H
+# include <stdio.h>
+# endif /* HAVE_STDIO_H */
+# include <mntent.h>
+#endif /* HAVE_MNTENT_H */
+#ifdef HAVE_SYS_MNTENT_H
+# include <sys/mntent.h>
+#endif /* HAVE_SYS_MNTENT_H */
+#ifdef HAVE_SYS_MNTTAB_H
+# include <sys/mnttab.h>
+#endif /* HAVE_SYS_MNTTAB_H */
+#if defined(HAVE_MNTTAB_H) && !defined(MNTTAB)
+# include <mnttab.h>
+#endif /* defined(HAVE_MNTTAB_H) && !defined(MNTTAB) */
+#ifdef HAVE_STRUCT_MNTENT
+typedef struct mntent mntent_t;
+#else /* not HAVE_STRUCT_MNTENT */
+# ifdef HAVE_STRUCT_MNTTAB
+typedef struct mnttab mntent_t;
+/* map struct mnttab field names to struct mntent field names */
+# define mnt_opts mnt_mntopts
+# endif /* not HAVE_STRUCT_MNTTAB */
+#endif /* not HAVE_STRUCT_MNTENT */
+
+int main()
+{
+ mntent_t mnt;
+ char *tmp = NULL;
+
+ /*
+ * Test if hasmntopt will incorrectly find the string "soft", which
+ * is part of the large "softlookup" function.
+ */
+ mnt.mnt_opts = "hard,softlookup,ro";
+
+ if ((tmp = hasmntopt(&mnt, "soft")))
+ exit(1);
+ exit(0);
+}
+]]),
+ [ac_cv_func_hasmntopt_working=yes],
+ [ac_cv_func_hasmntopt_working=no]
+)])
+if test $ac_cv_func_hasmntopt_working = no
+then
+ AC_LIBOBJ([hasmntopt])
+ AC_DEFINE(HAVE_BAD_HASMNTOPT)
+fi
+])
diff --git a/m4/macros/func_bad_memcmp.m4 b/m4/macros/func_bad_memcmp.m4
new file mode 100644
index 000000000000..1713ff9cf1c1
--- /dev/null
+++ b/m4/macros/func_bad_memcmp.m4
@@ -0,0 +1,11 @@
+dnl My version is similar to the one from Autoconf 2.52, but I also
+dnl define HAVE_BAD_MEMCMP so that I can do smarter things to avoid
+dnl linkage conflicts with bad memcmp versions that are in libc.
+AC_DEFUN([AMU_FUNC_BAD_MEMCMP],
+[
+AC_FUNC_MEMCMP
+if test "$ac_cv_func_memcmp_working" = no
+then
+AC_DEFINE(HAVE_BAD_MEMCMP)
+fi
+])
diff --git a/m4/macros/func_bad_yp_all.m4 b/m4/macros/func_bad_yp_all.m4
new file mode 100644
index 000000000000..2f548fe64fd6
--- /dev/null
+++ b/m4/macros/func_bad_yp_all.m4
@@ -0,0 +1,27 @@
+dnl Check for a yp_all() function that does not leak a file descriptor
+dnl to the ypserv process.
+AC_DEFUN([AMU_FUNC_BAD_YP_ALL],
+[
+AC_CACHE_CHECK(for a file-descriptor leakage clean yp_all,
+ac_cv_func_yp_all_clean,
+[
+# clean by default
+ac_cv_func_yp_all_clean=yes
+# select the correct type
+case "${host_os_name}" in
+ irix* )
+ ac_cv_func_yp_all_clean=no ;;
+ linux* )
+ # RedHat 5.1 systems with glibc glibc-2.0.7-19 or below
+ # leak a UDP socket from yp_all()
+ case "`cat /etc/redhat-release /dev/null 2>/dev/null`" in
+ *5.1* )
+ ac_cv_func_yp_all_clean=no ;;
+ esac
+esac
+])
+if test $ac_cv_func_yp_all_clean = no
+then
+ AC_DEFINE(HAVE_BAD_YP_ALL)
+fi
+])
diff --git a/m4/macros/header_templates.m4 b/m4/macros/header_templates.m4
new file mode 100644
index 000000000000..71cca120904b
--- /dev/null
+++ b/m4/macros/header_templates.m4
@@ -0,0 +1,1103 @@
+dnl FILE: m4/macros/header_templates.m4
+dnl defines descriptions for various am-utils specific macros
+
+AH_TEMPLATE([HAVE_AMU_FS_AUTO],
+[Define if have automount filesystem])
+
+AH_TEMPLATE([HAVE_AMU_FS_DIRECT],
+[Define if have direct automount filesystem])
+
+AH_TEMPLATE([HAVE_AMU_FS_TOPLVL],
+[Define if have "top-level" filesystem])
+
+AH_TEMPLATE([HAVE_AMU_FS_ERROR],
+[Define if have error filesystem])
+
+AH_TEMPLATE([HAVE_AMU_FS_PROGRAM],
+[Define if have program filesystem])
+
+AH_TEMPLATE([HAVE_AMU_FS_LINK],
+[Define if have symbolic-link filesystem])
+
+AH_TEMPLATE([HAVE_AMU_FS_LINKX],
+[Define if have symlink with existence check filesystem])
+
+AH_TEMPLATE([HAVE_AMU_FS_HOST],
+[Define if have NFS host-tree filesystem])
+
+AH_TEMPLATE([HAVE_AMU_FS_NFSL],
+[Define if have nfsl (NFS with local link check) filesystem])
+
+AH_TEMPLATE([HAVE_AMU_FS_NFSX],
+[Define if have multi-NFS filesystem])
+
+AH_TEMPLATE([HAVE_AMU_FS_UNION],
+[Define if have union filesystem])
+
+AH_TEMPLATE([HAVE_MAP_FILE],
+[Define if have file maps (everyone should have it!)])
+
+AH_TEMPLATE([HAVE_MAP_NIS],
+[Define if have NIS maps])
+
+AH_TEMPLATE([HAVE_MAP_NISPLUS],
+[Define if have NIS+ maps])
+
+AH_TEMPLATE([HAVE_MAP_DBM],
+[Define if have DBM maps])
+
+AH_TEMPLATE([HAVE_MAP_NDBM],
+[Define if have NDBM maps])
+
+AH_TEMPLATE([HAVE_MAP_HESIOD],
+[Define if have HESIOD maps])
+
+AH_TEMPLATE([HAVE_MAP_LDAP],
+[Define if have LDAP maps])
+
+AH_TEMPLATE([HAVE_MAP_PASSWD],
+[Define if have PASSWD maps])
+
+AH_TEMPLATE([HAVE_MAP_SUN],
+[Define if have Sun-syntax maps])
+
+AH_TEMPLATE([HAVE_MAP_UNION],
+[Define if have UNION maps])
+
+AH_TEMPLATE([HAVE_MAP_EXEC],
+[Define if have executable maps])
+
+AH_TEMPLATE([HAVE_FS_UFS],
+[Define if have UFS filesystem])
+
+AH_TEMPLATE([HAVE_FS_FFS],
+[Define if have FFS filesystem])
+
+AH_TEMPLATE([HAVE_FS_XFS],
+[Define if have XFS filesystem (irix)])
+
+AH_TEMPLATE([HAVE_FS_EFS],
+[Define if have EFS filesystem (irix)])
+
+AH_TEMPLATE([HAVE_FS_EXT],
+[Define if have EXT{2,3,4} filesystem (linux)])
+
+AH_TEMPLATE([HAVE_FS_NFS],
+[Define if have NFS filesystem])
+
+AH_TEMPLATE([HAVE_FS_NFS3],
+[Define if have NFS3 filesystem])
+
+AH_TEMPLATE([HAVE_FS_NFS4],
+[Define if have NFS4 filesystem])
+
+AH_TEMPLATE([HAVE_FS_PCFS],
+[Define if have PCFS filesystem])
+
+AH_TEMPLATE([HAVE_FS_LOFS],
+[Define if have LOFS filesystem])
+
+AH_TEMPLATE([HAVE_FS_HSFS],
+[Define if have HSFS filesystem])
+
+AH_TEMPLATE([HAVE_FS_CDFS],
+[Define if have CDFS filesystem])
+
+AH_TEMPLATE([HAVE_FS_UDF],
+[Define if have UDF filesystem])
+
+AH_TEMPLATE([HAVE_FS_LUSTRE],
+[Define if have LUSTRE filesystem])
+
+AH_TEMPLATE([HAVE_FS_TFS],
+[Define if have TFS filesystem])
+
+AH_TEMPLATE([HAVE_FS_TMPFS],
+[Define if have TMPFS filesystem])
+
+AH_TEMPLATE([HAVE_FS_MFS],
+[Define if have MFS filesystem])
+
+AH_TEMPLATE([HAVE_FS_CFS],
+[Define if have CFS (crypto) filesystem])
+
+AH_TEMPLATE([HAVE_FS_AUTOFS],
+[Define if have AUTOFS filesystem])
+
+AH_TEMPLATE([HAVE_FS_CACHEFS],
+[Define if have CACHEFS filesystem])
+
+AH_TEMPLATE([HAVE_FS_NULLFS],
+[Define if have NULLFS (loopback on bsd44) filesystem])
+
+AH_TEMPLATE([HAVE_FS_UNIONFS],
+[Define if have UNIONFS filesystem])
+
+AH_TEMPLATE([HAVE_FS_UMAPFS],
+[Define if have UMAPFS (uid/gid mapping) filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_UFS],
+[Mount(2) type/name for UFS filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_FFS],
+[Mount(2) type/name for FFS filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_XFS],
+[Mount(2) type/name for XFS filesystem (irix)])
+
+AH_TEMPLATE([MOUNT_TYPE_EFS],
+[Mount(2) type/name for EFS filesystem (irix)])
+
+AH_TEMPLATE([MOUNT_TYPE_EXT2],
+[Mount(2) type/name for EXT2 filesystem (linux)])
+
+AH_TEMPLATE([MOUNT_TYPE_EXT3],
+[Mount(2) type/name for EXT3 filesystem (linux)])
+
+AH_TEMPLATE([MOUNT_TYPE_EXT4],
+[Mount(2) type/name for EXT4 filesystem (linux)])
+
+AH_TEMPLATE([MOUNT_TYPE_NFS],
+[Mount(2) type/name for NFS filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_NFS3],
+[Mount(2) type/name for NFS3 filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_NFS4],
+[Mount(2) type/name for NFS4 filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_PCFS],
+[Mount(2) type/name for PCFS filesystem. XXX: conf/trap/trap_hpux.h may override this definition for HPUX 9.0])
+
+AH_TEMPLATE([MOUNT_TYPE_LOFS],
+[Mount(2) type/name for LOFS filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_CDFS],
+[Mount(2) type/name for CDFS filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_UDF],
+[Mount(2) type/name for UDF filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_LUSTRE],
+[Mount(2) type/name for LUSTRE filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_LUSTRE],
+[Mount(2) type/name for LUSTRE filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_TFS],
+[Mount(2) type/name for TFS filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_TMPFS],
+[Mount(2) type/name for TMPFS filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_MFS],
+[Mount(2) type/name for MFS filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_CFS],
+[Mount(2) type/name for CFS (crypto) filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_AUTOFS],
+[Mount(2) type/name for AUTOFS filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_CACHEFS],
+[Mount(2) type/name for CACHEFS filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_IGNORE],
+[Mount(2) type/name for IGNORE filesystem (not real just ignore for df)])
+
+AH_TEMPLATE([MOUNT_TYPE_NULLFS],
+[Mount(2) type/name for NULLFS (loopback on bsd44) filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_UNIONFS],
+[Mount(2) type/name for UNIONFS filesystem])
+
+AH_TEMPLATE([MOUNT_TYPE_UMAPFS],
+[Mount(2) type/name for UMAPFS (uid/gid mapping) filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_UFS],
+[Mount-table entry name for UFS filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_FFS],
+[Mount-table entry name for FFS filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_XFS],
+[Mount-table entry name for XFS filesystem (irix)])
+
+AH_TEMPLATE([MNTTAB_TYPE_EFS],
+[Mount-table entry name for EFS filesystem (irix)])
+
+AH_TEMPLATE([MNTTAB_TYPE_EXT2],
+[Mount-table entry name for EXT2 filesystem (linux)])
+
+AH_TEMPLATE([MNTTAB_TYPE_EXT3],
+[Mount-table entry name for EXT3 filesystem (linux)])
+
+AH_TEMPLATE([MNTTAB_TYPE_EXT4],
+[Mount-table entry name for EXT4 filesystem (linux)])
+
+AH_TEMPLATE([MNTTAB_TYPE_NFS],
+[Mount-table entry name for NFS filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_NFS3],
+[Mount-table entry name for NFS3 filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_NFS4],
+[Mount-table entry name for NFS4 filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_PCFS],
+[Mount-table entry name for PCFS filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_LOFS],
+[Mount-table entry name for LOFS filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_CDFS],
+[Mount-table entry name for CDFS filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_UDF],
+[Mount-table entry name for UDF filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_LUSTRE],
+[Mount-table entry name for LUSTRE filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_TFS],
+[Mount-table entry name for TFS filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_TMPFS],
+[Mount-table entry name for TMPFS filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_MFS],
+[Mount-table entry name for MFS filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_CFS],
+[Mount-table entry name for CFS (crypto) filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_AUTOFS],
+[Mount-table entry name for AUTOFS filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_CACHEFS],
+[Mount-table entry name for CACHEFS filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_NULLFS],
+[Mount-table entry name for NULLFS (loopback on bsd44) filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_UNIONFS],
+[Mount-table entry name for UNIONFS filesystem])
+
+AH_TEMPLATE([MNTTAB_TYPE_UMAPFS],
+[Mount-table entry name for UMAPFS (uid/gid mapping) filesystem])
+
+AH_TEMPLATE([MNTTAB_FILE_NAME],
+[Name of mount table file name])
+
+AH_TEMPLATE([HIDE_MOUNT_TYPE],
+[Name of mount type to hide amd mount from df(1)])
+
+AH_TEMPLATE([MNTTAB_OPT_RO],
+[Mount Table option string: Read only])
+
+AH_TEMPLATE([MNTTAB_OPT_RW],
+[Mount Table option string: Read/write])
+
+AH_TEMPLATE([MNTTAB_OPT_RQ],
+[Mount Table option string: Read/write with quotas])
+
+AH_TEMPLATE([MNTTAB_OPT_QUOTA],
+[Mount Table option string: Check quotas])
+
+AH_TEMPLATE([MNTTAB_OPT_NOQUOTA],
+[Mount Table option string: Don't check quotas])
+
+AH_TEMPLATE([MNTTAB_OPT_ONERROR],
+[Mount Table option string: action to taken on error])
+
+AH_TEMPLATE([MNTTAB_OPT_TOOSOON],
+[Mount Table option string: min. time between inconsistencies])
+
+AH_TEMPLATE([MNTTAB_OPT_SOFT],
+[Mount Table option string: Soft mount])
+
+AH_TEMPLATE([MNTTAB_OPT_SPONGY],
+[Mount Table option string: spongy mount])
+
+AH_TEMPLATE([MNTTAB_OPT_HARD],
+[Mount Table option string: Hard mount])
+
+AH_TEMPLATE([MNTTAB_OPT_SUID],
+[Mount Table option string: Set uid allowed])
+
+AH_TEMPLATE([MNTTAB_OPT_NOSUID],
+[Mount Table option string: Set uid not allowed])
+
+AH_TEMPLATE([MNTTAB_OPT_GRPID],
+[Mount Table option string: SysV-compatible gid on create])
+
+AH_TEMPLATE([MNTTAB_OPT_REMOUNT],
+[Mount Table option string: Change mount options])
+
+AH_TEMPLATE([MNTTAB_OPT_NOSUB],
+[Mount Table option string: Disallow mounts on subdirs])
+
+AH_TEMPLATE([MNTTAB_OPT_MULTI],
+[Mount Table option string: Do multi-component lookup])
+
+AH_TEMPLATE([MNTTAB_OPT_INTR],
+[Mount Table option string: Allow NFS ops to be interrupted])
+
+AH_TEMPLATE([MNTTAB_OPT_NOINTR],
+[Mount Table option string: Don't allow interrupted ops])
+
+AH_TEMPLATE([MNTTAB_OPT_PORT],
+[Mount Table option string: NFS server IP port number])
+
+AH_TEMPLATE([MNTTAB_OPT_SECURE],
+[Mount Table option string: Secure (AUTH_DES) mounting])
+
+AH_TEMPLATE([MNTTAB_OPT_KERB],
+[Mount Table option string: Secure (AUTH_Kerb) mounting])
+
+AH_TEMPLATE([MNTTAB_OPT_RSIZE],
+[Mount Table option string: Max NFS read size (bytes)])
+
+AH_TEMPLATE([MNTTAB_OPT_WSIZE],
+[Mount Table option string: Max NFS write size (bytes)])
+
+AH_TEMPLATE([MNTTAB_OPT_TIMEO],
+[Mount Table option string: NFS timeout (1/10 sec)])
+
+AH_TEMPLATE([MNTTAB_OPT_RETRANS],
+[Mount Table option string: Max retransmissions (soft mnts)])
+
+AH_TEMPLATE([MNTTAB_OPT_ACTIMEO],
+[Mount Table option string: Attr cache timeout (sec)])
+
+AH_TEMPLATE([MNTTAB_OPT_ACREGMIN],
+[Mount Table option string: Min attr cache timeout (files)])
+
+AH_TEMPLATE([MNTTAB_OPT_ACREGMAX],
+[Mount Table option string: Max attr cache timeout (files)])
+
+AH_TEMPLATE([MNTTAB_OPT_ACDIRMIN],
+[Mount Table option string: Min attr cache timeout (dirs)])
+
+AH_TEMPLATE([MNTTAB_OPT_ACDIRMAX],
+[Mount Table option string: Max attr cache timeout (dirs)])
+
+AH_TEMPLATE([MNTTAB_OPT_NOAC],
+[Mount Table option string: Don't cache attributes at all])
+
+AH_TEMPLATE([MNTTAB_OPT_NOCTO],
+[Mount Table option string: No close-to-open consistency])
+
+AH_TEMPLATE([MNTTAB_OPT_BG],
+[Mount Table option string: Do mount retries in background])
+
+AH_TEMPLATE([MNTTAB_OPT_FG],
+[Mount Table option string: Do mount retries in foreground])
+
+AH_TEMPLATE([MNTTAB_OPT_RETRY],
+[Mount Table option string: Number of mount retries])
+
+AH_TEMPLATE([MNTTAB_OPT_DEV],
+[Mount Table option string: Device id of mounted fs])
+
+AH_TEMPLATE([MNTTAB_OPT_FSID],
+[Mount Table option string: Filesystem id of mounted fs])
+
+AH_TEMPLATE([MNTTAB_OPT_POSIX],
+[Mount Table option string: Get static pathconf for mount])
+
+AH_TEMPLATE([MNTTAB_OPT_PRIVATE],
+[Mount Table option string: Use local locking])
+
+AH_TEMPLATE([MNTTAB_OPT_MAP],
+[Mount Table option string: Automount map])
+
+AH_TEMPLATE([MNTTAB_OPT_DIRECT],
+[Mount Table option string: Automount direct map mount])
+
+AH_TEMPLATE([MNTTAB_OPT_INDIRECT],
+[Mount Table option string: Automount indirect map mount])
+
+AH_TEMPLATE([MNTTAB_OPT_LLOCK],
+[Mount Table option string: Local locking (no lock manager)])
+
+AH_TEMPLATE([MNTTAB_OPT_IGNORE],
+[Mount Table option string: Ignore this entry])
+
+AH_TEMPLATE([MNTTAB_OPT_NOAUTO],
+[Mount Table option string: No auto (what?)])
+
+AH_TEMPLATE([MNTTAB_OPT_NOCONN],
+[Mount Table option string: No connection])
+
+AH_TEMPLATE([MNTTAB_OPT_VERS],
+[Mount Table option string: protocol version number indicator])
+
+AH_TEMPLATE([MNTTAB_OPT_PROTO],
+[Mount Table option string: protocol network_id indicator])
+
+AH_TEMPLATE([MNTTAB_OPT_SYNCDIR],
+[Mount Table option string: Synchronous local directory ops])
+
+AH_TEMPLATE([MNTTAB_OPT_NOSETSEC],
+[Mount Table option string: Do no allow setting sec attrs])
+
+AH_TEMPLATE([MNTTAB_OPT_SYMTTL],
+[Mount Table option string: set symlink cache time-to-live])
+
+AH_TEMPLATE([MNTTAB_OPT_COMPRESS],
+[Mount Table option string: compress])
+
+AH_TEMPLATE([MNTTAB_OPT_PGTHRESH],
+[Mount Table option string: paging threshold])
+
+AH_TEMPLATE([MNTTAB_OPT_MAXGROUPS],
+[Mount Table option string: max groups])
+
+AH_TEMPLATE([MNTTAB_OPT_PROPLIST],
+[Mount Table option string: support property lists (ACLs)])
+
+AH_TEMPLATE([MNTTAB_OPT_LONGNAME],
+[Force Win95 long names])
+
+AH_TEMPLATE([MNTTAB_OPT_NOWIN95],
+[Completely ignore Win95 entries])
+
+AH_TEMPLATE([MNTTAB_OPT_SHORTNAME],
+[Force old DOS short names only])
+
+AH_TEMPLATE([MNTTAB_OPT_NOACL],
+[Access Control Lists are not supported])
+
+
+AH_TEMPLATE([MNT2_GEN_OPT_ASYNC],
+[asynchronous filesystem access])
+
+AH_TEMPLATE([MNT2_GEN_OPT_AUTOMNTFS],
+[automounter filesystem (ignore) flag, used in bsdi-4.1])
+
+AH_TEMPLATE([MNT2_GEN_OPT_AUTOMOUNTED],
+[automounter filesystem flag, used in Mac OS X / Darwin])
+
+AH_TEMPLATE([MNT2_GEN_OPT_BIND],
+[directory hardlink])
+
+AH_TEMPLATE([MNT2_GEN_OPT_CACHE],
+[cache (what?)])
+
+AH_TEMPLATE([MNT2_GEN_OPT_DATA],
+[6-argument mount])
+
+AH_TEMPLATE([MNT2_GEN_OPT_DETACH],
+[Use a lazy unmount (detach)])
+
+AH_TEMPLATE([MNT2_GEN_OPT_FORCE],
+[Use a forced unmount])
+
+AH_TEMPLATE([MNT2_GEN_OPT_FSS],
+[old (4-argument) mount (compatibility)])
+
+AH_TEMPLATE([MNT2_GEN_OPT_IGNORE],
+[ignore mount entry in df output])
+
+AH_TEMPLATE([MNT2_GEN_OPT_JFS],
+[journaling filesystem (AIX's UFS/FFS)])
+
+AH_TEMPLATE([MNT2_GEN_OPT_GRPID],
+[old BSD group-id on create])
+
+AH_TEMPLATE([MNT2_GEN_OPT_MULTI],
+[do multi-component lookup on files])
+
+AH_TEMPLATE([MNT2_GEN_OPT_NEWTYPE],
+[use type string instead of int])
+
+AH_TEMPLATE([MNT2_GEN_OPT_NFS],
+[NFS mount])
+
+AH_TEMPLATE([MNT2_GEN_OPT_NOCACHE],
+[nocache (what?)])
+
+AH_TEMPLATE([MNT2_GEN_OPT_NODEV],
+[do not interpret special device files])
+
+AH_TEMPLATE([MNT2_GEN_OPT_NOEXEC],
+[no exec calls allowed])
+
+AH_TEMPLATE([MNT2_GEN_OPT_NONDEV],
+[do not interpret special device files])
+
+AH_TEMPLATE([MNT2_GEN_OPT_NOSUB],
+[Disallow mounts beneath this mount])
+
+AH_TEMPLATE([MNT2_GEN_OPT_NOSUID],
+[Setuid programs disallowed])
+
+AH_TEMPLATE([MNT2_GEN_OPT_NOTRUNC],
+[Return ENAMETOOLONG for long filenames])
+
+AH_TEMPLATE([MNT2_GEN_OPT_OPTIONSTR],
+[Pass mount option string to kernel])
+
+AH_TEMPLATE([MNT2_GEN_OPT_OVERLAY],
+[allow overlay mounts])
+
+AH_TEMPLATE([MNT2_GEN_OPT_QUOTA],
+[check quotas])
+
+AH_TEMPLATE([MNT2_GEN_OPT_RDONLY],
+[Read-only])
+
+AH_TEMPLATE([MNT2_GEN_OPT_REMOUNT],
+[change options on an existing mount])
+
+AH_TEMPLATE([MNT2_GEN_OPT_RONLY],
+[read only])
+
+AH_TEMPLATE([MNT2_GEN_OPT_SYNC],
+[synchronize data immediately to filesystem])
+
+AH_TEMPLATE([MNT2_GEN_OPT_SYNCHRONOUS],
+[synchronous filesystem access (same as SYNC)])
+
+AH_TEMPLATE([MNT2_GEN_OPT_NOATIME],
+[don't update access times])
+
+AH_TEMPLATE([MNT2_GEN_OPT_NODIRATIME],
+[don't update directory access times])
+
+AH_TEMPLATE([MNT2_GEN_OPT_MANDLOCK],
+[honor mandatory locking requests])
+
+AH_TEMPLATE([MNT2_GEN_OPT_SYS5],
+[Mount with Sys 5-specific semantics])
+
+AH_TEMPLATE([MNT2_GEN_OPT_UNION],
+[Union mount])
+
+AH_TEMPLATE([MNT2_NFS_OPT_AUTO],
+[hide mount type from df(1)])
+
+AH_TEMPLATE([MNT2_NFS_OPT_ACDIRMAX],
+[set max secs for dir attr cache])
+
+AH_TEMPLATE([MNT2_NFS_OPT_ACDIRMIN],
+[set min secs for dir attr cache])
+
+AH_TEMPLATE([MNT2_NFS_OPT_ACREGMAX],
+[set max secs for file attr cache])
+
+AH_TEMPLATE([MNT2_NFS_OPT_ACREGMIN],
+[set min secs for file attr cache])
+
+AH_TEMPLATE([MNT2_NFS_OPT_AUTHERR],
+[Authentication error])
+
+AH_TEMPLATE([MNT2_NFS_OPT_BROKEN_SUID],
+[Linux broken setuid])
+
+AH_TEMPLATE([MNT2_NFS_OPT_DEADTHRESH],
+[set dead server retry thresh])
+
+AH_TEMPLATE([MNT2_NFS_OPT_DISMINPROG],
+[Dismount in progress])
+
+AH_TEMPLATE([MNT2_NFS_OPT_DISMNT],
+[Dismounted])
+
+AH_TEMPLATE([MNT2_NFS_OPT_DUMBTIMR],
+[Don't estimate rtt dynamically])
+
+AH_TEMPLATE([MNT2_NFS_OPT_GRPID],
+[System V-style gid inheritance])
+
+AH_TEMPLATE([MNT2_NFS_OPT_HASAUTH],
+[Has authenticator])
+
+AH_TEMPLATE([MNT2_NFS_OPT_FSNAME],
+[provide name of server's fs to system])
+
+AH_TEMPLATE([MNT2_NFS_OPT_HOSTNAME],
+[set hostname for error printf])
+
+AH_TEMPLATE([MNT2_NFS_OPT_IGNORE],
+[ignore mount point])
+
+AH_TEMPLATE([MNT2_NFS_OPT_INT],
+[allow interrupts on hard mount])
+
+AH_TEMPLATE([MNT2_NFS_OPT_INTR],
+[allow interrupts on hard mount])
+
+AH_TEMPLATE([MNT2_NFS_OPT_INTERNAL],
+[Bits set internally])
+
+AH_TEMPLATE([MNT2_NFS_OPT_KERB],
+[Use Kerberos authentication])
+
+AH_TEMPLATE([MNT2_NFS_OPT_KERBEROS],
+[use kerberos credentials])
+
+AH_TEMPLATE([MNT2_NFS_OPT_KNCONF],
+[transport's knetconfig structure])
+
+AH_TEMPLATE([MNT2_NFS_OPT_LEASETERM],
+[set lease term (nqnfs)])
+
+AH_TEMPLATE([MNT2_NFS_OPT_LLOCK],
+[Local locking (no lock manager)])
+
+AH_TEMPLATE([MNT2_NFS_OPT_MAXGRPS],
+[set maximum grouplist size])
+
+AH_TEMPLATE([MNT2_NFS_OPT_MNTD],
+[Mnt server for mnt point])
+
+AH_TEMPLATE([MNT2_NFS_OPT_MYWRITE],
+[Assume writes were mine])
+
+AH_TEMPLATE([MNT2_NFS_OPT_NFSV3],
+[mount NFS Version 3])
+
+AH_TEMPLATE([MNT2_NFS_OPT_NOAC],
+[don't cache attributes])
+
+AH_TEMPLATE([MNT2_NFS_OPT_NOACL],
+[does not support Access Control Lists])
+
+AH_TEMPLATE([MNT2_NFS_OPT_NOCONN],
+[Don't Connect the socket])
+
+AH_TEMPLATE([MNT2_NFS_OPT_NOCTO],
+[no close-to-open consistency])
+
+AH_TEMPLATE([MNT2_NFS_OPT_NOINT],
+[disallow interrupts on hard mounts])
+
+AH_TEMPLATE([MNT2_NFS_OPT_NONLM],
+[does not support locking])
+
+AH_TEMPLATE([MNT2_NFS_OPT_NORDIRPLUS],
+[does not support readdir+])
+
+AH_TEMPLATE([MNT2_NFS_OPT_NQLOOKLEASE],
+[Get lease for lookup])
+
+AH_TEMPLATE([MNT2_NFS_OPT_NONLM],
+[Don't use locking])
+
+AH_TEMPLATE([MNT2_NFS_OPT_NQNFS],
+[Use Nqnfs protocol])
+
+AH_TEMPLATE([MNT2_NFS_OPT_POSIX],
+[static pathconf kludge info])
+
+AH_TEMPLATE([MNT2_NFS_OPT_PRIVATE],
+[Use local locking])
+
+AH_TEMPLATE([MNT2_NFS_OPT_RCVLOCK],
+[Rcv socket lock])
+
+AH_TEMPLATE([MNT2_NFS_OPT_RDIRALOOK],
+[Do lookup with readdir (nqnfs)])
+
+AH_TEMPLATE([MNT2_NFS_OPT_PROPLIST],
+[allow property list operations (ACLs over NFS)])
+
+AH_TEMPLATE([MNT2_NFS_OPT_RDIRPLUS],
+[Use Readdirplus for NFSv3])
+
+AH_TEMPLATE([MNT2_NFS_OPT_READAHEAD],
+[set read ahead])
+
+AH_TEMPLATE([MNT2_NFS_OPT_READDIRSIZE],
+[Set readdir size])
+
+AH_TEMPLATE([MNT2_NFS_OPT_RESVPORT],
+[Allocate a reserved port])
+
+AH_TEMPLATE([MNT2_NFS_OPT_RETRANS],
+[set number of request retries])
+
+AH_TEMPLATE([MNT2_NFS_OPT_RONLY],
+[read only])
+
+AH_TEMPLATE([MNT2_NFS_OPT_RPCTIMESYNC],
+[use RPC to do secure NFS time sync])
+
+AH_TEMPLATE([MNT2_NFS_OPT_RSIZE],
+[set read size])
+
+AH_TEMPLATE([MNT2_NFS_OPT_SECURE],
+[secure mount])
+
+AH_TEMPLATE([MNT2_NFS_OPT_SNDLOCK],
+[Send socket lock])
+
+AH_TEMPLATE([MNT2_NFS_OPT_SOFT],
+[soft mount (hard is default)])
+
+AH_TEMPLATE([MNT2_NFS_OPT_SPONGY],
+[spongy mount])
+
+AH_TEMPLATE([MNT2_NFS_OPT_STRICTLOCK],
+[Reserved for nfsv4])
+AH_TEMPLATE([MNT2_NFS_OPT_TIMEO],
+[set initial timeout])
+
+AH_TEMPLATE([MNT2_NFS_OPT_TCP],
+[use TCP for mounts])
+
+AH_TEMPLATE([MNT2_NFS_OPT_UNSHARED],
+[do not use shared cache for all mountpoints])
+
+AH_TEMPLATE([MNT2_NFS_OPT_VER3],
+[linux NFSv3])
+
+AH_TEMPLATE([MNT2_NFS_OPT_WAITAUTH],
+[Wait for authentication])
+
+AH_TEMPLATE([MNT2_NFS_OPT_WANTAUTH],
+[Wants an authenticator])
+
+AH_TEMPLATE([MNT2_NFS_OPT_WANTRCV],
+[Want receive socket lock])
+
+AH_TEMPLATE([MNT2_NFS_OPT_WANTSND],
+[Want send socket lock])
+
+AH_TEMPLATE([MNT2_NFS_OPT_WSIZE],
+[set write size])
+
+AH_TEMPLATE([MNT2_NFS_OPT_SYMTTL],
+[set symlink cache time-to-live])
+
+AH_TEMPLATE([MNT2_NFS_OPT_PGTHRESH],
+[paging threshold])
+
+AH_TEMPLATE([MNT2_NFS_OPT_XLATECOOKIE],
+[32<->64 dir cookie translation])
+
+AH_TEMPLATE([MNT2_CDFS_OPT_DEFPERM],
+[Ignore permission bits])
+
+AH_TEMPLATE([MNT2_CDFS_OPT_EXTATT],
+[Enable external attributes])
+
+AH_TEMPLATE([MNT2_CDFS_OPT_GENS],
+[Show file generations])
+
+AH_TEMPLATE([MNT2_CDFS_OPT_NOCASETRANS],
+[Disable filename case translation])
+
+AH_TEMPLATE([MNT2_CDFS_OPT_NODEFPERM],
+[Use on-disk permission bits])
+
+AH_TEMPLATE([MNT2_CDFS_OPT_NOJOLIET],
+[Disable Joliet extensions])
+
+AH_TEMPLATE([MNT2_CDFS_OPT_NORRIP],
+[Disable Rock Ridge Interchange Protocol (RRIP) extensions])
+
+AH_TEMPLATE([MNT2_CDFS_OPT_NOVERSION],
+[Strip off extension from version string])
+
+AH_TEMPLATE([MNT2_CDFS_OPT_RRCASEINS],
+[Enable Rock Ridge Interchange Protocol (RRIP) case insensitive filename extensions])
+
+AH_TEMPLATE([MNT2_CDFS_OPT_RRIP],
+[Use Rock Ridge Interchange Protocol (RRIP) extensions])
+
+AH_TEMPLATE([MNT2_UDF_OPT_CLOSESESSION],
+[Close session when unmounting])
+
+AH_TEMPLATE([MNT2_PCFS_OPT_LONGNAME],
+[Force Win95 long names])
+
+AH_TEMPLATE([MNT2_PCFS_OPT_NOWIN95],
+[Completely ignore Win95 entries])
+
+AH_TEMPLATE([MNT2_PCFS_OPT_SHORTNAME],
+[Force old DOS short names only])
+
+AH_TEMPLATE([HAVE_MNTENT_T_MNT_TIME_STRING],
+[does mntent_t have mnt_time field and is of type "char *" ?])
+
+AH_TEMPLATE([REINSTALL_SIGNAL_HANDLER],
+[should signal handlers be reinstalled?])
+
+AH_TEMPLATE([DEBUG],
+[Turn off general debugging by default])
+
+AH_TEMPLATE([DEBUG_MEM],
+[Turn off memory debugging by default])
+
+AH_TEMPLATE([PACKAGE_NAME],
+[Define package name (must be defined by configure.in)])
+
+AH_TEMPLATE([PACKAGE_VERSION],
+[Define version of package (must be defined by configure.in)])
+
+AH_TEMPLATE([PACKAGE_BUGREPORT],
+[Define bug-reporting address (must be defined by configure.in)])
+
+AH_TEMPLATE([HOST_CPU],
+[Define name of host machine's cpu (eg. sparc)])
+
+AH_TEMPLATE([HOST_ARCH],
+[Define name of host machine's architecture (eg. sun4)])
+
+AH_TEMPLATE([DISTRO_NAME],
+[Define name of host OS's distribution name (eg. debian, redhat, suse, etc.)])
+
+AH_TEMPLATE([HOST_VENDOR],
+[Define name of host machine's vendor (eg. sun)])
+
+AH_TEMPLATE([HOST_OS],
+[Define name and version of host machine (eg. solaris2.5.1)])
+
+AH_TEMPLATE([HOST_OS_NAME],
+[Define only name of host machine OS (eg. solaris2)])
+
+AH_TEMPLATE([HOST_OS_VERSION],
+[Define only version of host machine (eg. 2.5.1)])
+
+AH_TEMPLATE([HOST_HEADER_VERSION],
+[Define the header version of (linux) hosts (eg. 2.2.10)])
+
+AH_TEMPLATE([HOST_NAME],
+[Define name of host])
+
+AH_TEMPLATE([USER_NAME],
+[Define user name])
+
+AH_TEMPLATE([CONFIG_DATE],
+[Define configuration date])
+
+AH_TEMPLATE([HAVE_TRANSPORT_TYPE_TLI],
+[what type of network transport type is in use? TLI or sockets?])
+
+AH_TEMPLATE([time_t],
+[Define to `long' if <sys/types.h> doesn't define time_t])
+
+AH_TEMPLATE([voidp],
+[Define to "void *" if compiler can handle, otherwise "char *"])
+
+AH_TEMPLATE([am_nfs_fh],
+[Define a type/structure for an NFS V2 filehandle])
+
+AH_TEMPLATE([am_nfs_fh3],
+[Define a type/structure for an NFS V3 filehandle])
+
+AH_TEMPLATE([HAVE_NFS_PROT_HEADERS],
+[define if the host has NFS protocol headers in system headers])
+
+AH_TEMPLATE([AMU_NFS_PROTOCOL_HEADER],
+[define name of am-utils' NFS protocol header])
+
+AH_TEMPLATE([nfs_args_t],
+[Define a type for the nfs_args structure])
+
+AH_TEMPLATE([NFS_FH_FIELD],
+[Define the field name for the filehandle within nfs_args_t])
+
+AH_TEMPLATE([HAVE_FHANDLE],
+[Define if plain fhandle type exists])
+
+AH_TEMPLATE([SVC_IN_ARG_TYPE],
+[Define the type of the 3rd argument ('in') to svc_getargs()])
+
+AH_TEMPLATE([XDRPROC_T_TYPE],
+[Define to the type of xdr procedure type])
+
+AH_TEMPLATE([MOUNT_TABLE_ON_FILE],
+[Define if mount table is on file, undefine if in kernel])
+
+AH_TEMPLATE([HAVE_STRUCT_MNTENT],
+[Define if have struct mntent in one of the standard headers])
+
+AH_TEMPLATE([HAVE_STRUCT_MNTTAB],
+[Define if have struct mnttab in one of the standard headers])
+
+AH_TEMPLATE([HAVE_STRUCT_NFS_ARGS],
+[Define if have struct nfs_args in one of the standard nfs headers])
+
+AH_TEMPLATE([HAVE_STRUCT_NFS_GFS_MOUNT],
+[Define if have struct nfs_gfs_mount in one of the standard nfs headers])
+
+AH_TEMPLATE([YP_ORDER_OUTORDER_TYPE],
+[Type of the 3rd argument to yp_order()])
+
+AH_TEMPLATE([RECVFROM_FROMLEN_TYPE],
+[Type of the 6th argument to recvfrom()])
+
+AH_TEMPLATE([AUTH_CREATE_GIDLIST_TYPE],
+[Type of the 5rd argument to authunix_create()])
+
+AH_TEMPLATE([MTYPE_PRINTF_TYPE],
+[The string used in printf to print the mount-type field of mount(2)])
+
+AH_TEMPLATE([MTYPE_TYPE],
+[Type of the mount-type field in the mount() system call])
+
+AH_TEMPLATE([pcfs_args_t],
+[Define a type for the pcfs_args structure])
+
+AH_TEMPLATE([autofs_args_t],
+[Define a type for the autofs_args structure])
+
+AH_TEMPLATE([cachefs_args_t],
+[Define a type for the cachefs_args structure])
+
+AH_TEMPLATE([tmpfs_args_t],
+[Define a type for the tmpfs_args structure])
+
+AH_TEMPLATE([ufs_args_t],
+[Define a type for the ufs_args structure])
+
+AH_TEMPLATE([efs_args_t],
+[Define a type for the efs_args structure])
+
+AH_TEMPLATE([xfs_args_t],
+[Define a type for the xfs_args structure])
+
+AH_TEMPLATE([lofs_args_t],
+[Define a type for the lofs_args structure])
+
+AH_TEMPLATE([cdfs_args_t],
+[Define a type for the cdfs_args structure])
+
+AH_TEMPLATE([udf_args_t],
+[Define a type for the udf_args structure])
+
+AH_TEMPLATE([mfs_args_t],
+[Define a type for the mfs_args structure])
+
+AH_TEMPLATE([rfs_args_t],
+[Define a type for the rfs_args structure])
+
+AH_TEMPLATE([HAVE_BAD_HASMNTOPT],
+[define if have a bad version of hasmntopt()])
+
+AH_TEMPLATE([HAVE_BAD_MEMCMP],
+[define if have a bad version of memcmp()])
+
+AH_TEMPLATE([HAVE_BAD_YP_ALL],
+[define if have a bad version of yp_all()])
+
+AH_TEMPLATE([USE_UNCONNECTED_NFS_SOCKETS],
+[define if must use NFS "noconn" option])
+
+AH_TEMPLATE([USE_CONNECTED_NFS_SOCKETS],
+[define if must NOT use NFS "noconn" option])
+
+AH_TEMPLATE([HAVE_GNU_GETOPT],
+[define if your system's getopt() is GNU getopt() (are you using glibc)])
+
+AH_TEMPLATE([HAVE_EXTERN_SYS_ERRLIST],
+[does extern definition for sys_errlist[] exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_OPTARG],
+[does extern definition for optarg exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_CLNT_SPCREATEERROR],
+[does extern definition for clnt_spcreateerror() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_CLNT_SPERRNO],
+[does extern definition for clnt_sperrno() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_FREE],
+[does extern definition for free() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_GET_MYADDRESS],
+[does extern definition for get_myaddress() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_GETCCENT],
+[does extern definition for getccent() (hpux) exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_GETDOMAINNAME],
+[does extern definition for getdomainname() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_GETDTABLESIZE],
+[does extern definition for getdtablesize() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_GETHOSTNAME],
+[does extern definition for gethostname() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_GETLOGIN],
+[does extern definition for getlogin() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_GETTABLESIZE],
+[does extern definition for gettablesize() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_GETPAGESIZE],
+[does extern definition for getpagesize() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_GETWD],
+[does extern definition for getwd() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_HOSTS_CTL],
+[does extern definition for hosts_ctl() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_INNETGR],
+[does extern definition for innetgr() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_MKSTEMP],
+[does extern definition for mkstemp() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_MNTCTL],
+[does extern definition for mntctl() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_SBRK],
+[does extern definition for sbrk() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_SETEUID],
+[does extern definition for seteuid() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_SETITIMER],
+[does extern definition for setitimer() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_SLEEP],
+[does extern definition for sleep() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_STRCASECMP],
+[does extern definition for strcasecmp() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_STRLCAT],
+[does extern definition for strlcat() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_STRLCPY],
+[does extern definition for strlcpy() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_STRSTR],
+[does extern definition for strstr() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_UALARM],
+[does extern definition for ualarm() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_USLEEP],
+[does extern definition for usleep() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_WAIT3],
+[does extern definition for wait3() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_VSNPRINTF],
+[does extern definition for vsnprintf() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_XDR_CALLMSG],
+[does extern definition for xdr_callmsg() exist?])
+
+AH_TEMPLATE([HAVE_EXTERN_XDR_OPAQUE_AUTH],
+[does extern definition for xdr_opaque_auth() exist?])
+
+AH_TEMPLATE([NEW_DBM_H],
+[Defined to the header file containing ndbm-compatible definitions])
+
+AH_TEMPLATE([HAVE_LIBWRAP],
+[does libwrap exist?])
+
+AH_TEMPLATE([NEED_LIBWRAP_SEVERITY_VARIABLES],
+[does libwrap expect caller to define the variables allow_severity and deny_severity])
+
+AH_TEMPLATE([HAVE_EXTERN_LDAP_ENABLE_CACHE],
+[does extern definition for ldap_enable_cache() exist?])
diff --git a/m4/macros/host_macros.m4 b/m4/macros/host_macros.m4
new file mode 100644
index 000000000000..faa7434c7a95
--- /dev/null
+++ b/m4/macros/host_macros.m4
@@ -0,0 +1,119 @@
+dnl ######################################################################
+dnl AC_HOST_MACROS: define HOST_CPU, HOST_VENDOR, and HOST_OS
+AC_DEFUN([AMU_HOST_MACROS],
+[
+# these are defined already by the macro 'CANONICAL_HOST'
+ AC_MSG_CHECKING([host cpu])
+ AC_DEFINE_UNQUOTED(HOST_CPU, "$host_cpu")
+ AC_MSG_RESULT($host_cpu)
+
+ AC_MSG_CHECKING([vendor])
+ AC_DEFINE_UNQUOTED(HOST_VENDOR, "$host_vendor")
+ AC_MSG_RESULT($host_vendor)
+
+# if vendor is apple, then check values in /usr/bin/sw_vers
+ if test "${host_vendor}" = "apple"
+ then
+ pn=`sw_vers -productName 2>/dev/null`
+ pv=`sw_vers -productVersion 2>/dev/null`
+ if test -n "${pn}" && test -n "${pv}"
+ then
+ host_os_name=`echo ${pn} | tr -d ' ' | tr '[A-Z]' '[a-z]'`
+ host_os_version="${pv}"
+ host_os="${host_os_name}-${host_os_version}"
+ fi
+ fi
+
+ AC_MSG_CHECKING([host full OS name and version])
+ # normalize some host OS names
+ case ${host_os} in
+ # linux is linux is linux, regardless of RMS.
+ linux-gnu* | lignux* ) host_os=linux ;;
+ # NetBSD systems today are elf, so no need to distinguish
+ netbsdelf* ) host_os=`echo ${host_os} | sed 's/^netbsdelf/netbsd/'`;;
+ esac
+ AC_DEFINE_UNQUOTED(HOST_OS, "$host_os")
+ AC_MSG_RESULT($host_os)
+
+# break host_os into host_os_name and host_os_version
+ AC_MSG_CHECKING([host OS name])
+ host_os_name=`echo $host_os | sed 's/\..*//g'`
+ # normalize some OS names
+ case ${host_os_name} in
+ # linux is linux is linux, regardless of RMS.
+ linux-gnu* | lignux* ) host_os_name=linux ;;
+ # all NetBSD systems today should just show up as "netbsd"
+ netbsd* ) host_os_name=netbsd;;
+ esac
+ AC_DEFINE_UNQUOTED(HOST_OS_NAME, "$host_os_name")
+ AC_MSG_RESULT($host_os_name)
+
+# parse out the OS version of the host
+ AC_MSG_CHECKING([host OS version])
+ host_os_version=`echo $host_os | sed 's/^[[^0-9]]*//g'`
+ if test -z "$host_os_version"
+ then
+ host_os_version=`(uname -r) 2>/dev/null` || host_os_version=unknown
+ fi
+ case ${host_os_version} in
+ # fixes for some OS versions (solaris used to be here)
+ * ) # do nothing for now
+ ;;
+ esac
+ AC_DEFINE_UNQUOTED(HOST_OS_VERSION, "$host_os_version")
+ AC_MSG_RESULT($host_os_version)
+
+# figure out host architecture (different than CPU)
+ AC_MSG_CHECKING([host OS architecture])
+ host_arch=`(uname -m) 2>/dev/null` || host_arch=unknown
+ # normalize some names
+ case ${host_arch} in
+ sun4* ) host_arch=sun4 ;;
+ sun3x ) host_arch=sun3 ;;
+ sun ) host_arch=`(arch) 2>/dev/null` || host_arch=unknown ;;
+ i?86 ) host_arch=i386 ;; # all x86 should show up as i386
+ Power*Macintosh ) host_arch=powerpc ;;
+ esac
+ AC_DEFINE_UNQUOTED(HOST_ARCH, "$host_arch")
+ AC_MSG_RESULT($host_arch)
+
+# figure out (linux) distribution, if any
+ AC_MSG_CHECKING([OS system distribution])
+ ac_config_distro=`$SHELL $ac_aux_dir/config.guess.long | cut -d'-' -f4-`
+ if test -z "$ac_config_distro"
+ then
+ ac_config_distro="none"
+ fi
+ AC_DEFINE_UNQUOTED(DISTRO_NAME, "$ac_config_distro")
+ AC_MSG_RESULT($ac_config_distro)
+
+# figure out host name
+ AC_MSG_CHECKING([host name])
+ host_name=`(hostname || uname -n) 2>/dev/null` || host_name=unknown
+ AC_DEFINE_UNQUOTED(HOST_NAME, "$host_name")
+ AC_MSG_RESULT($host_name)
+
+# figure out user name
+ AC_MSG_CHECKING([user name])
+ if test -n "$USER"
+ then
+ user_name="$USER"
+ else
+ if test -n "$LOGNAME"
+ then
+ user_name="$LOGNAME"
+ else
+ user_name=`(whoami) 2>/dev/null` || user_name=unknown
+ fi
+ fi
+ AC_DEFINE_UNQUOTED(USER_NAME, "$user_name")
+ AC_MSG_RESULT($user_name)
+
+# figure out configuration date
+ AC_MSG_CHECKING([configuration date])
+ config_date=`(date) 2>/dev/null` || config_date=unknown_date
+ AC_DEFINE_UNQUOTED(CONFIG_DATE, "$config_date")
+ AC_MSG_RESULT($config_date)
+
+])
+dnl ======================================================================
diff --git a/m4/macros/libtool.m4 b/m4/macros/libtool.m4
new file mode 100644
index 000000000000..d7c043f4f998
--- /dev/null
+++ b/m4/macros/libtool.m4
@@ -0,0 +1,7997 @@
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
+
+# serial 57 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+ [m4_default([$3],
+ [m4_fatal([Libtool version $1 or higher is required],
+ 63)])],
+ [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+ *\ * | *\ *)
+ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_WITH_SYSROOT])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ _LT_PATH_MAGIC
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME. Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+ [m4_ifval([$1], [$1], [$2])])
+ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+ m4_ifval([$4],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+ lt_dict_add_subkey([lt_decl_dict], [$2],
+ [tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+ [0], [m4_fatal([$0: too few arguments: $#])],
+ [1], [m4_fatal([$0: too few arguments: $#: $1])],
+ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+ [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_if([$2], [],
+ m4_quote(lt_decl_varnames),
+ m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'. VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly. In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+# # Some comment about what VAR is for.
+# visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+ [description])))[]dnl
+m4_pushdef([_libtool_name],
+ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+ [0], [_libtool_name=[$]$1],
+ [1], [_libtool_name=$lt_[]$1],
+ [2], [_libtool_name=$lt_[]$1],
+ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'. Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+ dnl If the libtool generation code has been placed in $CONFIG_LT,
+ dnl instead of duplicating it all over again into config.status,
+ dnl then we will have config.status run $CONFIG_LT later, so it
+ dnl needs to know what name is stored there:
+ [AC_CONFIG_COMMANDS([libtool],
+ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+ dnl If the libtool generation code is destined for config.status,
+ dnl expand the accumulated commands and init code now:
+ [AC_CONFIG_COMMANDS([libtool],
+ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable. If COMMENT is supplied, it is inserted after the
+# `#!' sequence but before initialization text begins. After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script. The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test $lt_write_fail = 0 && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+lt_cl_silent=false
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+ echo
+ AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+ case $[1] in
+ --version | --v* | -V )
+ echo "$lt_cl_version"; exit 0 ;;
+ --help | --h* | -h )
+ echo "$lt_cl_help"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --quiet | --q* | --silent | --s* | -q )
+ lt_cl_silent=: ;;
+
+ -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+ *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+ esac
+ shift
+done
+
+if $lt_cl_silent; then
+ exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure. Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+lt_cl_success=:
+test "$silent" = yes &&
+ lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars. Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+ m4_if(_LT_TAG, [C], [
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+ _LT_PROG_LTMAIN
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ _LT_PROG_REPLACE_SHELLFNS
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+# autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+ [C], [_LT_LANG(C)],
+ [C++], [_LT_LANG(CXX)],
+ [Go], [_LT_LANG(GO)],
+ [Java], [_LT_LANG(GCJ)],
+ [Fortran 77], [_LT_LANG(F77)],
+ [Fortran], [_LT_LANG(FC)],
+ [Windows Resource], [_LT_LANG(RC)],
+ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+ [_LT_LANG($1)],
+ [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+ [LT_SUPPORTED_TAG([$1])dnl
+ m4_append([_LT_TAGS], [$1 ])dnl
+ m4_define([_LT_LANG_]$1[_enabled], [])dnl
+ _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+m4_ifndef([AC_PROG_GO], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_GO. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC], [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+ if test -n "$ac_tool_prefix"; then
+ AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+ fi
+fi
+if test -z "$GOC"; then
+ AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [LT_LANG(CXX)],
+ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [LT_LANG(F77)],
+ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+ [LT_LANG(FC)],
+ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [m4_ifdef([AC_PROG_GCJ],
+ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([A][M_PROG_GCJ],
+ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([LT_PROG_GCJ],
+ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+ [LT_LANG(GO)],
+ [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+ [LT_LANG(RC)],
+ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+ case $host_os in
+ rhapsody* | darwin*)
+ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+ AC_CHECK_TOOL([LIPO], [lipo], [:])
+ AC_CHECK_TOOL([OTOOL], [otool], [:])
+ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+ _LT_DECL([], [DSYMUTIL], [1],
+ [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+ _LT_DECL([], [NMEDIT], [1],
+ [Tool to change global to local symbols on Mac OS X])
+ _LT_DECL([], [LIPO], [1],
+ [Tool to manipulate fat objects and archives on Mac OS X])
+ _LT_DECL([], [OTOOL], [1],
+ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+ _LT_DECL([], [OTOOL64], [1],
+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+ [lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi])
+
+ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+ [lt_cv_ld_exported_symbols_list],
+ [lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [lt_cv_ld_exported_symbols_list=yes],
+ [lt_cv_ld_exported_symbols_list=no])
+ LDFLAGS="$save_LDFLAGS"
+ ])
+
+ AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+ [lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+ echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+ $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+ echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+ $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+ ])
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+ [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=func_echo_all
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ m4_if([$1], [CXX],
+[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ fi
+],[])
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
+# ----------------------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+# Store the results from the different compilers for each TAGNAME.
+# Allow to override them for all tags through lt_cv_aix_libpath.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
+ lt_aix_libpath_sed='[
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }]'
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi],[])
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
+ fi
+ ])
+ aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
+fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
+
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script which will find a shell with a builtin
+# printf (which we can use as an echo command).
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
+else
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
+case "$ECHO" in
+ printf*) AC_MSG_RESULT([printf]) ;;
+ print*) AC_MSG_RESULT([print -r]) ;;
+ *) AC_MSG_RESULT([cat]) ;;
+esac
+
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test "X`printf %s $ECHO`" = "X$ECHO" \
+ || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
+
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_WITH_SYSROOT
+# ----------------
+AC_DEFUN([_LT_WITH_SYSROOT],
+[AC_MSG_CHECKING([for sysroot])
+AC_ARG_WITH([sysroot],
+[ --with-sysroot[=DIR] Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).],
+[], [with_sysroot=no])
+
+dnl lt_sysroot will always be passed unquoted. We quote it here
+dnl in case the user passed a directory name.
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+ AC_MSG_RESULT([${with_sysroot}])
+ AC_MSG_ERROR([The sysroot must be an absolute path.])
+ ;;
+esac
+
+ AC_MSG_RESULT([${lt_sysroot:-no}])
+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
+[dependent libraries, and in which our libraries should be installed.])])
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+ [AS_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ case `/usr/bin/file conftest.o` in
+ *x86-64*)
+ LD="${LD-ld} -m elf32_x86_64"
+ ;;
+ *)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ esac
+ ;;
+ powerpc64le-*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ powerpcle-*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_LANG_PUSH(C)
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_POP])
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*)
+ case $host in
+ i?86-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD="${LD-ld}_sol2"
+ fi
+ ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks="$enable_libtool_lock"
+])# _LT_ENABLE_LOCK
+
+
+# _LT_PROG_AR
+# -----------
+m4_defun([_LT_PROG_AR],
+[AC_CHECK_TOOLS(AR, [ar], false)
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+ [lt_cv_ar_at_file=no
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
+ [echo conftest.$ac_objext > conftest.lst
+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([lt_ar_try])
+ if test "$ac_status" -eq 0; then
+ # Ensure the archiver fails upon bogus file names.
+ rm -f conftest.$ac_objext libconftest.a
+ AC_TRY_EVAL([lt_ar_try])
+ if test "$ac_status" -ne 0; then
+ lt_cv_ar_at_file=@
+ fi
+ fi
+ rm -f conftest.* libconftest.a
+ ])
+ ])
+
+if test "x$lt_cv_ar_at_file" = xno; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
+_LT_DECL([], [archiver_list_spec], [1],
+ [How to feed a file listing to the archiver])
+])# _LT_PROG_AR
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[_LT_PROG_AR
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+ [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
+
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
+esac
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+ [Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+ [Whether to use a lock for old archive extraction])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$3"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ fi
+ $RM conftest*
+])
+
+if test x"[$]$2" = xyes; then
+ m4_if([$5], , :, [$5])
+else
+ m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $3"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&AS_MESSAGE_LOG_FD
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ else
+ $2=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+ m4_if([$4], , :, [$4])
+else
+ m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len" && \
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+ AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+ [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+ [$4]
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+[#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}]
+_LT_EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_dlunknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
+ fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ])
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen="shl_load"],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen="dlopen"],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+ [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+ [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+ [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ fi
+ fi
+ chmod u+w . 2>&AS_MESSAGE_LOG_FD
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+ [Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links="nottested"
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ AC_MSG_CHECKING([if we can lock with hard links])
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ AC_MSG_RESULT([$hard_links])
+ if test "$hard_links" = no; then
+ AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+ [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+ [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+ test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+ test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+ test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+ # Linking always hardcodes the temporary library directory.
+ _LT_TAGVAR(hardcode_action, $1)=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ _LT_TAGVAR(hardcode_action, $1)=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+ test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+ [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ;;
+ esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+ [], [
+if test "$GCC" = yes; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
+ *) lt_sed_strip_eq="s,=/,/,g" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix[[4-9]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[[45]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='${libname}.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec="$LIB"
+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
+ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[[23]].*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2.*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
+
+interix[[3-9]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+
+ # Some binutils ld are patched to set DT_RUNPATH
+ AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+ [lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+ [lt_cv_shlibpath_overrides_runpath=yes])])
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+ ])
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[[89]] | openbsd2.[[89]].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+ [Variables whose values should be saved in libtool wrapper scripts and
+ restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+ [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+ [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+ [[List of archive names. First name is the real one, the rest are links.
+ The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+ [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+ [Permission mode override for installation of shared libraries])
+_LT_DECL([], [postinstall_cmds], [2],
+ [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+ [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+ [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+ [[As "finish_cmds", except a single script fragment to be evaled but
+ not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+ [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+ [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+ [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program which can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] | ?:[\\/]*])
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word. This closes a longstanding sh security hole.
+ ac_dummy="m4_if([$2], , $PATH, [$2])"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$1; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ AC_MSG_RESULT($MAGIC_CMD)
+else
+ AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program which can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
+
+AC_ARG_WITH([gnu-ld],
+ [AS_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])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])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+# -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+ lt_cv_ld_reload_flag,
+ [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ if test "$GCC" != yes; then
+ reload_cmds=false
+ fi
+ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_TAGDECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[[45]]*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+ if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+haiku*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[[3-9]]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+])
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+ case $host_os in
+ mingw* | pw32*)
+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+ want_nocaseglob=yes
+ else
+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
+ fi
+ ;;
+ esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+ [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+ [Command to use when deplibs_check_method = "file_magic"])
+_LT_DECL([], [file_magic_glob], [1],
+ [How to find potential files when deplibs_check_method = "file_magic"])
+_LT_DECL([], [want_nocaseglob], [1],
+ [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ : ${lt_cv_path_NM=no}
+fi])
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+ case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
+ fi
+ AC_SUBST([DUMPBIN])
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+ [lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
+ cat conftest.out >&AS_MESSAGE_LOG_FD
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+# --------------------------------
+# how to determine the name of the shared library
+# associated with a specific link library.
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+m4_require([_LT_DECL_DLLTOOL])
+AC_CACHE_CHECK([how to associate runtime and link libraries],
+lt_cv_sharedlib_from_linklib_cmd,
+[lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+ # two different shell functions defined in ltmain.sh
+ # decide which to use based on capabilities of $DLLTOOL
+ case `$DLLTOOL --help 2>&1` in
+ *--identify-strict*)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+ ;;
+ *)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+ ;;
+ esac
+ ;;
+*)
+ # fallback: assume linklib IS sharedlib
+ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ ;;
+esac
+])
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
+ [Command to associate shared and link libraries])
+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+
+
+# _LT_PATH_MANIFEST_TOOL
+# ----------------------
+# locate the manifest tool
+m4_defun([_LT_PATH_MANIFEST_TOOL],
+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
+ [lt_cv_path_mainfest_tool=no
+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
+ fi
+ rm -f conftest*])
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+ MANIFEST_TOOL=:
+fi
+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
+])# _LT_PATH_MANIFEST_TOOL
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
+ # These system don't have libm, or don't need it
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, cos, LIBM="-lm")
+ ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+ case $cc_basename in
+ nvcc*)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+ esac
+
+ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ lt_cv_prog_compiler_rtti_exceptions,
+ [-fno-rtti -fno-exceptions], [],
+ [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+ [Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[[ABCDEGRST]]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
+ ;;
+solaris*)
+ symcode='[[BDRT]]'
+ ;;
+sco3.2v5*)
+ symcode='[[DT]]'
+ ;;
+sysv4.2uw2*)
+ symcode='[[DT]]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[[ABDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK ['"\
+" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx]"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT@&t@_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT@&t@_DLSYM_CONST
+#else
+# define LT@&t@_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+LT@&t@_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_globsym_save_LIBS=$LIBS
+ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS=$lt_globsym_save_LIBS
+ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ AC_MSG_RESULT(failed)
+else
+ AC_MSG_RESULT(ok)
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
+ nm_file_list_spec='@'
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+ [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+ [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_c_name_address],
+ [lt_cv_sys_global_symbol_to_c_name_address], [1],
+ [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+ [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+ [Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([], [nm_file_list_spec], [1],
+ [Specify filename containing input files for $NM])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+m4_if([$1], [CXX], [
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix[[4-9]]*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ fi
+ ;;
+ aCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+ # IBM XL 8.0, 9.0 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd* | netbsdelf*-gnu)
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+],
+[
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+ if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+ fi
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC (with -KPIC) is the default.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+ ;;
+ nagfor*)
+ # NAG Fortran compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ ccc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All Alpha code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ *Sun\ F* | *Sun*Fortran*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ *Sun\ C*)
+ # Sun C 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ *Intel*\ [[CF]]*Compiler*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ *Portland\ Group*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All OSF/1 code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ rdos*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ unicos*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+])
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+ ;;
+esac
+
+AC_CACHE_CHECK([for $compiler option to produce PIC],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+ [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+ [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+ "" | " "*) ;;
+ *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+ esac],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+ [Additional compiler flags for building library objects])
+
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+ [How to pass a linker flag through the compiler])
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+ _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+ $lt_tmp_static_flag,
+ [],
+ [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+ [Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ case $host_os in
+ aix[[4-9]]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global defined
+ # symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ ;;
+ cygwin* | mingw* | cegcc*)
+ case $cc_basename in
+ cl*)
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+], [
+ runpath_var=
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)=
+ _LT_TAGVAR(archive_expsym_cmds, $1)=
+ _LT_TAGVAR(compiler_needs_object, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(hardcode_automatic, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(inherit_rpath, $1)=no
+ _LT_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_TAGVAR(module_cmds, $1)=
+ _LT_TAGVAR(module_expsym_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+ _LT_TAGVAR(thread_safe_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ _LT_TAGVAR(include_expsyms, $1)=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
+ esac
+
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
+ if test "$with_gnu_ld" = yes; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+ *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+
+ if test "$lt_use_gnu_ld_interface" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[[3-9]]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ tmp_sharedflag='--shared' ;;
+ xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ xlf* | bgf* | bgxlf* | mpixlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+
+ if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+ runpath_var=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global
+ # defined symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[[45]]*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ case $cc_basename in
+ cl*)
+ # Native MSVC
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # Assume MSVC wrapper
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ # FIXME: Should let the user specify the lib program.
+ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+ esac
+ ;;
+
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2.*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ m4_if($1, [], [
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ _LT_LINKER_OPTION([if $CC understands -b],
+ _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+ [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ # This should be the same for all languages, so no per-tag cache variable.
+ AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
+ [lt_cv_irix_exported_symbol],
+ [save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ AC_LINK_IFELSE(
+ [AC_LANG_SOURCE(
+ [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
+ [C++], [[int foo (void) { return 0; }]],
+ [Fortran 77], [[
+ subroutine foo
+ end]],
+ [Fortran], [[
+ subroutine foo
+ end]])])],
+ [lt_cv_irix_exported_symbol=yes],
+ [lt_cv_irix_exported_symbol=no])
+ LDFLAGS="$save_LDFLAGS"])
+ if test "$lt_cv_irix_exported_symbol" = yes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ fi
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ else
+ case $host_os in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ ;;
+ motorola)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4.3*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+ [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+ # Assume -lc should be added
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $_LT_TAGVAR(archive_cmds, $1) in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_CACHE_CHECK([whether -lc should be explicitly linked in],
+ [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+ [$RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+ then
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ ])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+ [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+ [enable_shared_with_static_runtimes], [0],
+ [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+ [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+ [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+ [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+ [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+ [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+ [Commands used to build a loadable module if different from building
+ a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+ [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+ [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+ [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+ [Flag to hardcode $libdir into a binary during linking.
+ This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+ [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary and the resulting library dependency is
+ "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+ library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+ [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+ [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+ [Set to "yes" if building a shared library automatically hardcodes DIR
+ into the library and all subsequent libraries and executables linked
+ against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+ [Set to yes if linker adds runtime paths of dependent libraries
+ to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+ [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [always_export_symbols], [0],
+ [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+ [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+ [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+ [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+ [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [postlink_cmds], [2],
+ [Commands necessary for finishing linking programs])
+_LT_TAGDECL([], [file_list_spec], [1],
+ [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+ LT_SYS_DLOPEN_SELF
+ _LT_CMD_STRIPLIB
+
+ # Report which library types will actually be built
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC="$lt_save_CC"
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ AC_PROG_CXXCPP
+else
+ _lt_caught_CXX_error=yes
+fi
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_CFLAGS=$CFLAGS
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ CFLAGS=$CXXFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+ else
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+ fi
+
+ if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+ LT_PATH_LD
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+ fi
+
+ # PORTME: fill in a description of your system's C++ link characteristics
+ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared
+ # libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $GXX,$cc_basename in
+ ,cl* | no,cl*)
+ # Native MSVC
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # g++
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ freebsd2.*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ freebsd-elf*)
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ hpux9*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ fi
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+ esac
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
+ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
+ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 and above use weak symbols
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+ ;;
+ xl* | mpixl* | bgxl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ m88k*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+
+ *nto* | *qnx*)
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ openbsd2*)
+ # C++ shared libraries are fairly broken
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=func_echo_all
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
+ $RM $lib.exp'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ case $host in
+ osf3*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ psos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ fi
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+ '"$_LT_TAGVAR(old_archive_cmds, $1)"
+ _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+ '"$_LT_TAGVAR(reload_cmds, $1)"
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+ test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+ _LT_TAGVAR(GCC, $1)="$GXX"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_FUNC_STRIPNAME_CNF
+# ----------------------
+# func_stripname_cnf prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+#
+# This function is identical to the (non-XSI) version of func_stripname,
+# except this one can be used by m4 code that may be executed by configure,
+# rather than the libtool script.
+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
+AC_REQUIRE([_LT_DECL_SED])
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
+func_stripname_cnf ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ esac
+} # func_stripname_cnf
+])# _LT_FUNC_STRIPNAME_CNF
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library. It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer*4 a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+ private int a;
+ public void bar (void) {
+ a = 0;
+ }
+};
+_LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
+])
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case ${prev}${p} in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+ test $p = "-R"; then
+ prev=$p
+ continue
+ fi
+
+ # Expand the sysroot to ease extracting the directories later.
+ if test -z "$prev"; then
+ case $p in
+ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+ esac
+ fi
+ case $p in
+ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+ esac
+ if test "$pre_test_object_deps_done" = no; then
+ case ${prev} in
+ -L | -R)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+ _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+ fi
+ fi
+ prev=
+ ;;
+
+ *.lto.$objext) ;; # Ignore GCC LTO objects
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+ _LT_TAGVAR(predep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+ fi
+ else
+ if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+ _LT_TAGVAR(postdep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ _LT_TAGVAR(predep_objects,$1)=
+ _LT_TAGVAR(postdep_objects,$1)=
+ _LT_TAGVAR(postdeps,$1)=
+ ;;
+
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ # Adding this requires a known-good setup of shared libraries for
+ # Sun compiler versions before 5.6, else PIC objects from an old
+ # archive will be linked into the output, leading to subtle bugs.
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+ [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+ [Dependencies to place before and after the objects being linked to
+ create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+ [The library search path used internally by the compiler when linking
+ a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test "X$F77" = "Xno"; then
+ _lt_disable_F77=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_F77" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${F77-"f77"}
+ CFLAGS=$FFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+ GCC=$G77
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$G77"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC="$lt_save_CC"
+ CFLAGS="$lt_save_CFLAGS"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test "X$FC" = "Xno"; then
+ _lt_disable_FC=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_FC" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${FC-"f95"}
+ CFLAGS=$FCFLAGS
+ compiler=$CC
+ GCC=$ac_cv_fc_compiler_gnu
+
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+fi # test "$_lt_disable_FC" != yes
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+CFLAGS=$GCJFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+CFLAGS=
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+ :
+ _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+ [AC_CHECK_TOOL(GCJ, gcj,)
+ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+ AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+# _LT_DECL_DLLTOOL
+# ----------------
+# Ensure DLLTOOL variable is set.
+m4_defun([_LT_DECL_DLLTOOL],
+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
+AC_SUBST([DLLTOOL])
+])
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+ [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_SED. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for lt_ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+ test ! -f $lt_ac_sed && continue
+ cat /dev/null > conftest.in
+ lt_ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+ # Check for GNU sed and select it if it is found.
+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+ lt_cv_path_SED=$lt_ac_sed
+ break
+ fi
+ while true; do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo >>conftest.nl
+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+ cmp -s conftest.out conftest.nl || break
+ # 10000 chars as input seems more than enough
+ test $lt_ac_count -gt 10 && break
+ lt_ac_count=`expr $lt_ac_count + 1`
+ if test $lt_ac_count -gt $lt_ac_max; then
+ lt_ac_max=$lt_ac_count
+ lt_cv_path_SED=$lt_ac_sed
+ fi
+ done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+AC_MSG_RESULT([$xsi_shell])
+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
+AC_MSG_CHECKING([whether the shell understands "+="])
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+AC_MSG_RESULT([$lt_shell_append])
+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
+# ------------------------------------------------------
+# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
+# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
+m4_defun([_LT_PROG_FUNCTION_REPLACE],
+[dnl {
+sed -e '/^$1 ()$/,/^} # $1 /c\
+$1 ()\
+{\
+m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
+} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+])
+
+
+# _LT_PROG_REPLACE_SHELLFNS
+# -------------------------
+# Replace existing portable implementations of several shell functions with
+# equivalent extended shell implementations where those features are available..
+m4_defun([_LT_PROG_REPLACE_SHELLFNS],
+[if test x"$xsi_shell" = xyes; then
+ _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac])
+
+ _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
+ func_basename_result="${1##*/}"])
+
+ _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+ func_basename_result="${1##*/}"])
+
+ _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary parameter first.
+ func_stripname_result=${3}
+ func_stripname_result=${func_stripname_result#"${1}"}
+ func_stripname_result=${func_stripname_result%"${2}"}])
+
+ _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
+ func_split_long_opt_name=${1%%=*}
+ func_split_long_opt_arg=${1#*=}])
+
+ _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
+ func_split_short_opt_arg=${1#??}
+ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
+
+ _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
+ case ${1} in
+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+ *) func_lo2o_result=${1} ;;
+ esac])
+
+ _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
+
+ _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
+
+ _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
+fi
+
+if test x"$lt_shell_append" = xyes; then
+ _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
+
+ _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
+ func_quote_for_eval "${2}"
+dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
+ eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
+
+ # Save a `func_append' function call where possible by direct use of '+='
+ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+else
+ # Save a `func_append' function call even when '+=' is not available
+ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+fi
+
+if test x"$_lt_function_replace_fail" = x":"; then
+ AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
+fi
+])
+
+# _LT_PATH_CONVERSION_FUNCTIONS
+# -----------------------------
+# Determine which file name conversion functions should be used by
+# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
+# for certain cross-compile configurations and native mingw.
+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_MSG_CHECKING([how to convert $build file names to $host format])
+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
+[case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+ ;;
+ esac
+ ;;
+ *-*-cygwin* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+ ;;
+ esac
+ ;;
+ * ) # unhandled hosts (and "normal" native builds)
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+esac
+])
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
+ [0], [convert $build file names to $host format])dnl
+
+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
+[#assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
+])
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+ [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
diff --git a/m4/macros/linux_headers.m4 b/m4/macros/linux_headers.m4
new file mode 100644
index 000000000000..63c5d6a05acd
--- /dev/null
+++ b/m4/macros/linux_headers.m4
@@ -0,0 +1,49 @@
+dnl ######################################################################
+dnl ensure that linux kernel headers match running kernel
+AC_DEFUN([AMU_LINUX_HEADERS],
+[
+# test sanity of running kernel vs. kernel headers
+ AC_MSG_CHECKING("host headers version")
+ case ${host_os} in
+ linux )
+ host_header_version="bad"
+ AMU_EXPAND_RUN_STRING(
+[
+#include <stdio.h>
+#include <linux/version.h>
+],
+[
+if (argc > 1)
+#ifdef UTS_RELEASE
+ printf("%s", UTS_RELEASE);
+#else
+# define AMU_MA(a) ((a) >> 16)
+# define AMU_MI(a) (((a) & 0xffff) >> 8)
+# define AMU_PL(a) ((a) & 0xff)
+ printf("%d.%d.%d", AMU_MA(LINUX_VERSION_CODE), AMU_MI(LINUX_VERSION_CODE), AMU_PL(LINUX_VERSION_CODE));
+#endif
+],
+[ host_header_version=$value ],
+[ echo
+ AC_MSG_ERROR([cannot find UTS_RELEASE in <linux/version.h>.
+ This Linux system may be misconfigured or unconfigured!])
+])
+ ;;
+ * ) host_header_version=$host_os_version ;;
+ esac
+ AC_DEFINE_UNQUOTED(HOST_HEADER_VERSION, "$host_header_version")
+ AC_MSG_RESULT($host_header_version)
+
+ case ${host_os} in
+ linux )
+ if test "$host_os_version" != $host_header_version
+ then
+ AC_MSG_WARN([Linux kernel $host_os_version mismatch with $host_header_version headers!])
+ fi
+ ;;
+esac
+dnl cache these two for debugging purposes
+ac_cv_os_version=$host_os_version
+ac_cv_header_version=$host_header_version
+])
+dnl ======================================================================
diff --git a/m4/macros/localconfig.m4 b/m4/macros/localconfig.m4
new file mode 100644
index 000000000000..8efc6c1ec54d
--- /dev/null
+++ b/m4/macros/localconfig.m4
@@ -0,0 +1,13 @@
+dnl ######################################################################
+dnl check if a local configuration file exists
+AC_DEFUN([AMU_LOCALCONFIG],
+[AC_MSG_CHECKING(a local configuration file)
+if test -f localconfig.h
+then
+ AC_DEFINE(HAVE_LOCALCONFIG_H)
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT(no)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/mount_headers.m4 b/m4/macros/mount_headers.m4
new file mode 100644
index 000000000000..cf7b9103907a
--- /dev/null
+++ b/m4/macros/mount_headers.m4
@@ -0,0 +1,12 @@
+dnl ######################################################################
+dnl an M4 macro to include a list of common headers being used everywhere
+define(AMU_MOUNT_HEADERS,
+[
+#include "${srcdir}/include/mount_headers1.h"
+#include AMU_NFS_PROTOCOL_HEADER
+#include "${srcdir}/include/mount_headers2.h"
+
+$1
+]
+)
+dnl ======================================================================
diff --git a/m4/macros/opt_amu_cflags.m4 b/m4/macros/opt_amu_cflags.m4
new file mode 100644
index 000000000000..1194786b9155
--- /dev/null
+++ b/m4/macros/opt_amu_cflags.m4
@@ -0,0 +1,24 @@
+dnl ######################################################################
+dnl Which options to add to CFLAGS for compilation?
+dnl NOTE: this is only for final compiltions, not for configure tests)
+AC_DEFUN([AMU_OPT_AMU_CFLAGS],
+[AC_MSG_CHECKING(for additional C option compilation flags)
+AC_ARG_ENABLE(am-cflags,
+AC_HELP_STRING([--enable-am-cflags=ARG],
+ [compile package with ARG additional C flags]),
+[
+if test "$enableval" = "" || test "$enableval" = "yes" || test "$enableval" = "no"; then
+ AC_MSG_ERROR(am-cflags must be supplied if option is used)
+fi
+# user supplied a cflags option to configure
+AMU_CFLAGS="$enableval"
+AC_SUBST(AMU_CFLAGS)
+AC_MSG_RESULT($enableval)
+], [
+ # default is to have no additional C flags
+ AMU_CFLAGS=""
+ AC_SUBST(AMU_CFLAGS)
+ AC_MSG_RESULT(none)
+])
+])
+dnl ======================================================================
diff --git a/m4/macros/opt_cppflags.m4 b/m4/macros/opt_cppflags.m4
new file mode 100644
index 000000000000..9cb723625738
--- /dev/null
+++ b/m4/macros/opt_cppflags.m4
@@ -0,0 +1,22 @@
+dnl ######################################################################
+dnl Initial settings for CPPFLAGS (-I options)
+dnl NOTE: this is for configuration as well as compilations!
+AC_DEFUN([AMU_OPT_CPPFLAGS],
+[AC_MSG_CHECKING(for configuration/compilation (-I) preprocessor flags)
+AC_ARG_ENABLE(cppflags,
+AC_HELP_STRING([--enable-cppflags=ARG],
+ [configure/compile with ARG (-I) preprocessor flags]),
+[
+if test "$enableval" = "" || test "$enableval" = "yes" || test "$enableval" = "no"; then
+ AC_MSG_ERROR(cppflags must be supplied if option is used)
+fi
+# use supplied options
+CPPFLAGS="$CPPFLAGS $enableval"
+export CPPFLAGS
+AC_MSG_RESULT($enableval)
+], [
+ # default is to have no additional flags
+ AC_MSG_RESULT(none)
+])
+])
+dnl ======================================================================
diff --git a/m4/macros/opt_debug.m4 b/m4/macros/opt_debug.m4
new file mode 100644
index 000000000000..b6f044e906bd
--- /dev/null
+++ b/m4/macros/opt_debug.m4
@@ -0,0 +1,30 @@
+dnl ######################################################################
+dnl Debugging: "yes" means general, "mem" means general and memory debugging,
+dnl and "no" means none.
+AC_DEFUN([AMU_OPT_DEBUG],
+[AC_MSG_CHECKING(for debugging options)
+AC_ARG_ENABLE(debug,
+AC_HELP_STRING([--enable-debug=ARG],[enable debugging (yes/mem/no)]),
+[
+if test "$enableval" = yes; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(DEBUG)
+ ac_cv_opt_debug=yes
+elif test "$enableval" = mem; then
+ AC_MSG_RESULT(mem)
+ AC_DEFINE(DEBUG)
+ AC_DEFINE(DEBUG_MEM)
+ AC_CHECK_FUNC(malloc_verify,,AC_CHECK_LIB(mapmalloc, malloc_verify))
+ AC_CHECK_FUNC(mallinfo,,AC_CHECK_LIB(malloc, mallinfo))
+ ac_cv_opt_debug=mem
+else
+ AC_MSG_RESULT(no)
+ ac_cv_opt_debug=no
+fi
+],
+[
+ # default is no debugging
+ AC_MSG_RESULT(no)
+])
+])
+dnl ======================================================================
diff --git a/m4/macros/opt_ldflags.m4 b/m4/macros/opt_ldflags.m4
new file mode 100644
index 000000000000..cf3ee432072a
--- /dev/null
+++ b/m4/macros/opt_ldflags.m4
@@ -0,0 +1,22 @@
+dnl ######################################################################
+dnl Initial settings for LDFLAGS (-L options)
+dnl NOTE: this is for configuration as well as compilations!
+AC_DEFUN([AMU_OPT_LDFLAGS],
+[AC_MSG_CHECKING(for configuration/compilation (-L) library flags)
+AC_ARG_ENABLE(ldflags,
+AC_HELP_STRING([--enable-ldflags=ARG],
+ [configure/compile with ARG (-L) library flags]),
+[
+if test "$enableval" = "" || test "$enableval" = "yes" || test "$enableval" = "no"; then
+ AC_MSG_ERROR(ldflags must be supplied if option is used)
+fi
+# use supplied options
+LDFLAGS="$LDFLAGS $enableval"
+export LDFLAGS
+AC_MSG_RESULT($enableval)
+], [
+ # default is to have no additional flags
+ AC_MSG_RESULT(none)
+])
+])
+dnl ======================================================================
diff --git a/m4/macros/opt_libs.m4 b/m4/macros/opt_libs.m4
new file mode 100644
index 000000000000..e7414860720b
--- /dev/null
+++ b/m4/macros/opt_libs.m4
@@ -0,0 +1,22 @@
+dnl ######################################################################
+dnl Initial settings for LIBS (-l options)
+dnl NOTE: this is for configuration as well as compilations!
+AC_DEFUN([AMU_OPT_LIBS],
+[AC_MSG_CHECKING(for configuration/compilation (-l) library flags)
+AC_ARG_ENABLE(libs,
+AC_HELP_STRING([--enable-libs=ARG],
+ [configure/compile with ARG (-l) library flags]),
+[
+if test "$enableval" = "" || test "$enableval" = "yes" || test "$enableval" = "no"; then
+ AC_MSG_ERROR(libs must be supplied if option is used)
+fi
+# use supplied options
+LIBS="$LIBS $enableval"
+export LIBS
+AC_MSG_RESULT($enableval)
+], [
+ # default is to have no additional flags
+ AC_MSG_RESULT(none)
+])
+])
+dnl ======================================================================
diff --git a/m4/macros/os_cflags.m4 b/m4/macros/os_cflags.m4
new file mode 100644
index 000000000000..c57dec70db2f
--- /dev/null
+++ b/m4/macros/os_cflags.m4
@@ -0,0 +1,92 @@
+dnl ######################################################################
+dnl Specify additional compile options based on the OS and the compiler
+AC_DEFUN([AMU_OS_CFLAGS],
+[
+AC_CACHE_CHECK(additional compiler flags,
+ac_cv_os_cflags,
+[
+case "${host_os}" in
+ irix6* )
+ case "${CC}" in
+ cc )
+ # do not use 64-bit compiler
+ ac_cv_os_cflags="-n32 -mips3 -Wl,-woff,84"
+ ;;
+ esac
+ ;;
+ osf[[1-3]]* )
+ # get the right version of struct sockaddr
+ case "${CC}" in
+ cc )
+ ac_cv_os_cflags="-std -D_SOCKADDR_LEN -D_NO_PROTO"
+ ;;
+ * )
+ ac_cv_os_cflags="-D_SOCKADDR_LEN -D_NO_PROTO"
+ ;;
+ esac
+ ;;
+ osf* )
+ # get the right version of struct sockaddr
+ case "${CC}" in
+ cc )
+ ac_cv_os_cflags="-std -D_SOCKADDR_LEN"
+ ;;
+ * )
+ ac_cv_os_cflags="-D_SOCKADDR_LEN"
+ ;;
+ esac
+ ;;
+ aix[[1-3]]* )
+ ac_cv_os_cflags="" ;;
+ aix4.[[0-2]]* )
+ # turn on additional headers
+ ac_cv_os_cflags="-D_XOPEN_EXTENDED_SOURCE"
+ ;;
+ aix5.3* )
+ # avoid circular dependencies in yp headers, and more
+ ac_cv_os_cflags="-DHAVE_BAD_HEADERS -D_XOPEN_EXTENDED_SOURCE -D_USE_IRS -D_MSGQSUPPORT"
+ ;;
+ aix* )
+ # avoid circular dependencies in yp headers
+ ac_cv_os_cflags="-DHAVE_BAD_HEADERS -D_XOPEN_EXTENDED_SOURCE -D_USE_IRS"
+ ;;
+ OFF-sunos4* )
+ # make sure passing whole structures is handled in gcc
+ case "${CC}" in
+ gcc )
+ ac_cv_os_cflags="-fpcc-struct-return"
+ ;;
+ esac
+ ;;
+ sunos[[34]]* | solaris1* | solaris2.[[0-5]] | sunos5.[[0-5]] | solaris2.5.* | sunos5.5.* )
+ ac_cv_os_cflags="" ;;
+ solaris2* | sunos5* )
+ # turn on 64-bit file offset interface
+ case "${CC}" in
+ * )
+ ac_cv_os_cflags="-D_LARGEFILE64_SOURCE"
+ ;;
+ esac
+ ;;
+ hpux* )
+ # use Ansi compiler on HPUX
+ case "${CC}" in
+ cc )
+ ac_cv_os_cflags="-Ae"
+ ;;
+ esac
+ ;;
+ darwin* | macosx* | rhapsody* )
+ ac_cv_os_cflags="-D_P1003_1B_VISIBLE"
+ ;;
+ * )
+ ac_cv_os_cflags=""
+ ;;
+esac
+])
+AMU_CFLAGS="$AMU_CFLAGS $ac_cv_os_cflags"
+# use same flags for configuring, so it matches what we do at compile time
+CFLAGS="$CFLAGS $ac_cv_os_cflags"
+export CFLAGS
+])
+dnl ======================================================================
diff --git a/m4/macros/os_cppflags.m4 b/m4/macros/os_cppflags.m4
new file mode 100644
index 000000000000..cd8ae8ba1655
--- /dev/null
+++ b/m4/macros/os_cppflags.m4
@@ -0,0 +1,18 @@
+dnl ######################################################################
+dnl Specify additional cpp options based on the OS and the compiler
+AC_DEFUN([AMU_OS_CPPFLAGS],
+[
+AC_CACHE_CHECK(additional preprocessor flags,
+ac_cv_os_cppflags,
+[
+case "${host_os}" in
+# off for now, posix may be a broken thing for nextstep3...
+# nextstep* )
+# ac_cv_os_cppflags="-D_POSIX_SOURCE"
+# ;;
+ * ) ac_cv_os_cppflags="" ;;
+esac
+])
+CPPFLAGS="$CPPFLAGS $ac_cv_os_cppflags"
+])
+dnl ======================================================================
diff --git a/m4/macros/os_ldflags.m4 b/m4/macros/os_ldflags.m4
new file mode 100644
index 000000000000..a81972f3d262
--- /dev/null
+++ b/m4/macros/os_ldflags.m4
@@ -0,0 +1,22 @@
+dnl ######################################################################
+dnl Specify additional linker options based on the OS and the compiler
+AC_DEFUN([AMU_OS_LDFLAGS],
+[
+AC_CACHE_CHECK(additional linker flags,
+ac_cv_os_ldflags,
+[
+case "${host_os}" in
+ solaris2.7* | sunos5.7* )
+ # find LDAP: off until Sun includes ldap headers.
+ case "${CC}" in
+ * )
+ #ac_cv_os_ldflags="-L/usr/lib/fn"
+ ;;
+ esac
+ ;;
+ * ) ac_cv_os_ldflags="" ;;
+esac
+])
+LDFLAGS="$LDFLAGS $ac_cv_os_ldflags"
+])
+dnl ======================================================================
diff --git a/m4/macros/package_bugreport.m4 b/m4/macros/package_bugreport.m4
new file mode 100644
index 000000000000..8e1688d9f4a7
--- /dev/null
+++ b/m4/macros/package_bugreport.m4
@@ -0,0 +1,8 @@
+dnl ######################################################################
+dnl Bugreport name
+AC_DEFUN([AMU_PACKAGE_BUGREPORT],
+[AC_MSG_CHECKING(bug-reporting address)
+AC_DEFINE_UNQUOTED(PACKAGE_BUGREPORT, "$1")
+AC_MSG_RESULT(\"$1\")
+])
+dnl ======================================================================
diff --git a/m4/macros/package_name.m4 b/m4/macros/package_name.m4
new file mode 100644
index 000000000000..27f5711bf3ed
--- /dev/null
+++ b/m4/macros/package_name.m4
@@ -0,0 +1,8 @@
+dnl ######################################################################
+dnl Package name
+AC_DEFUN([AMU_PACKAGE_NAME],
+[AC_MSG_CHECKING(package name)
+AC_DEFINE_UNQUOTED(PACKAGE_NAME, "$1")
+AC_MSG_RESULT(\"$1\")
+])
+dnl ======================================================================
diff --git a/m4/macros/package_version.m4 b/m4/macros/package_version.m4
new file mode 100644
index 000000000000..0d6c6ef25f74
--- /dev/null
+++ b/m4/macros/package_version.m4
@@ -0,0 +1,8 @@
+dnl ######################################################################
+dnl Version of package
+AC_DEFUN([AMU_PACKAGE_VERSION],
+[AC_MSG_CHECKING(version of package)
+AC_DEFINE_UNQUOTED(PACKAGE_VERSION, "$1")
+AC_MSG_RESULT(\"$1\")
+])
+dnl ======================================================================
diff --git a/m4/macros/prog_lex.m4 b/m4/macros/prog_lex.m4
new file mode 100644
index 000000000000..43da78a86cdd
--- /dev/null
+++ b/m4/macros/prog_lex.m4
@@ -0,0 +1,14 @@
+dnl find f/lex, but error if none found
+AC_DEFUN_ONCE([AMU_PROG_LEX],
+[AC_CHECK_PROGS(LEX, flex lex, :)
+if test -z "$LEXLIB"
+then
+ AC_CHECK_LIB(fl, yywrap, LEXLIB="-lfl",
+ [AC_CHECK_LIB(l, yywrap, LEXLIB="-ll")])
+fi
+AC_SUBST(LEXLIB)
+if test "x$LEX" != "x:"; then
+ _AC_PROG_LEX_YYTEXT_DECL
+else
+ AC_MSG_ERROR([cannot find flex/lex -- needed for am-utils])
+fi])
diff --git a/m4/macros/prog_yacc.m4 b/m4/macros/prog_yacc.m4
new file mode 100644
index 000000000000..666cdef3f96a
--- /dev/null
+++ b/m4/macros/prog_yacc.m4
@@ -0,0 +1,6 @@
+dnl find bison/yacc, but error if none found
+AC_DEFUN([AMU_PROG_YACC],
+[AC_CHECK_PROGS(YACC, 'bison -y' byacc yacc, :)
+if test "x$YACC" = "x:"; then
+ AC_MSG_ERROR([cannot find bison/yacc/byacc -- needed for am-utils])
+fi])
diff --git a/m4/macros/save_state.m4 b/m4/macros/save_state.m4
new file mode 100644
index 000000000000..abc7b55fb00a
--- /dev/null
+++ b/m4/macros/save_state.m4
@@ -0,0 +1,13 @@
+dnl ######################################################################
+dnl AC_SAVE_STATE: save confdefs.h onto dbgcf.h and write $ac_cv_* cache
+dnl variables that are known so far.
+define(AMU_SAVE_STATE,
+dnl AC_MSG_NOTICE(*** SAVING CONFIGURE STATE ***)
+if test -f confdefs.h
+then
+ cp confdefs.h dbgcf.h
+fi
+[AC_CACHE_SAVE
+AC_MSG_NOTICE([*** SAVING CONFIGURE STATE ***])]
+)
+dnl ======================================================================
diff --git a/m4/macros/struct_field_nfs_fh.m4 b/m4/macros/struct_field_nfs_fh.m4
new file mode 100644
index 000000000000..5bada3081e35
--- /dev/null
+++ b/m4/macros/struct_field_nfs_fh.m4
@@ -0,0 +1,35 @@
+dnl ######################################################################
+dnl Find the name of the nfs filehandle field in nfs_args_t.
+AC_DEFUN([AMU_STRUCT_FIELD_NFS_FH],
+[
+dnl make sure this is called before macros which depend on it
+AC_BEFORE([$0], [AC_TYPE_NFS_FH])
+AC_CACHE_CHECK(for the name of the nfs filehandle field in nfs_args_t,
+ac_cv_struct_field_nfs_fh,
+[
+# set to a default value
+ac_cv_struct_field_nfs_fh=notfound
+# look for name "fh" (most systems)
+if test "$ac_cv_struct_field_nfs_fh" = notfound
+then
+AC_TRY_COMPILE_NFS(
+[ nfs_args_t nat;
+ char *cp = (char *) &(nat.fh);
+], ac_cv_struct_field_nfs_fh=fh, ac_cv_struct_field_nfs_fh=notfound)
+fi
+
+# look for name "root" (for example Linux)
+if test "$ac_cv_struct_field_nfs_fh" = notfound
+then
+AC_TRY_COMPILE_NFS(
+[ nfs_args_t nat;
+ char *cp = (char *) &(nat.root);
+], ac_cv_struct_field_nfs_fh=root, ac_cv_struct_field_nfs_fh=notfound)
+fi
+])
+if test "$ac_cv_struct_field_nfs_fh" != notfound
+then
+ AC_DEFINE_UNQUOTED(NFS_FH_FIELD, $ac_cv_struct_field_nfs_fh)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/struct_mntent.m4 b/m4/macros/struct_mntent.m4
new file mode 100644
index 000000000000..d9f481194ddd
--- /dev/null
+++ b/m4/macros/struct_mntent.m4
@@ -0,0 +1,21 @@
+dnl ######################################################################
+dnl Find if struct mntent exists anywhere in mount.h or mntent.h headers
+AC_DEFUN([AMU_STRUCT_MNTENT],
+[
+AC_CACHE_CHECK(for struct mntent,
+ac_cv_have_struct_mntent,
+[
+# try to compile a program which may have a definition for the structure
+AC_TRY_COMPILE(
+AMU_MOUNT_HEADERS
+,
+[
+struct mntent mt;
+], ac_cv_have_struct_mntent=yes, ac_cv_have_struct_mntent=no)
+])
+if test "$ac_cv_have_struct_mntent" = yes
+then
+ AC_DEFINE(HAVE_STRUCT_MNTENT)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/struct_mnttab.m4 b/m4/macros/struct_mnttab.m4
new file mode 100644
index 000000000000..ed1cb5635ae0
--- /dev/null
+++ b/m4/macros/struct_mnttab.m4
@@ -0,0 +1,21 @@
+dnl ######################################################################
+dnl Find if struct mnttab exists anywhere in mount.h or mnttab.h headers
+AC_DEFUN([AMU_STRUCT_MNTTAB],
+[
+AC_CACHE_CHECK(for struct mnttab,
+ac_cv_have_struct_mnttab,
+[
+# try to compile a program which may have a definition for the structure
+AC_TRY_COMPILE(
+AMU_MOUNT_HEADERS
+,
+[
+struct mnttab mt;
+], ac_cv_have_struct_mnttab=yes, ac_cv_have_struct_mnttab=no)
+])
+if test "$ac_cv_have_struct_mnttab" = yes
+then
+ AC_DEFINE(HAVE_STRUCT_MNTTAB)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/struct_nfs_args.m4 b/m4/macros/struct_nfs_args.m4
new file mode 100644
index 000000000000..4e6600ff79e6
--- /dev/null
+++ b/m4/macros/struct_nfs_args.m4
@@ -0,0 +1,55 @@
+dnl ######################################################################
+dnl Find if struct nfs_args exists anywhere in typical headers
+AC_DEFUN([AMU_STRUCT_NFS_ARGS],
+[
+dnl make sure this is called before [AC_TYPE_NFS_FH]
+AC_BEFORE([$0], [AC_TYPE_NFS_FH])
+AC_BEFORE([$0], [AC_STRUCT_FIELD_NFS_FH])
+AC_CACHE_CHECK(for struct nfs_args,
+ac_cv_have_struct_nfs_args,
+[
+# try to compile a program which may have a definition for the structure
+# assume not found
+ac_cv_have_struct_nfs_args=notfound
+
+# look for "struct irix5_nfs_args" (specially set in conf/nfs_prot/)
+if test "$ac_cv_have_struct_nfs_args" = notfound
+then
+AC_TRY_COMPILE_NFS(
+[ struct irix5_nfs_args na;
+], ac_cv_have_struct_nfs_args="struct irix5_nfs_args", ac_cv_have_struct_nfs_args=notfound)
+fi
+
+# look for "struct aix5_nfs_args" (specially set in conf/nfs_prot/)
+if test "$ac_cv_have_struct_nfs_args" = notfound
+then
+AC_TRY_COMPILE_NFS(
+[ struct aix5_nfs_args na;
+], ac_cv_have_struct_nfs_args="struct aix5_nfs_args", ac_cv_have_struct_nfs_args=notfound)
+fi
+
+# look for "struct aix4_nfs_args" (specially set in conf/nfs_prot/)
+if test "$ac_cv_have_struct_nfs_args" = notfound
+then
+AC_TRY_COMPILE_NFS(
+[ struct aix4_nfs_args na;
+], ac_cv_have_struct_nfs_args="struct aix4_nfs_args", ac_cv_have_struct_nfs_args=notfound)
+fi
+
+# look for "struct nfs_args"
+if test "$ac_cv_have_struct_nfs_args" = notfound
+then
+AC_TRY_COMPILE_NFS(
+[ struct nfs_args na;
+], ac_cv_have_struct_nfs_args="struct nfs_args", ac_cv_have_struct_nfs_args=notfound)
+fi
+
+])
+
+if test "$ac_cv_have_struct_nfs_args" != notfound
+then
+ AC_DEFINE(HAVE_STRUCT_NFS_ARGS)
+ AC_DEFINE_UNQUOTED(nfs_args_t, $ac_cv_have_struct_nfs_args)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/struct_nfs_fh.m4 b/m4/macros/struct_nfs_fh.m4
new file mode 100644
index 000000000000..8a60675db3e3
--- /dev/null
+++ b/m4/macros/struct_nfs_fh.m4
@@ -0,0 +1,63 @@
+dnl ######################################################################
+dnl Find the structure of an nfs filehandle.
+dnl if found, defined am_nfs_fh to it, else leave it undefined.
+dnl THE ORDER OF LOOKUPS IN THIS FILE IS VERY IMPORTANT!!!
+AC_DEFUN([AMU_STRUCT_NFS_FH],
+[
+AC_CACHE_CHECK(for type/structure of NFS V2 filehandle,
+ac_cv_struct_nfs_fh,
+[
+# try to compile a program which may have a definition for the type
+dnl need a series of compilations, which will test out every possible type
+dnl such as struct nfs_fh, fhandle_t, nfsv2fh_t, etc.
+# set to a default value
+ac_cv_struct_nfs_fh=notfound
+
+# look for "nfs_fh"
+if test "$ac_cv_struct_nfs_fh" = notfound
+then
+AC_TRY_COMPILE_NFS(
+[ nfs_fh nh;
+], ac_cv_struct_nfs_fh="nfs_fh", ac_cv_struct_nfs_fh=notfound)
+fi
+
+# look for "struct nfs_fh"
+if test "$ac_cv_struct_nfs_fh" = notfound
+then
+AC_TRY_COMPILE_NFS(
+[ struct nfs_fh nh;
+], ac_cv_struct_nfs_fh="struct nfs_fh", ac_cv_struct_nfs_fh=notfound)
+fi
+
+# look for "struct nfssvcfh"
+if test "$ac_cv_struct_nfs_fh" = notfound
+then
+AC_TRY_COMPILE_NFS(
+[ struct nfssvcfh nh;
+], ac_cv_struct_nfs_fh="struct nfssvcfh", ac_cv_struct_nfs_fh=notfound)
+fi
+
+# look for "nfsv2fh_t"
+if test "$ac_cv_struct_nfs_fh" = notfound
+then
+AC_TRY_COMPILE_NFS(
+[ nfsv2fh_t nh;
+], ac_cv_struct_nfs_fh="nfsv2fh_t", ac_cv_struct_nfs_fh=notfound)
+fi
+
+# look for "fhandle_t"
+if test "$ac_cv_struct_nfs_fh" = notfound
+then
+AC_TRY_COMPILE_NFS(
+[ fhandle_t nh;
+], ac_cv_struct_nfs_fh="fhandle_t", ac_cv_struct_nfs_fh=notfound)
+fi
+
+])
+
+if test "$ac_cv_struct_nfs_fh" != notfound
+then
+ AC_DEFINE_UNQUOTED(am_nfs_fh, $ac_cv_struct_nfs_fh)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/struct_nfs_fh3.m4 b/m4/macros/struct_nfs_fh3.m4
new file mode 100644
index 000000000000..7d5cac0bb44f
--- /dev/null
+++ b/m4/macros/struct_nfs_fh3.m4
@@ -0,0 +1,39 @@
+dnl ######################################################################
+dnl Find the structure of an nfs filehandle.
+dnl if found, defined am_nfs_fh3 to it, else leave it undefined.
+dnl THE ORDER OF LOOKUPS IN THIS FILE IS VERY IMPORTANT!!!
+AC_DEFUN([AMU_STRUCT_NFS_FH3],
+[
+AC_CACHE_CHECK(for type/structure of NFS V3 filehandle,
+ac_cv_struct_nfs_fh3,
+[
+# try to compile a program which may have a definition for the type
+dnl need a series of compilations, which will test out every possible type
+dnl such as struct nfs_fh3, XXX - what else?, etc.
+# set to a default value
+ac_cv_struct_nfs_fh3=notfound
+
+# look for "nfs_fh3"
+if test "$ac_cv_struct_nfs_fh3" = notfound
+then
+AC_TRY_COMPILE_NFS(
+[ nfs_fh3 nh;
+], ac_cv_struct_nfs_fh3="nfs_fh3_netbsd20", ac_cv_struct_nfs_fh3=notfound)
+fi
+
+# look for "struct nfs_fh3"
+if test "$ac_cv_struct_nfs_fh3" = notfound
+then
+AC_TRY_COMPILE_NFS(
+[ struct nfs_fh3 nh;
+], ac_cv_struct_nfs_fh3="struct nfs_fh3", ac_cv_struct_nfs_fh3=notfound)
+fi
+
+])
+
+if test "$ac_cv_struct_nfs_fh3" != notfound
+then
+ AC_DEFINE_UNQUOTED(am_nfs_fh3, $ac_cv_struct_nfs_fh3)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/struct_nfs_gfs_mount.m4 b/m4/macros/struct_nfs_gfs_mount.m4
new file mode 100644
index 000000000000..026d37935d4f
--- /dev/null
+++ b/m4/macros/struct_nfs_gfs_mount.m4
@@ -0,0 +1,22 @@
+dnl ######################################################################
+dnl Find if struct nfs_gfs_mount exists anywhere in typical headers
+AC_DEFUN([AMU_STRUCT_NFS_GFS_MOUNT],
+[
+dnl make sure this is called before [AC_TYPE_NFS_FH]
+AC_BEFORE([$0], [AC_TYPE_NFS_FH])
+AC_BEFORE([$0], [AC_STRUCT_FIELD_NFS_FH])
+AC_CACHE_CHECK(for struct nfs_gfs_mount,
+ac_cv_have_struct_nfs_gfs_mount,
+[
+# try to compile a program which may have a definition for the structure
+AC_TRY_COMPILE_NFS(
+[ struct nfs_gfs_mount ngm;
+], ac_cv_have_struct_nfs_gfs_mount=yes, ac_cv_have_struct_nfs_gfs_mount=no)
+])
+if test "$ac_cv_have_struct_nfs_gfs_mount" = yes
+then
+ AC_DEFINE(HAVE_STRUCT_NFS_GFS_MOUNT)
+ AC_DEFINE(nfs_args_t, struct nfs_gfs_mount)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/try_compile_anyfs.m4 b/m4/macros/try_compile_anyfs.m4
new file mode 100644
index 000000000000..22a571982373
--- /dev/null
+++ b/m4/macros/try_compile_anyfs.m4
@@ -0,0 +1,185 @@
+dnl ######################################################################
+dnl Compile a program with <any>FS headers to try and find a feature.
+dnl The headers part are fixed. Only three arguments are allowed:
+dnl [$1] is the program to compile (2nd arg to AC_TRY_COMPILE)
+dnl [$2] action to take if the program compiled (3rd arg to AC_TRY_COMPILE)
+dnl [$3] action to take if program did not compile (4rd arg to AC_TRY_COMPILE)
+AC_DEFUN([AC_TRY_COMPILE_ANYFS],
+[# try to compile a program which may have a definition for a structure
+AC_TRY_COMPILE(
+[
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif /* HAVE_SYS_TYPES_H */
+#ifdef HAVE_SYS_ERRNO_H
+# include <sys/errno.h>
+#endif /* HAVE_SYS_ERRNO_H */
+#ifdef HAVE_SYS_PARAM_H
+# include <sys/param.h>
+#endif /* HAVE_SYS_PARAM_H */
+
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else /* not TIME_WITH_SYS_TIME */
+# if HAVE_SYS_TIME_H
+# include <sys/time.h>
+# else /* not HAVE_SYS_TIME_H */
+# include <time.h>
+# endif /* not HAVE_SYS_TIME_H */
+#endif /* not TIME_WITH_SYS_TIME */
+
+#ifdef HAVE_NETINET_IN_H
+# include <netinet/in.h>
+#endif /* HAVE_NETINET_IN_H */
+#ifdef HAVE_SYS_TIUSER_H
+# include <sys/tiuser.h>
+#endif /* HAVE_SYS_TIUSER_H */
+
+#ifdef HAVE_SYS_MOUNT_H
+# ifndef NFSCLIENT
+# define NFSCLIENT
+# endif /* not NFSCLIENT */
+# ifndef PCFS
+# define PCFS
+# endif /* not PCFS */
+# ifndef LOFS
+# define LOFS
+# endif /* not LOFS */
+# ifndef RFS
+# define RFS
+# endif /* not RFS */
+# ifndef MSDOSFS
+# define MSDOSFS
+# endif /* not MSDOSFS */
+# ifndef MFS
+# define MFS 1
+# endif /* not MFS */
+# ifndef CD9660
+# define CD9660
+# endif /* not CD9660 */
+# ifndef NFS
+# define NFS
+# endif /* not NFS */
+# include <sys/mount.h>
+#endif /* HAVE_SYS_MOUNT_H */
+
+#ifdef HAVE_SYS_VMOUNT_H
+# include <sys/vmount.h>
+#endif /* HAVE_SYS_VMOUNT_H */
+
+/*
+ * There is no point in including this on a glibc2 system
+ * we're only asking for trouble
+ */
+#if defined HAVE_LINUX_FS_H && (!defined __GLIBC__ || __GLIBC__ < 2)
+/*
+ * There's a conflict of definitions on redhat alpha linux between
+ * <netinet/in.h> and <linux/fs.h>.
+ * Also a conflict in definitions of ntohl/htonl in RH-5.1 sparc64
+ * between <netinet/in.h> and <linux/byteorder/generic.h> (2.1 kernels).
+ */
+# ifdef HAVE_SOCKETBITS_H
+# define _LINUX_SOCKET_H
+# undef BLKFLSBUF
+# undef BLKGETSIZE
+# undef BLKRAGET
+# undef BLKRASET
+# undef BLKROGET
+# undef BLKROSET
+# undef BLKRRPART
+# undef MS_MGC_VAL
+# undef MS_RMT_MASK
+# endif /* HAVE_SOCKETBITS_H */
+# ifdef HAVE_LINUX_POSIX_TYPES_H
+# include <linux/posix_types.h>
+# endif /* HAVE_LINUX_POSIX_TYPES_H */
+# ifndef _LINUX_BYTEORDER_GENERIC_H
+# define _LINUX_BYTEORDER_GENERIC_H
+# endif /* _LINUX_BYTEORDER_GENERIC_H */
+# ifndef _LINUX_STRING_H_
+# define _LINUX_STRING_H_
+# endif /* not _LINUX_STRING_H_ */
+# ifdef HAVE_LINUX_KDEV_T_H
+# define __KERNEL__
+# include <linux/kdev_t.h>
+# undef __KERNEL__
+# endif /* HAVE_LINUX_KDEV_T_H */
+# ifdef HAVE_LINUX_LIST_H
+# define __KERNEL__
+# include <linux/list.h>
+# undef __KERNEL__
+# endif /* HAVE_LINUX_LIST_H */
+# include <linux/fs.h>
+#endif /* HAVE_LINUX_FS_H && (!__GLIBC__ || __GLIBC__ < 2) */
+
+#ifdef HAVE_SYS_FS_AUTOFS_H
+# include <sys/fs/autofs.h>
+#endif /* HAVE_SYS_FS_AUTOFS_H */
+#ifdef HAVE_SYS_FS_CACHEFS_FS_H
+# include <sys/fs/cachefs_fs.h>
+#endif /* HAVE_SYS_FS_CACHEFS_FS_H */
+
+#ifdef HAVE_SYS_FS_PC_FS_H
+# include <sys/fs/pc_fs.h>
+#endif /* HAVE_SYS_FS_PC_FS_H */
+#ifdef HAVE_MSDOSFS_MSDOSFSMOUNT_H
+# include <msdosfs/msdosfsmount.h>
+#endif /* HAVE_MSDOSFS_MSDOSFSMOUNT_H */
+#ifdef HAVE_FS_MSDOSFS_MSDOSFSMOUNT_H
+# include <fs/msdosfs/msdosfsmount.h>
+#endif /* HAVE_FS_MSDOSFS_MSDOSFSMOUNT_H */
+
+#ifdef HAVE_SYS_FS_TMP_H
+# include <sys/fs/tmp.h>
+#endif /* HAVE_SYS_FS_TMP_H */
+#ifdef HAVE_FS_TMPFS_TMPFS_ARGS_H
+# include <fs/tmpfs/tmpfs_args.h>
+#endif /* HAVE_FS_TMPFS_TMPFS_ARGS_H */
+
+#ifdef HAVE_UFS_UFS_MOUNT_H
+# include <ufs/ufs_mount.h>
+#endif /* HAVE_UFS_UFS_MOUNT_H */
+#ifdef HAVE_UFS_UFS_UFSMOUNT_H
+# ifndef MAXQUOTAS
+# define MAXQUOTAS 2
+# endif /* not MAXQUOTAS */
+struct netexport { int this_is_SO_wrong; }; /* for bsdi-2.1 */
+/* netbsd-1.4 does't protect <ufs/ufs/ufsmount.h> */
+# ifndef _UFS_UFS_UFSMOUNT_H
+# include <ufs/ufs/ufsmount.h>
+# define _UFS_UFS_UFSMOUNT_H
+# endif /* not _UFS_UFS_UFSMOUNT_H */
+#endif /* HAVE_UFS_UFS_UFSMOUNT_H */
+#ifdef HAVE_SYS_FS_UFS_MOUNT_H
+# include <sys/fs/ufs_mount.h>
+#endif /* HAVE_SYS_FS_UFS_MOUNT_H */
+#ifdef HAVE_SYS_FS_EFS_CLNT_H
+# include <sys/fs/efs_clnt.h>
+#endif /* HAVE_SYS_FS_EFS_CLNT_H */
+#ifdef HAVE_FS_EFS_EFS_MOUNT_H
+# include <fs/efs/efs_mount.h>
+#endif /* HAVE_FS_EFS_EFS_MOUNT_H */
+#ifdef HAVE_SYS_FS_XFS_CLNT_H
+# include <sys/fs/xfs_clnt.h>
+#endif /* HAVE_SYS_FS_XFS_CLNT_H */
+
+#ifdef HAVE_CDFS_CDFS_MOUNT_H
+# include <cdfs/cdfs_mount.h>
+#endif /* HAVE_CDFS_CDFS_MOUNT_H */
+#ifdef HAVE_HSFS_HSFS_H
+# include <hsfs/hsfs.h>
+#endif /* HAVE_HSFS_HSFS_H */
+#ifdef HAVE_CDFS_CDFSMOUNT_H
+# include <cdfs/cdfsmount.h>
+#endif /* HAVE_CDFS_CDFSMOUNT_H */
+#ifdef HAVE_ISOFS_CD9660_CD9660_MOUNT_H
+# include <isofs/cd9660/cd9660_mount.h>
+#endif /* HAVE_ISOFS_CD9660_CD9660_MOUNT_H */
+
+#ifdef HAVE_FS_UDF_UDF_MOUNT_H
+# include <fs/udf/udf_mount.h>
+#endif /* HAVE_FS_UDF_UDF_MOUNT_H */
+], [$1], [$2], [$3])
+])
+dnl ======================================================================
diff --git a/m4/macros/try_compile_nfs.m4 b/m4/macros/try_compile_nfs.m4
new file mode 100644
index 000000000000..d04e19619fa5
--- /dev/null
+++ b/m4/macros/try_compile_nfs.m4
@@ -0,0 +1,13 @@
+dnl ######################################################################
+dnl Compile a program with NFS headers to try and find a feature.
+dnl The headers part are fixed. Only three arguments are allowed:
+dnl [$1] is the program to compile (2nd arg to AC_TRY_COMPILE)
+dnl [$2] action to take if the program compiled (3rd arg to AC_TRY_COMPILE)
+dnl [$3] action to take if program did not compile (4rd arg to AC_TRY_COMPILE)
+AC_DEFUN([AC_TRY_COMPILE_NFS],
+[# try to compile a program which may have a definition for a structure
+AC_TRY_COMPILE(
+AMU_MOUNT_HEADERS
+, [$1], [$2], [$3])
+])
+dnl ======================================================================
diff --git a/m4/macros/try_compile_rpc.m4 b/m4/macros/try_compile_rpc.m4
new file mode 100644
index 000000000000..5c95348ca0b8
--- /dev/null
+++ b/m4/macros/try_compile_rpc.m4
@@ -0,0 +1,23 @@
+dnl ######################################################################
+dnl Compile a program with RPC headers to try and find a feature.
+dnl The headers part are fixed. Only three arguments are allowed:
+dnl [$1] is the program to compile (2nd arg to AC_TRY_COMPILE)
+dnl [$2] action to take if the program compiled (3rd arg to AC_TRY_COMPILE)
+dnl [$3] action to take if program did not compile (4rd arg to AC_TRY_COMPILE)
+AC_DEFUN([AC_TRY_COMPILE_RPC],
+[# try to compile a program which may have a definition for a structure
+AC_TRY_COMPILE(
+[
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif /* HAVE_SYS_TYPES_H */
+#ifdef HAVE_RPC_RPC_H
+# include <rpc/rpc.h>
+#endif /* HAVE_RPC_RPC_H */
+/* Prevent multiple inclusion on Ultrix 4 */
+#if defined(HAVE_RPC_XDR_H) && !defined(__XDR_HEADER__)
+# include <rpc/xdr.h>
+#endif /* defined(HAVE_RPC_XDR_H) && !defined(__XDR_HEADER__) */
+], [$1], [$2], [$3])
+])
+dnl ======================================================================
diff --git a/m4/macros/type_auth_create_gidlist.m4 b/m4/macros/type_auth_create_gidlist.m4
new file mode 100644
index 000000000000..b56d4f657313
--- /dev/null
+++ b/m4/macros/type_auth_create_gidlist.m4
@@ -0,0 +1,25 @@
+dnl ######################################################################
+dnl check the correct type for the 5th argument to authunix_create()
+AC_DEFUN([AMU_TYPE_AUTH_CREATE_GIDLIST],
+[
+AC_CACHE_CHECK(argument type of 5rd argument to authunix_create(),
+ac_cv_auth_create_gidlist,
+[
+# select the correct type
+case "${host_os_name}" in
+ sunos[[34]]* | bsdi2* | sysv4* | hpux10.10 | ultrix* | aix4* )
+ ac_cv_auth_create_gidlist="int" ;;
+ # old macosx used "gid_t" but all newer ones use int
+ macosx-10.[[0-3]]* )
+ ac_cv_auth_create_gidlist="gid_t" ;;
+ macosx* )
+ ac_cv_auth_create_gidlist="int" ;;
+ *bsd* )
+ ac_cv_auth_create_gidlist="int" ;;
+ * )
+ ac_cv_auth_create_gidlist="gid_t" ;;
+esac
+])
+AC_DEFINE_UNQUOTED(AUTH_CREATE_GIDLIST_TYPE, $ac_cv_auth_create_gidlist)
+])
+dnl ======================================================================
diff --git a/m4/macros/type_autofs_args.m4 b/m4/macros/type_autofs_args.m4
new file mode 100644
index 000000000000..ca91bf8be09e
--- /dev/null
+++ b/m4/macros/type_autofs_args.m4
@@ -0,0 +1,33 @@
+dnl ######################################################################
+dnl Find the correct type for AUTOFS mount(2) arguments structure
+AC_DEFUN([AMU_TYPE_AUTOFS_ARGS],
+[
+AC_CACHE_CHECK(for structure type of autofs mount(2) arguments,
+ac_cv_type_autofs_args,
+[
+# set to a default value
+ac_cv_type_autofs_args=notfound
+
+# look for "struct auto_args"
+if test "$ac_cv_type_autofs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct auto_args a;
+], ac_cv_type_autofs_args="struct auto_args", ac_cv_type_autofs_args=notfound)
+fi
+
+# look for "struct autofs_args"
+if test "$ac_cv_type_autofs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct autofs_args a;
+], ac_cv_type_autofs_args="struct autofs_args", ac_cv_type_autofs_args=notfound)
+fi
+
+])
+if test "$ac_cv_type_autofs_args" != notfound
+then
+ AC_DEFINE_UNQUOTED(autofs_args_t, $ac_cv_type_autofs_args)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/type_cachefs_args.m4 b/m4/macros/type_cachefs_args.m4
new file mode 100644
index 000000000000..556c38888390
--- /dev/null
+++ b/m4/macros/type_cachefs_args.m4
@@ -0,0 +1,23 @@
+dnl ######################################################################
+dnl Find the correct type for CACHEFS mount(2) arguments structure
+AC_DEFUN([AMU_TYPE_CACHEFS_ARGS],
+[
+AC_CACHE_CHECK(for structure type of cachefs mount(2) arguments,
+ac_cv_type_cachefs_args,
+[
+# set to a default value
+ac_cv_type_cachefs_args=notfound
+# look for "struct cachefs_mountargs"
+if test "$ac_cv_type_cachefs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct cachefs_mountargs a;
+], ac_cv_type_cachefs_args="struct cachefs_mountargs", ac_cv_type_cachefs_args=notfound)
+fi
+])
+if test "$ac_cv_type_cachefs_args" != notfound
+then
+ AC_DEFINE_UNQUOTED(cachefs_args_t, $ac_cv_type_cachefs_args)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/type_cdfs_args.m4 b/m4/macros/type_cdfs_args.m4
new file mode 100644
index 000000000000..def76949c909
--- /dev/null
+++ b/m4/macros/type_cdfs_args.m4
@@ -0,0 +1,57 @@
+dnl ######################################################################
+dnl Find the correct type for CDFS mount(2) arguments structure
+AC_DEFUN([AMU_TYPE_CDFS_ARGS],
+[
+AC_CACHE_CHECK(for structure type of cdfs mount(2) arguments,
+ac_cv_type_cdfs_args,
+[
+# set to a default value
+ac_cv_type_cdfs_args=notfound
+
+# look for "struct iso_args"
+if test "$ac_cv_type_cdfs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct iso_args a;
+], ac_cv_type_cdfs_args="struct iso_args", ac_cv_type_cdfs_args=notfound)
+fi
+
+# look for "struct iso9660_args"
+if test "$ac_cv_type_cdfs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct iso9660_args a;
+], ac_cv_type_cdfs_args="struct iso9660_args", ac_cv_type_cdfs_args=notfound)
+fi
+
+# look for "struct cdfs_args"
+if test "$ac_cv_type_cdfs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct cdfs_args a;
+], ac_cv_type_cdfs_args="struct cdfs_args", ac_cv_type_cdfs_args=notfound)
+fi
+
+# look for "struct hsfs_args"
+if test "$ac_cv_type_cdfs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct hsfs_args a;
+], ac_cv_type_cdfs_args="struct hsfs_args", ac_cv_type_cdfs_args=notfound)
+fi
+
+# look for "struct iso_specific" (ultrix)
+if test "$ac_cv_type_cdfs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct iso_specific a;
+], ac_cv_type_cdfs_args="struct iso_specific", ac_cv_type_cdfs_args=notfound)
+fi
+
+])
+if test "$ac_cv_type_cdfs_args" != notfound
+then
+ AC_DEFINE_UNQUOTED(cdfs_args_t, $ac_cv_type_cdfs_args)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/type_efs_args.m4 b/m4/macros/type_efs_args.m4
new file mode 100644
index 000000000000..b4e56644c848
--- /dev/null
+++ b/m4/macros/type_efs_args.m4
@@ -0,0 +1,25 @@
+dnl ######################################################################
+dnl Find the correct type for EFS mount(2) arguments structure
+AC_DEFUN([AMU_TYPE_EFS_ARGS],
+[
+AC_CACHE_CHECK(for structure type of efs mount(2) arguments,
+ac_cv_type_efs_args,
+[
+# set to a default value
+ac_cv_type_efs_args=notfound
+
+# look for "struct efs_args"
+if test "$ac_cv_type_efs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct efs_args a;
+], ac_cv_type_efs_args="struct efs_args", ac_cv_type_efs_args=notfound)
+fi
+
+])
+if test "$ac_cv_type_efs_args" != notfound
+then
+ AC_DEFINE_UNQUOTED(efs_args_t, $ac_cv_type_efs_args)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/type_lofs_args.m4 b/m4/macros/type_lofs_args.m4
new file mode 100644
index 000000000000..266d38f8cd08
--- /dev/null
+++ b/m4/macros/type_lofs_args.m4
@@ -0,0 +1,30 @@
+dnl ######################################################################
+dnl Find the correct type for LOFS mount(2) arguments structure
+AC_DEFUN([AMU_TYPE_LOFS_ARGS],
+[
+AC_CACHE_CHECK(for structure type of lofs mount(2) arguments,
+ac_cv_type_lofs_args,
+[
+# set to a default value
+ac_cv_type_lofs_args=notfound
+# look for "struct lofs_args"
+if test "$ac_cv_type_lofs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct lofs_args a;
+], ac_cv_type_lofs_args="struct lofs_args", ac_cv_type_lofs_args=notfound)
+fi
+# look for "struct lo_args"
+if test "$ac_cv_type_lofs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct lo_args a;
+], ac_cv_type_lofs_args="struct lo_args", ac_cv_type_lofs_args=notfound)
+fi
+])
+if test "$ac_cv_type_lofs_args" != notfound
+then
+ AC_DEFINE_UNQUOTED(lofs_args_t, $ac_cv_type_lofs_args)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/type_mfs_args.m4 b/m4/macros/type_mfs_args.m4
new file mode 100644
index 000000000000..79bd4571343e
--- /dev/null
+++ b/m4/macros/type_mfs_args.m4
@@ -0,0 +1,23 @@
+dnl ######################################################################
+dnl Find the correct type for MFS mount(2) arguments structure
+AC_DEFUN([AMU_TYPE_MFS_ARGS],
+[
+AC_CACHE_CHECK(for structure type of mfs mount(2) arguments,
+ac_cv_type_mfs_args,
+[
+# set to a default value
+ac_cv_type_mfs_args=notfound
+# look for "struct mfs_args"
+if test "$ac_cv_type_mfs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct mfs_args a;
+], ac_cv_type_mfs_args="struct mfs_args", ac_cv_type_mfs_args=notfound)
+fi
+])
+if test "$ac_cv_type_mfs_args" != notfound
+then
+ AC_DEFINE_UNQUOTED(mfs_args_t, $ac_cv_type_mfs_args)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/type_pcfs_args.m4 b/m4/macros/type_pcfs_args.m4
new file mode 100644
index 000000000000..2d54f5413663
--- /dev/null
+++ b/m4/macros/type_pcfs_args.m4
@@ -0,0 +1,50 @@
+dnl ######################################################################
+dnl Find the correct type for PC/FS mount(2) arguments structure
+AC_DEFUN([AMU_TYPE_PCFS_ARGS],
+[
+AC_CACHE_CHECK(for structure type of pcfs mount(2) arguments,
+ac_cv_type_pcfs_args,
+[
+# set to a default value
+ac_cv_type_pcfs_args=notfound
+
+# look for "struct msdos_args"
+if test "$ac_cv_type_pcfs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct msdos_args a;
+], ac_cv_type_pcfs_args="struct msdos_args", ac_cv_type_pcfs_args=notfound)
+fi
+
+# look for "struct pc_args"
+if test "$ac_cv_type_pcfs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct pc_args a;
+], ac_cv_type_pcfs_args="struct pc_args", ac_cv_type_pcfs_args=notfound)
+fi
+
+# look for "struct pcfs_args"
+if test "$ac_cv_type_pcfs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct pcfs_args a;
+], ac_cv_type_pcfs_args="struct pcfs_args", ac_cv_type_pcfs_args=notfound)
+fi
+
+# look for "struct msdosfs_args"
+if test "$ac_cv_type_pcfs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct msdosfs_args a;
+], ac_cv_type_pcfs_args="struct msdosfs_args", ac_cv_type_pcfs_args=notfound)
+fi
+
+])
+
+if test "$ac_cv_type_pcfs_args" != notfound
+then
+ AC_DEFINE_UNQUOTED(pcfs_args_t, $ac_cv_type_pcfs_args)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/type_pte_t.m4 b/m4/macros/type_pte_t.m4
new file mode 100644
index 000000000000..162b7b9c608f
--- /dev/null
+++ b/m4/macros/type_pte_t.m4
@@ -0,0 +1,15 @@
+dnl ######################################################################
+dnl check for type of pte_t (for Irix, usually in <sys/immu.h>)
+dnl Note: some gcc's on Irix 6.5 are broken and don't recognize pte_t,
+dnl so I'm defining it here to unsigned int, which is not necessarily correct,
+dnl but at least it gets am-utils to compile.
+AC_DEFUN([AMU_TYPE_PTE_T],
+[AC_CHECK_TYPE(pte_t, ,
+[AC_DEFINE_UNQUOTED(pte_t, unsigned int,
+ [Check if pte_t is defined in <sys/immu.h>])],
+[
+#ifdef HAVE_SYS_IMMU_H
+# include <sys/immu.h>
+#endif /* HAVE_SYS_IMMU_H */
+])])
+dnl ======================================================================
diff --git a/m4/macros/type_recvfrom_fromlen.m4 b/m4/macros/type_recvfrom_fromlen.m4
new file mode 100644
index 000000000000..71812bd29789
--- /dev/null
+++ b/m4/macros/type_recvfrom_fromlen.m4
@@ -0,0 +1,29 @@
+dnl ######################################################################
+dnl check the correct type for the 6th argument to recvfrom()
+AC_DEFUN([AMU_TYPE_RECVFROM_FROMLEN],
+[
+AC_CACHE_CHECK(non-pointer type of 6th (fromlen) argument to recvfrom(),
+ac_cv_recvfrom_fromlen,
+[
+# select the correct type
+case "${host_os}" in
+ linux* )
+ ac_cv_recvfrom_fromlen="unsigned int" ;;
+ aix[[1-3]]* )
+ ac_cv_recvfrom_fromlen="int" ;;
+ aix* )
+ ac_cv_recvfrom_fromlen="size_t" ;;
+ # old macosx used "int" but all newer ones use socklen_t
+ macosx-10.[[0-3]]* )
+ ac_cv_recvfrom_fromlen="int" ;;
+ macosx* )
+ ac_cv_recvfrom_fromlen="socklen_t" ;;
+ *bsd* )
+ ac_cv_recvfrom_fromlen="socklen_t" ;;
+ * )
+ ac_cv_recvfrom_fromlen="int" ;;
+esac
+])
+AC_DEFINE_UNQUOTED(RECVFROM_FROMLEN_TYPE, $ac_cv_recvfrom_fromlen)
+])
+dnl ======================================================================
diff --git a/m4/macros/type_rfs_args.m4 b/m4/macros/type_rfs_args.m4
new file mode 100644
index 000000000000..eeec8f641700
--- /dev/null
+++ b/m4/macros/type_rfs_args.m4
@@ -0,0 +1,23 @@
+dnl ######################################################################
+dnl Find the correct type for RFS mount(2) arguments structure
+AC_DEFUN([AMU_TYPE_RFS_ARGS],
+[
+AC_CACHE_CHECK(for structure type of rfs mount(2) arguments,
+ac_cv_type_rfs_args,
+[
+# set to a default value
+ac_cv_type_rfs_args=notfound
+# look for "struct rfs_args"
+if test "$ac_cv_type_rfs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct rfs_args a;
+], ac_cv_type_rfs_args="struct rfs_args", ac_cv_type_rfs_args=notfound)
+fi
+])
+if test "$ac_cv_type_rfs_args" != notfound
+then
+ AC_DEFINE_UNQUOTED(rfs_args_t, $ac_cv_type_rfs_args)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/type_rpcvers_t.m4 b/m4/macros/type_rpcvers_t.m4
new file mode 100644
index 000000000000..d0fa8c140884
--- /dev/null
+++ b/m4/macros/type_rpcvers_t.m4
@@ -0,0 +1,11 @@
+dnl ######################################################################
+dnl check for type of rpcvers_t (usually in <rpc/types.h>)
+AC_DEFUN([AMU_TYPE_RPCVERS_T],
+[AC_CHECK_TYPE(rpcvers_t, ,
+[AC_DEFINE_UNQUOTED(rpcvers_t, unsigned long, [Check if rpcvers_t is defined in <rpc/types.h>])],
+[
+#ifdef HAVE_RPC_TYPES_H
+# include <rpc/types.h>
+#endif /* HAVE_RPC_TYPES_H */
+])])
+dnl ======================================================================
diff --git a/m4/macros/type_svc_in_arg.m4 b/m4/macros/type_svc_in_arg.m4
new file mode 100644
index 000000000000..4fa486d1a240
--- /dev/null
+++ b/m4/macros/type_svc_in_arg.m4
@@ -0,0 +1,39 @@
+dnl ######################################################################
+dnl Find the type of the 3rd argument (in) to svc_sendreply() call
+AC_DEFUN([AMU_TYPE_SVC_IN_ARG],
+[
+AC_CACHE_CHECK(for type of 3rd arg ('in') arg to svc_sendreply(),
+ac_cv_type_svc_in_arg,
+[
+# try to compile a program which may have a definition for the type
+dnl need a series of compilations, which will test out every possible type
+dnl such as caddr_t, char *, etc.
+# set to a default value
+ac_cv_type_svc_in_arg=notfound
+# look for "caddr_t"
+if test "$ac_cv_type_svc_in_arg" = notfound
+then
+AC_TRY_COMPILE_RPC(
+[ SVCXPRT *SX;
+ xdrproc_t xp;
+ caddr_t p;
+ svc_sendreply(SX, xp, p);
+], ac_cv_type_svc_in_arg="caddr_t", ac_cv_type_svc_in_arg=notfound)
+fi
+# look for "char *"
+if test "$ac_cv_type_svc_in_arg" = notfound
+then
+AC_TRY_COMPILE_RPC(
+[ SVCXPRT *SX;
+ xdrproc_t xp;
+ char *p;
+ svc_sendreply(SX, xp, p);
+], ac_cv_type_svc_in_arg="char *", ac_cv_type_svc_in_arg=notfound)
+fi
+])
+if test "$ac_cv_type_svc_in_arg" != notfound
+then
+ AC_DEFINE_UNQUOTED(SVC_IN_ARG_TYPE, $ac_cv_type_svc_in_arg)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/type_time_t.m4 b/m4/macros/type_time_t.m4
new file mode 100644
index 000000000000..7e6d2b2e74f3
--- /dev/null
+++ b/m4/macros/type_time_t.m4
@@ -0,0 +1,5 @@
+dnl ######################################################################
+dnl check for type of time_t (usually in <sys/types.h>)
+AC_DEFUN([AMU_TYPE_TIME_T],
+[AC_CHECK_TYPE(time_t, long)])
+dnl ======================================================================
diff --git a/m4/macros/type_tmpfs_args.m4 b/m4/macros/type_tmpfs_args.m4
new file mode 100644
index 000000000000..7475f4a3e453
--- /dev/null
+++ b/m4/macros/type_tmpfs_args.m4
@@ -0,0 +1,23 @@
+dnl ######################################################################
+dnl Find the correct type for TMPFS mount(2) arguments structure
+AC_DEFUN([AMU_TYPE_TMPFS_ARGS],
+[
+AC_CACHE_CHECK(for structure type of tmpfs mount(2) arguments,
+ac_cv_type_tmpfs_args,
+[
+# set to a default value
+ac_cv_type_tmpfs_args=notfound
+# look for "struct tmpfs_args"
+if test "$ac_cv_type_tmpfs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct tmpfs_args a;
+], ac_cv_type_tmpfs_args="struct tmpfs_args", ac_cv_type_tmpfs_args=notfound)
+fi
+])
+if test "$ac_cv_type_tmpfs_args" != notfound
+then
+ AC_DEFINE_UNQUOTED(tmpfs_args_t, $ac_cv_type_tmpfs_args)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/type_udf_args.m4 b/m4/macros/type_udf_args.m4
new file mode 100644
index 000000000000..9c9886718e2c
--- /dev/null
+++ b/m4/macros/type_udf_args.m4
@@ -0,0 +1,25 @@
+dnl ######################################################################
+dnl Find the correct type for UDF mount(2) arguments structure
+AC_DEFUN([AMU_TYPE_UDF_ARGS],
+[
+AC_CACHE_CHECK(for structure type of udf mount(2) arguments,
+ac_cv_type_udf_args,
+[
+# set to a default value
+ac_cv_type_udf_args=notfound
+
+# look for "struct udf_args"
+if test "$ac_cv_type_udf_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct udf_args a;
+], ac_cv_type_udf_args="struct udf_args", ac_cv_type_udf_args=notfound)
+fi
+
+])
+if test "$ac_cv_type_udf_args" != notfound
+then
+ AC_DEFINE_UNQUOTED(udf_args_t, $ac_cv_type_udf_args)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/type_ufs_args.m4 b/m4/macros/type_ufs_args.m4
new file mode 100644
index 000000000000..4c844080738c
--- /dev/null
+++ b/m4/macros/type_ufs_args.m4
@@ -0,0 +1,41 @@
+dnl ######################################################################
+dnl Find the correct type for UFS mount(2) arguments structure
+AC_DEFUN([AMU_TYPE_UFS_ARGS],
+[
+AC_CACHE_CHECK(for structure type of ufs mount(2) arguments,
+ac_cv_type_ufs_args,
+[
+# set to a default value
+ac_cv_type_ufs_args=notfound
+
+# look for "struct ufs_args"
+if test "$ac_cv_type_ufs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct ufs_args a;
+], ac_cv_type_ufs_args="struct ufs_args", ac_cv_type_ufs_args=notfound)
+fi
+
+# look for "struct efs_args" (irix)
+if test "$ac_cv_type_ufs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct efs_args a;
+], ac_cv_type_ufs_args="struct efs_args", ac_cv_type_ufs_args=notfound)
+fi
+
+# look for "struct ufs_specific" (ultrix)
+if test "$ac_cv_type_ufs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct ufs_specific a;
+], ac_cv_type_ufs_args="struct ufs_specific", ac_cv_type_ufs_args=notfound)
+fi
+
+])
+if test "$ac_cv_type_ufs_args" != notfound
+then
+ AC_DEFINE_UNQUOTED(ufs_args_t, $ac_cv_type_ufs_args)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/type_xdrproc_t.m4 b/m4/macros/type_xdrproc_t.m4
new file mode 100644
index 000000000000..a06fad7d3b00
--- /dev/null
+++ b/m4/macros/type_xdrproc_t.m4
@@ -0,0 +1,20 @@
+dnl ######################################################################
+dnl check for type of xdrproc_t (usually in <rpc/xdr.h>)
+AC_DEFUN([AMU_TYPE_XDRPROC_T],
+[
+AC_CACHE_CHECK(for xdrproc_t,
+ac_cv_type_xdrproc_t,
+[
+# try to compile a program which may have a definition for the type
+dnl need a series of compilations, which will test out every possible type
+# look for "xdrproc_t"
+AC_TRY_COMPILE_RPC(
+[ xdrproc_t xdr_int;
+], ac_cv_type_xdrproc_t=yes, ac_cv_type_xdrproc_t=no)
+])
+if test "$ac_cv_type_xdrproc_t" = yes
+then
+ AC_DEFINE_UNQUOTED(XDRPROC_T_TYPE, xdrproc_t)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/type_xfs_args.m4 b/m4/macros/type_xfs_args.m4
new file mode 100644
index 000000000000..084c236aded8
--- /dev/null
+++ b/m4/macros/type_xfs_args.m4
@@ -0,0 +1,25 @@
+dnl ######################################################################
+dnl Find the correct type for XFS mount(2) arguments structure
+AC_DEFUN([AMU_TYPE_XFS_ARGS],
+[
+AC_CACHE_CHECK(for structure type of xfs mount(2) arguments,
+ac_cv_type_xfs_args,
+[
+# set to a default value
+ac_cv_type_xfs_args=notfound
+
+# look for "struct xfs_args"
+if test "$ac_cv_type_xfs_args" = notfound
+then
+AC_TRY_COMPILE_ANYFS(
+[ struct xfs_args a;
+], ac_cv_type_xfs_args="struct xfs_args", ac_cv_type_xfs_args=notfound)
+fi
+
+])
+if test "$ac_cv_type_xfs_args" != notfound
+then
+ AC_DEFINE_UNQUOTED(xfs_args_t, $ac_cv_type_xfs_args)
+fi
+])
+dnl ======================================================================
diff --git a/m4/macros/type_yp_order_outorder.m4 b/m4/macros/type_yp_order_outorder.m4
new file mode 100644
index 000000000000..fefeced8a541
--- /dev/null
+++ b/m4/macros/type_yp_order_outorder.m4
@@ -0,0 +1,23 @@
+dnl ######################################################################
+dnl check the correct type for the 3rd argument to yp_order()
+AC_DEFUN([AMU_TYPE_YP_ORDER_OUTORDER],
+[
+AC_CACHE_CHECK(pointer type of 3rd argument to yp_order(),
+ac_cv_yp_order_outorder,
+[
+# select the correct type
+case "${host_os}" in
+ aix[[1-3]]* | aix4.[[0-2]]* | sunos[[34]]* | solaris1* )
+ ac_cv_yp_order_outorder=int ;;
+ solaris* | svr4* | sysv4* | sunos* | hpux* | aix* )
+ ac_cv_yp_order_outorder="unsigned long" ;;
+ linux* | osf* )
+ # DU4 man page is wrong, headers are right
+ ac_cv_yp_order_outorder="unsigned int" ;;
+ * )
+ ac_cv_yp_order_outorder=int ;;
+esac
+])
+AC_DEFINE_UNQUOTED(YP_ORDER_OUTORDER_TYPE, $ac_cv_yp_order_outorder)
+])
+dnl ======================================================================
diff --git a/m4/macros/with_addon.m4 b/m4/macros/with_addon.m4
new file mode 100644
index 000000000000..b061621cf173
--- /dev/null
+++ b/m4/macros/with_addon.m4
@@ -0,0 +1,26 @@
+dnl ######################################################################
+dnl Do we want to compile with "ADDON" support? (hesiod, ldap, etc.)
+AC_DEFUN([AMU_WITH_ADDON],
+[AC_MSG_CHECKING([if $1 is wanted])
+ac_upcase=`echo $1|tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+AC_ARG_WITH($1,
+ AC_HELP_STRING([--with-$1],
+ [enable $2 support (default=yes if found)]
+),[
+if test "$withval" = "yes"; then
+ with_$1=yes
+elif test "$withval" = "no"; then
+ with_$1=no
+else
+ AC_MSG_ERROR(please use \"yes\" or \"no\" with --with-$1)
+fi
+],[
+with_$1=yes
+])
+if test "$with_$1" = "yes"
+then
+ AC_MSG_RESULT([yes, will enable if all libraries are found])
+else
+ AC_MSG_RESULT([no])
+fi
+])
diff --git a/m4/mk-aclocal b/m4/mk-aclocal
new file mode 100755
index 000000000000..62250e353d7a
--- /dev/null
+++ b/m4/mk-aclocal
@@ -0,0 +1,18 @@
+#!/bin/sh
+#
+# Make am-utils' aclocal.m4 file (concatendated from others).
+# For maintainers only.
+# Erez Zadok <ezk AT cs.columbia.edu>
+
+if [ ! -d macros ]; then
+ echo no macros directory found!
+ exit 2
+fi
+cd macros
+for i in HEADER *.m4; do
+ cat $i
+ echo
+ echo
+done
+cat TRAILER
+exit 0
diff --git a/m4/mkconf b/m4/mkconf
new file mode 100755
index 000000000000..04ce79742435
--- /dev/null
+++ b/m4/mkconf
@@ -0,0 +1,20 @@
+#!/bin/bash -norc
+# (re)make the autoconf configuration files.
+# Used by am-utils maintainers only!
+#
+# Erez Zadok <ezk AT cs.columbia.edu>
+#
+#set -x
+
+if [ ! -f amd/amd.c ]; then
+ cd ..
+fi
+if [ ! -f amd/amd.c ]; then
+ cd ..
+fi
+if [ ! -f amd/amd.c ]; then
+ echo "wrong directory!"
+ exit 1
+fi
+
+cd m4 && make $*
diff --git a/m4/rmtspc b/m4/rmtspc
new file mode 100755
index 000000000000..431691d9e4bd
--- /dev/null
+++ b/m4/rmtspc
@@ -0,0 +1,6 @@
+#!/bin/sh
+# remove trailing spaces from C code
+#set -x
+for i in $*; do
+ sed 's/[ ]*$//g' < $i > $i.tmp_$$ && mv $i.tmp_$$ $i
+done
diff --git a/m4/update_build_version b/m4/update_build_version
new file mode 100755
index 000000000000..35d4e1c9dfc4
--- /dev/null
+++ b/m4/update_build_version
@@ -0,0 +1,41 @@
+#!/bin/sh
+# Update the build version file for am-utils
+# Erez Zadok <ezk AT cs.columbia.edu>
+#set -x
+
+file="build_version.h"
+vers=1
+
+if test -f $file
+then
+ egrep AMU_BUILD_VERSION $file | while read a b vers
+ do
+ vers=`expr $vers + 1`
+ echo '/* do not edit this file by hand */' > $file
+ echo '/* auto-generated by update_build_version script */' >> $file
+ echo '#define AMU_BUILD_VERSION '$vers >> $file
+ done
+else
+ echo '/* do not edit this file by hand */' > $file
+ echo '/* auto-generated by update_build_version script */' >> $file
+ echo '#define AMU_BUILD_VERSION '$vers >> $file
+fi
+
+if test -n "$USER"
+then
+ build_user="$USER"
+else
+ if test -n "$LOGNAME"
+ then
+ build_user="$LOGNAME"
+ else
+ build_user=`(whoami) 2>/dev/null` || build_user=unknown
+ fi
+fi
+echo '#define BUILD_USER "'$build_user'"' >> $file
+
+build_host=`(hostname || uname -n) 2>/dev/null` || build_host=unknown
+echo '#define BUILD_HOST "'$build_host'"' >> $file
+
+build_date=`(date) 2>/dev/null` || build_date=unknown_date
+echo '#define BUILD_DATE "'$build_date'"' >> $file