Changeset 690166d


Ignore:
Timestamp:
Jan 11, 2019, 3:21:59 PM (7 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
Children:
def9d4e
Parents:
0689cd9 (diff), 52ffa30 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

Files:
11 added
63 edited
51 moved

Legend:

Unmodified
Added
Removed
  • Makefile.am

    r0689cd9 r690166d  
    1616
    1717AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     18ACLOCAL_AMFLAGS  = -I automake
    1819
    1920MAINTAINERCLEANFILES = lib/* bin/* tests/.deps/* tests/.out/*
  • Makefile.in

    r0689cd9 r690166d  
    9494subdir = .
    9595ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    96 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \
    97         $(top_srcdir)/configure.ac
     96am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \
     97        $(top_srcdir)/automake/ltoptions.m4 \
     98        $(top_srcdir)/automake/ltsugar.m4 \
     99        $(top_srcdir)/automake/ltversion.m4 \
     100        $(top_srcdir)/automake/lt~obsolete.m4 \
     101        $(top_srcdir)/automake/cfa.m4 $(top_srcdir)/configure.ac
    98102am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    99103        $(ACLOCAL_M4)
     
    198202        $(top_srcdir)/automake/config.sub \
    199203        $(top_srcdir)/automake/install-sh \
     204        $(top_srcdir)/automake/ltmain.sh \
    200205        $(top_srcdir)/automake/missing $(top_srcdir)/src/config.h.in \
    201206        INSTALL README automake/compile automake/config.guess \
    202207        automake/config.sub automake/depcomp automake/install-sh \
    203         automake/missing automake/ylwrap
     208        automake/ltmain.sh automake/missing automake/ylwrap
    204209DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
    205210distdir = $(PACKAGE)-$(VERSION)
     
    248253AMTAR = @AMTAR@
    249254AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
     255AR = @AR@
    250256AUTOCONF = @AUTOCONF@
    251257AUTOHEADER = @AUTOHEADER@
     
    271277CPPFLAGS = @CPPFLAGS@
    272278CXX = @CXX@
     279CXXCPP = @CXXCPP@
    273280CXXDEPMODE = @CXXDEPMODE@
    274281CXXFLAGS = @CXXFLAGS@
     
    276283DEFS = @DEFS@
    277284DEPDIR = @DEPDIR@
     285DLLTOOL = @DLLTOOL@
    278286DRIVER_DIR = @DRIVER_DIR@
     287DSYMUTIL = @DSYMUTIL@
     288DUMPBIN = @DUMPBIN@
    279289ECHO_C = @ECHO_C@
    280290ECHO_N = @ECHO_N@
     
    282292EGREP = @EGREP@
    283293EXEEXT = @EXEEXT@
     294FGREP = @FGREP@
    284295GREP = @GREP@
    285296HOST_FLAGS = @HOST_FLAGS@
     
    289300INSTALL_SCRIPT = @INSTALL_SCRIPT@
    290301INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     302LD = @LD@
    291303LDFLAGS = @LDFLAGS@
    292304LEX = @LEX@
     
    297309LIBOBJS = @LIBOBJS@
    298310LIBS = @LIBS@
     311LIBTOOL = @LIBTOOL@
     312LIPO = @LIPO@
     313LN_S = @LN_S@
    299314LTLIBOBJS = @LTLIBOBJS@
     315LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    300316MAKEINFO = @MAKEINFO@
     317MANIFEST_TOOL = @MANIFEST_TOOL@
    301318MKDIR_P = @MKDIR_P@
     319NM = @NM@
     320NMEDIT = @NMEDIT@
     321OBJDUMP = @OBJDUMP@
    302322OBJEXT = @OBJEXT@
     323OTOOL = @OTOOL@
     324OTOOL64 = @OTOOL64@
    303325PACKAGE = @PACKAGE@
    304326PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    310332PATH_SEPARATOR = @PATH_SEPARATOR@
    311333RANLIB = @RANLIB@
     334SED = @SED@
    312335SET_MAKE = @SET_MAKE@
    313336SHELL = @SHELL@
     
    321344abs_top_builddir = @abs_top_builddir@
    322345abs_top_srcdir = @abs_top_srcdir@
     346ac_ct_AR = @ac_ct_AR@
    323347ac_ct_CC = @ac_ct_CC@
    324348ac_ct_CXX = @ac_ct_CXX@
     349ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    325350am__include = @am__include@
    326351am__leading_dot = @am__leading_dot@
     
    370395top_srcdir = @top_srcdir@
    371396AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     397ACLOCAL_AMFLAGS = -I automake
    372398MAINTAINERCLEANFILES = lib/* bin/* tests/.deps/* tests/.out/*
    373399SUBDIRS = driver src . @LIBCFA_TARGET_DIRS@
     
    427453distclean-hdr:
    428454        -rm -f config.h stamp-h1
     455
     456mostlyclean-libtool:
     457        -rm -f *.lo
     458
     459clean-libtool:
     460        -rm -rf .libs _libs
     461
     462distclean-libtool:
     463        -rm -f libtool config.lt
    429464install-man1: $(man1_MANS)
    430465        @$(NORMAL_INSTALL)
     
    802837clean: clean-recursive
    803838
    804 clean-am: clean-generic mostlyclean-am
     839clean-am: clean-generic clean-libtool mostlyclean-am
    805840
    806841distclean: distclean-recursive
    807842        -rm -f $(am__CONFIG_DISTCLEAN_FILES)
    808843        -rm -f Makefile
    809 distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
     844distclean-am: clean-am distclean-generic distclean-hdr \
     845        distclean-libtool distclean-tags
    810846
    811847dvi: dvi-recursive
     
    857893mostlyclean: mostlyclean-recursive
    858894
    859 mostlyclean-am: mostlyclean-generic
     895mostlyclean-am: mostlyclean-generic mostlyclean-libtool
    860896
    861897pdf: pdf-recursive
     
    875911.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
    876912        am--refresh check check-am clean clean-cscope clean-generic \
    877         cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
    878         dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
    879         distcheck distclean distclean-generic distclean-hdr \
    880         distclean-tags distcleancheck distdir distuninstallcheck dvi \
    881         dvi-am html html-am info info-am install install-am \
    882         install-data install-data-am install-dvi install-dvi-am \
    883         install-exec install-exec-am install-html install-html-am \
    884         install-info install-info-am install-man install-man1 \
    885         install-pdf install-pdf-am install-ps install-ps-am \
    886         install-strip installcheck installcheck-am installdirs \
    887         installdirs-am maintainer-clean maintainer-clean-generic \
    888         mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \
    889         tags-am uninstall uninstall-am uninstall-man uninstall-man1
     913        clean-libtool cscope cscopelist-am ctags ctags-am dist \
     914        dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
     915        dist-xz dist-zip distcheck distclean distclean-generic \
     916        distclean-hdr distclean-libtool distclean-tags distcleancheck \
     917        distdir distuninstallcheck dvi dvi-am html html-am info \
     918        info-am install install-am install-data install-data-am \
     919        install-dvi install-dvi-am install-exec install-exec-am \
     920        install-html install-html-am install-info install-info-am \
     921        install-man install-man1 install-pdf install-pdf-am install-ps \
     922        install-ps-am install-strip installcheck installcheck-am \
     923        installdirs installdirs-am maintainer-clean \
     924        maintainer-clean-generic mostlyclean mostlyclean-generic \
     925        mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
     926        uninstall-am uninstall-man uninstall-man1
    890927
    891928.PRECIOUS: Makefile
  • aclocal.m4

    r0689cd9 r690166d  
    11711171]) # _AM_PROG_TAR
    11721172
     1173m4_include([automake/libtool.m4])
     1174m4_include([automake/ltoptions.m4])
     1175m4_include([automake/ltsugar.m4])
     1176m4_include([automake/ltversion.m4])
     1177m4_include([automake/lt~obsolete.m4])
  • automake/cfa.m4

    r0689cd9 r690166d  
    7373                "arm"        ) cannon_arch_name="arm";;
    7474                "ARM"        ) cannon_arch_name="arm";;
     75                "armv7l"     ) cannon_arch_name="arm";;
    7576                *)
    7677                >&2 echo "Unkown architecture " $arch_name;
  • benchmark/Makefile.am

    r0689cd9 r690166d  
    1616
    1717AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     18ACLOCAL_AMFLAGS  = -I automake
    1819
    1920# applies to both programs
  • benchmark/Makefile.in

    r0689cd9 r690166d  
    9898subdir = benchmark
    9999ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    100 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \
    101         $(top_srcdir)/configure.ac
     100am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \
     101        $(top_srcdir)/automake/ltoptions.m4 \
     102        $(top_srcdir)/automake/ltsugar.m4 \
     103        $(top_srcdir)/automake/ltversion.m4 \
     104        $(top_srcdir)/automake/lt~obsolete.m4 \
     105        $(top_srcdir)/automake/cfa.m4 $(top_srcdir)/configure.ac
    102106am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    103107        $(ACLOCAL_M4)
     
    110114dummy_OBJECTS = $(am_dummy_OBJECTS)
    111115dummy_LDADD = $(LDADD)
     116AM_V_lt = $(am__v_lt_@AM_V@)
     117am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
     118am__v_lt_0 = --silent
     119am__v_lt_1 =
    112120AM_V_P = $(am__v_P_@AM_V@)
    113121am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
     
    128136COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
    129137        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
     138LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     139        $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
     140        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
     141        $(AM_CFLAGS) $(CFLAGS)
    130142AM_V_CC = $(am__v_CC_@AM_V@)
    131143am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
     
    133145am__v_CC_1 =
    134146CCLD = $(CC)
    135 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
     147LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     148        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
     149        $(AM_LDFLAGS) $(LDFLAGS) -o $@
    136150AM_V_CCLD = $(am__v_CCLD_@AM_V@)
    137151am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
     
    140154CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
    141155        $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
     156LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
     157        $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
     158        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
     159        $(AM_CXXFLAGS) $(CXXFLAGS)
    142160AM_V_CXX = $(am__v_CXX_@AM_V@)
    143161am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
     
    145163am__v_CXX_1 =
    146164CXXLD = $(CXX)
    147 CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
    148         -o $@
     165CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
     166        $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
     167        $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
    149168AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
    150169am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
     
    184203AMTAR = @AMTAR@
    185204AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
     205AR = @AR@
    186206AUTOCONF = @AUTOCONF@
    187207AUTOHEADER = @AUTOHEADER@
     
    207227CPPFLAGS = @CPPFLAGS@
    208228CXX = @CXX@
     229CXXCPP = @CXXCPP@
    209230CXXDEPMODE = @CXXDEPMODE@
    210231CXXFLAGS = @CXXFLAGS@
     
    212233DEFS = @DEFS@
    213234DEPDIR = @DEPDIR@
     235DLLTOOL = @DLLTOOL@
    214236DRIVER_DIR = @DRIVER_DIR@
     237DSYMUTIL = @DSYMUTIL@
     238DUMPBIN = @DUMPBIN@
    215239ECHO_C = @ECHO_C@
    216240ECHO_N = @ECHO_N@
     
    218242EGREP = @EGREP@
    219243EXEEXT = @EXEEXT@
     244FGREP = @FGREP@
    220245GREP = @GREP@
    221246HOST_FLAGS = @HOST_FLAGS@
     
    225250INSTALL_SCRIPT = @INSTALL_SCRIPT@
    226251INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     252LD = @LD@
    227253LDFLAGS = @LDFLAGS@
    228254LEX = @LEX@
     
    233259LIBOBJS = @LIBOBJS@
    234260LIBS = @LIBS@
     261LIBTOOL = @LIBTOOL@
     262LIPO = @LIPO@
     263LN_S = @LN_S@
    235264LTLIBOBJS = @LTLIBOBJS@
     265LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    236266MAKEINFO = @MAKEINFO@
     267MANIFEST_TOOL = @MANIFEST_TOOL@
    237268MKDIR_P = @MKDIR_P@
     269NM = @NM@
     270NMEDIT = @NMEDIT@
     271OBJDUMP = @OBJDUMP@
    238272OBJEXT = @OBJEXT@
     273OTOOL = @OTOOL@
     274OTOOL64 = @OTOOL64@
    239275PACKAGE = @PACKAGE@
    240276PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    246282PATH_SEPARATOR = @PATH_SEPARATOR@
    247283RANLIB = @RANLIB@
     284SED = @SED@
    248285SET_MAKE = @SET_MAKE@
    249286SHELL = @SHELL@
     
    257294abs_top_builddir = @abs_top_builddir@
    258295abs_top_srcdir = @abs_top_srcdir@
     296ac_ct_AR = @ac_ct_AR@
    259297ac_ct_CC = @ac_ct_CC@
    260298ac_ct_CXX = @ac_ct_CXX@
     299ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    261300am__include = @am__include@
    262301am__leading_dot = @am__leading_dot@
     
    306345top_srcdir = @top_srcdir@
    307346AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     347ACLOCAL_AMFLAGS = -I automake
    308348CFACOMPILE = $(CFACC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) $(AM_CFLAGS) $(CFLAGS)
    309349LTCFACOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     
    414454@am__fastdepCC_FALSE@   $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
    415455
     456.c.lo:
     457@am__fastdepCC_TRUE@    $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
     458@am__fastdepCC_TRUE@    $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
     459@am__fastdepCC_TRUE@    $(am__mv) $$depbase.Tpo $$depbase.Plo
     460@AMDEP_TRUE@@am__fastdepCC_FALSE@       $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
     461@AMDEP_TRUE@@am__fastdepCC_FALSE@       DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     462@am__fastdepCC_FALSE@   $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
     463
    416464.cpp.o:
    417465@am__fastdepCXX_TRUE@   $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
     
    429477@AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    430478@am__fastdepCXX_FALSE@  $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
     479
     480.cpp.lo:
     481@am__fastdepCXX_TRUE@   $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
     482@am__fastdepCXX_TRUE@   $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
     483@am__fastdepCXX_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Plo
     484@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
     485@AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     486@am__fastdepCXX_FALSE@  $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
     487
     488mostlyclean-libtool:
     489        -rm -f *.lo
     490
     491clean-libtool:
     492        -rm -rf .libs _libs
    431493
    432494ID: $(am__tagged_files)
     
    548610clean: clean-am
    549611
    550 clean-am: clean-generic mostlyclean-am
     612clean-am: clean-generic clean-libtool mostlyclean-am
    551613
    552614distclean: distclean-am
     
    603665mostlyclean: mostlyclean-am
    604666
    605 mostlyclean-am: mostlyclean-compile mostlyclean-generic
     667mostlyclean-am: mostlyclean-compile mostlyclean-generic \
     668        mostlyclean-libtool
    606669
    607670pdf: pdf-am
     
    618681
    619682.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
    620         cscopelist-am ctags ctags-am distclean distclean-compile \
    621         distclean-generic distclean-tags distdir dvi dvi-am html \
    622         html-am info info-am install install-am install-data \
    623         install-data-am install-dvi install-dvi-am install-exec \
    624         install-exec-am install-html install-html-am install-info \
    625         install-info-am install-man install-pdf install-pdf-am \
    626         install-ps install-ps-am install-strip installcheck \
    627         installcheck-am installdirs maintainer-clean \
    628         maintainer-clean-generic mostlyclean mostlyclean-compile \
    629         mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
    630         uninstall-am
     683        clean-libtool cscopelist-am ctags ctags-am distclean \
     684        distclean-compile distclean-generic distclean-libtool \
     685        distclean-tags distdir dvi dvi-am html html-am info info-am \
     686        install install-am install-data install-data-am install-dvi \
     687        install-dvi-am install-exec install-exec-am install-html \
     688        install-html-am install-info install-info-am install-man \
     689        install-pdf install-pdf-am install-ps install-ps-am \
     690        install-strip installcheck installcheck-am installdirs \
     691        maintainer-clean maintainer-clean-generic mostlyclean \
     692        mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
     693        pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am
    631694
    632695.PRECIOUS: Makefile
  • configure

    r0689cd9 r690166d  
    199199  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
    200200  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
     201
     202  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
     203    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
     204    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
     205    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
     206    PATH=/empty FPATH=/empty; export PATH FPATH
     207    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
     208      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
    201209test \$(( 1 + 1 )) = 2 || exit 1"
    202210  if (eval "$as_required") 2>/dev/null; then :
     
    557565as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
    558566
     567SHELL=${CONFIG_SHELL-/bin/sh}
     568
    559569
    560570test -n "$DJDIR" || exec 7<&0 </dev/null
     
    628638CFA_BACKEND_CC
    629639ALLOCA
     640WITH_LIBFIBRE_FALSE
     641WITH_LIBFIBRE_TRUE
     642CXXCPP
     643CPP
     644LT_SYS_LIBRARY_PATH
     645OTOOL64
     646OTOOL
     647LIPO
     648NMEDIT
     649DSYMUTIL
     650MANIFEST_TOOL
     651RANLIB
     652ac_ct_AR
     653AR
     654DLLTOOL
     655OBJDUMP
     656LN_S
     657NM
     658ac_ct_DUMPBIN
     659DUMPBIN
     660LD
     661FGREP
    630662EGREP
    631663GREP
    632 CPP
    633 WITH_LIBFIBRE_FALSE
    634 WITH_LIBFIBRE_TRUE
    635 RANLIB
     664SED
     665LIBTOOL
    636666LEXLIB
    637667LEX_OUTPUT_ROOT
     
    764794with_target_hosts
    765795enable_dependency_tracking
     796enable_shared
     797enable_static
     798with_pic
     799enable_fast_install
     800with_aix_soname
     801with_gnu_ld
     802with_sysroot
     803enable_libtool_lock
    766804'
    767805      ac_precious_vars='build_alias
     
    780818YACC
    781819YFLAGS
    782 CPP'
     820LT_SYS_LIBRARY_PATH
     821CPP
     822CXXCPP'
    783823
    784824
     
    14161456  --disable-dependency-tracking
    14171457                          speeds up one-time build
     1458  --enable-shared[=PKGS]  build shared libraries [default=yes]
     1459  --enable-static[=PKGS]  build static libraries [default=yes]
     1460  --enable-fast-install[=PKGS]
     1461                          optimize for fast installation [default=yes]
     1462  --disable-libtool-lock  avoid locking (might break parallel builds)
    14181463
    14191464Optional Packages:
     
    14221467  --with-cfa-name=NAME     NAME too which cfa will be installed
    14231468  --with-target-hosts=HOSTS     HOSTS comma seperated list of hosts to build for, format ARCH:debug|nodebug|nolib
     1469  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
     1470                          both]
     1471  --with-aix-soname=aix|svr4|both
     1472                          shared library versioning (aka "SONAME") variant to
     1473                          provide on AIX, [default=aix].
     1474  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
     1475  --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
     1476                          compiler's sysroot if not specified).
    14241477
    14251478Some influential environment variables:
     
    14411494              This script will default YFLAGS to the empty string to avoid a
    14421495              default value of `-d' given by some make applications.
     1496  LT_SYS_LIBRARY_PATH
     1497              User-defined run-time library search path.
    14431498  CPP         C preprocessor
     1499  CXXCPP      C++ preprocessor
    14441500
    14451501Use these variables to override the choices made by `configure' or to help
     
    16451701} # ac_fn_c_try_link
    16461702
    1647 # ac_fn_c_check_type LINENO TYPE VAR INCLUDES
    1648 # -------------------------------------------
    1649 # Tests whether TYPE exists after having included INCLUDES, setting cache
    1650 # variable VAR accordingly.
    1651 ac_fn_c_check_type ()
     1703# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
     1704# -------------------------------------------------------
     1705# Tests whether HEADER exists and can be compiled using the include files in
     1706# INCLUDES, setting the cache variable VAR accordingly.
     1707ac_fn_c_check_header_compile ()
    16521708{
    16531709  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
     
    16571713  $as_echo_n "(cached) " >&6
    16581714else
    1659   eval "$3=no"
    16601715  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    16611716/* end confdefs.h.  */
    16621717$4
    1663 int
    1664 main ()
    1665 {
    1666 if (sizeof ($2))
    1667          return 0;
    1668   ;
    1669   return 0;
    1670 }
     1718#include <$2>
    16711719_ACEOF
    16721720if ac_fn_c_try_compile "$LINENO"; then :
    1673   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    1674 /* end confdefs.h.  */
    1675 $4
    1676 int
    1677 main ()
    1678 {
    1679 if (sizeof (($2)))
    1680             return 0;
    1681   ;
    1682   return 0;
    1683 }
    1684 _ACEOF
    1685 if ac_fn_c_try_compile "$LINENO"; then :
    1686 
    1687 else
    16881721  eval "$3=yes"
    1689 fi
    1690 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     1722else
     1723  eval "$3=no"
    16911724fi
    16921725rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     
    16971730  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
    16981731
    1699 } # ac_fn_c_check_type
     1732} # ac_fn_c_check_header_compile
    17001733
    17011734# ac_fn_c_try_cpp LINENO
     
    17781811} # ac_fn_c_try_run
    17791812
    1780 # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
    1781 # -------------------------------------------------------
    1782 # Tests whether HEADER exists and can be compiled using the include files in
    1783 # INCLUDES, setting the cache variable VAR accordingly.
    1784 ac_fn_c_check_header_compile ()
    1785 {
    1786   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    1787   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
    1788 $as_echo_n "checking for $2... " >&6; }
    1789 if eval \${$3+:} false; then :
    1790   $as_echo_n "(cached) " >&6
    1791 else
    1792   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    1793 /* end confdefs.h.  */
    1794 $4
    1795 #include <$2>
    1796 _ACEOF
    1797 if ac_fn_c_try_compile "$LINENO"; then :
    1798   eval "$3=yes"
    1799 else
    1800   eval "$3=no"
    1801 fi
    1802 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    1803 fi
    1804 eval ac_res=\$$3
    1805                { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
    1806 $as_echo "$ac_res" >&6; }
    1807   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
    1808 
    1809 } # ac_fn_c_check_header_compile
    1810 
    18111813# ac_fn_c_check_func LINENO FUNC VAR
    18121814# ----------------------------------
     
    18751877
    18761878} # ac_fn_c_check_func
     1879
     1880# ac_fn_cxx_try_cpp LINENO
     1881# ------------------------
     1882# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
     1883ac_fn_cxx_try_cpp ()
     1884{
     1885  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
     1886  if { { ac_try="$ac_cpp conftest.$ac_ext"
     1887case "(($ac_try" in
     1888  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
     1889  *) ac_try_echo=$ac_try;;
     1890esac
     1891eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
     1892$as_echo "$ac_try_echo"; } >&5
     1893  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
     1894  ac_status=$?
     1895  if test -s conftest.err; then
     1896    grep -v '^ *+' conftest.err >conftest.er1
     1897    cat conftest.er1 >&5
     1898    mv -f conftest.er1 conftest.err
     1899  fi
     1900  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     1901  test $ac_status = 0; } > conftest.i && {
     1902         test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
     1903         test ! -s conftest.err
     1904       }; then :
     1905  ac_retval=0
     1906else
     1907  $as_echo "$as_me: failed program was:" >&5
     1908sed 's/^/| /' conftest.$ac_ext >&5
     1909
     1910    ac_retval=1
     1911fi
     1912  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
     1913  as_fn_set_status $ac_retval
     1914
     1915} # ac_fn_cxx_try_cpp
     1916
     1917# ac_fn_cxx_try_link LINENO
     1918# -------------------------
     1919# Try to link conftest.$ac_ext, and return whether this succeeded.
     1920ac_fn_cxx_try_link ()
     1921{
     1922  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
     1923  rm -f conftest.$ac_objext conftest$ac_exeext
     1924  if { { ac_try="$ac_link"
     1925case "(($ac_try" in
     1926  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
     1927  *) ac_try_echo=$ac_try;;
     1928esac
     1929eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
     1930$as_echo "$ac_try_echo"; } >&5
     1931  (eval "$ac_link") 2>conftest.err
     1932  ac_status=$?
     1933  if test -s conftest.err; then
     1934    grep -v '^ *+' conftest.err >conftest.er1
     1935    cat conftest.er1 >&5
     1936    mv -f conftest.er1 conftest.err
     1937  fi
     1938  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     1939  test $ac_status = 0; } && {
     1940         test -z "$ac_cxx_werror_flag" ||
     1941         test ! -s conftest.err
     1942       } && test -s conftest$ac_exeext && {
     1943         test "$cross_compiling" = yes ||
     1944         test -x conftest$ac_exeext
     1945       }; then :
     1946  ac_retval=0
     1947else
     1948  $as_echo "$as_me: failed program was:" >&5
     1949sed 's/^/| /' conftest.$ac_ext >&5
     1950
     1951        ac_retval=1
     1952fi
     1953  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
     1954  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
     1955  # interfere with the next link command; also delete a directory that is
     1956  # left behind by Apple's compiler.  We do this before executing the actions.
     1957  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
     1958  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
     1959  as_fn_set_status $ac_retval
     1960
     1961} # ac_fn_cxx_try_link
     1962
     1963# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
     1964# -------------------------------------------
     1965# Tests whether TYPE exists after having included INCLUDES, setting cache
     1966# variable VAR accordingly.
     1967ac_fn_c_check_type ()
     1968{
     1969  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
     1970  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
     1971$as_echo_n "checking for $2... " >&6; }
     1972if eval \${$3+:} false; then :
     1973  $as_echo_n "(cached) " >&6
     1974else
     1975  eval "$3=no"
     1976  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     1977/* end confdefs.h.  */
     1978$4
     1979int
     1980main ()
     1981{
     1982if (sizeof ($2))
     1983         return 0;
     1984  ;
     1985  return 0;
     1986}
     1987_ACEOF
     1988if ac_fn_c_try_compile "$LINENO"; then :
     1989  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     1990/* end confdefs.h.  */
     1991$4
     1992int
     1993main ()
     1994{
     1995if (sizeof (($2)))
     1996            return 0;
     1997  ;
     1998  return 0;
     1999}
     2000_ACEOF
     2001if ac_fn_c_try_compile "$LINENO"; then :
     2002
     2003else
     2004  eval "$3=yes"
     2005fi
     2006rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     2007fi
     2008rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     2009fi
     2010eval ac_res=\$$3
     2011               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
     2012$as_echo "$ac_res" >&6; }
     2013  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
     2014
     2015} # ac_fn_c_check_type
    18772016
    18782017# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
     
    24772616
    24782617
     2618
    24792619#AC_CONFIG_SRCDIR([src/main.cc])
    24802620ac_config_headers="$ac_config_headers config.h:src/config.h.in"
     
    34103550                "arm"        ) cannon_arch_name="arm";;
    34113551                "ARM"        ) cannon_arch_name="arm";;
     3552                "armv7l"     ) cannon_arch_name="arm";;
    34123553                *)
    34133554                >&2 echo "Unkown architecture " $arch_name;
     
    34503591                "arm"        ) cannon_arch_name="arm";;
    34513592                "ARM"        ) cannon_arch_name="arm";;
     3593                "armv7l"     ) cannon_arch_name="arm";;
    34523594                *)
    34533595                >&2 echo "Unkown architecture " $arch_name;
     
    52485390fi
    52495391if test "${LEX}" = "lex" ; then echo "Error: flex required." ; exit 1 ; fi
    5250 
    5251 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
    5252 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
    5253 set x ${MAKE-make}
    5254 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
    5255 if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
     5392case `pwd` in
     5393  *\ * | *\     *)
     5394    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
     5395$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
     5396esac
     5397
     5398
     5399
     5400macro_version='2.4.6'
     5401macro_revision='2.4.6'
     5402
     5403
     5404
     5405
     5406
     5407
     5408
     5409
     5410
     5411
     5412
     5413
     5414
     5415ltmain=$ac_aux_dir/ltmain.sh
     5416
     5417# Backslashify metacharacters that are still active within
     5418# double-quoted strings.
     5419sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
     5420
     5421# Same as above, but do not quote variable references.
     5422double_quote_subst='s/\(["`\\]\)/\\\1/g'
     5423
     5424# Sed substitution to delay expansion of an escaped shell variable in a
     5425# double_quote_subst'ed string.
     5426delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
     5427
     5428# Sed substitution to delay expansion of an escaped single quote.
     5429delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
     5430
     5431# Sed substitution to avoid accidental globbing in evaled expressions
     5432no_glob_subst='s/\*/\\\*/g'
     5433
     5434ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
     5435ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
     5436ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
     5437
     5438{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
     5439$as_echo_n "checking how to print strings... " >&6; }
     5440# Test print first, because it will be a builtin if present.
     5441if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
     5442   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
     5443  ECHO='print -r --'
     5444elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
     5445  ECHO='printf %s\n'
     5446else
     5447  # Use this function as a fallback that always works.
     5448  func_fallback_echo ()
     5449  {
     5450    eval 'cat <<_LTECHO_EOF
     5451$1
     5452_LTECHO_EOF'
     5453  }
     5454  ECHO='func_fallback_echo'
     5455fi
     5456
     5457# func_echo_all arg...
     5458# Invoke $ECHO with all args, space-separated.
     5459func_echo_all ()
     5460{
     5461    $ECHO ""
     5462}
     5463
     5464case $ECHO in
     5465  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
     5466$as_echo "printf" >&6; } ;;
     5467  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
     5468$as_echo "print -r" >&6; } ;;
     5469  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
     5470$as_echo "cat" >&6; } ;;
     5471esac
     5472
     5473
     5474
     5475
     5476
     5477
     5478
     5479
     5480
     5481
     5482
     5483
     5484
     5485
     5486{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
     5487$as_echo_n "checking for a sed that does not truncate output... " >&6; }
     5488if ${ac_cv_path_SED+:} false; then :
    52565489  $as_echo_n "(cached) " >&6
    52575490else
    5258   cat >conftest.make <<\_ACEOF
    5259 SHELL = /bin/sh
    5260 all:
    5261         @echo '@@@%%%=$(MAKE)=@@@%%%'
    5262 _ACEOF
    5263 # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
    5264 case `${MAKE-make} -f conftest.make 2>/dev/null` in
    5265   *@@@%%%=?*=@@@%%%*)
    5266     eval ac_cv_prog_make_${ac_make}_set=yes;;
    5267   *)
    5268     eval ac_cv_prog_make_${ac_make}_set=no;;
    5269 esac
    5270 rm -f conftest.make
    5271 fi
    5272 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
    5273   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
    5274 $as_echo "yes" >&6; }
    5275   SET_MAKE=
    5276 else
    5277   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
    5278 $as_echo "no" >&6; }
    5279   SET_MAKE="MAKE=${MAKE-make}"
    5280 fi
    5281 
    5282 if test -n "$ac_tool_prefix"; then
    5283   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
    5284 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
    5285 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
    5286 $as_echo_n "checking for $ac_word... " >&6; }
    5287 if ${ac_cv_prog_RANLIB+:} false; then :
    5288   $as_echo_n "(cached) " >&6
    5289 else
    5290   if test -n "$RANLIB"; then
    5291   ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
    5292 else
    5293 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     5491            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
     5492     for ac_i in 1 2 3 4 5 6 7; do
     5493       ac_script="$ac_script$as_nl$ac_script"
     5494     done
     5495     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
     5496     { ac_script=; unset ac_script;}
     5497     if test -z "$SED"; then
     5498  ac_path_SED_found=false
     5499  # Loop through the user's path and test for each of PROGNAME-LIST
     5500  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
    52945501for as_dir in $PATH
    52955502do
    52965503  IFS=$as_save_IFS
    52975504  test -z "$as_dir" && as_dir=.
     5505    for ac_prog in sed gsed; do
    52985506    for ac_exec_ext in '' $ac_executable_extensions; do
    5299   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    5300     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
    5301     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    5302     break 2
    5303   fi
    5304 done
     5507      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
     5508      as_fn_executable_p "$ac_path_SED" || continue
     5509# Check for GNU ac_path_SED and select it if it is found.
     5510  # Check for GNU $ac_path_SED
     5511case `"$ac_path_SED" --version 2>&1` in
     5512*GNU*)
     5513  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
     5514*)
     5515  ac_count=0
     5516  $as_echo_n 0123456789 >"conftest.in"
     5517  while :
     5518  do
     5519    cat "conftest.in" "conftest.in" >"conftest.tmp"
     5520    mv "conftest.tmp" "conftest.in"
     5521    cp "conftest.in" "conftest.nl"
     5522    $as_echo '' >> "conftest.nl"
     5523    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
     5524    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     5525    as_fn_arith $ac_count + 1 && ac_count=$as_val
     5526    if test $ac_count -gt ${ac_path_SED_max-0}; then
     5527      # Best one so far, save it but keep looking for a better one
     5528      ac_cv_path_SED="$ac_path_SED"
     5529      ac_path_SED_max=$ac_count
     5530    fi
     5531    # 10*(2^10) chars as input seems more than enough
     5532    test $ac_count -gt 10 && break
     5533  done
     5534  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
     5535esac
     5536
     5537      $ac_path_SED_found && break 3
     5538    done
     5539  done
    53055540  done
    53065541IFS=$as_save_IFS
    5307 
    5308 fi
    5309 fi
    5310 RANLIB=$ac_cv_prog_RANLIB
    5311 if test -n "$RANLIB"; then
    5312   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
    5313 $as_echo "$RANLIB" >&6; }
    5314 else
    5315   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
    5316 $as_echo "no" >&6; }
    5317 fi
    5318 
    5319 
    5320 fi
    5321 if test -z "$ac_cv_prog_RANLIB"; then
    5322   ac_ct_RANLIB=$RANLIB
    5323   # Extract the first word of "ranlib", so it can be a program name with args.
    5324 set dummy ranlib; ac_word=$2
    5325 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
    5326 $as_echo_n "checking for $ac_word... " >&6; }
    5327 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
    5328   $as_echo_n "(cached) " >&6
    5329 else
    5330   if test -n "$ac_ct_RANLIB"; then
    5331   ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
    5332 else
    5333 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
    5334 for as_dir in $PATH
    5335 do
    5336   IFS=$as_save_IFS
    5337   test -z "$as_dir" && as_dir=.
    5338     for ac_exec_ext in '' $ac_executable_extensions; do
    5339   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    5340     ac_cv_prog_ac_ct_RANLIB="ranlib"
    5341     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    5342     break 2
     5542  if test -z "$ac_cv_path_SED"; then
     5543    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
    53435544  fi
    5344 done
    5345   done
    5346 IFS=$as_save_IFS
    5347 
    5348 fi
    5349 fi
    5350 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
    5351 if test -n "$ac_ct_RANLIB"; then
    5352   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
    5353 $as_echo "$ac_ct_RANLIB" >&6; }
    5354 else
    5355   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
    5356 $as_echo "no" >&6; }
    5357 fi
    5358 
    5359   if test "x$ac_ct_RANLIB" = x; then
    5360     RANLIB=":"
    5361   else
    5362     case $cross_compiling:$ac_tool_warned in
    5363 yes:)
    5364 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
    5365 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
    5366 ac_tool_warned=yes ;;
    5367 esac
    5368     RANLIB=$ac_ct_RANLIB
    5369   fi
    5370 else
    5371   RANLIB="$ac_cv_prog_RANLIB"
    5372 fi
    5373 
    5374 
    5375 # Checks for libraries.
    5376 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fibre::yield in -lfibre" >&5
    5377 $as_echo_n "checking for Fibre::yield in -lfibre... " >&6; }
    5378 if ${ac_cv_lib_fibre_Fibre__yield+:} false; then :
    5379   $as_echo_n "(cached) " >&6
    5380 else
    5381   ac_check_lib_save_LIBS=$LIBS
    5382 LIBS="-lfibre  $LIBS"
    5383 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    5384 /* end confdefs.h.  */
    5385 
    5386 /* Override any GCC internal prototype to avoid an error.
    5387    Use char because int might match the return type of a GCC
    5388    builtin and then its argument prototype would still apply.  */
    5389 #ifdef __cplusplus
    5390 extern "C"
    5391 #endif
    5392 char Fibre::yield ();
    5393 int
    5394 main ()
    5395 {
    5396 return Fibre::yield ();
    5397   ;
    5398   return 0;
    5399 }
    5400 _ACEOF
    5401 if ac_fn_c_try_link "$LINENO"; then :
    5402   ac_cv_lib_fibre_Fibre__yield=yes
    5403 else
    5404   ac_cv_lib_fibre_Fibre__yield=no
    5405 fi
    5406 rm -f core conftest.err conftest.$ac_objext \
    5407     conftest$ac_exeext conftest.$ac_ext
    5408 LIBS=$ac_check_lib_save_LIBS
    5409 fi
    5410 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fibre_Fibre__yield" >&5
    5411 $as_echo "$ac_cv_lib_fibre_Fibre__yield" >&6; }
    5412 if test "x$ac_cv_lib_fibre_Fibre__yield" = xyes; then :
    5413   HAVE_LIBFIBRE=1
    5414 else
    5415   HAVE_LIBFIBRE=0
    5416 fi
    5417 
    5418  if test "$HAVE_LIBFIBRE" -eq 1; then
    5419   WITH_LIBFIBRE_TRUE=
    5420   WITH_LIBFIBRE_FALSE='#'
    5421 else
    5422   WITH_LIBFIBRE_TRUE='#'
    5423   WITH_LIBFIBRE_FALSE=
    5424 fi
    5425 
    5426 
    5427 # Checks for header files.
    5428 ac_ext=c
    5429 ac_cpp='$CPP $CPPFLAGS'
    5430 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
    5431 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
    5432 ac_compiler_gnu=$ac_cv_c_compiler_gnu
    5433 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
    5434 $as_echo_n "checking how to run the C preprocessor... " >&6; }
    5435 # On Suns, sometimes $CPP names a directory.
    5436 if test -n "$CPP" && test -d "$CPP"; then
    5437   CPP=
    5438 fi
    5439 if test -z "$CPP"; then
    5440   if ${ac_cv_prog_CPP+:} false; then :
    5441   $as_echo_n "(cached) " >&6
    5442 else
    5443       # Double quotes because CPP needs to be expanded
    5444     for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
    5445     do
    5446       ac_preproc_ok=false
    5447 for ac_c_preproc_warn_flag in '' yes
    5448 do
    5449   # Use a header file that comes with gcc, so configuring glibc
    5450   # with a fresh cross-compiler works.
    5451   # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    5452   # <limits.h> exists even on freestanding compilers.
    5453   # On the NeXT, cc -E runs the code through the compiler's parser,
    5454   # not just through cpp. "Syntax error" is here to catch this case.
    5455   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    5456 /* end confdefs.h.  */
    5457 #ifdef __STDC__
    5458 # include <limits.h>
    5459 #else
    5460 # include <assert.h>
    5461 #endif
    5462                      Syntax error
    5463 _ACEOF
    5464 if ac_fn_c_try_cpp "$LINENO"; then :
    5465 
    5466 else
    5467   # Broken: fails on valid input.
    5468 continue
    5469 fi
    5470 rm -f conftest.err conftest.i conftest.$ac_ext
    5471 
    5472   # OK, works on sane cases.  Now check whether nonexistent headers
    5473   # can be detected and how.
    5474   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    5475 /* end confdefs.h.  */
    5476 #include <ac_nonexistent.h>
    5477 _ACEOF
    5478 if ac_fn_c_try_cpp "$LINENO"; then :
    5479   # Broken: success on invalid input.
    5480 continue
    5481 else
    5482   # Passes both tests.
    5483 ac_preproc_ok=:
    5484 break
    5485 fi
    5486 rm -f conftest.err conftest.i conftest.$ac_ext
    5487 
    5488 done
    5489 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
    5490 rm -f conftest.i conftest.err conftest.$ac_ext
    5491 if $ac_preproc_ok; then :
    5492   break
    5493 fi
    5494 
    5495     done
    5496     ac_cv_prog_CPP=$CPP
    5497 
    5498 fi
    5499   CPP=$ac_cv_prog_CPP
    5500 else
    5501   ac_cv_prog_CPP=$CPP
    5502 fi
    5503 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
    5504 $as_echo "$CPP" >&6; }
    5505 ac_preproc_ok=false
    5506 for ac_c_preproc_warn_flag in '' yes
    5507 do
    5508   # Use a header file that comes with gcc, so configuring glibc
    5509   # with a fresh cross-compiler works.
    5510   # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    5511   # <limits.h> exists even on freestanding compilers.
    5512   # On the NeXT, cc -E runs the code through the compiler's parser,
    5513   # not just through cpp. "Syntax error" is here to catch this case.
    5514   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    5515 /* end confdefs.h.  */
    5516 #ifdef __STDC__
    5517 # include <limits.h>
    5518 #else
    5519 # include <assert.h>
    5520 #endif
    5521                      Syntax error
    5522 _ACEOF
    5523 if ac_fn_c_try_cpp "$LINENO"; then :
    5524 
    5525 else
    5526   # Broken: fails on valid input.
    5527 continue
    5528 fi
    5529 rm -f conftest.err conftest.i conftest.$ac_ext
    5530 
    5531   # OK, works on sane cases.  Now check whether nonexistent headers
    5532   # can be detected and how.
    5533   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    5534 /* end confdefs.h.  */
    5535 #include <ac_nonexistent.h>
    5536 _ACEOF
    5537 if ac_fn_c_try_cpp "$LINENO"; then :
    5538   # Broken: success on invalid input.
    5539 continue
    5540 else
    5541   # Passes both tests.
    5542 ac_preproc_ok=:
    5543 break
    5544 fi
    5545 rm -f conftest.err conftest.i conftest.$ac_ext
    5546 
    5547 done
    5548 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
    5549 rm -f conftest.i conftest.err conftest.$ac_ext
    5550 if $ac_preproc_ok; then :
    5551 
    5552 else
    5553   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
    5554 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
    5555 as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
    5556 See \`config.log' for more details" "$LINENO" 5; }
    5557 fi
    5558 
    5559 ac_ext=c
    5560 ac_cpp='$CPP $CPPFLAGS'
    5561 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
    5562 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
    5563 ac_compiler_gnu=$ac_cv_c_compiler_gnu
     5545else
     5546  ac_cv_path_SED=$SED
     5547fi
     5548
     5549fi
     5550{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
     5551$as_echo "$ac_cv_path_SED" >&6; }
     5552 SED="$ac_cv_path_SED"
     5553  rm -f conftest.sed
     5554
     5555test -z "$SED" && SED=sed
     5556Xsed="$SED -e 1s/^X//"
     5557
     5558
     5559
     5560
     5561
     5562
     5563
     5564
     5565
    55645566
    55655567
     
    56945696
    56955697
     5698{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
     5699$as_echo_n "checking for fgrep... " >&6; }
     5700if ${ac_cv_path_FGREP+:} false; then :
     5701  $as_echo_n "(cached) " >&6
     5702else
     5703  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
     5704   then ac_cv_path_FGREP="$GREP -F"
     5705   else
     5706     if test -z "$FGREP"; then
     5707  ac_path_FGREP_found=false
     5708  # Loop through the user's path and test for each of PROGNAME-LIST
     5709  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     5710for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
     5711do
     5712  IFS=$as_save_IFS
     5713  test -z "$as_dir" && as_dir=.
     5714    for ac_prog in fgrep; do
     5715    for ac_exec_ext in '' $ac_executable_extensions; do
     5716      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
     5717      as_fn_executable_p "$ac_path_FGREP" || continue
     5718# Check for GNU ac_path_FGREP and select it if it is found.
     5719  # Check for GNU $ac_path_FGREP
     5720case `"$ac_path_FGREP" --version 2>&1` in
     5721*GNU*)
     5722  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
     5723*)
     5724  ac_count=0
     5725  $as_echo_n 0123456789 >"conftest.in"
     5726  while :
     5727  do
     5728    cat "conftest.in" "conftest.in" >"conftest.tmp"
     5729    mv "conftest.tmp" "conftest.in"
     5730    cp "conftest.in" "conftest.nl"
     5731    $as_echo 'FGREP' >> "conftest.nl"
     5732    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
     5733    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     5734    as_fn_arith $ac_count + 1 && ac_count=$as_val
     5735    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
     5736      # Best one so far, save it but keep looking for a better one
     5737      ac_cv_path_FGREP="$ac_path_FGREP"
     5738      ac_path_FGREP_max=$ac_count
     5739    fi
     5740    # 10*(2^10) chars as input seems more than enough
     5741    test $ac_count -gt 10 && break
     5742  done
     5743  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
     5744esac
     5745
     5746      $ac_path_FGREP_found && break 3
     5747    done
     5748  done
     5749  done
     5750IFS=$as_save_IFS
     5751  if test -z "$ac_cv_path_FGREP"; then
     5752    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
     5753  fi
     5754else
     5755  ac_cv_path_FGREP=$FGREP
     5756fi
     5757
     5758   fi
     5759fi
     5760{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
     5761$as_echo "$ac_cv_path_FGREP" >&6; }
     5762 FGREP="$ac_cv_path_FGREP"
     5763
     5764
     5765test -z "$GREP" && GREP=grep
     5766
     5767
     5768
     5769
     5770
     5771
     5772
     5773
     5774
     5775
     5776
     5777
     5778
     5779
     5780
     5781
     5782
     5783
     5784
     5785# Check whether --with-gnu-ld was given.
     5786if test "${with_gnu_ld+set}" = set; then :
     5787  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
     5788else
     5789  with_gnu_ld=no
     5790fi
     5791
     5792ac_prog=ld
     5793if test yes = "$GCC"; then
     5794  # Check if gcc -print-prog-name=ld gives a path.
     5795  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
     5796$as_echo_n "checking for ld used by $CC... " >&6; }
     5797  case $host in
     5798  *-*-mingw*)
     5799    # gcc leaves a trailing carriage return, which upsets mingw
     5800    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
     5801  *)
     5802    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
     5803  esac
     5804  case $ac_prog in
     5805    # Accept absolute paths.
     5806    [\\/]* | ?:[\\/]*)
     5807      re_direlt='/[^/][^/]*/\.\./'
     5808      # Canonicalize the pathname of ld
     5809      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
     5810      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
     5811        ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
     5812      done
     5813      test -z "$LD" && LD=$ac_prog
     5814      ;;
     5815  "")
     5816    # If it fails, then pretend we aren't using GCC.
     5817    ac_prog=ld
     5818    ;;
     5819  *)
     5820    # If it is relative, then search for the first ld in PATH.
     5821    with_gnu_ld=unknown
     5822    ;;
     5823  esac
     5824elif test yes = "$with_gnu_ld"; then
     5825  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
     5826$as_echo_n "checking for GNU ld... " >&6; }
     5827else
     5828  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
     5829$as_echo_n "checking for non-GNU ld... " >&6; }
     5830fi
     5831if ${lt_cv_path_LD+:} false; then :
     5832  $as_echo_n "(cached) " >&6
     5833else
     5834  if test -z "$LD"; then
     5835  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     5836  for ac_dir in $PATH; do
     5837    IFS=$lt_save_ifs
     5838    test -z "$ac_dir" && ac_dir=.
     5839    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
     5840      lt_cv_path_LD=$ac_dir/$ac_prog
     5841      # Check to see if the program is GNU ld.  I'd rather use --version,
     5842      # but apparently some variants of GNU ld only accept -v.
     5843      # Break only if it was the GNU/non-GNU ld that we prefer.
     5844      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
     5845      *GNU* | *'with BFD'*)
     5846        test no != "$with_gnu_ld" && break
     5847        ;;
     5848      *)
     5849        test yes != "$with_gnu_ld" && break
     5850        ;;
     5851      esac
     5852    fi
     5853  done
     5854  IFS=$lt_save_ifs
     5855else
     5856  lt_cv_path_LD=$LD # Let the user override the test with a path.
     5857fi
     5858fi
     5859
     5860LD=$lt_cv_path_LD
     5861if test -n "$LD"; then
     5862  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
     5863$as_echo "$LD" >&6; }
     5864else
     5865  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     5866$as_echo "no" >&6; }
     5867fi
     5868test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
     5869{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
     5870$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
     5871if ${lt_cv_prog_gnu_ld+:} false; then :
     5872  $as_echo_n "(cached) " >&6
     5873else
     5874  # I'd rather use --version here, but apparently some GNU lds only accept -v.
     5875case `$LD -v 2>&1 </dev/null` in
     5876*GNU* | *'with BFD'*)
     5877  lt_cv_prog_gnu_ld=yes
     5878  ;;
     5879*)
     5880  lt_cv_prog_gnu_ld=no
     5881  ;;
     5882esac
     5883fi
     5884{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
     5885$as_echo "$lt_cv_prog_gnu_ld" >&6; }
     5886with_gnu_ld=$lt_cv_prog_gnu_ld
     5887
     5888
     5889
     5890
     5891
     5892
     5893
     5894
     5895
     5896{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
     5897$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
     5898if ${lt_cv_path_NM+:} false; then :
     5899  $as_echo_n "(cached) " >&6
     5900else
     5901  if test -n "$NM"; then
     5902  # Let the user override the test.
     5903  lt_cv_path_NM=$NM
     5904else
     5905  lt_nm_to_check=${ac_tool_prefix}nm
     5906  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
     5907    lt_nm_to_check="$lt_nm_to_check nm"
     5908  fi
     5909  for lt_tmp_nm in $lt_nm_to_check; do
     5910    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     5911    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
     5912      IFS=$lt_save_ifs
     5913      test -z "$ac_dir" && ac_dir=.
     5914      tmp_nm=$ac_dir/$lt_tmp_nm
     5915      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
     5916        # Check to see if the nm accepts a BSD-compat flag.
     5917        # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
     5918        #   nm: unknown option "B" ignored
     5919        # Tru64's nm complains that /dev/null is an invalid object file
     5920        # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
     5921        case $build_os in
     5922        mingw*) lt_bad_file=conftest.nm/nofile ;;
     5923        *) lt_bad_file=/dev/null ;;
     5924        esac
     5925        case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
     5926        *$lt_bad_file* | *'Invalid file or object type'*)
     5927          lt_cv_path_NM="$tmp_nm -B"
     5928          break 2
     5929          ;;
     5930        *)
     5931          case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
     5932          */dev/null*)
     5933            lt_cv_path_NM="$tmp_nm -p"
     5934            break 2
     5935            ;;
     5936          *)
     5937            lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
     5938            continue # so that we can try to find one that supports BSD flags
     5939            ;;
     5940          esac
     5941          ;;
     5942        esac
     5943      fi
     5944    done
     5945    IFS=$lt_save_ifs
     5946  done
     5947  : ${lt_cv_path_NM=no}
     5948fi
     5949fi
     5950{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
     5951$as_echo "$lt_cv_path_NM" >&6; }
     5952if test no != "$lt_cv_path_NM"; then
     5953  NM=$lt_cv_path_NM
     5954else
     5955  # Didn't find any BSD compatible name lister, look for dumpbin.
     5956  if test -n "$DUMPBIN"; then :
     5957    # Let the user override the test.
     5958  else
     5959    if test -n "$ac_tool_prefix"; then
     5960  for ac_prog in dumpbin "link -dump"
     5961  do
     5962    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
     5963set dummy $ac_tool_prefix$ac_prog; ac_word=$2
     5964{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     5965$as_echo_n "checking for $ac_word... " >&6; }
     5966if ${ac_cv_prog_DUMPBIN+:} false; then :
     5967  $as_echo_n "(cached) " >&6
     5968else
     5969  if test -n "$DUMPBIN"; then
     5970  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
     5971else
     5972as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     5973for as_dir in $PATH
     5974do
     5975  IFS=$as_save_IFS
     5976  test -z "$as_dir" && as_dir=.
     5977    for ac_exec_ext in '' $ac_executable_extensions; do
     5978  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     5979    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     5980    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     5981    break 2
     5982  fi
     5983done
     5984  done
     5985IFS=$as_save_IFS
     5986
     5987fi
     5988fi
     5989DUMPBIN=$ac_cv_prog_DUMPBIN
     5990if test -n "$DUMPBIN"; then
     5991  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
     5992$as_echo "$DUMPBIN" >&6; }
     5993else
     5994  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     5995$as_echo "no" >&6; }
     5996fi
     5997
     5998
     5999    test -n "$DUMPBIN" && break
     6000  done
     6001fi
     6002if test -z "$DUMPBIN"; then
     6003  ac_ct_DUMPBIN=$DUMPBIN
     6004  for ac_prog in dumpbin "link -dump"
     6005do
     6006  # Extract the first word of "$ac_prog", so it can be a program name with args.
     6007set dummy $ac_prog; ac_word=$2
     6008{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6009$as_echo_n "checking for $ac_word... " >&6; }
     6010if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
     6011  $as_echo_n "(cached) " >&6
     6012else
     6013  if test -n "$ac_ct_DUMPBIN"; then
     6014  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
     6015else
     6016as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6017for as_dir in $PATH
     6018do
     6019  IFS=$as_save_IFS
     6020  test -z "$as_dir" && as_dir=.
     6021    for ac_exec_ext in '' $ac_executable_extensions; do
     6022  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6023    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     6024    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6025    break 2
     6026  fi
     6027done
     6028  done
     6029IFS=$as_save_IFS
     6030
     6031fi
     6032fi
     6033ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
     6034if test -n "$ac_ct_DUMPBIN"; then
     6035  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
     6036$as_echo "$ac_ct_DUMPBIN" >&6; }
     6037else
     6038  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6039$as_echo "no" >&6; }
     6040fi
     6041
     6042
     6043  test -n "$ac_ct_DUMPBIN" && break
     6044done
     6045
     6046  if test "x$ac_ct_DUMPBIN" = x; then
     6047    DUMPBIN=":"
     6048  else
     6049    case $cross_compiling:$ac_tool_warned in
     6050yes:)
     6051{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     6052$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     6053ac_tool_warned=yes ;;
     6054esac
     6055    DUMPBIN=$ac_ct_DUMPBIN
     6056  fi
     6057fi
     6058
     6059    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
     6060    *COFF*)
     6061      DUMPBIN="$DUMPBIN -symbols -headers"
     6062      ;;
     6063    *)
     6064      DUMPBIN=:
     6065      ;;
     6066    esac
     6067  fi
     6068
     6069  if test : != "$DUMPBIN"; then
     6070    NM=$DUMPBIN
     6071  fi
     6072fi
     6073test -z "$NM" && NM=nm
     6074
     6075
     6076
     6077
     6078
     6079
     6080{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
     6081$as_echo_n "checking the name lister ($NM) interface... " >&6; }
     6082if ${lt_cv_nm_interface+:} false; then :
     6083  $as_echo_n "(cached) " >&6
     6084else
     6085  lt_cv_nm_interface="BSD nm"
     6086  echo "int some_variable = 0;" > conftest.$ac_ext
     6087  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
     6088  (eval "$ac_compile" 2>conftest.err)
     6089  cat conftest.err >&5
     6090  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
     6091  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
     6092  cat conftest.err >&5
     6093  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
     6094  cat conftest.out >&5
     6095  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
     6096    lt_cv_nm_interface="MS dumpbin"
     6097  fi
     6098  rm -f conftest*
     6099fi
     6100{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
     6101$as_echo "$lt_cv_nm_interface" >&6; }
     6102
     6103{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
     6104$as_echo_n "checking whether ln -s works... " >&6; }
     6105LN_S=$as_ln_s
     6106if test "$LN_S" = "ln -s"; then
     6107  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
     6108$as_echo "yes" >&6; }
     6109else
     6110  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
     6111$as_echo "no, using $LN_S" >&6; }
     6112fi
     6113
     6114# find the maximum length of command line arguments
     6115{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
     6116$as_echo_n "checking the maximum length of command line arguments... " >&6; }
     6117if ${lt_cv_sys_max_cmd_len+:} false; then :
     6118  $as_echo_n "(cached) " >&6
     6119else
     6120    i=0
     6121  teststring=ABCD
     6122
     6123  case $build_os in
     6124  msdosdjgpp*)
     6125    # On DJGPP, this test can blow up pretty badly due to problems in libc
     6126    # (any single argument exceeding 2000 bytes causes a buffer overrun
     6127    # during glob expansion).  Even if it were fixed, the result of this
     6128    # check would be larger than it should be.
     6129    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
     6130    ;;
     6131
     6132  gnu*)
     6133    # Under GNU Hurd, this test is not required because there is
     6134    # no limit to the length of command line arguments.
     6135    # Libtool will interpret -1 as no limit whatsoever
     6136    lt_cv_sys_max_cmd_len=-1;
     6137    ;;
     6138
     6139  cygwin* | mingw* | cegcc*)
     6140    # On Win9x/ME, this test blows up -- it succeeds, but takes
     6141    # about 5 minutes as the teststring grows exponentially.
     6142    # Worse, since 9x/ME are not pre-emptively multitasking,
     6143    # you end up with a "frozen" computer, even though with patience
     6144    # the test eventually succeeds (with a max line length of 256k).
     6145    # Instead, let's just punt: use the minimum linelength reported by
     6146    # all of the supported platforms: 8192 (on NT/2K/XP).
     6147    lt_cv_sys_max_cmd_len=8192;
     6148    ;;
     6149
     6150  mint*)
     6151    # On MiNT this can take a long time and run out of memory.
     6152    lt_cv_sys_max_cmd_len=8192;
     6153    ;;
     6154
     6155  amigaos*)
     6156    # On AmigaOS with pdksh, this test takes hours, literally.
     6157    # So we just punt and use a minimum line length of 8192.
     6158    lt_cv_sys_max_cmd_len=8192;
     6159    ;;
     6160
     6161  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
     6162    # This has been around since 386BSD, at least.  Likely further.
     6163    if test -x /sbin/sysctl; then
     6164      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
     6165    elif test -x /usr/sbin/sysctl; then
     6166      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
     6167    else
     6168      lt_cv_sys_max_cmd_len=65536       # usable default for all BSDs
     6169    fi
     6170    # And add a safety zone
     6171    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
     6172    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     6173    ;;
     6174
     6175  interix*)
     6176    # We know the value 262144 and hardcode it with a safety zone (like BSD)
     6177    lt_cv_sys_max_cmd_len=196608
     6178    ;;
     6179
     6180  os2*)
     6181    # The test takes a long time on OS/2.
     6182    lt_cv_sys_max_cmd_len=8192
     6183    ;;
     6184
     6185  osf*)
     6186    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     6187    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
     6188    # nice to cause kernel panics so lets avoid the loop below.
     6189    # First set a reasonable default.
     6190    lt_cv_sys_max_cmd_len=16384
     6191    #
     6192    if test -x /sbin/sysconfig; then
     6193      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
     6194        *1*) lt_cv_sys_max_cmd_len=-1 ;;
     6195      esac
     6196    fi
     6197    ;;
     6198  sco3.2v5*)
     6199    lt_cv_sys_max_cmd_len=102400
     6200    ;;
     6201  sysv5* | sco5v6* | sysv4.2uw2*)
     6202    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
     6203    if test -n "$kargmax"; then
     6204      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[  ]//'`
     6205    else
     6206      lt_cv_sys_max_cmd_len=32768
     6207    fi
     6208    ;;
     6209  *)
     6210    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
     6211    if test -n "$lt_cv_sys_max_cmd_len" && \
     6212       test undefined != "$lt_cv_sys_max_cmd_len"; then
     6213      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
     6214      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     6215    else
     6216      # Make teststring a little bigger before we do anything with it.
     6217      # a 1K string should be a reasonable start.
     6218      for i in 1 2 3 4 5 6 7 8; do
     6219        teststring=$teststring$teststring
     6220      done
     6221      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
     6222      # If test is not a shell built-in, we'll probably end up computing a
     6223      # maximum length that is only half of the actual maximum length, but
     6224      # we can't tell.
     6225      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
     6226                 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
     6227              test 17 != "$i" # 1/2 MB should be enough
     6228      do
     6229        i=`expr $i + 1`
     6230        teststring=$teststring$teststring
     6231      done
     6232      # Only check the string length outside the loop.
     6233      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
     6234      teststring=
     6235      # Add a significant safety factor because C++ compilers can tack on
     6236      # massive amounts of additional arguments before passing them to the
     6237      # linker.  It appears as though 1/2 is a usable value.
     6238      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
     6239    fi
     6240    ;;
     6241  esac
     6242
     6243fi
     6244
     6245if test -n "$lt_cv_sys_max_cmd_len"; then
     6246  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
     6247$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
     6248else
     6249  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
     6250$as_echo "none" >&6; }
     6251fi
     6252max_cmd_len=$lt_cv_sys_max_cmd_len
     6253
     6254
     6255
     6256
     6257
     6258
     6259: ${CP="cp -f"}
     6260: ${MV="mv -f"}
     6261: ${RM="rm -f"}
     6262
     6263if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
     6264  lt_unset=unset
     6265else
     6266  lt_unset=false
     6267fi
     6268
     6269
     6270
     6271
     6272
     6273# test EBCDIC or ASCII
     6274case `echo X|tr X '\101'` in
     6275 A) # ASCII based system
     6276    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
     6277  lt_SP2NL='tr \040 \012'
     6278  lt_NL2SP='tr \015\012 \040\040'
     6279  ;;
     6280 *) # EBCDIC based system
     6281  lt_SP2NL='tr \100 \n'
     6282  lt_NL2SP='tr \r\n \100\100'
     6283  ;;
     6284esac
     6285
     6286
     6287
     6288
     6289
     6290
     6291
     6292
     6293
     6294{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
     6295$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
     6296if ${lt_cv_to_host_file_cmd+:} false; then :
     6297  $as_echo_n "(cached) " >&6
     6298else
     6299  case $host in
     6300  *-*-mingw* )
     6301    case $build in
     6302      *-*-mingw* ) # actually msys
     6303        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
     6304        ;;
     6305      *-*-cygwin* )
     6306        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
     6307        ;;
     6308      * ) # otherwise, assume *nix
     6309        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
     6310        ;;
     6311    esac
     6312    ;;
     6313  *-*-cygwin* )
     6314    case $build in
     6315      *-*-mingw* ) # actually msys
     6316        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
     6317        ;;
     6318      *-*-cygwin* )
     6319        lt_cv_to_host_file_cmd=func_convert_file_noop
     6320        ;;
     6321      * ) # otherwise, assume *nix
     6322        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
     6323        ;;
     6324    esac
     6325    ;;
     6326  * ) # unhandled hosts (and "normal" native builds)
     6327    lt_cv_to_host_file_cmd=func_convert_file_noop
     6328    ;;
     6329esac
     6330
     6331fi
     6332
     6333to_host_file_cmd=$lt_cv_to_host_file_cmd
     6334{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
     6335$as_echo "$lt_cv_to_host_file_cmd" >&6; }
     6336
     6337
     6338
     6339
     6340
     6341{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
     6342$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
     6343if ${lt_cv_to_tool_file_cmd+:} false; then :
     6344  $as_echo_n "(cached) " >&6
     6345else
     6346  #assume ordinary cross tools, or native build.
     6347lt_cv_to_tool_file_cmd=func_convert_file_noop
     6348case $host in
     6349  *-*-mingw* )
     6350    case $build in
     6351      *-*-mingw* ) # actually msys
     6352        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
     6353        ;;
     6354    esac
     6355    ;;
     6356esac
     6357
     6358fi
     6359
     6360to_tool_file_cmd=$lt_cv_to_tool_file_cmd
     6361{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
     6362$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
     6363
     6364
     6365
     6366
     6367
     6368{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
     6369$as_echo_n "checking for $LD option to reload object files... " >&6; }
     6370if ${lt_cv_ld_reload_flag+:} false; then :
     6371  $as_echo_n "(cached) " >&6
     6372else
     6373  lt_cv_ld_reload_flag='-r'
     6374fi
     6375{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
     6376$as_echo "$lt_cv_ld_reload_flag" >&6; }
     6377reload_flag=$lt_cv_ld_reload_flag
     6378case $reload_flag in
     6379"" | " "*) ;;
     6380*) reload_flag=" $reload_flag" ;;
     6381esac
     6382reload_cmds='$LD$reload_flag -o $output$reload_objs'
     6383case $host_os in
     6384  cygwin* | mingw* | pw32* | cegcc*)
     6385    if test yes != "$GCC"; then
     6386      reload_cmds=false
     6387    fi
     6388    ;;
     6389  darwin*)
     6390    if test yes = "$GCC"; then
     6391      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
     6392    else
     6393      reload_cmds='$LD$reload_flag -o $output$reload_objs'
     6394    fi
     6395    ;;
     6396esac
     6397
     6398
     6399
     6400
     6401
     6402
     6403
     6404
     6405
     6406if test -n "$ac_tool_prefix"; then
     6407  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
     6408set dummy ${ac_tool_prefix}objdump; ac_word=$2
     6409{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6410$as_echo_n "checking for $ac_word... " >&6; }
     6411if ${ac_cv_prog_OBJDUMP+:} false; then :
     6412  $as_echo_n "(cached) " >&6
     6413else
     6414  if test -n "$OBJDUMP"; then
     6415  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
     6416else
     6417as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6418for as_dir in $PATH
     6419do
     6420  IFS=$as_save_IFS
     6421  test -z "$as_dir" && as_dir=.
     6422    for ac_exec_ext in '' $ac_executable_extensions; do
     6423  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6424    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     6425    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6426    break 2
     6427  fi
     6428done
     6429  done
     6430IFS=$as_save_IFS
     6431
     6432fi
     6433fi
     6434OBJDUMP=$ac_cv_prog_OBJDUMP
     6435if test -n "$OBJDUMP"; then
     6436  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
     6437$as_echo "$OBJDUMP" >&6; }
     6438else
     6439  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6440$as_echo "no" >&6; }
     6441fi
     6442
     6443
     6444fi
     6445if test -z "$ac_cv_prog_OBJDUMP"; then
     6446  ac_ct_OBJDUMP=$OBJDUMP
     6447  # Extract the first word of "objdump", so it can be a program name with args.
     6448set dummy objdump; ac_word=$2
     6449{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6450$as_echo_n "checking for $ac_word... " >&6; }
     6451if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
     6452  $as_echo_n "(cached) " >&6
     6453else
     6454  if test -n "$ac_ct_OBJDUMP"; then
     6455  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
     6456else
     6457as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6458for as_dir in $PATH
     6459do
     6460  IFS=$as_save_IFS
     6461  test -z "$as_dir" && as_dir=.
     6462    for ac_exec_ext in '' $ac_executable_extensions; do
     6463  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6464    ac_cv_prog_ac_ct_OBJDUMP="objdump"
     6465    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6466    break 2
     6467  fi
     6468done
     6469  done
     6470IFS=$as_save_IFS
     6471
     6472fi
     6473fi
     6474ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
     6475if test -n "$ac_ct_OBJDUMP"; then
     6476  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
     6477$as_echo "$ac_ct_OBJDUMP" >&6; }
     6478else
     6479  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6480$as_echo "no" >&6; }
     6481fi
     6482
     6483  if test "x$ac_ct_OBJDUMP" = x; then
     6484    OBJDUMP="false"
     6485  else
     6486    case $cross_compiling:$ac_tool_warned in
     6487yes:)
     6488{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     6489$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     6490ac_tool_warned=yes ;;
     6491esac
     6492    OBJDUMP=$ac_ct_OBJDUMP
     6493  fi
     6494else
     6495  OBJDUMP="$ac_cv_prog_OBJDUMP"
     6496fi
     6497
     6498test -z "$OBJDUMP" && OBJDUMP=objdump
     6499
     6500
     6501
     6502
     6503
     6504
     6505
     6506
     6507
     6508{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
     6509$as_echo_n "checking how to recognize dependent libraries... " >&6; }
     6510if ${lt_cv_deplibs_check_method+:} false; then :
     6511  $as_echo_n "(cached) " >&6
     6512else
     6513  lt_cv_file_magic_cmd='$MAGIC_CMD'
     6514lt_cv_file_magic_test_file=
     6515lt_cv_deplibs_check_method='unknown'
     6516# Need to set the preceding variable on all platforms that support
     6517# interlibrary dependencies.
     6518# 'none' -- dependencies not supported.
     6519# 'unknown' -- same as none, but documents that we really don't know.
     6520# 'pass_all' -- all dependencies passed with no checks.
     6521# 'test_compile' -- check by making test program.
     6522# 'file_magic [[regex]]' -- check by looking for files in library path
     6523# that responds to the $file_magic_cmd with a given extended regex.
     6524# If you have 'file' or equivalent on your system and you're not sure
     6525# whether 'pass_all' will *always* work, you probably want this one.
     6526
     6527case $host_os in
     6528aix[4-9]*)
     6529  lt_cv_deplibs_check_method=pass_all
     6530  ;;
     6531
     6532beos*)
     6533  lt_cv_deplibs_check_method=pass_all
     6534  ;;
     6535
     6536bsdi[45]*)
     6537  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
     6538  lt_cv_file_magic_cmd='/usr/bin/file -L'
     6539  lt_cv_file_magic_test_file=/shlib/libc.so
     6540  ;;
     6541
     6542cygwin*)
     6543  # func_win32_libid is a shell function defined in ltmain.sh
     6544  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
     6545  lt_cv_file_magic_cmd='func_win32_libid'
     6546  ;;
     6547
     6548mingw* | pw32*)
     6549  # Base MSYS/MinGW do not provide the 'file' command needed by
     6550  # func_win32_libid shell function, so use a weaker test based on 'objdump',
     6551  # unless we find 'file', for example because we are cross-compiling.
     6552  if ( file / ) >/dev/null 2>&1; then
     6553    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
     6554    lt_cv_file_magic_cmd='func_win32_libid'
     6555  else
     6556    # Keep this pattern in sync with the one in func_win32_libid.
     6557    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
     6558    lt_cv_file_magic_cmd='$OBJDUMP -f'
     6559  fi
     6560  ;;
     6561
     6562cegcc*)
     6563  # use the weaker test based on 'objdump'. See mingw*.
     6564  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
     6565  lt_cv_file_magic_cmd='$OBJDUMP -f'
     6566  ;;
     6567
     6568darwin* | rhapsody*)
     6569  lt_cv_deplibs_check_method=pass_all
     6570  ;;
     6571
     6572freebsd* | dragonfly*)
     6573  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     6574    case $host_cpu in
     6575    i*86 )
     6576      # Not sure whether the presence of OpenBSD here was a mistake.
     6577      # Let's accept both of them until this is cleared up.
     6578      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
     6579      lt_cv_file_magic_cmd=/usr/bin/file
     6580      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
     6581      ;;
     6582    esac
     6583  else
     6584    lt_cv_deplibs_check_method=pass_all
     6585  fi
     6586  ;;
     6587
     6588haiku*)
     6589  lt_cv_deplibs_check_method=pass_all
     6590  ;;
     6591
     6592hpux10.20* | hpux11*)
     6593  lt_cv_file_magic_cmd=/usr/bin/file
     6594  case $host_cpu in
     6595  ia64*)
     6596    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
     6597    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
     6598    ;;
     6599  hppa*64*)
     6600    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]'
     6601    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
     6602    ;;
     6603  *)
     6604    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
     6605    lt_cv_file_magic_test_file=/usr/lib/libc.sl
     6606    ;;
     6607  esac
     6608  ;;
     6609
     6610interix[3-9]*)
     6611  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
     6612  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
     6613  ;;
     6614
     6615irix5* | irix6* | nonstopux*)
     6616  case $LD in
     6617  *-32|*"-32 ") libmagic=32-bit;;
     6618  *-n32|*"-n32 ") libmagic=N32;;
     6619  *-64|*"-64 ") libmagic=64-bit;;
     6620  *) libmagic=never-match;;
     6621  esac
     6622  lt_cv_deplibs_check_method=pass_all
     6623  ;;
     6624
     6625# This must be glibc/ELF.
     6626linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     6627  lt_cv_deplibs_check_method=pass_all
     6628  ;;
     6629
     6630netbsd* | netbsdelf*-gnu)
     6631  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     6632    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
     6633  else
     6634    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
     6635  fi
     6636  ;;
     6637
     6638newos6*)
     6639  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
     6640  lt_cv_file_magic_cmd=/usr/bin/file
     6641  lt_cv_file_magic_test_file=/usr/lib/libnls.so
     6642  ;;
     6643
     6644*nto* | *qnx*)
     6645  lt_cv_deplibs_check_method=pass_all
     6646  ;;
     6647
     6648openbsd* | bitrig*)
     6649  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
     6650    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
     6651  else
     6652    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
     6653  fi
     6654  ;;
     6655
     6656osf3* | osf4* | osf5*)
     6657  lt_cv_deplibs_check_method=pass_all
     6658  ;;
     6659
     6660rdos*)
     6661  lt_cv_deplibs_check_method=pass_all
     6662  ;;
     6663
     6664solaris*)
     6665  lt_cv_deplibs_check_method=pass_all
     6666  ;;
     6667
     6668sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
     6669  lt_cv_deplibs_check_method=pass_all
     6670  ;;
     6671
     6672sysv4 | sysv4.3*)
     6673  case $host_vendor in
     6674  motorola)
     6675    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]'
     6676    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
     6677    ;;
     6678  ncr)
     6679    lt_cv_deplibs_check_method=pass_all
     6680    ;;
     6681  sequent)
     6682    lt_cv_file_magic_cmd='/bin/file'
     6683    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
     6684    ;;
     6685  sni)
     6686    lt_cv_file_magic_cmd='/bin/file'
     6687    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
     6688    lt_cv_file_magic_test_file=/lib/libc.so
     6689    ;;
     6690  siemens)
     6691    lt_cv_deplibs_check_method=pass_all
     6692    ;;
     6693  pc)
     6694    lt_cv_deplibs_check_method=pass_all
     6695    ;;
     6696  esac
     6697  ;;
     6698
     6699tpf*)
     6700  lt_cv_deplibs_check_method=pass_all
     6701  ;;
     6702os2*)
     6703  lt_cv_deplibs_check_method=pass_all
     6704  ;;
     6705esac
     6706
     6707fi
     6708{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
     6709$as_echo "$lt_cv_deplibs_check_method" >&6; }
     6710
     6711file_magic_glob=
     6712want_nocaseglob=no
     6713if test "$build" = "$host"; then
     6714  case $host_os in
     6715  mingw* | pw32*)
     6716    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
     6717      want_nocaseglob=yes
     6718    else
     6719      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
     6720    fi
     6721    ;;
     6722  esac
     6723fi
     6724
     6725file_magic_cmd=$lt_cv_file_magic_cmd
     6726deplibs_check_method=$lt_cv_deplibs_check_method
     6727test -z "$deplibs_check_method" && deplibs_check_method=unknown
     6728
     6729
     6730
     6731
     6732
     6733
     6734
     6735
     6736
     6737
     6738
     6739
     6740
     6741
     6742
     6743
     6744
     6745
     6746
     6747
     6748
     6749
     6750if test -n "$ac_tool_prefix"; then
     6751  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
     6752set dummy ${ac_tool_prefix}dlltool; ac_word=$2
     6753{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6754$as_echo_n "checking for $ac_word... " >&6; }
     6755if ${ac_cv_prog_DLLTOOL+:} false; then :
     6756  $as_echo_n "(cached) " >&6
     6757else
     6758  if test -n "$DLLTOOL"; then
     6759  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
     6760else
     6761as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6762for as_dir in $PATH
     6763do
     6764  IFS=$as_save_IFS
     6765  test -z "$as_dir" && as_dir=.
     6766    for ac_exec_ext in '' $ac_executable_extensions; do
     6767  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6768    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
     6769    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6770    break 2
     6771  fi
     6772done
     6773  done
     6774IFS=$as_save_IFS
     6775
     6776fi
     6777fi
     6778DLLTOOL=$ac_cv_prog_DLLTOOL
     6779if test -n "$DLLTOOL"; then
     6780  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
     6781$as_echo "$DLLTOOL" >&6; }
     6782else
     6783  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6784$as_echo "no" >&6; }
     6785fi
     6786
     6787
     6788fi
     6789if test -z "$ac_cv_prog_DLLTOOL"; then
     6790  ac_ct_DLLTOOL=$DLLTOOL
     6791  # Extract the first word of "dlltool", so it can be a program name with args.
     6792set dummy dlltool; ac_word=$2
     6793{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6794$as_echo_n "checking for $ac_word... " >&6; }
     6795if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
     6796  $as_echo_n "(cached) " >&6
     6797else
     6798  if test -n "$ac_ct_DLLTOOL"; then
     6799  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
     6800else
     6801as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6802for as_dir in $PATH
     6803do
     6804  IFS=$as_save_IFS
     6805  test -z "$as_dir" && as_dir=.
     6806    for ac_exec_ext in '' $ac_executable_extensions; do
     6807  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6808    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
     6809    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6810    break 2
     6811  fi
     6812done
     6813  done
     6814IFS=$as_save_IFS
     6815
     6816fi
     6817fi
     6818ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
     6819if test -n "$ac_ct_DLLTOOL"; then
     6820  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
     6821$as_echo "$ac_ct_DLLTOOL" >&6; }
     6822else
     6823  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6824$as_echo "no" >&6; }
     6825fi
     6826
     6827  if test "x$ac_ct_DLLTOOL" = x; then
     6828    DLLTOOL="false"
     6829  else
     6830    case $cross_compiling:$ac_tool_warned in
     6831yes:)
     6832{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     6833$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     6834ac_tool_warned=yes ;;
     6835esac
     6836    DLLTOOL=$ac_ct_DLLTOOL
     6837  fi
     6838else
     6839  DLLTOOL="$ac_cv_prog_DLLTOOL"
     6840fi
     6841
     6842test -z "$DLLTOOL" && DLLTOOL=dlltool
     6843
     6844
     6845
     6846
     6847
     6848
     6849
     6850
     6851
     6852
     6853{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
     6854$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
     6855if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
     6856  $as_echo_n "(cached) " >&6
     6857else
     6858  lt_cv_sharedlib_from_linklib_cmd='unknown'
     6859
     6860case $host_os in
     6861cygwin* | mingw* | pw32* | cegcc*)
     6862  # two different shell functions defined in ltmain.sh;
     6863  # decide which one to use based on capabilities of $DLLTOOL
     6864  case `$DLLTOOL --help 2>&1` in
     6865  *--identify-strict*)
     6866    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
     6867    ;;
     6868  *)
     6869    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
     6870    ;;
     6871  esac
     6872  ;;
     6873*)
     6874  # fallback: assume linklib IS sharedlib
     6875  lt_cv_sharedlib_from_linklib_cmd=$ECHO
     6876  ;;
     6877esac
     6878
     6879fi
     6880{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
     6881$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
     6882sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
     6883test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
     6884
     6885
     6886
     6887
     6888
     6889
     6890
     6891if test -n "$ac_tool_prefix"; then
     6892  for ac_prog in ar
     6893  do
     6894    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
     6895set dummy $ac_tool_prefix$ac_prog; ac_word=$2
     6896{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6897$as_echo_n "checking for $ac_word... " >&6; }
     6898if ${ac_cv_prog_AR+:} false; then :
     6899  $as_echo_n "(cached) " >&6
     6900else
     6901  if test -n "$AR"; then
     6902  ac_cv_prog_AR="$AR" # Let the user override the test.
     6903else
     6904as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6905for as_dir in $PATH
     6906do
     6907  IFS=$as_save_IFS
     6908  test -z "$as_dir" && as_dir=.
     6909    for ac_exec_ext in '' $ac_executable_extensions; do
     6910  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6911    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
     6912    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6913    break 2
     6914  fi
     6915done
     6916  done
     6917IFS=$as_save_IFS
     6918
     6919fi
     6920fi
     6921AR=$ac_cv_prog_AR
     6922if test -n "$AR"; then
     6923  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
     6924$as_echo "$AR" >&6; }
     6925else
     6926  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6927$as_echo "no" >&6; }
     6928fi
     6929
     6930
     6931    test -n "$AR" && break
     6932  done
     6933fi
     6934if test -z "$AR"; then
     6935  ac_ct_AR=$AR
     6936  for ac_prog in ar
     6937do
     6938  # Extract the first word of "$ac_prog", so it can be a program name with args.
     6939set dummy $ac_prog; ac_word=$2
     6940{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6941$as_echo_n "checking for $ac_word... " >&6; }
     6942if ${ac_cv_prog_ac_ct_AR+:} false; then :
     6943  $as_echo_n "(cached) " >&6
     6944else
     6945  if test -n "$ac_ct_AR"; then
     6946  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
     6947else
     6948as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6949for as_dir in $PATH
     6950do
     6951  IFS=$as_save_IFS
     6952  test -z "$as_dir" && as_dir=.
     6953    for ac_exec_ext in '' $ac_executable_extensions; do
     6954  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6955    ac_cv_prog_ac_ct_AR="$ac_prog"
     6956    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6957    break 2
     6958  fi
     6959done
     6960  done
     6961IFS=$as_save_IFS
     6962
     6963fi
     6964fi
     6965ac_ct_AR=$ac_cv_prog_ac_ct_AR
     6966if test -n "$ac_ct_AR"; then
     6967  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
     6968$as_echo "$ac_ct_AR" >&6; }
     6969else
     6970  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6971$as_echo "no" >&6; }
     6972fi
     6973
     6974
     6975  test -n "$ac_ct_AR" && break
     6976done
     6977
     6978  if test "x$ac_ct_AR" = x; then
     6979    AR="false"
     6980  else
     6981    case $cross_compiling:$ac_tool_warned in
     6982yes:)
     6983{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     6984$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     6985ac_tool_warned=yes ;;
     6986esac
     6987    AR=$ac_ct_AR
     6988  fi
     6989fi
     6990
     6991: ${AR=ar}
     6992: ${AR_FLAGS=cru}
     6993
     6994
     6995
     6996
     6997
     6998
     6999
     7000
     7001
     7002
     7003
     7004{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
     7005$as_echo_n "checking for archiver @FILE support... " >&6; }
     7006if ${lt_cv_ar_at_file+:} false; then :
     7007  $as_echo_n "(cached) " >&6
     7008else
     7009  lt_cv_ar_at_file=no
     7010   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     7011/* end confdefs.h.  */
     7012
     7013int
     7014main ()
     7015{
     7016
     7017  ;
     7018  return 0;
     7019}
     7020_ACEOF
     7021if ac_fn_c_try_compile "$LINENO"; then :
     7022  echo conftest.$ac_objext > conftest.lst
     7023      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
     7024      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
     7025  (eval $lt_ar_try) 2>&5
     7026  ac_status=$?
     7027  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7028  test $ac_status = 0; }
     7029      if test 0 -eq "$ac_status"; then
     7030        # Ensure the archiver fails upon bogus file names.
     7031        rm -f conftest.$ac_objext libconftest.a
     7032        { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
     7033  (eval $lt_ar_try) 2>&5
     7034  ac_status=$?
     7035  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7036  test $ac_status = 0; }
     7037        if test 0 -ne "$ac_status"; then
     7038          lt_cv_ar_at_file=@
     7039        fi
     7040      fi
     7041      rm -f conftest.* libconftest.a
     7042
     7043fi
     7044rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     7045
     7046fi
     7047{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
     7048$as_echo "$lt_cv_ar_at_file" >&6; }
     7049
     7050if test no = "$lt_cv_ar_at_file"; then
     7051  archiver_list_spec=
     7052else
     7053  archiver_list_spec=$lt_cv_ar_at_file
     7054fi
     7055
     7056
     7057
     7058
     7059
     7060
     7061
     7062if test -n "$ac_tool_prefix"; then
     7063  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
     7064set dummy ${ac_tool_prefix}strip; ac_word=$2
     7065{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     7066$as_echo_n "checking for $ac_word... " >&6; }
     7067if ${ac_cv_prog_STRIP+:} false; then :
     7068  $as_echo_n "(cached) " >&6
     7069else
     7070  if test -n "$STRIP"; then
     7071  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
     7072else
     7073as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7074for as_dir in $PATH
     7075do
     7076  IFS=$as_save_IFS
     7077  test -z "$as_dir" && as_dir=.
     7078    for ac_exec_ext in '' $ac_executable_extensions; do
     7079  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     7080    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     7081    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     7082    break 2
     7083  fi
     7084done
     7085  done
     7086IFS=$as_save_IFS
     7087
     7088fi
     7089fi
     7090STRIP=$ac_cv_prog_STRIP
     7091if test -n "$STRIP"; then
     7092  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
     7093$as_echo "$STRIP" >&6; }
     7094else
     7095  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     7096$as_echo "no" >&6; }
     7097fi
     7098
     7099
     7100fi
     7101if test -z "$ac_cv_prog_STRIP"; then
     7102  ac_ct_STRIP=$STRIP
     7103  # Extract the first word of "strip", so it can be a program name with args.
     7104set dummy strip; ac_word=$2
     7105{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     7106$as_echo_n "checking for $ac_word... " >&6; }
     7107if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
     7108  $as_echo_n "(cached) " >&6
     7109else
     7110  if test -n "$ac_ct_STRIP"; then
     7111  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
     7112else
     7113as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7114for as_dir in $PATH
     7115do
     7116  IFS=$as_save_IFS
     7117  test -z "$as_dir" && as_dir=.
     7118    for ac_exec_ext in '' $ac_executable_extensions; do
     7119  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     7120    ac_cv_prog_ac_ct_STRIP="strip"
     7121    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     7122    break 2
     7123  fi
     7124done
     7125  done
     7126IFS=$as_save_IFS
     7127
     7128fi
     7129fi
     7130ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
     7131if test -n "$ac_ct_STRIP"; then
     7132  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
     7133$as_echo "$ac_ct_STRIP" >&6; }
     7134else
     7135  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     7136$as_echo "no" >&6; }
     7137fi
     7138
     7139  if test "x$ac_ct_STRIP" = x; then
     7140    STRIP=":"
     7141  else
     7142    case $cross_compiling:$ac_tool_warned in
     7143yes:)
     7144{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     7145$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     7146ac_tool_warned=yes ;;
     7147esac
     7148    STRIP=$ac_ct_STRIP
     7149  fi
     7150else
     7151  STRIP="$ac_cv_prog_STRIP"
     7152fi
     7153
     7154test -z "$STRIP" && STRIP=:
     7155
     7156
     7157
     7158
     7159
     7160
     7161if test -n "$ac_tool_prefix"; then
     7162  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
     7163set dummy ${ac_tool_prefix}ranlib; ac_word=$2
     7164{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     7165$as_echo_n "checking for $ac_word... " >&6; }
     7166if ${ac_cv_prog_RANLIB+:} false; then :
     7167  $as_echo_n "(cached) " >&6
     7168else
     7169  if test -n "$RANLIB"; then
     7170  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
     7171else
     7172as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7173for as_dir in $PATH
     7174do
     7175  IFS=$as_save_IFS
     7176  test -z "$as_dir" && as_dir=.
     7177    for ac_exec_ext in '' $ac_executable_extensions; do
     7178  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     7179    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     7180    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     7181    break 2
     7182  fi
     7183done
     7184  done
     7185IFS=$as_save_IFS
     7186
     7187fi
     7188fi
     7189RANLIB=$ac_cv_prog_RANLIB
     7190if test -n "$RANLIB"; then
     7191  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
     7192$as_echo "$RANLIB" >&6; }
     7193else
     7194  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     7195$as_echo "no" >&6; }
     7196fi
     7197
     7198
     7199fi
     7200if test -z "$ac_cv_prog_RANLIB"; then
     7201  ac_ct_RANLIB=$RANLIB
     7202  # Extract the first word of "ranlib", so it can be a program name with args.
     7203set dummy ranlib; ac_word=$2
     7204{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     7205$as_echo_n "checking for $ac_word... " >&6; }
     7206if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
     7207  $as_echo_n "(cached) " >&6
     7208else
     7209  if test -n "$ac_ct_RANLIB"; then
     7210  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
     7211else
     7212as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7213for as_dir in $PATH
     7214do
     7215  IFS=$as_save_IFS
     7216  test -z "$as_dir" && as_dir=.
     7217    for ac_exec_ext in '' $ac_executable_extensions; do
     7218  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     7219    ac_cv_prog_ac_ct_RANLIB="ranlib"
     7220    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     7221    break 2
     7222  fi
     7223done
     7224  done
     7225IFS=$as_save_IFS
     7226
     7227fi
     7228fi
     7229ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
     7230if test -n "$ac_ct_RANLIB"; then
     7231  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
     7232$as_echo "$ac_ct_RANLIB" >&6; }
     7233else
     7234  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     7235$as_echo "no" >&6; }
     7236fi
     7237
     7238  if test "x$ac_ct_RANLIB" = x; then
     7239    RANLIB=":"
     7240  else
     7241    case $cross_compiling:$ac_tool_warned in
     7242yes:)
     7243{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     7244$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     7245ac_tool_warned=yes ;;
     7246esac
     7247    RANLIB=$ac_ct_RANLIB
     7248  fi
     7249else
     7250  RANLIB="$ac_cv_prog_RANLIB"
     7251fi
     7252
     7253test -z "$RANLIB" && RANLIB=:
     7254
     7255
     7256
     7257
     7258
     7259
     7260# Determine commands to create old-style static archives.
     7261old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
     7262old_postinstall_cmds='chmod 644 $oldlib'
     7263old_postuninstall_cmds=
     7264
     7265if test -n "$RANLIB"; then
     7266  case $host_os in
     7267  bitrig* | openbsd*)
     7268    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
     7269    ;;
     7270  *)
     7271    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
     7272    ;;
     7273  esac
     7274  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
     7275fi
     7276
     7277case $host_os in
     7278  darwin*)
     7279    lock_old_archive_extraction=yes ;;
     7280  *)
     7281    lock_old_archive_extraction=no ;;
     7282esac
     7283
     7284
     7285
     7286
     7287
     7288
     7289
     7290
     7291
     7292
     7293
     7294
     7295
     7296
     7297
     7298
     7299
     7300
     7301
     7302
     7303
     7304
     7305
     7306
     7307
     7308
     7309
     7310
     7311
     7312
     7313
     7314
     7315
     7316
     7317
     7318
     7319
     7320
     7321
     7322# If no C compiler was specified, use CC.
     7323LTCC=${LTCC-"$CC"}
     7324
     7325# If no C compiler flags were specified, use CFLAGS.
     7326LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
     7327
     7328# Allow CC to be a program name with arguments.
     7329compiler=$CC
     7330
     7331
     7332# Check for command to grab the raw symbol name followed by C symbol from nm.
     7333{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
     7334$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
     7335if ${lt_cv_sys_global_symbol_pipe+:} false; then :
     7336  $as_echo_n "(cached) " >&6
     7337else
     7338
     7339# These are sane defaults that work on at least a few old systems.
     7340# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
     7341
     7342# Character class describing NM global symbol codes.
     7343symcode='[BCDEGRST]'
     7344
     7345# Regexp to match symbols that can be accessed directly from C.
     7346sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
     7347
     7348# Define system-specific variables.
     7349case $host_os in
     7350aix*)
     7351  symcode='[BCDT]'
     7352  ;;
     7353cygwin* | mingw* | pw32* | cegcc*)
     7354  symcode='[ABCDGISTW]'
     7355  ;;
     7356hpux*)
     7357  if test ia64 = "$host_cpu"; then
     7358    symcode='[ABCDEGRST]'
     7359  fi
     7360  ;;
     7361irix* | nonstopux*)
     7362  symcode='[BCDEGRST]'
     7363  ;;
     7364osf*)
     7365  symcode='[BCDEGQRST]'
     7366  ;;
     7367solaris*)
     7368  symcode='[BDRT]'
     7369  ;;
     7370sco3.2v5*)
     7371  symcode='[DT]'
     7372  ;;
     7373sysv4.2uw2*)
     7374  symcode='[DT]'
     7375  ;;
     7376sysv5* | sco5v6* | unixware* | OpenUNIX*)
     7377  symcode='[ABDT]'
     7378  ;;
     7379sysv4)
     7380  symcode='[DFNSTU]'
     7381  ;;
     7382esac
     7383
     7384# If we're using GNU nm, then use its standard symbol codes.
     7385case `$NM -V 2>&1` in
     7386*GNU* | *'with BFD'*)
     7387  symcode='[ABCDGIRSTW]' ;;
     7388esac
     7389
     7390if test "$lt_cv_nm_interface" = "MS dumpbin"; then
     7391  # Gets list of data symbols to import.
     7392  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
     7393  # Adjust the below global symbol transforms to fixup imported variables.
     7394  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
     7395  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
     7396  lt_c_name_lib_hook="\
     7397  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
     7398  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
     7399else
     7400  # Disable hooks by default.
     7401  lt_cv_sys_global_symbol_to_import=
     7402  lt_cdecl_hook=
     7403  lt_c_name_hook=
     7404  lt_c_name_lib_hook=
     7405fi
     7406
     7407# Transform an extracted symbol line into a proper C declaration.
     7408# Some systems (esp. on ia64) link data and code symbols differently,
     7409# so use this general approach.
     7410lt_cv_sys_global_symbol_to_cdecl="sed -n"\
     7411$lt_cdecl_hook\
     7412" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
     7413" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
     7414
     7415# Transform an extracted symbol line into symbol name and symbol address
     7416lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
     7417$lt_c_name_hook\
     7418" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
     7419" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
     7420
     7421# Transform an extracted symbol line into symbol name with lib prefix and
     7422# symbol address.
     7423lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
     7424$lt_c_name_lib_hook\
     7425" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
     7426" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
     7427" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
     7428
     7429# Handle CRLF in mingw tool chain
     7430opt_cr=
     7431case $build_os in
     7432mingw*)
     7433  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
     7434  ;;
     7435esac
     7436
     7437# Try without a prefix underscore, then with it.
     7438for ac_symprfx in "" "_"; do
     7439
     7440  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
     7441  symxfrm="\\1 $ac_symprfx\\2 \\2"
     7442
     7443  # Write the raw and C identifiers.
     7444  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
     7445    # Fake it for dumpbin and say T for any non-static function,
     7446    # D for any global variable and I for any imported variable.
     7447    # Also find C++ and __fastcall symbols from MSVC++,
     7448    # which start with @ or ?.
     7449    lt_cv_sys_global_symbol_pipe="$AWK '"\
     7450"     {last_section=section; section=\$ 3};"\
     7451"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
     7452"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
     7453"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
     7454"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
     7455"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
     7456"     \$ 0!~/External *\|/{next};"\
     7457"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
     7458"     {if(hide[section]) next};"\
     7459"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
     7460"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
     7461"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
     7462"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
     7463"     ' prfx=^$ac_symprfx"
     7464  else
     7465    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[      ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
     7466  fi
     7467  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
     7468
     7469  # Check to see that the pipe works correctly.
     7470  pipe_works=no
     7471
     7472  rm -f conftest*
     7473  cat > conftest.$ac_ext <<_LT_EOF
     7474#ifdef __cplusplus
     7475extern "C" {
     7476#endif
     7477char nm_test_var;
     7478void nm_test_func(void);
     7479void nm_test_func(void){}
     7480#ifdef __cplusplus
     7481}
     7482#endif
     7483int main(){nm_test_var='a';nm_test_func();return(0);}
     7484_LT_EOF
     7485
     7486  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     7487  (eval $ac_compile) 2>&5
     7488  ac_status=$?
     7489  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7490  test $ac_status = 0; }; then
     7491    # Now try to grab the symbols.
     7492    nlist=conftest.nm
     7493    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
     7494  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
     7495  ac_status=$?
     7496  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7497  test $ac_status = 0; } && test -s "$nlist"; then
     7498      # Try sorting and uniquifying the output.
     7499      if sort "$nlist" | uniq > "$nlist"T; then
     7500        mv -f "$nlist"T "$nlist"
     7501      else
     7502        rm -f "$nlist"T
     7503      fi
     7504
     7505      # Make sure that we snagged all the symbols we need.
     7506      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
     7507        if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
     7508          cat <<_LT_EOF > conftest.$ac_ext
     7509/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
     7510#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
     7511/* DATA imports from DLLs on WIN32 can't be const, because runtime
     7512   relocations are performed -- see ld's documentation on pseudo-relocs.  */
     7513# define LT_DLSYM_CONST
     7514#elif defined __osf__
     7515/* This system does not cope well with relocations in const data.  */
     7516# define LT_DLSYM_CONST
     7517#else
     7518# define LT_DLSYM_CONST const
     7519#endif
     7520
     7521#ifdef __cplusplus
     7522extern "C" {
     7523#endif
     7524
     7525_LT_EOF
     7526          # Now generate the symbol file.
     7527          eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
     7528
     7529          cat <<_LT_EOF >> conftest.$ac_ext
     7530
     7531/* The mapping between symbol names and symbols.  */
     7532LT_DLSYM_CONST struct {
     7533  const char *name;
     7534  void       *address;
     7535}
     7536lt__PROGRAM__LTX_preloaded_symbols[] =
     7537{
     7538  { "@PROGRAM@", (void *) 0 },
     7539_LT_EOF
     7540          $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
     7541          cat <<\_LT_EOF >> conftest.$ac_ext
     7542  {0, (void *) 0}
     7543};
     7544
     7545/* This works around a problem in FreeBSD linker */
     7546#ifdef FREEBSD_WORKAROUND
     7547static const void *lt_preloaded_setup() {
     7548  return lt__PROGRAM__LTX_preloaded_symbols;
     7549}
     7550#endif
     7551
     7552#ifdef __cplusplus
     7553}
     7554#endif
     7555_LT_EOF
     7556          # Now try linking the two files.
     7557          mv conftest.$ac_objext conftstm.$ac_objext
     7558          lt_globsym_save_LIBS=$LIBS
     7559          lt_globsym_save_CFLAGS=$CFLAGS
     7560          LIBS=conftstm.$ac_objext
     7561          CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
     7562          if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
     7563  (eval $ac_link) 2>&5
     7564  ac_status=$?
     7565  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7566  test $ac_status = 0; } && test -s conftest$ac_exeext; then
     7567            pipe_works=yes
     7568          fi
     7569          LIBS=$lt_globsym_save_LIBS
     7570          CFLAGS=$lt_globsym_save_CFLAGS
     7571        else
     7572          echo "cannot find nm_test_func in $nlist" >&5
     7573        fi
     7574      else
     7575        echo "cannot find nm_test_var in $nlist" >&5
     7576      fi
     7577    else
     7578      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
     7579    fi
     7580  else
     7581    echo "$progname: failed program was:" >&5
     7582    cat conftest.$ac_ext >&5
     7583  fi
     7584  rm -rf conftest* conftst*
     7585
     7586  # Do not use the global_symbol_pipe unless it works.
     7587  if test yes = "$pipe_works"; then
     7588    break
     7589  else
     7590    lt_cv_sys_global_symbol_pipe=
     7591  fi
     7592done
     7593
     7594fi
     7595
     7596if test -z "$lt_cv_sys_global_symbol_pipe"; then
     7597  lt_cv_sys_global_symbol_to_cdecl=
     7598fi
     7599if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
     7600  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
     7601$as_echo "failed" >&6; }
     7602else
     7603  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
     7604$as_echo "ok" >&6; }
     7605fi
     7606
     7607# Response file support.
     7608if test "$lt_cv_nm_interface" = "MS dumpbin"; then
     7609  nm_file_list_spec='@'
     7610elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
     7611  nm_file_list_spec='@'
     7612fi
     7613
     7614
     7615
     7616
     7617
     7618
     7619
     7620
     7621
     7622
     7623
     7624
     7625
     7626
     7627
     7628
     7629
     7630
     7631
     7632
     7633
     7634
     7635
     7636
     7637
     7638
     7639
     7640
     7641
     7642
     7643
     7644
     7645
     7646
     7647
     7648
     7649
     7650{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
     7651$as_echo_n "checking for sysroot... " >&6; }
     7652
     7653# Check whether --with-sysroot was given.
     7654if test "${with_sysroot+set}" = set; then :
     7655  withval=$with_sysroot;
     7656else
     7657  with_sysroot=no
     7658fi
     7659
     7660
     7661lt_sysroot=
     7662case $with_sysroot in #(
     7663 yes)
     7664   if test yes = "$GCC"; then
     7665     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
     7666   fi
     7667   ;; #(
     7668 /*)
     7669   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
     7670   ;; #(
     7671 no|'')
     7672   ;; #(
     7673 *)
     7674   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
     7675$as_echo "$with_sysroot" >&6; }
     7676   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
     7677   ;;
     7678esac
     7679
     7680 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
     7681$as_echo "${lt_sysroot:-no}" >&6; }
     7682
     7683
     7684
     7685
     7686
     7687{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
     7688$as_echo_n "checking for a working dd... " >&6; }
     7689if ${ac_cv_path_lt_DD+:} false; then :
     7690  $as_echo_n "(cached) " >&6
     7691else
     7692  printf 0123456789abcdef0123456789abcdef >conftest.i
     7693cat conftest.i conftest.i >conftest2.i
     7694: ${lt_DD:=$DD}
     7695if test -z "$lt_DD"; then
     7696  ac_path_lt_DD_found=false
     7697  # Loop through the user's path and test for each of PROGNAME-LIST
     7698  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7699for as_dir in $PATH
     7700do
     7701  IFS=$as_save_IFS
     7702  test -z "$as_dir" && as_dir=.
     7703    for ac_prog in dd; do
     7704    for ac_exec_ext in '' $ac_executable_extensions; do
     7705      ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
     7706      as_fn_executable_p "$ac_path_lt_DD" || continue
     7707if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
     7708  cmp -s conftest.i conftest.out \
     7709  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
     7710fi
     7711      $ac_path_lt_DD_found && break 3
     7712    done
     7713  done
     7714  done
     7715IFS=$as_save_IFS
     7716  if test -z "$ac_cv_path_lt_DD"; then
     7717    :
     7718  fi
     7719else
     7720  ac_cv_path_lt_DD=$lt_DD
     7721fi
     7722
     7723rm -f conftest.i conftest2.i conftest.out
     7724fi
     7725{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
     7726$as_echo "$ac_cv_path_lt_DD" >&6; }
     7727
     7728
     7729{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
     7730$as_echo_n "checking how to truncate binary pipes... " >&6; }
     7731if ${lt_cv_truncate_bin+:} false; then :
     7732  $as_echo_n "(cached) " >&6
     7733else
     7734  printf 0123456789abcdef0123456789abcdef >conftest.i
     7735cat conftest.i conftest.i >conftest2.i
     7736lt_cv_truncate_bin=
     7737if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
     7738  cmp -s conftest.i conftest.out \
     7739  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
     7740fi
     7741rm -f conftest.i conftest2.i conftest.out
     7742test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
     7743fi
     7744{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
     7745$as_echo "$lt_cv_truncate_bin" >&6; }
     7746
     7747
     7748
     7749
     7750
     7751
     7752
     7753# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
     7754func_cc_basename ()
     7755{
     7756    for cc_temp in $*""; do
     7757      case $cc_temp in
     7758        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
     7759        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
     7760        \-*) ;;
     7761        *) break;;
     7762      esac
     7763    done
     7764    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
     7765}
     7766
     7767# Check whether --enable-libtool-lock was given.
     7768if test "${enable_libtool_lock+set}" = set; then :
     7769  enableval=$enable_libtool_lock;
     7770fi
     7771
     7772test no = "$enable_libtool_lock" || enable_libtool_lock=yes
     7773
     7774# Some flags need to be propagated to the compiler or linker for good
     7775# libtool support.
     7776case $host in
     7777ia64-*-hpux*)
     7778  # Find out what ABI is being produced by ac_compile, and set mode
     7779  # options accordingly.
     7780  echo 'int i;' > conftest.$ac_ext
     7781  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     7782  (eval $ac_compile) 2>&5
     7783  ac_status=$?
     7784  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7785  test $ac_status = 0; }; then
     7786    case `/usr/bin/file conftest.$ac_objext` in
     7787      *ELF-32*)
     7788        HPUX_IA64_MODE=32
     7789        ;;
     7790      *ELF-64*)
     7791        HPUX_IA64_MODE=64
     7792        ;;
     7793    esac
     7794  fi
     7795  rm -rf conftest*
     7796  ;;
     7797*-*-irix6*)
     7798  # Find out what ABI is being produced by ac_compile, and set linker
     7799  # options accordingly.
     7800  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
     7801  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     7802  (eval $ac_compile) 2>&5
     7803  ac_status=$?
     7804  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7805  test $ac_status = 0; }; then
     7806    if test yes = "$lt_cv_prog_gnu_ld"; then
     7807      case `/usr/bin/file conftest.$ac_objext` in
     7808        *32-bit*)
     7809          LD="${LD-ld} -melf32bsmip"
     7810          ;;
     7811        *N32*)
     7812          LD="${LD-ld} -melf32bmipn32"
     7813          ;;
     7814        *64-bit*)
     7815          LD="${LD-ld} -melf64bmip"
     7816        ;;
     7817      esac
     7818    else
     7819      case `/usr/bin/file conftest.$ac_objext` in
     7820        *32-bit*)
     7821          LD="${LD-ld} -32"
     7822          ;;
     7823        *N32*)
     7824          LD="${LD-ld} -n32"
     7825          ;;
     7826        *64-bit*)
     7827          LD="${LD-ld} -64"
     7828          ;;
     7829      esac
     7830    fi
     7831  fi
     7832  rm -rf conftest*
     7833  ;;
     7834
     7835mips64*-*linux*)
     7836  # Find out what ABI is being produced by ac_compile, and set linker
     7837  # options accordingly.
     7838  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
     7839  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     7840  (eval $ac_compile) 2>&5
     7841  ac_status=$?
     7842  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7843  test $ac_status = 0; }; then
     7844    emul=elf
     7845    case `/usr/bin/file conftest.$ac_objext` in
     7846      *32-bit*)
     7847        emul="${emul}32"
     7848        ;;
     7849      *64-bit*)
     7850        emul="${emul}64"
     7851        ;;
     7852    esac
     7853    case `/usr/bin/file conftest.$ac_objext` in
     7854      *MSB*)
     7855        emul="${emul}btsmip"
     7856        ;;
     7857      *LSB*)
     7858        emul="${emul}ltsmip"
     7859        ;;
     7860    esac
     7861    case `/usr/bin/file conftest.$ac_objext` in
     7862      *N32*)
     7863        emul="${emul}n32"
     7864        ;;
     7865    esac
     7866    LD="${LD-ld} -m $emul"
     7867  fi
     7868  rm -rf conftest*
     7869  ;;
     7870
     7871x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
     7872s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
     7873  # Find out what ABI is being produced by ac_compile, and set linker
     7874  # options accordingly.  Note that the listed cases only cover the
     7875  # situations where additional linker options are needed (such as when
     7876  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
     7877  # vice versa); the common cases where no linker options are needed do
     7878  # not appear in the list.
     7879  echo 'int i;' > conftest.$ac_ext
     7880  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     7881  (eval $ac_compile) 2>&5
     7882  ac_status=$?
     7883  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7884  test $ac_status = 0; }; then
     7885    case `/usr/bin/file conftest.o` in
     7886      *32-bit*)
     7887        case $host in
     7888          x86_64-*kfreebsd*-gnu)
     7889            LD="${LD-ld} -m elf_i386_fbsd"
     7890            ;;
     7891          x86_64-*linux*)
     7892            case `/usr/bin/file conftest.o` in
     7893              *x86-64*)
     7894                LD="${LD-ld} -m elf32_x86_64"
     7895                ;;
     7896              *)
     7897                LD="${LD-ld} -m elf_i386"
     7898                ;;
     7899            esac
     7900            ;;
     7901          powerpc64le-*linux*)
     7902            LD="${LD-ld} -m elf32lppclinux"
     7903            ;;
     7904          powerpc64-*linux*)
     7905            LD="${LD-ld} -m elf32ppclinux"
     7906            ;;
     7907          s390x-*linux*)
     7908            LD="${LD-ld} -m elf_s390"
     7909            ;;
     7910          sparc64-*linux*)
     7911            LD="${LD-ld} -m elf32_sparc"
     7912            ;;
     7913        esac
     7914        ;;
     7915      *64-bit*)
     7916        case $host in
     7917          x86_64-*kfreebsd*-gnu)
     7918            LD="${LD-ld} -m elf_x86_64_fbsd"
     7919            ;;
     7920          x86_64-*linux*)
     7921            LD="${LD-ld} -m elf_x86_64"
     7922            ;;
     7923          powerpcle-*linux*)
     7924            LD="${LD-ld} -m elf64lppc"
     7925            ;;
     7926          powerpc-*linux*)
     7927            LD="${LD-ld} -m elf64ppc"
     7928            ;;
     7929          s390*-*linux*|s390*-*tpf*)
     7930            LD="${LD-ld} -m elf64_s390"
     7931            ;;
     7932          sparc*-*linux*)
     7933            LD="${LD-ld} -m elf64_sparc"
     7934            ;;
     7935        esac
     7936        ;;
     7937    esac
     7938  fi
     7939  rm -rf conftest*
     7940  ;;
     7941
     7942*-*-sco3.2v5*)
     7943  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
     7944  SAVE_CFLAGS=$CFLAGS
     7945  CFLAGS="$CFLAGS -belf"
     7946  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
     7947$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
     7948if ${lt_cv_cc_needs_belf+:} false; then :
     7949  $as_echo_n "(cached) " >&6
     7950else
     7951  ac_ext=c
     7952ac_cpp='$CPP $CPPFLAGS'
     7953ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     7954ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     7955ac_compiler_gnu=$ac_cv_c_compiler_gnu
     7956
     7957     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     7958/* end confdefs.h.  */
     7959
     7960int
     7961main ()
     7962{
     7963
     7964  ;
     7965  return 0;
     7966}
     7967_ACEOF
     7968if ac_fn_c_try_link "$LINENO"; then :
     7969  lt_cv_cc_needs_belf=yes
     7970else
     7971  lt_cv_cc_needs_belf=no
     7972fi
     7973rm -f core conftest.err conftest.$ac_objext \
     7974    conftest$ac_exeext conftest.$ac_ext
     7975     ac_ext=c
     7976ac_cpp='$CPP $CPPFLAGS'
     7977ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     7978ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     7979ac_compiler_gnu=$ac_cv_c_compiler_gnu
     7980
     7981fi
     7982{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
     7983$as_echo "$lt_cv_cc_needs_belf" >&6; }
     7984  if test yes != "$lt_cv_cc_needs_belf"; then
     7985    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
     7986    CFLAGS=$SAVE_CFLAGS
     7987  fi
     7988  ;;
     7989*-*solaris*)
     7990  # Find out what ABI is being produced by ac_compile, and set linker
     7991  # options accordingly.
     7992  echo 'int i;' > conftest.$ac_ext
     7993  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     7994  (eval $ac_compile) 2>&5
     7995  ac_status=$?
     7996  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7997  test $ac_status = 0; }; then
     7998    case `/usr/bin/file conftest.o` in
     7999    *64-bit*)
     8000      case $lt_cv_prog_gnu_ld in
     8001      yes*)
     8002        case $host in
     8003        i?86-*-solaris*|x86_64-*-solaris*)
     8004          LD="${LD-ld} -m elf_x86_64"
     8005          ;;
     8006        sparc*-*-solaris*)
     8007          LD="${LD-ld} -m elf64_sparc"
     8008          ;;
     8009        esac
     8010        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
     8011        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
     8012          LD=${LD-ld}_sol2
     8013        fi
     8014        ;;
     8015      *)
     8016        if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
     8017          LD="${LD-ld} -64"
     8018        fi
     8019        ;;
     8020      esac
     8021      ;;
     8022    esac
     8023  fi
     8024  rm -rf conftest*
     8025  ;;
     8026esac
     8027
     8028need_locks=$enable_libtool_lock
     8029
     8030if test -n "$ac_tool_prefix"; then
     8031  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
     8032set dummy ${ac_tool_prefix}mt; ac_word=$2
     8033{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8034$as_echo_n "checking for $ac_word... " >&6; }
     8035if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
     8036  $as_echo_n "(cached) " >&6
     8037else
     8038  if test -n "$MANIFEST_TOOL"; then
     8039  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
     8040else
     8041as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8042for as_dir in $PATH
     8043do
     8044  IFS=$as_save_IFS
     8045  test -z "$as_dir" && as_dir=.
     8046    for ac_exec_ext in '' $ac_executable_extensions; do
     8047  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8048    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
     8049    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8050    break 2
     8051  fi
     8052done
     8053  done
     8054IFS=$as_save_IFS
     8055
     8056fi
     8057fi
     8058MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
     8059if test -n "$MANIFEST_TOOL"; then
     8060  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
     8061$as_echo "$MANIFEST_TOOL" >&6; }
     8062else
     8063  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8064$as_echo "no" >&6; }
     8065fi
     8066
     8067
     8068fi
     8069if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
     8070  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
     8071  # Extract the first word of "mt", so it can be a program name with args.
     8072set dummy mt; ac_word=$2
     8073{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8074$as_echo_n "checking for $ac_word... " >&6; }
     8075if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
     8076  $as_echo_n "(cached) " >&6
     8077else
     8078  if test -n "$ac_ct_MANIFEST_TOOL"; then
     8079  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
     8080else
     8081as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8082for as_dir in $PATH
     8083do
     8084  IFS=$as_save_IFS
     8085  test -z "$as_dir" && as_dir=.
     8086    for ac_exec_ext in '' $ac_executable_extensions; do
     8087  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8088    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
     8089    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8090    break 2
     8091  fi
     8092done
     8093  done
     8094IFS=$as_save_IFS
     8095
     8096fi
     8097fi
     8098ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
     8099if test -n "$ac_ct_MANIFEST_TOOL"; then
     8100  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
     8101$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
     8102else
     8103  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8104$as_echo "no" >&6; }
     8105fi
     8106
     8107  if test "x$ac_ct_MANIFEST_TOOL" = x; then
     8108    MANIFEST_TOOL=":"
     8109  else
     8110    case $cross_compiling:$ac_tool_warned in
     8111yes:)
     8112{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     8113$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     8114ac_tool_warned=yes ;;
     8115esac
     8116    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
     8117  fi
     8118else
     8119  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
     8120fi
     8121
     8122test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
     8123{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
     8124$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
     8125if ${lt_cv_path_mainfest_tool+:} false; then :
     8126  $as_echo_n "(cached) " >&6
     8127else
     8128  lt_cv_path_mainfest_tool=no
     8129  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
     8130  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
     8131  cat conftest.err >&5
     8132  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
     8133    lt_cv_path_mainfest_tool=yes
     8134  fi
     8135  rm -f conftest*
     8136fi
     8137{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
     8138$as_echo "$lt_cv_path_mainfest_tool" >&6; }
     8139if test yes != "$lt_cv_path_mainfest_tool"; then
     8140  MANIFEST_TOOL=:
     8141fi
     8142
     8143
     8144
     8145
     8146
     8147
     8148  case $host_os in
     8149    rhapsody* | darwin*)
     8150    if test -n "$ac_tool_prefix"; then
     8151  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
     8152set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
     8153{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8154$as_echo_n "checking for $ac_word... " >&6; }
     8155if ${ac_cv_prog_DSYMUTIL+:} false; then :
     8156  $as_echo_n "(cached) " >&6
     8157else
     8158  if test -n "$DSYMUTIL"; then
     8159  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
     8160else
     8161as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8162for as_dir in $PATH
     8163do
     8164  IFS=$as_save_IFS
     8165  test -z "$as_dir" && as_dir=.
     8166    for ac_exec_ext in '' $ac_executable_extensions; do
     8167  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8168    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     8169    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8170    break 2
     8171  fi
     8172done
     8173  done
     8174IFS=$as_save_IFS
     8175
     8176fi
     8177fi
     8178DSYMUTIL=$ac_cv_prog_DSYMUTIL
     8179if test -n "$DSYMUTIL"; then
     8180  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
     8181$as_echo "$DSYMUTIL" >&6; }
     8182else
     8183  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8184$as_echo "no" >&6; }
     8185fi
     8186
     8187
     8188fi
     8189if test -z "$ac_cv_prog_DSYMUTIL"; then
     8190  ac_ct_DSYMUTIL=$DSYMUTIL
     8191  # Extract the first word of "dsymutil", so it can be a program name with args.
     8192set dummy dsymutil; ac_word=$2
     8193{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8194$as_echo_n "checking for $ac_word... " >&6; }
     8195if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
     8196  $as_echo_n "(cached) " >&6
     8197else
     8198  if test -n "$ac_ct_DSYMUTIL"; then
     8199  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
     8200else
     8201as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8202for as_dir in $PATH
     8203do
     8204  IFS=$as_save_IFS
     8205  test -z "$as_dir" && as_dir=.
     8206    for ac_exec_ext in '' $ac_executable_extensions; do
     8207  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8208    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     8209    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8210    break 2
     8211  fi
     8212done
     8213  done
     8214IFS=$as_save_IFS
     8215
     8216fi
     8217fi
     8218ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
     8219if test -n "$ac_ct_DSYMUTIL"; then
     8220  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
     8221$as_echo "$ac_ct_DSYMUTIL" >&6; }
     8222else
     8223  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8224$as_echo "no" >&6; }
     8225fi
     8226
     8227  if test "x$ac_ct_DSYMUTIL" = x; then
     8228    DSYMUTIL=":"
     8229  else
     8230    case $cross_compiling:$ac_tool_warned in
     8231yes:)
     8232{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     8233$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     8234ac_tool_warned=yes ;;
     8235esac
     8236    DSYMUTIL=$ac_ct_DSYMUTIL
     8237  fi
     8238else
     8239  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
     8240fi
     8241
     8242    if test -n "$ac_tool_prefix"; then
     8243  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
     8244set dummy ${ac_tool_prefix}nmedit; ac_word=$2
     8245{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8246$as_echo_n "checking for $ac_word... " >&6; }
     8247if ${ac_cv_prog_NMEDIT+:} false; then :
     8248  $as_echo_n "(cached) " >&6
     8249else
     8250  if test -n "$NMEDIT"; then
     8251  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
     8252else
     8253as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8254for as_dir in $PATH
     8255do
     8256  IFS=$as_save_IFS
     8257  test -z "$as_dir" && as_dir=.
     8258    for ac_exec_ext in '' $ac_executable_extensions; do
     8259  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8260    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     8261    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8262    break 2
     8263  fi
     8264done
     8265  done
     8266IFS=$as_save_IFS
     8267
     8268fi
     8269fi
     8270NMEDIT=$ac_cv_prog_NMEDIT
     8271if test -n "$NMEDIT"; then
     8272  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
     8273$as_echo "$NMEDIT" >&6; }
     8274else
     8275  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8276$as_echo "no" >&6; }
     8277fi
     8278
     8279
     8280fi
     8281if test -z "$ac_cv_prog_NMEDIT"; then
     8282  ac_ct_NMEDIT=$NMEDIT
     8283  # Extract the first word of "nmedit", so it can be a program name with args.
     8284set dummy nmedit; ac_word=$2
     8285{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8286$as_echo_n "checking for $ac_word... " >&6; }
     8287if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
     8288  $as_echo_n "(cached) " >&6
     8289else
     8290  if test -n "$ac_ct_NMEDIT"; then
     8291  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
     8292else
     8293as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8294for as_dir in $PATH
     8295do
     8296  IFS=$as_save_IFS
     8297  test -z "$as_dir" && as_dir=.
     8298    for ac_exec_ext in '' $ac_executable_extensions; do
     8299  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8300    ac_cv_prog_ac_ct_NMEDIT="nmedit"
     8301    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8302    break 2
     8303  fi
     8304done
     8305  done
     8306IFS=$as_save_IFS
     8307
     8308fi
     8309fi
     8310ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
     8311if test -n "$ac_ct_NMEDIT"; then
     8312  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
     8313$as_echo "$ac_ct_NMEDIT" >&6; }
     8314else
     8315  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8316$as_echo "no" >&6; }
     8317fi
     8318
     8319  if test "x$ac_ct_NMEDIT" = x; then
     8320    NMEDIT=":"
     8321  else
     8322    case $cross_compiling:$ac_tool_warned in
     8323yes:)
     8324{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     8325$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     8326ac_tool_warned=yes ;;
     8327esac
     8328    NMEDIT=$ac_ct_NMEDIT
     8329  fi
     8330else
     8331  NMEDIT="$ac_cv_prog_NMEDIT"
     8332fi
     8333
     8334    if test -n "$ac_tool_prefix"; then
     8335  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
     8336set dummy ${ac_tool_prefix}lipo; ac_word=$2
     8337{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8338$as_echo_n "checking for $ac_word... " >&6; }
     8339if ${ac_cv_prog_LIPO+:} false; then :
     8340  $as_echo_n "(cached) " >&6
     8341else
     8342  if test -n "$LIPO"; then
     8343  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
     8344else
     8345as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8346for as_dir in $PATH
     8347do
     8348  IFS=$as_save_IFS
     8349  test -z "$as_dir" && as_dir=.
     8350    for ac_exec_ext in '' $ac_executable_extensions; do
     8351  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8352    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     8353    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8354    break 2
     8355  fi
     8356done
     8357  done
     8358IFS=$as_save_IFS
     8359
     8360fi
     8361fi
     8362LIPO=$ac_cv_prog_LIPO
     8363if test -n "$LIPO"; then
     8364  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
     8365$as_echo "$LIPO" >&6; }
     8366else
     8367  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8368$as_echo "no" >&6; }
     8369fi
     8370
     8371
     8372fi
     8373if test -z "$ac_cv_prog_LIPO"; then
     8374  ac_ct_LIPO=$LIPO
     8375  # Extract the first word of "lipo", so it can be a program name with args.
     8376set dummy lipo; ac_word=$2
     8377{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8378$as_echo_n "checking for $ac_word... " >&6; }
     8379if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
     8380  $as_echo_n "(cached) " >&6
     8381else
     8382  if test -n "$ac_ct_LIPO"; then
     8383  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
     8384else
     8385as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8386for as_dir in $PATH
     8387do
     8388  IFS=$as_save_IFS
     8389  test -z "$as_dir" && as_dir=.
     8390    for ac_exec_ext in '' $ac_executable_extensions; do
     8391  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8392    ac_cv_prog_ac_ct_LIPO="lipo"
     8393    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8394    break 2
     8395  fi
     8396done
     8397  done
     8398IFS=$as_save_IFS
     8399
     8400fi
     8401fi
     8402ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
     8403if test -n "$ac_ct_LIPO"; then
     8404  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
     8405$as_echo "$ac_ct_LIPO" >&6; }
     8406else
     8407  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8408$as_echo "no" >&6; }
     8409fi
     8410
     8411  if test "x$ac_ct_LIPO" = x; then
     8412    LIPO=":"
     8413  else
     8414    case $cross_compiling:$ac_tool_warned in
     8415yes:)
     8416{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     8417$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     8418ac_tool_warned=yes ;;
     8419esac
     8420    LIPO=$ac_ct_LIPO
     8421  fi
     8422else
     8423  LIPO="$ac_cv_prog_LIPO"
     8424fi
     8425
     8426    if test -n "$ac_tool_prefix"; then
     8427  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
     8428set dummy ${ac_tool_prefix}otool; ac_word=$2
     8429{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8430$as_echo_n "checking for $ac_word... " >&6; }
     8431if ${ac_cv_prog_OTOOL+:} false; then :
     8432  $as_echo_n "(cached) " >&6
     8433else
     8434  if test -n "$OTOOL"; then
     8435  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
     8436else
     8437as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8438for as_dir in $PATH
     8439do
     8440  IFS=$as_save_IFS
     8441  test -z "$as_dir" && as_dir=.
     8442    for ac_exec_ext in '' $ac_executable_extensions; do
     8443  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8444    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     8445    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8446    break 2
     8447  fi
     8448done
     8449  done
     8450IFS=$as_save_IFS
     8451
     8452fi
     8453fi
     8454OTOOL=$ac_cv_prog_OTOOL
     8455if test -n "$OTOOL"; then
     8456  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
     8457$as_echo "$OTOOL" >&6; }
     8458else
     8459  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8460$as_echo "no" >&6; }
     8461fi
     8462
     8463
     8464fi
     8465if test -z "$ac_cv_prog_OTOOL"; then
     8466  ac_ct_OTOOL=$OTOOL
     8467  # Extract the first word of "otool", so it can be a program name with args.
     8468set dummy otool; ac_word=$2
     8469{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8470$as_echo_n "checking for $ac_word... " >&6; }
     8471if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
     8472  $as_echo_n "(cached) " >&6
     8473else
     8474  if test -n "$ac_ct_OTOOL"; then
     8475  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
     8476else
     8477as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8478for as_dir in $PATH
     8479do
     8480  IFS=$as_save_IFS
     8481  test -z "$as_dir" && as_dir=.
     8482    for ac_exec_ext in '' $ac_executable_extensions; do
     8483  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8484    ac_cv_prog_ac_ct_OTOOL="otool"
     8485    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8486    break 2
     8487  fi
     8488done
     8489  done
     8490IFS=$as_save_IFS
     8491
     8492fi
     8493fi
     8494ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
     8495if test -n "$ac_ct_OTOOL"; then
     8496  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
     8497$as_echo "$ac_ct_OTOOL" >&6; }
     8498else
     8499  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8500$as_echo "no" >&6; }
     8501fi
     8502
     8503  if test "x$ac_ct_OTOOL" = x; then
     8504    OTOOL=":"
     8505  else
     8506    case $cross_compiling:$ac_tool_warned in
     8507yes:)
     8508{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     8509$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     8510ac_tool_warned=yes ;;
     8511esac
     8512    OTOOL=$ac_ct_OTOOL
     8513  fi
     8514else
     8515  OTOOL="$ac_cv_prog_OTOOL"
     8516fi
     8517
     8518    if test -n "$ac_tool_prefix"; then
     8519  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
     8520set dummy ${ac_tool_prefix}otool64; ac_word=$2
     8521{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8522$as_echo_n "checking for $ac_word... " >&6; }
     8523if ${ac_cv_prog_OTOOL64+:} false; then :
     8524  $as_echo_n "(cached) " >&6
     8525else
     8526  if test -n "$OTOOL64"; then
     8527  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
     8528else
     8529as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8530for as_dir in $PATH
     8531do
     8532  IFS=$as_save_IFS
     8533  test -z "$as_dir" && as_dir=.
     8534    for ac_exec_ext in '' $ac_executable_extensions; do
     8535  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8536    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     8537    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8538    break 2
     8539  fi
     8540done
     8541  done
     8542IFS=$as_save_IFS
     8543
     8544fi
     8545fi
     8546OTOOL64=$ac_cv_prog_OTOOL64
     8547if test -n "$OTOOL64"; then
     8548  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
     8549$as_echo "$OTOOL64" >&6; }
     8550else
     8551  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8552$as_echo "no" >&6; }
     8553fi
     8554
     8555
     8556fi
     8557if test -z "$ac_cv_prog_OTOOL64"; then
     8558  ac_ct_OTOOL64=$OTOOL64
     8559  # Extract the first word of "otool64", so it can be a program name with args.
     8560set dummy otool64; ac_word=$2
     8561{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8562$as_echo_n "checking for $ac_word... " >&6; }
     8563if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
     8564  $as_echo_n "(cached) " >&6
     8565else
     8566  if test -n "$ac_ct_OTOOL64"; then
     8567  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
     8568else
     8569as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8570for as_dir in $PATH
     8571do
     8572  IFS=$as_save_IFS
     8573  test -z "$as_dir" && as_dir=.
     8574    for ac_exec_ext in '' $ac_executable_extensions; do
     8575  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8576    ac_cv_prog_ac_ct_OTOOL64="otool64"
     8577    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8578    break 2
     8579  fi
     8580done
     8581  done
     8582IFS=$as_save_IFS
     8583
     8584fi
     8585fi
     8586ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
     8587if test -n "$ac_ct_OTOOL64"; then
     8588  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
     8589$as_echo "$ac_ct_OTOOL64" >&6; }
     8590else
     8591  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8592$as_echo "no" >&6; }
     8593fi
     8594
     8595  if test "x$ac_ct_OTOOL64" = x; then
     8596    OTOOL64=":"
     8597  else
     8598    case $cross_compiling:$ac_tool_warned in
     8599yes:)
     8600{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     8601$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     8602ac_tool_warned=yes ;;
     8603esac
     8604    OTOOL64=$ac_ct_OTOOL64
     8605  fi
     8606else
     8607  OTOOL64="$ac_cv_prog_OTOOL64"
     8608fi
     8609
     8610
     8611
     8612
     8613
     8614
     8615
     8616
     8617
     8618
     8619
     8620
     8621
     8622
     8623
     8624
     8625
     8626
     8627
     8628
     8629
     8630
     8631
     8632
     8633
     8634
     8635
     8636    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
     8637$as_echo_n "checking for -single_module linker flag... " >&6; }
     8638if ${lt_cv_apple_cc_single_mod+:} false; then :
     8639  $as_echo_n "(cached) " >&6
     8640else
     8641  lt_cv_apple_cc_single_mod=no
     8642      if test -z "$LT_MULTI_MODULE"; then
     8643        # By default we will add the -single_module flag. You can override
     8644        # by either setting the environment variable LT_MULTI_MODULE
     8645        # non-empty at configure time, or by adding -multi_module to the
     8646        # link flags.
     8647        rm -rf libconftest.dylib*
     8648        echo "int foo(void){return 1;}" > conftest.c
     8649        echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
     8650-dynamiclib -Wl,-single_module conftest.c" >&5
     8651        $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
     8652          -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
     8653        _lt_result=$?
     8654        # If there is a non-empty error log, and "single_module"
     8655        # appears in it, assume the flag caused a linker warning
     8656        if test -s conftest.err && $GREP single_module conftest.err; then
     8657          cat conftest.err >&5
     8658        # Otherwise, if the output was created with a 0 exit code from
     8659        # the compiler, it worked.
     8660        elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
     8661          lt_cv_apple_cc_single_mod=yes
     8662        else
     8663          cat conftest.err >&5
     8664        fi
     8665        rm -rf libconftest.dylib*
     8666        rm -f conftest.*
     8667      fi
     8668fi
     8669{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
     8670$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     8671
     8672    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
     8673$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
     8674if ${lt_cv_ld_exported_symbols_list+:} false; then :
     8675  $as_echo_n "(cached) " >&6
     8676else
     8677  lt_cv_ld_exported_symbols_list=no
     8678      save_LDFLAGS=$LDFLAGS
     8679      echo "_main" > conftest.sym
     8680      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
     8681      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     8682/* end confdefs.h.  */
     8683
     8684int
     8685main ()
     8686{
     8687
     8688  ;
     8689  return 0;
     8690}
     8691_ACEOF
     8692if ac_fn_c_try_link "$LINENO"; then :
     8693  lt_cv_ld_exported_symbols_list=yes
     8694else
     8695  lt_cv_ld_exported_symbols_list=no
     8696fi
     8697rm -f core conftest.err conftest.$ac_objext \
     8698    conftest$ac_exeext conftest.$ac_ext
     8699        LDFLAGS=$save_LDFLAGS
     8700
     8701fi
     8702{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
     8703$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     8704
     8705    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
     8706$as_echo_n "checking for -force_load linker flag... " >&6; }
     8707if ${lt_cv_ld_force_load+:} false; then :
     8708  $as_echo_n "(cached) " >&6
     8709else
     8710  lt_cv_ld_force_load=no
     8711      cat > conftest.c << _LT_EOF
     8712int forced_loaded() { return 2;}
     8713_LT_EOF
     8714      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
     8715      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
     8716      echo "$AR cru libconftest.a conftest.o" >&5
     8717      $AR cru libconftest.a conftest.o 2>&5
     8718      echo "$RANLIB libconftest.a" >&5
     8719      $RANLIB libconftest.a 2>&5
     8720      cat > conftest.c << _LT_EOF
     8721int main() { return 0;}
     8722_LT_EOF
     8723      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
     8724      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
     8725      _lt_result=$?
     8726      if test -s conftest.err && $GREP force_load conftest.err; then
     8727        cat conftest.err >&5
     8728      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
     8729        lt_cv_ld_force_load=yes
     8730      else
     8731        cat conftest.err >&5
     8732      fi
     8733        rm -f conftest.err libconftest.a conftest conftest.c
     8734        rm -rf conftest.dSYM
     8735
     8736fi
     8737{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
     8738$as_echo "$lt_cv_ld_force_load" >&6; }
     8739    case $host_os in
     8740    rhapsody* | darwin1.[012])
     8741      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
     8742    darwin1.*)
     8743      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
     8744    darwin*) # darwin 5.x on
     8745      # if running on 10.5 or later, the deployment target defaults
     8746      # to the OS version, if on x86, and 10.4, the deployment
     8747      # target defaults to 10.4. Don't you love it?
     8748      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
     8749        10.0,*86*-darwin8*|10.0,*-darwin[91]*)
     8750          _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
     8751        10.[012][,.]*)
     8752          _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
     8753        10.*)
     8754          _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
     8755      esac
     8756    ;;
     8757  esac
     8758    if test yes = "$lt_cv_apple_cc_single_mod"; then
     8759      _lt_dar_single_mod='$single_module'
     8760    fi
     8761    if test yes = "$lt_cv_ld_exported_symbols_list"; then
     8762      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
     8763    else
     8764      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
     8765    fi
     8766    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
     8767      _lt_dsymutil='~$DSYMUTIL $lib || :'
     8768    else
     8769      _lt_dsymutil=
     8770    fi
     8771    ;;
     8772  esac
     8773
     8774# func_munge_path_list VARIABLE PATH
     8775# -----------------------------------
     8776# VARIABLE is name of variable containing _space_ separated list of
     8777# directories to be munged by the contents of PATH, which is string
     8778# having a format:
     8779# "DIR[:DIR]:"
     8780#       string "DIR[ DIR]" will be prepended to VARIABLE
     8781# ":DIR[:DIR]"
     8782#       string "DIR[ DIR]" will be appended to VARIABLE
     8783# "DIRP[:DIRP]::[DIRA:]DIRA"
     8784#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
     8785#       "DIRA[ DIRA]" will be appended to VARIABLE
     8786# "DIR[:DIR]"
     8787#       VARIABLE will be replaced by "DIR[ DIR]"
     8788func_munge_path_list ()
     8789{
     8790    case x$2 in
     8791    x)
     8792        ;;
     8793    *:)
     8794        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
     8795        ;;
     8796    x:*)
     8797        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
     8798        ;;
     8799    *::*)
     8800        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
     8801        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
     8802        ;;
     8803    *)
     8804        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
     8805        ;;
     8806    esac
     8807}
     8808
     8809ac_ext=c
     8810ac_cpp='$CPP $CPPFLAGS'
     8811ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     8812ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     8813ac_compiler_gnu=$ac_cv_c_compiler_gnu
     8814{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
     8815$as_echo_n "checking how to run the C preprocessor... " >&6; }
     8816# On Suns, sometimes $CPP names a directory.
     8817if test -n "$CPP" && test -d "$CPP"; then
     8818  CPP=
     8819fi
     8820if test -z "$CPP"; then
     8821  if ${ac_cv_prog_CPP+:} false; then :
     8822  $as_echo_n "(cached) " >&6
     8823else
     8824      # Double quotes because CPP needs to be expanded
     8825    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
     8826    do
     8827      ac_preproc_ok=false
     8828for ac_c_preproc_warn_flag in '' yes
     8829do
     8830  # Use a header file that comes with gcc, so configuring glibc
     8831  # with a fresh cross-compiler works.
     8832  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     8833  # <limits.h> exists even on freestanding compilers.
     8834  # On the NeXT, cc -E runs the code through the compiler's parser,
     8835  # not just through cpp. "Syntax error" is here to catch this case.
     8836  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     8837/* end confdefs.h.  */
     8838#ifdef __STDC__
     8839# include <limits.h>
     8840#else
     8841# include <assert.h>
     8842#endif
     8843                     Syntax error
     8844_ACEOF
     8845if ac_fn_c_try_cpp "$LINENO"; then :
     8846
     8847else
     8848  # Broken: fails on valid input.
     8849continue
     8850fi
     8851rm -f conftest.err conftest.i conftest.$ac_ext
     8852
     8853  # OK, works on sane cases.  Now check whether nonexistent headers
     8854  # can be detected and how.
     8855  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     8856/* end confdefs.h.  */
     8857#include <ac_nonexistent.h>
     8858_ACEOF
     8859if ac_fn_c_try_cpp "$LINENO"; then :
     8860  # Broken: success on invalid input.
     8861continue
     8862else
     8863  # Passes both tests.
     8864ac_preproc_ok=:
     8865break
     8866fi
     8867rm -f conftest.err conftest.i conftest.$ac_ext
     8868
     8869done
     8870# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
     8871rm -f conftest.i conftest.err conftest.$ac_ext
     8872if $ac_preproc_ok; then :
     8873  break
     8874fi
     8875
     8876    done
     8877    ac_cv_prog_CPP=$CPP
     8878
     8879fi
     8880  CPP=$ac_cv_prog_CPP
     8881else
     8882  ac_cv_prog_CPP=$CPP
     8883fi
     8884{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
     8885$as_echo "$CPP" >&6; }
     8886ac_preproc_ok=false
     8887for ac_c_preproc_warn_flag in '' yes
     8888do
     8889  # Use a header file that comes with gcc, so configuring glibc
     8890  # with a fresh cross-compiler works.
     8891  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     8892  # <limits.h> exists even on freestanding compilers.
     8893  # On the NeXT, cc -E runs the code through the compiler's parser,
     8894  # not just through cpp. "Syntax error" is here to catch this case.
     8895  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     8896/* end confdefs.h.  */
     8897#ifdef __STDC__
     8898# include <limits.h>
     8899#else
     8900# include <assert.h>
     8901#endif
     8902                     Syntax error
     8903_ACEOF
     8904if ac_fn_c_try_cpp "$LINENO"; then :
     8905
     8906else
     8907  # Broken: fails on valid input.
     8908continue
     8909fi
     8910rm -f conftest.err conftest.i conftest.$ac_ext
     8911
     8912  # OK, works on sane cases.  Now check whether nonexistent headers
     8913  # can be detected and how.
     8914  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     8915/* end confdefs.h.  */
     8916#include <ac_nonexistent.h>
     8917_ACEOF
     8918if ac_fn_c_try_cpp "$LINENO"; then :
     8919  # Broken: success on invalid input.
     8920continue
     8921else
     8922  # Passes both tests.
     8923ac_preproc_ok=:
     8924break
     8925fi
     8926rm -f conftest.err conftest.i conftest.$ac_ext
     8927
     8928done
     8929# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
     8930rm -f conftest.i conftest.err conftest.$ac_ext
     8931if $ac_preproc_ok; then :
     8932
     8933else
     8934  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     8935$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     8936as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
     8937See \`config.log' for more details" "$LINENO" 5; }
     8938fi
     8939
     8940ac_ext=c
     8941ac_cpp='$CPP $CPPFLAGS'
     8942ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     8943ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     8944ac_compiler_gnu=$ac_cv_c_compiler_gnu
     8945
     8946
    56968947{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
    56978948$as_echo_n "checking for ANSI C header files... " >&6; }
     
    58239074
    58249075
     9076for ac_header in dlfcn.h
     9077do :
     9078  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
     9079"
     9080if test "x$ac_cv_header_dlfcn_h" = xyes; then :
     9081  cat >>confdefs.h <<_ACEOF
     9082#define HAVE_DLFCN_H 1
     9083_ACEOF
     9084
     9085fi
     9086
     9087done
     9088
     9089
     9090
     9091
     9092func_stripname_cnf ()
     9093{
     9094  case $2 in
     9095  .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;;
     9096  *)  func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;;
     9097  esac
     9098} # func_stripname_cnf
     9099
     9100
     9101
     9102
     9103
     9104# Set options
     9105
     9106
     9107
     9108        enable_dlopen=no
     9109
     9110
     9111  enable_win32_dll=no
     9112
     9113
     9114            # Check whether --enable-shared was given.
     9115if test "${enable_shared+set}" = set; then :
     9116  enableval=$enable_shared; p=${PACKAGE-default}
     9117    case $enableval in
     9118    yes) enable_shared=yes ;;
     9119    no) enable_shared=no ;;
     9120    *)
     9121      enable_shared=no
     9122      # Look at the argument we got.  We use all the common list separators.
     9123      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
     9124      for pkg in $enableval; do
     9125        IFS=$lt_save_ifs
     9126        if test "X$pkg" = "X$p"; then
     9127          enable_shared=yes
     9128        fi
     9129      done
     9130      IFS=$lt_save_ifs
     9131      ;;
     9132    esac
     9133else
     9134  enable_shared=yes
     9135fi
     9136
     9137
     9138
     9139
     9140
     9141
     9142
     9143
     9144
     9145  # Check whether --enable-static was given.
     9146if test "${enable_static+set}" = set; then :
     9147  enableval=$enable_static; p=${PACKAGE-default}
     9148    case $enableval in
     9149    yes) enable_static=yes ;;
     9150    no) enable_static=no ;;
     9151    *)
     9152     enable_static=no
     9153      # Look at the argument we got.  We use all the common list separators.
     9154      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
     9155      for pkg in $enableval; do
     9156        IFS=$lt_save_ifs
     9157        if test "X$pkg" = "X$p"; then
     9158          enable_static=yes
     9159        fi
     9160      done
     9161      IFS=$lt_save_ifs
     9162      ;;
     9163    esac
     9164else
     9165  enable_static=yes
     9166fi
     9167
     9168
     9169
     9170
     9171
     9172
     9173
     9174
     9175
     9176
     9177# Check whether --with-pic was given.
     9178if test "${with_pic+set}" = set; then :
     9179  withval=$with_pic; lt_p=${PACKAGE-default}
     9180    case $withval in
     9181    yes|no) pic_mode=$withval ;;
     9182    *)
     9183      pic_mode=default
     9184      # Look at the argument we got.  We use all the common list separators.
     9185      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
     9186      for lt_pkg in $withval; do
     9187        IFS=$lt_save_ifs
     9188        if test "X$lt_pkg" = "X$lt_p"; then
     9189          pic_mode=yes
     9190        fi
     9191      done
     9192      IFS=$lt_save_ifs
     9193      ;;
     9194    esac
     9195else
     9196  pic_mode=default
     9197fi
     9198
     9199
     9200
     9201
     9202
     9203
     9204
     9205
     9206  # Check whether --enable-fast-install was given.
     9207if test "${enable_fast_install+set}" = set; then :
     9208  enableval=$enable_fast_install; p=${PACKAGE-default}
     9209    case $enableval in
     9210    yes) enable_fast_install=yes ;;
     9211    no) enable_fast_install=no ;;
     9212    *)
     9213      enable_fast_install=no
     9214      # Look at the argument we got.  We use all the common list separators.
     9215      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
     9216      for pkg in $enableval; do
     9217        IFS=$lt_save_ifs
     9218        if test "X$pkg" = "X$p"; then
     9219          enable_fast_install=yes
     9220        fi
     9221      done
     9222      IFS=$lt_save_ifs
     9223      ;;
     9224    esac
     9225else
     9226  enable_fast_install=yes
     9227fi
     9228
     9229
     9230
     9231
     9232
     9233
     9234
     9235
     9236  shared_archive_member_spec=
     9237case $host,$enable_shared in
     9238power*-*-aix[5-9]*,yes)
     9239  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
     9240$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
     9241
     9242# Check whether --with-aix-soname was given.
     9243if test "${with_aix_soname+set}" = set; then :
     9244  withval=$with_aix_soname; case $withval in
     9245    aix|svr4|both)
     9246      ;;
     9247    *)
     9248      as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
     9249      ;;
     9250    esac
     9251    lt_cv_with_aix_soname=$with_aix_soname
     9252else
     9253  if ${lt_cv_with_aix_soname+:} false; then :
     9254  $as_echo_n "(cached) " >&6
     9255else
     9256  lt_cv_with_aix_soname=aix
     9257fi
     9258
     9259    with_aix_soname=$lt_cv_with_aix_soname
     9260fi
     9261
     9262  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
     9263$as_echo "$with_aix_soname" >&6; }
     9264  if test aix != "$with_aix_soname"; then
     9265    # For the AIX way of multilib, we name the shared archive member
     9266    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
     9267    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
     9268    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
     9269    # the AIX toolchain works better with OBJECT_MODE set (default 32).
     9270    if test 64 = "${OBJECT_MODE-32}"; then
     9271      shared_archive_member_spec=shr_64
     9272    else
     9273      shared_archive_member_spec=shr
     9274    fi
     9275  fi
     9276  ;;
     9277*)
     9278  with_aix_soname=aix
     9279  ;;
     9280esac
     9281
     9282
     9283
     9284
     9285
     9286
     9287
     9288
     9289
     9290
     9291# This can be used to rebuild libtool when needed
     9292LIBTOOL_DEPS=$ltmain
     9293
     9294# Always use our own libtool.
     9295LIBTOOL='$(SHELL) $(top_builddir)/libtool'
     9296
     9297
     9298
     9299
     9300
     9301
     9302
     9303
     9304
     9305
     9306
     9307
     9308
     9309
     9310
     9311
     9312
     9313
     9314
     9315
     9316
     9317
     9318
     9319
     9320
     9321
     9322
     9323
     9324
     9325
     9326test -z "$LN_S" && LN_S="ln -s"
     9327
     9328
     9329
     9330
     9331
     9332
     9333
     9334
     9335
     9336
     9337
     9338
     9339
     9340
     9341if test -n "${ZSH_VERSION+set}"; then
     9342   setopt NO_GLOB_SUBST
     9343fi
     9344
     9345{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
     9346$as_echo_n "checking for objdir... " >&6; }
     9347if ${lt_cv_objdir+:} false; then :
     9348  $as_echo_n "(cached) " >&6
     9349else
     9350  rm -f .libs 2>/dev/null
     9351mkdir .libs 2>/dev/null
     9352if test -d .libs; then
     9353  lt_cv_objdir=.libs
     9354else
     9355  # MS-DOS does not allow filenames that begin with a dot.
     9356  lt_cv_objdir=_libs
     9357fi
     9358rmdir .libs 2>/dev/null
     9359fi
     9360{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
     9361$as_echo "$lt_cv_objdir" >&6; }
     9362objdir=$lt_cv_objdir
     9363
     9364
     9365
     9366
     9367
     9368cat >>confdefs.h <<_ACEOF
     9369#define LT_OBJDIR "$lt_cv_objdir/"
     9370_ACEOF
     9371
     9372
     9373
     9374
     9375case $host_os in
     9376aix3*)
     9377  # AIX sometimes has problems with the GCC collect2 program.  For some
     9378  # reason, if we set the COLLECT_NAMES environment variable, the problems
     9379  # vanish in a puff of smoke.
     9380  if test set != "${COLLECT_NAMES+set}"; then
     9381    COLLECT_NAMES=
     9382    export COLLECT_NAMES
     9383  fi
     9384  ;;
     9385esac
     9386
     9387# Global variables:
     9388ofile=libtool
     9389can_build_shared=yes
     9390
     9391# All known linkers require a '.a' archive for static linking (except MSVC,
     9392# which needs '.lib').
     9393libext=a
     9394
     9395with_gnu_ld=$lt_cv_prog_gnu_ld
     9396
     9397old_CC=$CC
     9398old_CFLAGS=$CFLAGS
     9399
     9400# Set sane defaults for various variables
     9401test -z "$CC" && CC=cc
     9402test -z "$LTCC" && LTCC=$CC
     9403test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
     9404test -z "$LD" && LD=ld
     9405test -z "$ac_objext" && ac_objext=o
     9406
     9407func_cc_basename $compiler
     9408cc_basename=$func_cc_basename_result
     9409
     9410
     9411# Only perform the check for file, if the check method requires it
     9412test -z "$MAGIC_CMD" && MAGIC_CMD=file
     9413case $deplibs_check_method in
     9414file_magic*)
     9415  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     9416    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
     9417$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
     9418if ${lt_cv_path_MAGIC_CMD+:} false; then :
     9419  $as_echo_n "(cached) " >&6
     9420else
     9421  case $MAGIC_CMD in
     9422[\\/*] |  ?:[\\/]*)
     9423  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
     9424  ;;
     9425*)
     9426  lt_save_MAGIC_CMD=$MAGIC_CMD
     9427  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     9428  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
     9429  for ac_dir in $ac_dummy; do
     9430    IFS=$lt_save_ifs
     9431    test -z "$ac_dir" && ac_dir=.
     9432    if test -f "$ac_dir/${ac_tool_prefix}file"; then
     9433      lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
     9434      if test -n "$file_magic_test_file"; then
     9435        case $deplibs_check_method in
     9436        "file_magic "*)
     9437          file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
     9438          MAGIC_CMD=$lt_cv_path_MAGIC_CMD
     9439          if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
     9440            $EGREP "$file_magic_regex" > /dev/null; then
     9441            :
     9442          else
     9443            cat <<_LT_EOF 1>&2
     9444
     9445*** Warning: the command libtool uses to detect shared libraries,
     9446*** $file_magic_cmd, produces output that libtool cannot recognize.
     9447*** The result is that libtool may fail to recognize shared libraries
     9448*** as such.  This will affect the creation of libtool libraries that
     9449*** depend on shared libraries, but programs linked with such libtool
     9450*** libraries will work regardless of this problem.  Nevertheless, you
     9451*** may want to report the problem to your system manager and/or to
     9452*** bug-libtool@gnu.org
     9453
     9454_LT_EOF
     9455          fi ;;
     9456        esac
     9457      fi
     9458      break
     9459    fi
     9460  done
     9461  IFS=$lt_save_ifs
     9462  MAGIC_CMD=$lt_save_MAGIC_CMD
     9463  ;;
     9464esac
     9465fi
     9466
     9467MAGIC_CMD=$lt_cv_path_MAGIC_CMD
     9468if test -n "$MAGIC_CMD"; then
     9469  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
     9470$as_echo "$MAGIC_CMD" >&6; }
     9471else
     9472  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     9473$as_echo "no" >&6; }
     9474fi
     9475
     9476
     9477
     9478
     9479
     9480if test -z "$lt_cv_path_MAGIC_CMD"; then
     9481  if test -n "$ac_tool_prefix"; then
     9482    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
     9483$as_echo_n "checking for file... " >&6; }
     9484if ${lt_cv_path_MAGIC_CMD+:} false; then :
     9485  $as_echo_n "(cached) " >&6
     9486else
     9487  case $MAGIC_CMD in
     9488[\\/*] |  ?:[\\/]*)
     9489  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
     9490  ;;
     9491*)
     9492  lt_save_MAGIC_CMD=$MAGIC_CMD
     9493  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     9494  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
     9495  for ac_dir in $ac_dummy; do
     9496    IFS=$lt_save_ifs
     9497    test -z "$ac_dir" && ac_dir=.
     9498    if test -f "$ac_dir/file"; then
     9499      lt_cv_path_MAGIC_CMD=$ac_dir/"file"
     9500      if test -n "$file_magic_test_file"; then
     9501        case $deplibs_check_method in
     9502        "file_magic "*)
     9503          file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
     9504          MAGIC_CMD=$lt_cv_path_MAGIC_CMD
     9505          if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
     9506            $EGREP "$file_magic_regex" > /dev/null; then
     9507            :
     9508          else
     9509            cat <<_LT_EOF 1>&2
     9510
     9511*** Warning: the command libtool uses to detect shared libraries,
     9512*** $file_magic_cmd, produces output that libtool cannot recognize.
     9513*** The result is that libtool may fail to recognize shared libraries
     9514*** as such.  This will affect the creation of libtool libraries that
     9515*** depend on shared libraries, but programs linked with such libtool
     9516*** libraries will work regardless of this problem.  Nevertheless, you
     9517*** may want to report the problem to your system manager and/or to
     9518*** bug-libtool@gnu.org
     9519
     9520_LT_EOF
     9521          fi ;;
     9522        esac
     9523      fi
     9524      break
     9525    fi
     9526  done
     9527  IFS=$lt_save_ifs
     9528  MAGIC_CMD=$lt_save_MAGIC_CMD
     9529  ;;
     9530esac
     9531fi
     9532
     9533MAGIC_CMD=$lt_cv_path_MAGIC_CMD
     9534if test -n "$MAGIC_CMD"; then
     9535  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
     9536$as_echo "$MAGIC_CMD" >&6; }
     9537else
     9538  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     9539$as_echo "no" >&6; }
     9540fi
     9541
     9542
     9543  else
     9544    MAGIC_CMD=:
     9545  fi
     9546fi
     9547
     9548  fi
     9549  ;;
     9550esac
     9551
     9552# Use C for the default configuration in the libtool script
     9553
     9554lt_save_CC=$CC
     9555ac_ext=c
     9556ac_cpp='$CPP $CPPFLAGS'
     9557ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     9558ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     9559ac_compiler_gnu=$ac_cv_c_compiler_gnu
     9560
     9561
     9562# Source file extension for C test sources.
     9563ac_ext=c
     9564
     9565# Object file extension for compiled C test sources.
     9566objext=o
     9567objext=$objext
     9568
     9569# Code to be used in simple compile tests
     9570lt_simple_compile_test_code="int some_variable = 0;"
     9571
     9572# Code to be used in simple link tests
     9573lt_simple_link_test_code='int main(){return(0);}'
     9574
     9575
     9576
     9577
     9578
     9579
     9580
     9581# If no C compiler was specified, use CC.
     9582LTCC=${LTCC-"$CC"}
     9583
     9584# If no C compiler flags were specified, use CFLAGS.
     9585LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
     9586
     9587# Allow CC to be a program name with arguments.
     9588compiler=$CC
     9589
     9590# Save the default compiler, since it gets overwritten when the other
     9591# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
     9592compiler_DEFAULT=$CC
     9593
     9594# save warnings/boilerplate of simple test code
     9595ac_outfile=conftest.$ac_objext
     9596echo "$lt_simple_compile_test_code" >conftest.$ac_ext
     9597eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
     9598_lt_compiler_boilerplate=`cat conftest.err`
     9599$RM conftest*
     9600
     9601ac_outfile=conftest.$ac_objext
     9602echo "$lt_simple_link_test_code" >conftest.$ac_ext
     9603eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
     9604_lt_linker_boilerplate=`cat conftest.err`
     9605$RM -r conftest*
     9606
     9607
     9608## CAVEAT EMPTOR:
     9609## There is no encapsulation within the following macros, do not change
     9610## the running order or otherwise move them around unless you know exactly
     9611## what you are doing...
     9612if test -n "$compiler"; then
     9613
     9614lt_prog_compiler_no_builtin_flag=
     9615
     9616if test yes = "$GCC"; then
     9617  case $cc_basename in
     9618  nvcc*)
     9619    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
     9620  *)
     9621    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
     9622  esac
     9623
     9624  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
     9625$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
     9626if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
     9627  $as_echo_n "(cached) " >&6
     9628else
     9629  lt_cv_prog_compiler_rtti_exceptions=no
     9630   ac_outfile=conftest.$ac_objext
     9631   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     9632   lt_compiler_flag="-fno-rtti -fno-exceptions"  ## exclude from sc_useless_quotes_in_assignment
     9633   # Insert the option either (1) after the last *FLAGS variable, or
     9634   # (2) before a word containing "conftest.", or (3) at the end.
     9635   # Note that $ac_compile itself does not contain backslashes and begins
     9636   # with a dollar sign (not a hyphen), so the echo should work correctly.
     9637   # The option is referenced via a variable to avoid confusing sed.
     9638   lt_compile=`echo "$ac_compile" | $SED \
     9639   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     9640   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     9641   -e 's:$: $lt_compiler_flag:'`
     9642   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     9643   (eval "$lt_compile" 2>conftest.err)
     9644   ac_status=$?
     9645   cat conftest.err >&5
     9646   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     9647   if (exit $ac_status) && test -s "$ac_outfile"; then
     9648     # The compiler can only warn and ignore the option if not recognized
     9649     # So say no if there are warnings other than the usual output.
     9650     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
     9651     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     9652     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
     9653       lt_cv_prog_compiler_rtti_exceptions=yes
     9654     fi
     9655   fi
     9656   $RM conftest*
     9657
     9658fi
     9659{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
     9660$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
     9661
     9662if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
     9663    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
     9664else
     9665    :
     9666fi
     9667
     9668fi
     9669
     9670
     9671
     9672
     9673
     9674
     9675  lt_prog_compiler_wl=
     9676lt_prog_compiler_pic=
     9677lt_prog_compiler_static=
     9678
     9679
     9680  if test yes = "$GCC"; then
     9681    lt_prog_compiler_wl='-Wl,'
     9682    lt_prog_compiler_static='-static'
     9683
     9684    case $host_os in
     9685      aix*)
     9686      # All AIX code is PIC.
     9687      if test ia64 = "$host_cpu"; then
     9688        # AIX 5 now supports IA64 processor
     9689        lt_prog_compiler_static='-Bstatic'
     9690      fi
     9691      lt_prog_compiler_pic='-fPIC'
     9692      ;;
     9693
     9694    amigaos*)
     9695      case $host_cpu in
     9696      powerpc)
     9697            # see comment about AmigaOS4 .so support
     9698            lt_prog_compiler_pic='-fPIC'
     9699        ;;
     9700      m68k)
     9701            # FIXME: we need at least 68020 code to build shared libraries, but
     9702            # adding the '-m68020' flag to GCC prevents building anything better,
     9703            # like '-m68040'.
     9704            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
     9705        ;;
     9706      esac
     9707      ;;
     9708
     9709    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
     9710      # PIC is the default for these OSes.
     9711      ;;
     9712
     9713    mingw* | cygwin* | pw32* | os2* | cegcc*)
     9714      # This hack is so that the source file can tell whether it is being
     9715      # built for inclusion in a dll (and should export symbols for example).
     9716      # Although the cygwin gcc ignores -fPIC, still need this for old-style
     9717      # (--disable-auto-import) libraries
     9718      lt_prog_compiler_pic='-DDLL_EXPORT'
     9719      case $host_os in
     9720      os2*)
     9721        lt_prog_compiler_static='$wl-static'
     9722        ;;
     9723      esac
     9724      ;;
     9725
     9726    darwin* | rhapsody*)
     9727      # PIC is the default on this platform
     9728      # Common symbols not allowed in MH_DYLIB files
     9729      lt_prog_compiler_pic='-fno-common'
     9730      ;;
     9731
     9732    haiku*)
     9733      # PIC is the default for Haiku.
     9734      # The "-static" flag exists, but is broken.
     9735      lt_prog_compiler_static=
     9736      ;;
     9737
     9738    hpux*)
     9739      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
     9740      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
     9741      # sets the default TLS model and affects inlining.
     9742      case $host_cpu in
     9743      hppa*64*)
     9744        # +Z the default
     9745        ;;
     9746      *)
     9747        lt_prog_compiler_pic='-fPIC'
     9748        ;;
     9749      esac
     9750      ;;
     9751
     9752    interix[3-9]*)
     9753      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
     9754      # Instead, we relocate shared libraries at runtime.
     9755      ;;
     9756
     9757    msdosdjgpp*)
     9758      # Just because we use GCC doesn't mean we suddenly get shared libraries
     9759      # on systems that don't support them.
     9760      lt_prog_compiler_can_build_shared=no
     9761      enable_shared=no
     9762      ;;
     9763
     9764    *nto* | *qnx*)
     9765      # QNX uses GNU C++, but need to define -shared option too, otherwise
     9766      # it will coredump.
     9767      lt_prog_compiler_pic='-fPIC -shared'
     9768      ;;
     9769
     9770    sysv4*MP*)
     9771      if test -d /usr/nec; then
     9772        lt_prog_compiler_pic=-Kconform_pic
     9773      fi
     9774      ;;
     9775
     9776    *)
     9777      lt_prog_compiler_pic='-fPIC'
     9778      ;;
     9779    esac
     9780
     9781    case $cc_basename in
     9782    nvcc*) # Cuda Compiler Driver 2.2
     9783      lt_prog_compiler_wl='-Xlinker '
     9784      if test -n "$lt_prog_compiler_pic"; then
     9785        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
     9786      fi
     9787      ;;
     9788    esac
     9789  else
     9790    # PORTME Check for flag to pass linker flags through the system compiler.
     9791    case $host_os in
     9792    aix*)
     9793      lt_prog_compiler_wl='-Wl,'
     9794      if test ia64 = "$host_cpu"; then
     9795        # AIX 5 now supports IA64 processor
     9796        lt_prog_compiler_static='-Bstatic'
     9797      else
     9798        lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
     9799      fi
     9800      ;;
     9801
     9802    darwin* | rhapsody*)
     9803      # PIC is the default on this platform
     9804      # Common symbols not allowed in MH_DYLIB files
     9805      lt_prog_compiler_pic='-fno-common'
     9806      case $cc_basename in
     9807      nagfor*)
     9808        # NAG Fortran compiler
     9809        lt_prog_compiler_wl='-Wl,-Wl,,'
     9810        lt_prog_compiler_pic='-PIC'
     9811        lt_prog_compiler_static='-Bstatic'
     9812        ;;
     9813      esac
     9814      ;;
     9815
     9816    mingw* | cygwin* | pw32* | os2* | cegcc*)
     9817      # This hack is so that the source file can tell whether it is being
     9818      # built for inclusion in a dll (and should export symbols for example).
     9819      lt_prog_compiler_pic='-DDLL_EXPORT'
     9820      case $host_os in
     9821      os2*)
     9822        lt_prog_compiler_static='$wl-static'
     9823        ;;
     9824      esac
     9825      ;;
     9826
     9827    hpux9* | hpux10* | hpux11*)
     9828      lt_prog_compiler_wl='-Wl,'
     9829      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
     9830      # not for PA HP-UX.
     9831      case $host_cpu in
     9832      hppa*64*|ia64*)
     9833        # +Z the default
     9834        ;;
     9835      *)
     9836        lt_prog_compiler_pic='+Z'
     9837        ;;
     9838      esac
     9839      # Is there a better lt_prog_compiler_static that works with the bundled CC?
     9840      lt_prog_compiler_static='$wl-a ${wl}archive'
     9841      ;;
     9842
     9843    irix5* | irix6* | nonstopux*)
     9844      lt_prog_compiler_wl='-Wl,'
     9845      # PIC (with -KPIC) is the default.
     9846      lt_prog_compiler_static='-non_shared'
     9847      ;;
     9848
     9849    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     9850      case $cc_basename in
     9851      # old Intel for x86_64, which still supported -KPIC.
     9852      ecc*)
     9853        lt_prog_compiler_wl='-Wl,'
     9854        lt_prog_compiler_pic='-KPIC'
     9855        lt_prog_compiler_static='-static'
     9856        ;;
     9857      # icc used to be incompatible with GCC.
     9858      # ICC 10 doesn't accept -KPIC any more.
     9859      icc* | ifort*)
     9860        lt_prog_compiler_wl='-Wl,'
     9861        lt_prog_compiler_pic='-fPIC'
     9862        lt_prog_compiler_static='-static'
     9863        ;;
     9864      # Lahey Fortran 8.1.
     9865      lf95*)
     9866        lt_prog_compiler_wl='-Wl,'
     9867        lt_prog_compiler_pic='--shared'
     9868        lt_prog_compiler_static='--static'
     9869        ;;
     9870      nagfor*)
     9871        # NAG Fortran compiler
     9872        lt_prog_compiler_wl='-Wl,-Wl,,'
     9873        lt_prog_compiler_pic='-PIC'
     9874        lt_prog_compiler_static='-Bstatic'
     9875        ;;
     9876      tcc*)
     9877        # Fabrice Bellard et al's Tiny C Compiler
     9878        lt_prog_compiler_wl='-Wl,'
     9879        lt_prog_compiler_pic='-fPIC'
     9880        lt_prog_compiler_static='-static'
     9881        ;;
     9882      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
     9883        # Portland Group compilers (*not* the Pentium gcc compiler,
     9884        # which looks to be a dead project)
     9885        lt_prog_compiler_wl='-Wl,'
     9886        lt_prog_compiler_pic='-fpic'
     9887        lt_prog_compiler_static='-Bstatic'
     9888        ;;
     9889      ccc*)
     9890        lt_prog_compiler_wl='-Wl,'
     9891        # All Alpha code is PIC.
     9892        lt_prog_compiler_static='-non_shared'
     9893        ;;
     9894      xl* | bgxl* | bgf* | mpixl*)
     9895        # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
     9896        lt_prog_compiler_wl='-Wl,'
     9897        lt_prog_compiler_pic='-qpic'
     9898        lt_prog_compiler_static='-qstaticlink'
     9899        ;;
     9900      *)
     9901        case `$CC -V 2>&1 | sed 5q` in
     9902        *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
     9903          # Sun Fortran 8.3 passes all unrecognized flags to the linker
     9904          lt_prog_compiler_pic='-KPIC'
     9905          lt_prog_compiler_static='-Bstatic'
     9906          lt_prog_compiler_wl=''
     9907          ;;
     9908        *Sun\ F* | *Sun*Fortran*)
     9909          lt_prog_compiler_pic='-KPIC'
     9910          lt_prog_compiler_static='-Bstatic'
     9911          lt_prog_compiler_wl='-Qoption ld '
     9912          ;;
     9913        *Sun\ C*)
     9914          # Sun C 5.9
     9915          lt_prog_compiler_pic='-KPIC'
     9916          lt_prog_compiler_static='-Bstatic'
     9917          lt_prog_compiler_wl='-Wl,'
     9918          ;;
     9919        *Intel*\ [CF]*Compiler*)
     9920          lt_prog_compiler_wl='-Wl,'
     9921          lt_prog_compiler_pic='-fPIC'
     9922          lt_prog_compiler_static='-static'
     9923          ;;
     9924        *Portland\ Group*)
     9925          lt_prog_compiler_wl='-Wl,'
     9926          lt_prog_compiler_pic='-fpic'
     9927          lt_prog_compiler_static='-Bstatic'
     9928          ;;
     9929        esac
     9930        ;;
     9931      esac
     9932      ;;
     9933
     9934    newsos6)
     9935      lt_prog_compiler_pic='-KPIC'
     9936      lt_prog_compiler_static='-Bstatic'
     9937      ;;
     9938
     9939    *nto* | *qnx*)
     9940      # QNX uses GNU C++, but need to define -shared option too, otherwise
     9941      # it will coredump.
     9942      lt_prog_compiler_pic='-fPIC -shared'
     9943      ;;
     9944
     9945    osf3* | osf4* | osf5*)
     9946      lt_prog_compiler_wl='-Wl,'
     9947      # All OSF/1 code is PIC.
     9948      lt_prog_compiler_static='-non_shared'
     9949      ;;
     9950
     9951    rdos*)
     9952      lt_prog_compiler_static='-non_shared'
     9953      ;;
     9954
     9955    solaris*)
     9956      lt_prog_compiler_pic='-KPIC'
     9957      lt_prog_compiler_static='-Bstatic'
     9958      case $cc_basename in
     9959      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
     9960        lt_prog_compiler_wl='-Qoption ld ';;
     9961      *)
     9962        lt_prog_compiler_wl='-Wl,';;
     9963      esac
     9964      ;;
     9965
     9966    sunos4*)
     9967      lt_prog_compiler_wl='-Qoption ld '
     9968      lt_prog_compiler_pic='-PIC'
     9969      lt_prog_compiler_static='-Bstatic'
     9970      ;;
     9971
     9972    sysv4 | sysv4.2uw2* | sysv4.3*)
     9973      lt_prog_compiler_wl='-Wl,'
     9974      lt_prog_compiler_pic='-KPIC'
     9975      lt_prog_compiler_static='-Bstatic'
     9976      ;;
     9977
     9978    sysv4*MP*)
     9979      if test -d /usr/nec; then
     9980        lt_prog_compiler_pic='-Kconform_pic'
     9981        lt_prog_compiler_static='-Bstatic'
     9982      fi
     9983      ;;
     9984
     9985    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
     9986      lt_prog_compiler_wl='-Wl,'
     9987      lt_prog_compiler_pic='-KPIC'
     9988      lt_prog_compiler_static='-Bstatic'
     9989      ;;
     9990
     9991    unicos*)
     9992      lt_prog_compiler_wl='-Wl,'
     9993      lt_prog_compiler_can_build_shared=no
     9994      ;;
     9995
     9996    uts4*)
     9997      lt_prog_compiler_pic='-pic'
     9998      lt_prog_compiler_static='-Bstatic'
     9999      ;;
     10000
     10001    *)
     10002      lt_prog_compiler_can_build_shared=no
     10003      ;;
     10004    esac
     10005  fi
     10006
     10007case $host_os in
     10008  # For platforms that do not support PIC, -DPIC is meaningless:
     10009  *djgpp*)
     10010    lt_prog_compiler_pic=
     10011    ;;
     10012  *)
     10013    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
     10014    ;;
     10015esac
     10016
     10017{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
     10018$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
     10019if ${lt_cv_prog_compiler_pic+:} false; then :
     10020  $as_echo_n "(cached) " >&6
     10021else
     10022  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
     10023fi
     10024{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
     10025$as_echo "$lt_cv_prog_compiler_pic" >&6; }
     10026lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
     10027
     10028#
     10029# Check to make sure the PIC flag actually works.
     10030#
     10031if test -n "$lt_prog_compiler_pic"; then
     10032  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
     10033$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
     10034if ${lt_cv_prog_compiler_pic_works+:} false; then :
     10035  $as_echo_n "(cached) " >&6
     10036else
     10037  lt_cv_prog_compiler_pic_works=no
     10038   ac_outfile=conftest.$ac_objext
     10039   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     10040   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"  ## exclude from sc_useless_quotes_in_assignment
     10041   # Insert the option either (1) after the last *FLAGS variable, or
     10042   # (2) before a word containing "conftest.", or (3) at the end.
     10043   # Note that $ac_compile itself does not contain backslashes and begins
     10044   # with a dollar sign (not a hyphen), so the echo should work correctly.
     10045   # The option is referenced via a variable to avoid confusing sed.
     10046   lt_compile=`echo "$ac_compile" | $SED \
     10047   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     10048   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     10049   -e 's:$: $lt_compiler_flag:'`
     10050   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     10051   (eval "$lt_compile" 2>conftest.err)
     10052   ac_status=$?
     10053   cat conftest.err >&5
     10054   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     10055   if (exit $ac_status) && test -s "$ac_outfile"; then
     10056     # The compiler can only warn and ignore the option if not recognized
     10057     # So say no if there are warnings other than the usual output.
     10058     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
     10059     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     10060     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
     10061       lt_cv_prog_compiler_pic_works=yes
     10062     fi
     10063   fi
     10064   $RM conftest*
     10065
     10066fi
     10067{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
     10068$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
     10069
     10070if test yes = "$lt_cv_prog_compiler_pic_works"; then
     10071    case $lt_prog_compiler_pic in
     10072     "" | " "*) ;;
     10073     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
     10074     esac
     10075else
     10076    lt_prog_compiler_pic=
     10077     lt_prog_compiler_can_build_shared=no
     10078fi
     10079
     10080fi
     10081
     10082
     10083
     10084
     10085
     10086
     10087
     10088
     10089
     10090
     10091
     10092#
     10093# Check to make sure the static flag actually works.
     10094#
     10095wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
     10096{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
     10097$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
     10098if ${lt_cv_prog_compiler_static_works+:} false; then :
     10099  $as_echo_n "(cached) " >&6
     10100else
     10101  lt_cv_prog_compiler_static_works=no
     10102   save_LDFLAGS=$LDFLAGS
     10103   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
     10104   echo "$lt_simple_link_test_code" > conftest.$ac_ext
     10105   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
     10106     # The linker can only warn and ignore the option if not recognized
     10107     # So say no if there are warnings
     10108     if test -s conftest.err; then
     10109       # Append any errors to the config.log.
     10110       cat conftest.err 1>&5
     10111       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
     10112       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     10113       if diff conftest.exp conftest.er2 >/dev/null; then
     10114         lt_cv_prog_compiler_static_works=yes
     10115       fi
     10116     else
     10117       lt_cv_prog_compiler_static_works=yes
     10118     fi
     10119   fi
     10120   $RM -r conftest*
     10121   LDFLAGS=$save_LDFLAGS
     10122
     10123fi
     10124{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
     10125$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
     10126
     10127if test yes = "$lt_cv_prog_compiler_static_works"; then
     10128    :
     10129else
     10130    lt_prog_compiler_static=
     10131fi
     10132
     10133
     10134
     10135
     10136
     10137
     10138
     10139  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
     10140$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
     10141if ${lt_cv_prog_compiler_c_o+:} false; then :
     10142  $as_echo_n "(cached) " >&6
     10143else
     10144  lt_cv_prog_compiler_c_o=no
     10145   $RM -r conftest 2>/dev/null
     10146   mkdir conftest
     10147   cd conftest
     10148   mkdir out
     10149   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     10150
     10151   lt_compiler_flag="-o out/conftest2.$ac_objext"
     10152   # Insert the option either (1) after the last *FLAGS variable, or
     10153   # (2) before a word containing "conftest.", or (3) at the end.
     10154   # Note that $ac_compile itself does not contain backslashes and begins
     10155   # with a dollar sign (not a hyphen), so the echo should work correctly.
     10156   lt_compile=`echo "$ac_compile" | $SED \
     10157   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     10158   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     10159   -e 's:$: $lt_compiler_flag:'`
     10160   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     10161   (eval "$lt_compile" 2>out/conftest.err)
     10162   ac_status=$?
     10163   cat out/conftest.err >&5
     10164   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     10165   if (exit $ac_status) && test -s out/conftest2.$ac_objext
     10166   then
     10167     # The compiler can only warn and ignore the option if not recognized
     10168     # So say no if there are warnings
     10169     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
     10170     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
     10171     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
     10172       lt_cv_prog_compiler_c_o=yes
     10173     fi
     10174   fi
     10175   chmod u+w . 2>&5
     10176   $RM conftest*
     10177   # SGI C++ compiler will create directory out/ii_files/ for
     10178   # template instantiation
     10179   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
     10180   $RM out/* && rmdir out
     10181   cd ..
     10182   $RM -r conftest
     10183   $RM conftest*
     10184
     10185fi
     10186{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
     10187$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
     10188
     10189
     10190
     10191
     10192
     10193
     10194  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
     10195$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
     10196if ${lt_cv_prog_compiler_c_o+:} false; then :
     10197  $as_echo_n "(cached) " >&6
     10198else
     10199  lt_cv_prog_compiler_c_o=no
     10200   $RM -r conftest 2>/dev/null
     10201   mkdir conftest
     10202   cd conftest
     10203   mkdir out
     10204   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     10205
     10206   lt_compiler_flag="-o out/conftest2.$ac_objext"
     10207   # Insert the option either (1) after the last *FLAGS variable, or
     10208   # (2) before a word containing "conftest.", or (3) at the end.
     10209   # Note that $ac_compile itself does not contain backslashes and begins
     10210   # with a dollar sign (not a hyphen), so the echo should work correctly.
     10211   lt_compile=`echo "$ac_compile" | $SED \
     10212   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     10213   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     10214   -e 's:$: $lt_compiler_flag:'`
     10215   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     10216   (eval "$lt_compile" 2>out/conftest.err)
     10217   ac_status=$?
     10218   cat out/conftest.err >&5
     10219   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     10220   if (exit $ac_status) && test -s out/conftest2.$ac_objext
     10221   then
     10222     # The compiler can only warn and ignore the option if not recognized
     10223     # So say no if there are warnings
     10224     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
     10225     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
     10226     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
     10227       lt_cv_prog_compiler_c_o=yes
     10228     fi
     10229   fi
     10230   chmod u+w . 2>&5
     10231   $RM conftest*
     10232   # SGI C++ compiler will create directory out/ii_files/ for
     10233   # template instantiation
     10234   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
     10235   $RM out/* && rmdir out
     10236   cd ..
     10237   $RM -r conftest
     10238   $RM conftest*
     10239
     10240fi
     10241{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
     10242$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
     10243
     10244
     10245
     10246
     10247hard_links=nottested
     10248if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
     10249  # do not overwrite the value of need_locks provided by the user
     10250  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
     10251$as_echo_n "checking if we can lock with hard links... " >&6; }
     10252  hard_links=yes
     10253  $RM conftest*
     10254  ln conftest.a conftest.b 2>/dev/null && hard_links=no
     10255  touch conftest.a
     10256  ln conftest.a conftest.b 2>&5 || hard_links=no
     10257  ln conftest.a conftest.b 2>/dev/null && hard_links=no
     10258  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
     10259$as_echo "$hard_links" >&6; }
     10260  if test no = "$hard_links"; then
     10261    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
     10262$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
     10263    need_locks=warn
     10264  fi
     10265else
     10266  need_locks=no
     10267fi
     10268
     10269
     10270
     10271
     10272
     10273
     10274  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
     10275$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
     10276
     10277  runpath_var=
     10278  allow_undefined_flag=
     10279  always_export_symbols=no
     10280  archive_cmds=
     10281  archive_expsym_cmds=
     10282  compiler_needs_object=no
     10283  enable_shared_with_static_runtimes=no
     10284  export_dynamic_flag_spec=
     10285  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     10286  hardcode_automatic=no
     10287  hardcode_direct=no
     10288  hardcode_direct_absolute=no
     10289  hardcode_libdir_flag_spec=
     10290  hardcode_libdir_separator=
     10291  hardcode_minus_L=no
     10292  hardcode_shlibpath_var=unsupported
     10293  inherit_rpath=no
     10294  link_all_deplibs=unknown
     10295  module_cmds=
     10296  module_expsym_cmds=
     10297  old_archive_from_new_cmds=
     10298  old_archive_from_expsyms_cmds=
     10299  thread_safe_flag_spec=
     10300  whole_archive_flag_spec=
     10301  # include_expsyms should be a list of space-separated symbols to be *always*
     10302  # included in the symbol list
     10303  include_expsyms=
     10304  # exclude_expsyms can be an extended regexp of symbols to exclude
     10305  # it will be wrapped by ' (' and ')$', so one must not match beginning or
     10306  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
     10307  # as well as any symbol that contains 'd'.
     10308  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
     10309  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
     10310  # platforms (ab)use it in PIC code, but their linkers get confused if
     10311  # the symbol is explicitly referenced.  Since portable code cannot
     10312  # rely on this symbol name, it's probably fine to never include it in
     10313  # preloaded symbol tables.
     10314  # Exclude shared library initialization/finalization symbols.
     10315  extract_expsyms_cmds=
     10316
     10317  case $host_os in
     10318  cygwin* | mingw* | pw32* | cegcc*)
     10319    # FIXME: the MSVC++ port hasn't been tested in a loooong time
     10320    # When not using gcc, we currently assume that we are using
     10321    # Microsoft Visual C++.
     10322    if test yes != "$GCC"; then
     10323      with_gnu_ld=no
     10324    fi
     10325    ;;
     10326  interix*)
     10327    # we just hope/assume this is gcc and not c89 (= MSVC++)
     10328    with_gnu_ld=yes
     10329    ;;
     10330  openbsd* | bitrig*)
     10331    with_gnu_ld=no
     10332    ;;
     10333  linux* | k*bsd*-gnu | gnu*)
     10334    link_all_deplibs=no
     10335    ;;
     10336  esac
     10337
     10338  ld_shlibs=yes
     10339
     10340  # On some targets, GNU ld is compatible enough with the native linker
     10341  # that we're better off using the native interface for both.
     10342  lt_use_gnu_ld_interface=no
     10343  if test yes = "$with_gnu_ld"; then
     10344    case $host_os in
     10345      aix*)
     10346        # The AIX port of GNU ld has always aspired to compatibility
     10347        # with the native linker.  However, as the warning in the GNU ld
     10348        # block says, versions before 2.19.5* couldn't really create working
     10349        # shared libraries, regardless of the interface used.
     10350        case `$LD -v 2>&1` in
     10351          *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
     10352          *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
     10353          *\ \(GNU\ Binutils\)\ [3-9]*) ;;
     10354          *)
     10355            lt_use_gnu_ld_interface=yes
     10356            ;;
     10357        esac
     10358        ;;
     10359      *)
     10360        lt_use_gnu_ld_interface=yes
     10361        ;;
     10362    esac
     10363  fi
     10364
     10365  if test yes = "$lt_use_gnu_ld_interface"; then
     10366    # If archive_cmds runs LD, not CC, wlarc should be empty
     10367    wlarc='$wl'
     10368
     10369    # Set some defaults for GNU ld with shared library support. These
     10370    # are reset later if shared libraries are not supported. Putting them
     10371    # here allows them to be overridden if necessary.
     10372    runpath_var=LD_RUN_PATH
     10373    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     10374    export_dynamic_flag_spec='$wl--export-dynamic'
     10375    # ancient GNU ld didn't support --whole-archive et. al.
     10376    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
     10377      whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
     10378    else
     10379      whole_archive_flag_spec=
     10380    fi
     10381    supports_anon_versioning=no
     10382    case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
     10383      *GNU\ gold*) supports_anon_versioning=yes ;;
     10384      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
     10385      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
     10386      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
     10387      *\ 2.11.*) ;; # other 2.11 versions
     10388      *) supports_anon_versioning=yes ;;
     10389    esac
     10390
     10391    # See if GNU ld supports shared libraries.
     10392    case $host_os in
     10393    aix[3-9]*)
     10394      # On AIX/PPC, the GNU linker is very broken
     10395      if test ia64 != "$host_cpu"; then
     10396        ld_shlibs=no
     10397        cat <<_LT_EOF 1>&2
     10398
     10399*** Warning: the GNU linker, at least up to release 2.19, is reported
     10400*** to be unable to reliably create shared libraries on AIX.
     10401*** Therefore, libtool is disabling shared libraries support.  If you
     10402*** really care for shared libraries, you may want to install binutils
     10403*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
     10404*** You will then need to restart the configuration process.
     10405
     10406_LT_EOF
     10407      fi
     10408      ;;
     10409
     10410    amigaos*)
     10411      case $host_cpu in
     10412      powerpc)
     10413            # see comment about AmigaOS4 .so support
     10414            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10415            archive_expsym_cmds=''
     10416        ;;
     10417      m68k)
     10418            archive_cmds='$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)'
     10419            hardcode_libdir_flag_spec='-L$libdir'
     10420            hardcode_minus_L=yes
     10421        ;;
     10422      esac
     10423      ;;
     10424
     10425    beos*)
     10426      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
     10427        allow_undefined_flag=unsupported
     10428        # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
     10429        # support --undefined.  This deserves some investigation.  FIXME
     10430        archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10431      else
     10432        ld_shlibs=no
     10433      fi
     10434      ;;
     10435
     10436    cygwin* | mingw* | pw32* | cegcc*)
     10437      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
     10438      # as there is no search path for DLLs.
     10439      hardcode_libdir_flag_spec='-L$libdir'
     10440      export_dynamic_flag_spec='$wl--export-all-symbols'
     10441      allow_undefined_flag=unsupported
     10442      always_export_symbols=no
     10443      enable_shared_with_static_runtimes=yes
     10444      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
     10445      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
     10446
     10447      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
     10448        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
     10449        # If the export-symbols file already is a .def file, use it as
     10450        # is; otherwise, prepend EXPORTS...
     10451        archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[   ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
     10452          cp $export_symbols $output_objdir/$soname.def;
     10453        else
     10454          echo EXPORTS > $output_objdir/$soname.def;
     10455          cat $export_symbols >> $output_objdir/$soname.def;
     10456        fi~
     10457        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
     10458      else
     10459        ld_shlibs=no
     10460      fi
     10461      ;;
     10462
     10463    haiku*)
     10464      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10465      link_all_deplibs=yes
     10466      ;;
     10467
     10468    os2*)
     10469      hardcode_libdir_flag_spec='-L$libdir'
     10470      hardcode_minus_L=yes
     10471      allow_undefined_flag=unsupported
     10472      shrext_cmds=.dll
     10473      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     10474        $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     10475        $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     10476        $ECHO EXPORTS >> $output_objdir/$libname.def~
     10477        emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
     10478        $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     10479        emximp -o $lib $output_objdir/$libname.def'
     10480      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     10481        $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     10482        $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     10483        $ECHO EXPORTS >> $output_objdir/$libname.def~
     10484        prefix_cmds="$SED"~
     10485        if test EXPORTS = "`$SED 1q $export_symbols`"; then
     10486          prefix_cmds="$prefix_cmds -e 1d";
     10487        fi~
     10488        prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
     10489        cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
     10490        $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     10491        emximp -o $lib $output_objdir/$libname.def'
     10492      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
     10493      enable_shared_with_static_runtimes=yes
     10494      ;;
     10495
     10496    interix[3-9]*)
     10497      hardcode_direct=no
     10498      hardcode_shlibpath_var=no
     10499      hardcode_libdir_flag_spec='$wl-rpath,$libdir'
     10500      export_dynamic_flag_spec='$wl-E'
     10501      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
     10502      # Instead, shared libraries are loaded at an image base (0x10000000 by
     10503      # default) and relocated if they conflict, which is a slow very memory
     10504      # consuming and fragmenting process.  To avoid this, we pick a random,
     10505      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
     10506      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
     10507      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
     10508      archive_expsym_cmds='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'
     10509      ;;
     10510
     10511    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
     10512      tmp_diet=no
     10513      if test linux-dietlibc = "$host_os"; then
     10514        case $cc_basename in
     10515          diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
     10516        esac
     10517      fi
     10518      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
     10519         && test no = "$tmp_diet"
     10520      then
     10521        tmp_addflag=' $pic_flag'
     10522        tmp_sharedflag='-shared'
     10523        case $cc_basename,$host_cpu in
     10524        pgcc*)                          # Portland Group C compiler
     10525          whole_archive_flag_spec='$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'
     10526          tmp_addflag=' $pic_flag'
     10527          ;;
     10528        pgf77* | pgf90* | pgf95* | pgfortran*)
     10529                                        # Portland Group f77 and f90 compilers
     10530          whole_archive_flag_spec='$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'
     10531          tmp_addflag=' $pic_flag -Mnomain' ;;
     10532        ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
     10533          tmp_addflag=' -i_dynamic' ;;
     10534        efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
     10535          tmp_addflag=' -i_dynamic -nofor_main' ;;
     10536        ifc* | ifort*)                  # Intel Fortran compiler
     10537          tmp_addflag=' -nofor_main' ;;
     10538        lf95*)                          # Lahey Fortran 8.1
     10539          whole_archive_flag_spec=
     10540          tmp_sharedflag='--shared' ;;
     10541        nagfor*)                        # NAGFOR 5.3
     10542          tmp_sharedflag='-Wl,-shared' ;;
     10543        xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
     10544          tmp_sharedflag='-qmkshrobj'
     10545          tmp_addflag= ;;
     10546        nvcc*)  # Cuda Compiler Driver 2.2
     10547          whole_archive_flag_spec='$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'
     10548          compiler_needs_object=yes
     10549          ;;
     10550        esac
     10551        case `$CC -V 2>&1 | sed 5q` in
     10552        *Sun\ C*)                       # Sun C 5.9
     10553          whole_archive_flag_spec='$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'
     10554          compiler_needs_object=yes
     10555          tmp_sharedflag='-G' ;;
     10556        *Sun\ F*)                       # Sun Fortran 8.3
     10557          tmp_sharedflag='-G' ;;
     10558        esac
     10559        archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10560
     10561        if test yes = "$supports_anon_versioning"; then
     10562          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
     10563            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
     10564            echo "local: *; };" >> $output_objdir/$libname.ver~
     10565            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
     10566        fi
     10567
     10568        case $cc_basename in
     10569        tcc*)
     10570          export_dynamic_flag_spec='-rdynamic'
     10571          ;;
     10572        xlf* | bgf* | bgxlf* | mpixlf*)
     10573          # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
     10574          whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
     10575          hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     10576          archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
     10577          if test yes = "$supports_anon_versioning"; then
     10578            archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
     10579              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
     10580              echo "local: *; };" >> $output_objdir/$libname.ver~
     10581              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
     10582          fi
     10583          ;;
     10584        esac
     10585      else
     10586        ld_shlibs=no
     10587      fi
     10588      ;;
     10589
     10590    netbsd* | netbsdelf*-gnu)
     10591      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
     10592        archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
     10593        wlarc=
     10594      else
     10595        archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10596        archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
     10597      fi
     10598      ;;
     10599
     10600    solaris*)
     10601      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
     10602        ld_shlibs=no
     10603        cat <<_LT_EOF 1>&2
     10604
     10605*** Warning: The releases 2.8.* of the GNU linker cannot reliably
     10606*** create shared libraries on Solaris systems.  Therefore, libtool
     10607*** is disabling shared libraries support.  We urge you to upgrade GNU
     10608*** binutils to release 2.9.1 or newer.  Another option is to modify
     10609*** your PATH or compiler configuration so that the native linker is
     10610*** used, and then restart.
     10611
     10612_LT_EOF
     10613      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
     10614        archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10615        archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
     10616      else
     10617        ld_shlibs=no
     10618      fi
     10619      ;;
     10620
     10621    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
     10622      case `$LD -v 2>&1` in
     10623        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
     10624        ld_shlibs=no
     10625        cat <<_LT_EOF 1>&2
     10626
     10627*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
     10628*** reliably create shared libraries on SCO systems.  Therefore, libtool
     10629*** is disabling shared libraries support.  We urge you to upgrade GNU
     10630*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
     10631*** your PATH or compiler configuration so that the native linker is
     10632*** used, and then restart.
     10633
     10634_LT_EOF
     10635        ;;
     10636        *)
     10637          # For security reasons, it is highly recommended that you always
     10638          # use absolute paths for naming shared libraries, and exclude the
     10639          # DT_RUNPATH tag from executables and libraries.  But doing so
     10640          # requires that you compile everything twice, which is a pain.
     10641          if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
     10642            hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     10643            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10644            archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
     10645          else
     10646            ld_shlibs=no
     10647          fi
     10648        ;;
     10649      esac
     10650      ;;
     10651
     10652    sunos4*)
     10653      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
     10654      wlarc=
     10655      hardcode_direct=yes
     10656      hardcode_shlibpath_var=no
     10657      ;;
     10658
     10659    *)
     10660      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
     10661        archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10662        archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
     10663      else
     10664        ld_shlibs=no
     10665      fi
     10666      ;;
     10667    esac
     10668
     10669    if test no = "$ld_shlibs"; then
     10670      runpath_var=
     10671      hardcode_libdir_flag_spec=
     10672      export_dynamic_flag_spec=
     10673      whole_archive_flag_spec=
     10674    fi
     10675  else
     10676    # PORTME fill in a description of your system's linker (not GNU ld)
     10677    case $host_os in
     10678    aix3*)
     10679      allow_undefined_flag=unsupported
     10680      always_export_symbols=yes
     10681      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
     10682      # Note: this linker hardcodes the directories in LIBPATH if there
     10683      # are no directories specified by -L.
     10684      hardcode_minus_L=yes
     10685      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
     10686        # Neither direct hardcoding nor static linking is supported with a
     10687        # broken collect2.
     10688        hardcode_direct=unsupported
     10689      fi
     10690      ;;
     10691
     10692    aix[4-9]*)
     10693      if test ia64 = "$host_cpu"; then
     10694        # On IA64, the linker does run time linking by default, so we don't
     10695        # have to do anything special.
     10696        aix_use_runtimelinking=no
     10697        exp_sym_flag='-Bexport'
     10698        no_entry_flag=
     10699      else
     10700        # If we're using GNU nm, then we don't want the "-C" option.
     10701        # -C means demangle to GNU nm, but means don't demangle to AIX nm.
     10702        # Without the "-l" option, or with the "-B" option, AIX nm treats
     10703        # weak defined symbols like other global defined symbols, whereas
     10704        # GNU nm marks them as "W".
     10705        # While the 'weak' keyword is ignored in the Export File, we need
     10706        # it in the Import File for the 'aix-soname' feature, so we have
     10707        # to replace the "-B" option with "-P" for AIX nm.
     10708        if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
     10709          export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
     10710        else
     10711          export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
     10712        fi
     10713        aix_use_runtimelinking=no
     10714
     10715        # Test if we are trying to use run time linking or normal
     10716        # AIX style linking. If -brtl is somewhere in LDFLAGS, we
     10717        # have runtime linking enabled, and use it for executables.
     10718        # For shared libraries, we enable/disable runtime linking
     10719        # depending on the kind of the shared library created -
     10720        # when "with_aix_soname,aix_use_runtimelinking" is:
     10721        # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
     10722        # "aix,yes"  lib.so          shared, rtl:yes, for executables
     10723        #            lib.a           static archive
     10724        # "both,no"  lib.so.V(shr.o) shared, rtl:yes
     10725        #            lib.a(lib.so.V) shared, rtl:no,  for executables
     10726        # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
     10727        #            lib.a(lib.so.V) shared, rtl:no
     10728        # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
     10729        #            lib.a           static archive
     10730        case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
     10731          for ld_flag in $LDFLAGS; do
     10732          if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
     10733            aix_use_runtimelinking=yes
     10734            break
     10735          fi
     10736          done
     10737          if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
     10738            # With aix-soname=svr4, we create the lib.so.V shared archives only,
     10739            # so we don't have lib.a shared libs to link our executables.
     10740            # We have to force runtime linking in this case.
     10741            aix_use_runtimelinking=yes
     10742            LDFLAGS="$LDFLAGS -Wl,-brtl"
     10743          fi
     10744          ;;
     10745        esac
     10746
     10747        exp_sym_flag='-bexport'
     10748        no_entry_flag='-bnoentry'
     10749      fi
     10750
     10751      # When large executables or shared objects are built, AIX ld can
     10752      # have problems creating the table of contents.  If linking a library
     10753      # or program results in "error TOC overflow" add -mminimal-toc to
     10754      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
     10755      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
     10756
     10757      archive_cmds=''
     10758      hardcode_direct=yes
     10759      hardcode_direct_absolute=yes
     10760      hardcode_libdir_separator=':'
     10761      link_all_deplibs=yes
     10762      file_list_spec='$wl-f,'
     10763      case $with_aix_soname,$aix_use_runtimelinking in
     10764      aix,*) ;; # traditional, no import file
     10765      svr4,* | *,yes) # use import file
     10766        # The Import File defines what to hardcode.
     10767        hardcode_direct=no
     10768        hardcode_direct_absolute=no
     10769        ;;
     10770      esac
     10771
     10772      if test yes = "$GCC"; then
     10773        case $host_os in aix4.[012]|aix4.[012].*)
     10774        # We only want to do this on AIX 4.2 and lower, the check
     10775        # below for broken collect2 doesn't work under 4.3+
     10776          collect2name=`$CC -print-prog-name=collect2`
     10777          if test -f "$collect2name" &&
     10778           strings "$collect2name" | $GREP resolve_lib_name >/dev/null
     10779          then
     10780          # We have reworked collect2
     10781          :
     10782          else
     10783          # We have old collect2
     10784          hardcode_direct=unsupported
     10785          # It fails to find uninstalled libraries when the uninstalled
     10786          # path is not listed in the libpath.  Setting hardcode_minus_L
     10787          # to unsupported forces relinking
     10788          hardcode_minus_L=yes
     10789          hardcode_libdir_flag_spec='-L$libdir'
     10790          hardcode_libdir_separator=
     10791          fi
     10792          ;;
     10793        esac
     10794        shared_flag='-shared'
     10795        if test yes = "$aix_use_runtimelinking"; then
     10796          shared_flag="$shared_flag "'$wl-G'
     10797        fi
     10798        # Need to ensure runtime linking is disabled for the traditional
     10799        # shared library, or the linker may eventually find shared libraries
     10800        # /with/ Import File - we do not want to mix them.
     10801        shared_flag_aix='-shared'
     10802        shared_flag_svr4='-shared $wl-G'
     10803      else
     10804        # not using gcc
     10805        if test ia64 = "$host_cpu"; then
     10806        # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
     10807        # chokes on -Wl,-G. The following line is correct:
     10808          shared_flag='-G'
     10809        else
     10810          if test yes = "$aix_use_runtimelinking"; then
     10811            shared_flag='$wl-G'
     10812          else
     10813            shared_flag='$wl-bM:SRE'
     10814          fi
     10815          shared_flag_aix='$wl-bM:SRE'
     10816          shared_flag_svr4='$wl-G'
     10817        fi
     10818      fi
     10819
     10820      export_dynamic_flag_spec='$wl-bexpall'
     10821      # It seems that -bexpall does not export symbols beginning with
     10822      # underscore (_), so it is better to generate a list of symbols to export.
     10823      always_export_symbols=yes
     10824      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
     10825        # Warning - without using the other runtime loading flags (-brtl),
     10826        # -berok will link without error, but may produce a broken library.
     10827        allow_undefined_flag='-berok'
     10828        # Determine the default libpath from the value encoded in an
     10829        # empty executable.
     10830        if test set = "${lt_cv_aix_libpath+set}"; then
     10831  aix_libpath=$lt_cv_aix_libpath
     10832else
     10833  if ${lt_cv_aix_libpath_+:} false; then :
     10834  $as_echo_n "(cached) " >&6
     10835else
     10836  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     10837/* end confdefs.h.  */
     10838
     10839int
     10840main ()
     10841{
     10842
     10843  ;
     10844  return 0;
     10845}
     10846_ACEOF
     10847if ac_fn_c_try_link "$LINENO"; then :
     10848
     10849  lt_aix_libpath_sed='
     10850      /Import File Strings/,/^$/ {
     10851          /^0/ {
     10852              s/^0  *\([^ ]*\) *$/\1/
     10853              p
     10854          }
     10855      }'
     10856  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     10857  # Check for a 64-bit object if we didn't find anything.
     10858  if test -z "$lt_cv_aix_libpath_"; then
     10859    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     10860  fi
     10861fi
     10862rm -f core conftest.err conftest.$ac_objext \
     10863    conftest$ac_exeext conftest.$ac_ext
     10864  if test -z "$lt_cv_aix_libpath_"; then
     10865    lt_cv_aix_libpath_=/usr/lib:/lib
     10866  fi
     10867
     10868fi
     10869
     10870  aix_libpath=$lt_cv_aix_libpath_
     10871fi
     10872
     10873        hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
     10874        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
     10875      else
     10876        if test ia64 = "$host_cpu"; then
     10877          hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
     10878          allow_undefined_flag="-z nodefs"
     10879          archive_expsym_cmds="\$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"
     10880        else
     10881         # Determine the default libpath from the value encoded in an
     10882         # empty executable.
     10883         if test set = "${lt_cv_aix_libpath+set}"; then
     10884  aix_libpath=$lt_cv_aix_libpath
     10885else
     10886  if ${lt_cv_aix_libpath_+:} false; then :
     10887  $as_echo_n "(cached) " >&6
     10888else
     10889  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     10890/* end confdefs.h.  */
     10891
     10892int
     10893main ()
     10894{
     10895
     10896  ;
     10897  return 0;
     10898}
     10899_ACEOF
     10900if ac_fn_c_try_link "$LINENO"; then :
     10901
     10902  lt_aix_libpath_sed='
     10903      /Import File Strings/,/^$/ {
     10904          /^0/ {
     10905              s/^0  *\([^ ]*\) *$/\1/
     10906              p
     10907          }
     10908      }'
     10909  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     10910  # Check for a 64-bit object if we didn't find anything.
     10911  if test -z "$lt_cv_aix_libpath_"; then
     10912    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     10913  fi
     10914fi
     10915rm -f core conftest.err conftest.$ac_objext \
     10916    conftest$ac_exeext conftest.$ac_ext
     10917  if test -z "$lt_cv_aix_libpath_"; then
     10918    lt_cv_aix_libpath_=/usr/lib:/lib
     10919  fi
     10920
     10921fi
     10922
     10923  aix_libpath=$lt_cv_aix_libpath_
     10924fi
     10925
     10926         hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
     10927          # Warning - without using the other run time loading flags,
     10928          # -berok will link without error, but may produce a broken library.
     10929          no_undefined_flag=' $wl-bernotok'
     10930          allow_undefined_flag=' $wl-berok'
     10931          if test yes = "$with_gnu_ld"; then
     10932            # We only use this code for GNU lds that support --whole-archive.
     10933            whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
     10934          else
     10935            # Exported symbols can be pulled into shared objects from archives
     10936            whole_archive_flag_spec='$convenience'
     10937          fi
     10938          archive_cmds_need_lc=yes
     10939          archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
     10940          # -brtl affects multiple linker settings, -berok does not and is overridden later
     10941          compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
     10942          if test svr4 != "$with_aix_soname"; then
     10943            # This is similar to how AIX traditionally builds its shared libraries.
     10944            archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
     10945          fi
     10946          if test aix != "$with_aix_soname"; then
     10947            archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
     10948          else
     10949            # used by -dlpreopen to get the symbols
     10950            archive_expsym_cmds="$archive_expsym_cmds"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
     10951          fi
     10952          archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
     10953        fi
     10954      fi
     10955      ;;
     10956
     10957    amigaos*)
     10958      case $host_cpu in
     10959      powerpc)
     10960            # see comment about AmigaOS4 .so support
     10961            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10962            archive_expsym_cmds=''
     10963        ;;
     10964      m68k)
     10965            archive_cmds='$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)'
     10966            hardcode_libdir_flag_spec='-L$libdir'
     10967            hardcode_minus_L=yes
     10968        ;;
     10969      esac
     10970      ;;
     10971
     10972    bsdi[45]*)
     10973      export_dynamic_flag_spec=-rdynamic
     10974      ;;
     10975
     10976    cygwin* | mingw* | pw32* | cegcc*)
     10977      # When not using gcc, we currently assume that we are using
     10978      # Microsoft Visual C++.
     10979      # hardcode_libdir_flag_spec is actually meaningless, as there is
     10980      # no search path for DLLs.
     10981      case $cc_basename in
     10982      cl*)
     10983        # Native MSVC
     10984        hardcode_libdir_flag_spec=' '
     10985        allow_undefined_flag=unsupported
     10986        always_export_symbols=yes
     10987        file_list_spec='@'
     10988        # Tell ltmain to make .lib files, not .a files.
     10989        libext=lib
     10990        # Tell ltmain to make .dll files, not .so files.
     10991        shrext_cmds=.dll
     10992        # FIXME: Setting linknames here is a bad hack.
     10993        archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
     10994        archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[   ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
     10995            cp "$export_symbols" "$output_objdir/$soname.def";
     10996            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
     10997          else
     10998            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
     10999          fi~
     11000          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
     11001          linknames='
     11002        # The linker will not automatically build a static lib if we build a DLL.
     11003        # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
     11004        enable_shared_with_static_runtimes=yes
     11005        exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
     11006        export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
     11007        # Don't use ranlib
     11008        old_postinstall_cmds='chmod 644 $oldlib'
     11009        postlink_cmds='lt_outputfile="@OUTPUT@"~
     11010          lt_tool_outputfile="@TOOL_OUTPUT@"~
     11011          case $lt_outputfile in
     11012            *.exe|*.EXE) ;;
     11013            *)
     11014              lt_outputfile=$lt_outputfile.exe
     11015              lt_tool_outputfile=$lt_tool_outputfile.exe
     11016              ;;
     11017          esac~
     11018          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
     11019            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
     11020            $RM "$lt_outputfile.manifest";
     11021          fi'
     11022        ;;
     11023      *)
     11024        # Assume MSVC wrapper
     11025        hardcode_libdir_flag_spec=' '
     11026        allow_undefined_flag=unsupported
     11027        # Tell ltmain to make .lib files, not .a files.
     11028        libext=lib
     11029        # Tell ltmain to make .dll files, not .so files.
     11030        shrext_cmds=.dll
     11031        # FIXME: Setting linknames here is a bad hack.
     11032        archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
     11033        # The linker will automatically build a .lib file if we build a DLL.
     11034        old_archive_from_new_cmds='true'
     11035        # FIXME: Should let the user specify the lib program.
     11036        old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
     11037        enable_shared_with_static_runtimes=yes
     11038        ;;
     11039      esac
     11040      ;;
     11041
     11042    darwin* | rhapsody*)
     11043
     11044
     11045  archive_cmds_need_lc=no
     11046  hardcode_direct=no
     11047  hardcode_automatic=yes
     11048  hardcode_shlibpath_var=unsupported
     11049  if test yes = "$lt_cv_ld_force_load"; then
     11050    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
     11051
     11052  else
     11053    whole_archive_flag_spec=''
     11054  fi
     11055  link_all_deplibs=yes
     11056  allow_undefined_flag=$_lt_dar_allow_undefined
     11057  case $cc_basename in
     11058     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
     11059     *) _lt_dar_can_shared=$GCC ;;
     11060  esac
     11061  if test yes = "$_lt_dar_can_shared"; then
     11062    output_verbose_link_cmd=func_echo_all
     11063    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
     11064    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
     11065    archive_expsym_cmds="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"
     11066    module_expsym_cmds="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"
     11067
     11068  else
     11069  ld_shlibs=no
     11070  fi
     11071
     11072      ;;
     11073
     11074    dgux*)
     11075      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     11076      hardcode_libdir_flag_spec='-L$libdir'
     11077      hardcode_shlibpath_var=no
     11078      ;;
     11079
     11080    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
     11081    # support.  Future versions do this automatically, but an explicit c++rt0.o
     11082    # does not break anything, and helps significantly (at the cost of a little
     11083    # extra space).
     11084    freebsd2.2*)
     11085      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
     11086      hardcode_libdir_flag_spec='-R$libdir'
     11087      hardcode_direct=yes
     11088      hardcode_shlibpath_var=no
     11089      ;;
     11090
     11091    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
     11092    freebsd2.*)
     11093      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
     11094      hardcode_direct=yes
     11095      hardcode_minus_L=yes
     11096      hardcode_shlibpath_var=no
     11097      ;;
     11098
     11099    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
     11100    freebsd* | dragonfly*)
     11101      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
     11102      hardcode_libdir_flag_spec='-R$libdir'
     11103      hardcode_direct=yes
     11104      hardcode_shlibpath_var=no
     11105      ;;
     11106
     11107    hpux9*)
     11108      if test yes = "$GCC"; then
     11109        archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
     11110      else
     11111        archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
     11112      fi
     11113      hardcode_libdir_flag_spec='$wl+b $wl$libdir'
     11114      hardcode_libdir_separator=:
     11115      hardcode_direct=yes
     11116
     11117      # hardcode_minus_L: Not really in the search PATH,
     11118      # but as the default location of the library.
     11119      hardcode_minus_L=yes
     11120      export_dynamic_flag_spec='$wl-E'
     11121      ;;
     11122
     11123    hpux10*)
     11124      if test yes,no = "$GCC,$with_gnu_ld"; then
     11125        archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
     11126      else
     11127        archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
     11128      fi
     11129      if test no = "$with_gnu_ld"; then
     11130        hardcode_libdir_flag_spec='$wl+b $wl$libdir'
     11131        hardcode_libdir_separator=:
     11132        hardcode_direct=yes
     11133        hardcode_direct_absolute=yes
     11134        export_dynamic_flag_spec='$wl-E'
     11135        # hardcode_minus_L: Not really in the search PATH,
     11136        # but as the default location of the library.
     11137        hardcode_minus_L=yes
     11138      fi
     11139      ;;
     11140
     11141    hpux11*)
     11142      if test yes,no = "$GCC,$with_gnu_ld"; then
     11143        case $host_cpu in
     11144        hppa*64*)
     11145          archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
     11146          ;;
     11147        ia64*)
     11148          archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
     11149          ;;
     11150        *)
     11151          archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
     11152          ;;
     11153        esac
     11154      else
     11155        case $host_cpu in
     11156        hppa*64*)
     11157          archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
     11158          ;;
     11159        ia64*)
     11160          archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
     11161          ;;
     11162        *)
     11163
     11164          # Older versions of the 11.00 compiler do not understand -b yet
     11165          # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
     11166          { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
     11167$as_echo_n "checking if $CC understands -b... " >&6; }
     11168if ${lt_cv_prog_compiler__b+:} false; then :
     11169  $as_echo_n "(cached) " >&6
     11170else
     11171  lt_cv_prog_compiler__b=no
     11172   save_LDFLAGS=$LDFLAGS
     11173   LDFLAGS="$LDFLAGS -b"
     11174   echo "$lt_simple_link_test_code" > conftest.$ac_ext
     11175   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
     11176     # The linker can only warn and ignore the option if not recognized
     11177     # So say no if there are warnings
     11178     if test -s conftest.err; then
     11179       # Append any errors to the config.log.
     11180       cat conftest.err 1>&5
     11181       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
     11182       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     11183       if diff conftest.exp conftest.er2 >/dev/null; then
     11184         lt_cv_prog_compiler__b=yes
     11185       fi
     11186     else
     11187       lt_cv_prog_compiler__b=yes
     11188     fi
     11189   fi
     11190   $RM -r conftest*
     11191   LDFLAGS=$save_LDFLAGS
     11192
     11193fi
     11194{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
     11195$as_echo "$lt_cv_prog_compiler__b" >&6; }
     11196
     11197if test yes = "$lt_cv_prog_compiler__b"; then
     11198    archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
     11199else
     11200    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
     11201fi
     11202
     11203          ;;
     11204        esac
     11205      fi
     11206      if test no = "$with_gnu_ld"; then
     11207        hardcode_libdir_flag_spec='$wl+b $wl$libdir'
     11208        hardcode_libdir_separator=:
     11209
     11210        case $host_cpu in
     11211        hppa*64*|ia64*)
     11212          hardcode_direct=no
     11213          hardcode_shlibpath_var=no
     11214          ;;
     11215        *)
     11216          hardcode_direct=yes
     11217          hardcode_direct_absolute=yes
     11218          export_dynamic_flag_spec='$wl-E'
     11219
     11220          # hardcode_minus_L: Not really in the search PATH,
     11221          # but as the default location of the library.
     11222          hardcode_minus_L=yes
     11223          ;;
     11224        esac
     11225      fi
     11226      ;;
     11227
     11228    irix5* | irix6* | nonstopux*)
     11229      if test yes = "$GCC"; then
     11230        archive_cmds='$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'
     11231        # Try to use the -exported_symbol ld option, if it does not
     11232        # work, assume that -exports_file does not work either and
     11233        # implicitly export all symbols.
     11234        # This should be the same for all languages, so no per-tag cache variable.
     11235        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
     11236$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
     11237if ${lt_cv_irix_exported_symbol+:} false; then :
     11238  $as_echo_n "(cached) " >&6
     11239else
     11240  save_LDFLAGS=$LDFLAGS
     11241           LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
     11242           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     11243/* end confdefs.h.  */
     11244int foo (void) { return 0; }
     11245_ACEOF
     11246if ac_fn_c_try_link "$LINENO"; then :
     11247  lt_cv_irix_exported_symbol=yes
     11248else
     11249  lt_cv_irix_exported_symbol=no
     11250fi
     11251rm -f core conftest.err conftest.$ac_objext \
     11252    conftest$ac_exeext conftest.$ac_ext
     11253           LDFLAGS=$save_LDFLAGS
     11254fi
     11255{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
     11256$as_echo "$lt_cv_irix_exported_symbol" >&6; }
     11257        if test yes = "$lt_cv_irix_exported_symbol"; then
     11258          archive_expsym_cmds='$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'
     11259        fi
     11260        link_all_deplibs=no
     11261      else
     11262        archive_cmds='$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'
     11263        archive_expsym_cmds='$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'
     11264      fi
     11265      archive_cmds_need_lc='no'
     11266      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     11267      hardcode_libdir_separator=:
     11268      inherit_rpath=yes
     11269      link_all_deplibs=yes
     11270      ;;
     11271
     11272    linux*)
     11273      case $cc_basename in
     11274      tcc*)
     11275        # Fabrice Bellard et al's Tiny C Compiler
     11276        ld_shlibs=yes
     11277        archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
     11278        ;;
     11279      esac
     11280      ;;
     11281
     11282    netbsd* | netbsdelf*-gnu)
     11283      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
     11284        archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
     11285      else
     11286        archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
     11287      fi
     11288      hardcode_libdir_flag_spec='-R$libdir'
     11289      hardcode_direct=yes
     11290      hardcode_shlibpath_var=no
     11291      ;;
     11292
     11293    newsos6)
     11294      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     11295      hardcode_direct=yes
     11296      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     11297      hardcode_libdir_separator=:
     11298      hardcode_shlibpath_var=no
     11299      ;;
     11300
     11301    *nto* | *qnx*)
     11302      ;;
     11303
     11304    openbsd* | bitrig*)
     11305      if test -f /usr/libexec/ld.so; then
     11306        hardcode_direct=yes
     11307        hardcode_shlibpath_var=no
     11308        hardcode_direct_absolute=yes
     11309        if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
     11310          archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
     11311          archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
     11312          hardcode_libdir_flag_spec='$wl-rpath,$libdir'
     11313          export_dynamic_flag_spec='$wl-E'
     11314        else
     11315          archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
     11316          hardcode_libdir_flag_spec='$wl-rpath,$libdir'
     11317        fi
     11318      else
     11319        ld_shlibs=no
     11320      fi
     11321      ;;
     11322
     11323    os2*)
     11324      hardcode_libdir_flag_spec='-L$libdir'
     11325      hardcode_minus_L=yes
     11326      allow_undefined_flag=unsupported
     11327      shrext_cmds=.dll
     11328      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     11329        $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     11330        $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     11331        $ECHO EXPORTS >> $output_objdir/$libname.def~
     11332        emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
     11333        $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     11334        emximp -o $lib $output_objdir/$libname.def'
     11335      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     11336        $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     11337        $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     11338        $ECHO EXPORTS >> $output_objdir/$libname.def~
     11339        prefix_cmds="$SED"~
     11340        if test EXPORTS = "`$SED 1q $export_symbols`"; then
     11341          prefix_cmds="$prefix_cmds -e 1d";
     11342        fi~
     11343        prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
     11344        cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
     11345        $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     11346        emximp -o $lib $output_objdir/$libname.def'
     11347      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
     11348      enable_shared_with_static_runtimes=yes
     11349      ;;
     11350
     11351    osf3*)
     11352      if test yes = "$GCC"; then
     11353        allow_undefined_flag=' $wl-expect_unresolved $wl\*'
     11354        archive_cmds='$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'
     11355      else
     11356        allow_undefined_flag=' -expect_unresolved \*'
     11357        archive_cmds='$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'
     11358      fi
     11359      archive_cmds_need_lc='no'
     11360      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     11361      hardcode_libdir_separator=:
     11362      ;;
     11363
     11364    osf4* | osf5*)      # as osf3* with the addition of -msym flag
     11365      if test yes = "$GCC"; then
     11366        allow_undefined_flag=' $wl-expect_unresolved $wl\*'
     11367        archive_cmds='$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'
     11368        hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     11369      else
     11370        allow_undefined_flag=' -expect_unresolved \*'
     11371        archive_cmds='$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'
     11372        archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
     11373          $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'
     11374
     11375        # Both c and cxx compiler support -rpath directly
     11376        hardcode_libdir_flag_spec='-rpath $libdir'
     11377      fi
     11378      archive_cmds_need_lc='no'
     11379      hardcode_libdir_separator=:
     11380      ;;
     11381
     11382    solaris*)
     11383      no_undefined_flag=' -z defs'
     11384      if test yes = "$GCC"; then
     11385        wlarc='$wl'
     11386        archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
     11387        archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     11388          $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'
     11389      else
     11390        case `$CC -V 2>&1` in
     11391        *"Compilers 5.0"*)
     11392          wlarc=''
     11393          archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
     11394          archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     11395            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
     11396          ;;
     11397        *)
     11398          wlarc='$wl'
     11399          archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
     11400          archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     11401            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
     11402          ;;
     11403        esac
     11404      fi
     11405      hardcode_libdir_flag_spec='-R$libdir'
     11406      hardcode_shlibpath_var=no
     11407      case $host_os in
     11408      solaris2.[0-5] | solaris2.[0-5].*) ;;
     11409      *)
     11410        # The compiler driver will combine and reorder linker options,
     11411        # but understands '-z linker_flag'.  GCC discards it without '$wl',
     11412        # but is careful enough not to reorder.
     11413        # Supported since Solaris 2.6 (maybe 2.5.1?)
     11414        if test yes = "$GCC"; then
     11415          whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
     11416        else
     11417          whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
     11418        fi
     11419        ;;
     11420      esac
     11421      link_all_deplibs=yes
     11422      ;;
     11423
     11424    sunos4*)
     11425      if test sequent = "$host_vendor"; then
     11426        # Use $CC to link under sequent, because it throws in some extra .o
     11427        # files that make .init and .fini sections work.
     11428        archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
     11429      else
     11430        archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
     11431      fi
     11432      hardcode_libdir_flag_spec='-L$libdir'
     11433      hardcode_direct=yes
     11434      hardcode_minus_L=yes
     11435      hardcode_shlibpath_var=no
     11436      ;;
     11437
     11438    sysv4)
     11439      case $host_vendor in
     11440        sni)
     11441          archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     11442          hardcode_direct=yes # is this really true???
     11443        ;;
     11444        siemens)
     11445          ## LD is ld it makes a PLAMLIB
     11446          ## CC just makes a GrossModule.
     11447          archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
     11448          reload_cmds='$CC -r -o $output$reload_objs'
     11449          hardcode_direct=no
     11450        ;;
     11451        motorola)
     11452          archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     11453          hardcode_direct=no #Motorola manual says yes, but my tests say they lie
     11454        ;;
     11455      esac
     11456      runpath_var='LD_RUN_PATH'
     11457      hardcode_shlibpath_var=no
     11458      ;;
     11459
     11460    sysv4.3*)
     11461      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     11462      hardcode_shlibpath_var=no
     11463      export_dynamic_flag_spec='-Bexport'
     11464      ;;
     11465
     11466    sysv4*MP*)
     11467      if test -d /usr/nec; then
     11468        archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     11469        hardcode_shlibpath_var=no
     11470        runpath_var=LD_RUN_PATH
     11471        hardcode_runpath_var=yes
     11472        ld_shlibs=yes
     11473      fi
     11474      ;;
     11475
     11476    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
     11477      no_undefined_flag='$wl-z,text'
     11478      archive_cmds_need_lc=no
     11479      hardcode_shlibpath_var=no
     11480      runpath_var='LD_RUN_PATH'
     11481
     11482      if test yes = "$GCC"; then
     11483        archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     11484        archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     11485      else
     11486        archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     11487        archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     11488      fi
     11489      ;;
     11490
     11491    sysv5* | sco3.2v5* | sco5v6*)
     11492      # Note: We CANNOT use -z defs as we might desire, because we do not
     11493      # link with -lc, and that would cause any symbols used from libc to
     11494      # always be unresolved, which means just about no library would
     11495      # ever link correctly.  If we're not using GNU ld we use -z text
     11496      # though, which does catch some bad symbols but isn't as heavy-handed
     11497      # as -z defs.
     11498      no_undefined_flag='$wl-z,text'
     11499      allow_undefined_flag='$wl-z,nodefs'
     11500      archive_cmds_need_lc=no
     11501      hardcode_shlibpath_var=no
     11502      hardcode_libdir_flag_spec='$wl-R,$libdir'
     11503      hardcode_libdir_separator=':'
     11504      link_all_deplibs=yes
     11505      export_dynamic_flag_spec='$wl-Bexport'
     11506      runpath_var='LD_RUN_PATH'
     11507
     11508      if test yes = "$GCC"; then
     11509        archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     11510        archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     11511      else
     11512        archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     11513        archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     11514      fi
     11515      ;;
     11516
     11517    uts4*)
     11518      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     11519      hardcode_libdir_flag_spec='-L$libdir'
     11520      hardcode_shlibpath_var=no
     11521      ;;
     11522
     11523    *)
     11524      ld_shlibs=no
     11525      ;;
     11526    esac
     11527
     11528    if test sni = "$host_vendor"; then
     11529      case $host in
     11530      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
     11531        export_dynamic_flag_spec='$wl-Blargedynsym'
     11532        ;;
     11533      esac
     11534    fi
     11535  fi
     11536
     11537{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
     11538$as_echo "$ld_shlibs" >&6; }
     11539test no = "$ld_shlibs" && can_build_shared=no
     11540
     11541with_gnu_ld=$with_gnu_ld
     11542
     11543
     11544
     11545
     11546
     11547
     11548
     11549
     11550
     11551
     11552
     11553
     11554
     11555
     11556
     11557#
     11558# Do we need to explicitly link libc?
     11559#
     11560case "x$archive_cmds_need_lc" in
     11561x|xyes)
     11562  # Assume -lc should be added
     11563  archive_cmds_need_lc=yes
     11564
     11565  if test yes,yes = "$GCC,$enable_shared"; then
     11566    case $archive_cmds in
     11567    *'~'*)
     11568      # FIXME: we may have to deal with multi-command sequences.
     11569      ;;
     11570    '$CC '*)
     11571      # Test whether the compiler implicitly links with -lc since on some
     11572      # systems, -lgcc has to come before -lc. If gcc already passes -lc
     11573      # to ld, don't add -lc before -lgcc.
     11574      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
     11575$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
     11576if ${lt_cv_archive_cmds_need_lc+:} false; then :
     11577  $as_echo_n "(cached) " >&6
     11578else
     11579  $RM conftest*
     11580        echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     11581
     11582        if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     11583  (eval $ac_compile) 2>&5
     11584  ac_status=$?
     11585  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     11586  test $ac_status = 0; } 2>conftest.err; then
     11587          soname=conftest
     11588          lib=conftest
     11589          libobjs=conftest.$ac_objext
     11590          deplibs=
     11591          wl=$lt_prog_compiler_wl
     11592          pic_flag=$lt_prog_compiler_pic
     11593          compiler_flags=-v
     11594          linker_flags=-v
     11595          verstring=
     11596          output_objdir=.
     11597          libname=conftest
     11598          lt_save_allow_undefined_flag=$allow_undefined_flag
     11599          allow_undefined_flag=
     11600          if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
     11601  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
     11602  ac_status=$?
     11603  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     11604  test $ac_status = 0; }
     11605          then
     11606            lt_cv_archive_cmds_need_lc=no
     11607          else
     11608            lt_cv_archive_cmds_need_lc=yes
     11609          fi
     11610          allow_undefined_flag=$lt_save_allow_undefined_flag
     11611        else
     11612          cat conftest.err 1>&5
     11613        fi
     11614        $RM conftest*
     11615
     11616fi
     11617{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
     11618$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
     11619      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
     11620      ;;
     11621    esac
     11622  fi
     11623  ;;
     11624esac
     11625
     11626
     11627
     11628
     11629
     11630
     11631
     11632
     11633
     11634
     11635
     11636
     11637
     11638
     11639
     11640
     11641
     11642
     11643
     11644
     11645
     11646
     11647
     11648
     11649
     11650
     11651
     11652
     11653
     11654
     11655
     11656
     11657
     11658
     11659
     11660
     11661
     11662
     11663
     11664
     11665
     11666
     11667
     11668
     11669
     11670
     11671
     11672
     11673
     11674
     11675
     11676
     11677
     11678
     11679
     11680
     11681
     11682
     11683
     11684
     11685
     11686
     11687
     11688
     11689
     11690
     11691
     11692
     11693
     11694
     11695
     11696
     11697
     11698
     11699
     11700
     11701
     11702
     11703
     11704
     11705
     11706
     11707
     11708
     11709
     11710
     11711
     11712
     11713
     11714
     11715
     11716
     11717
     11718
     11719
     11720
     11721
     11722
     11723
     11724
     11725
     11726
     11727
     11728
     11729
     11730
     11731
     11732
     11733
     11734
     11735
     11736
     11737
     11738
     11739
     11740
     11741
     11742
     11743
     11744
     11745
     11746
     11747
     11748
     11749
     11750
     11751
     11752
     11753
     11754
     11755
     11756
     11757
     11758
     11759
     11760
     11761
     11762
     11763
     11764
     11765
     11766
     11767
     11768
     11769
     11770
     11771
     11772
     11773
     11774
     11775
     11776
     11777  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
     11778$as_echo_n "checking dynamic linker characteristics... " >&6; }
     11779
     11780if test yes = "$GCC"; then
     11781  case $host_os in
     11782    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
     11783    *) lt_awk_arg='/^libraries:/' ;;
     11784  esac
     11785  case $host_os in
     11786    mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
     11787    *) lt_sed_strip_eq='s|=/|/|g' ;;
     11788  esac
     11789  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
     11790  case $lt_search_path_spec in
     11791  *\;*)
     11792    # if the path contains ";" then we assume it to be the separator
     11793    # otherwise default to the standard path separator (i.e. ":") - it is
     11794    # assumed that no part of a normal pathname contains ";" but that should
     11795    # okay in the real world where ";" in dirpaths is itself problematic.
     11796    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
     11797    ;;
     11798  *)
     11799    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
     11800    ;;
     11801  esac
     11802  # Ok, now we have the path, separated by spaces, we can step through it
     11803  # and add multilib dir if necessary...
     11804  lt_tmp_lt_search_path_spec=
     11805  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
     11806  # ...but if some path component already ends with the multilib dir we assume
     11807  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
     11808  case "$lt_multi_os_dir; $lt_search_path_spec " in
     11809  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
     11810    lt_multi_os_dir=
     11811    ;;
     11812  esac
     11813  for lt_sys_path in $lt_search_path_spec; do
     11814    if test -d "$lt_sys_path$lt_multi_os_dir"; then
     11815      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
     11816    elif test -n "$lt_multi_os_dir"; then
     11817      test -d "$lt_sys_path" && \
     11818        lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
     11819    fi
     11820  done
     11821  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
     11822BEGIN {RS = " "; FS = "/|\n";} {
     11823  lt_foo = "";
     11824  lt_count = 0;
     11825  for (lt_i = NF; lt_i > 0; lt_i--) {
     11826    if ($lt_i != "" && $lt_i != ".") {
     11827      if ($lt_i == "..") {
     11828        lt_count++;
     11829      } else {
     11830        if (lt_count == 0) {
     11831          lt_foo = "/" $lt_i lt_foo;
     11832        } else {
     11833          lt_count--;
     11834        }
     11835      }
     11836    }
     11837  }
     11838  if (lt_foo != "") { lt_freq[lt_foo]++; }
     11839  if (lt_freq[lt_foo] == 1) { print lt_foo; }
     11840}'`
     11841  # AWK program above erroneously prepends '/' to C:/dos/paths
     11842  # for these hosts.
     11843  case $host_os in
     11844    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
     11845      $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
     11846  esac
     11847  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
     11848else
     11849  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
     11850fi
     11851library_names_spec=
     11852libname_spec='lib$name'
     11853soname_spec=
     11854shrext_cmds=.so
     11855postinstall_cmds=
     11856postuninstall_cmds=
     11857finish_cmds=
     11858finish_eval=
     11859shlibpath_var=
     11860shlibpath_overrides_runpath=unknown
     11861version_type=none
     11862dynamic_linker="$host_os ld.so"
     11863sys_lib_dlsearch_path_spec="/lib /usr/lib"
     11864need_lib_prefix=unknown
     11865hardcode_into_libs=no
     11866
     11867# when you set need_version to no, make sure it does not cause -set_version
     11868# flags to be left without arguments
     11869need_version=unknown
     11870
     11871
     11872
     11873case $host_os in
     11874aix3*)
     11875  version_type=linux # correct to gnu/linux during the next big refactor
     11876  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
     11877  shlibpath_var=LIBPATH
     11878
     11879  # AIX 3 has no versioning support, so we append a major version to the name.
     11880  soname_spec='$libname$release$shared_ext$major'
     11881  ;;
     11882
     11883aix[4-9]*)
     11884  version_type=linux # correct to gnu/linux during the next big refactor
     11885  need_lib_prefix=no
     11886  need_version=no
     11887  hardcode_into_libs=yes
     11888  if test ia64 = "$host_cpu"; then
     11889    # AIX 5 supports IA64
     11890    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
     11891    shlibpath_var=LD_LIBRARY_PATH
     11892  else
     11893    # With GCC up to 2.95.x, collect2 would create an import file
     11894    # for dependence libraries.  The import file would start with
     11895    # the line '#! .'.  This would cause the generated library to
     11896    # depend on '.', always an invalid library.  This was fixed in
     11897    # development snapshots of GCC prior to 3.0.
     11898    case $host_os in
     11899      aix4 | aix4.[01] | aix4.[01].*)
     11900      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
     11901           echo ' yes '
     11902           echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
     11903        :
     11904      else
     11905        can_build_shared=no
     11906      fi
     11907      ;;
     11908    esac
     11909    # Using Import Files as archive members, it is possible to support
     11910    # filename-based versioning of shared library archives on AIX. While
     11911    # this would work for both with and without runtime linking, it will
     11912    # prevent static linking of such archives. So we do filename-based
     11913    # shared library versioning with .so extension only, which is used
     11914    # when both runtime linking and shared linking is enabled.
     11915    # Unfortunately, runtime linking may impact performance, so we do
     11916    # not want this to be the default eventually. Also, we use the
     11917    # versioned .so libs for executables only if there is the -brtl
     11918    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
     11919    # To allow for filename-based versioning support, we need to create
     11920    # libNAME.so.V as an archive file, containing:
     11921    # *) an Import File, referring to the versioned filename of the
     11922    #    archive as well as the shared archive member, telling the
     11923    #    bitwidth (32 or 64) of that shared object, and providing the
     11924    #    list of exported symbols of that shared object, eventually
     11925    #    decorated with the 'weak' keyword
     11926    # *) the shared object with the F_LOADONLY flag set, to really avoid
     11927    #    it being seen by the linker.
     11928    # At run time we better use the real file rather than another symlink,
     11929    # but for link time we create the symlink libNAME.so -> libNAME.so.V
     11930
     11931    case $with_aix_soname,$aix_use_runtimelinking in
     11932    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
     11933    # soname into executable. Probably we can add versioning support to
     11934    # collect2, so additional links can be useful in future.
     11935    aix,yes) # traditional libtool
     11936      dynamic_linker='AIX unversionable lib.so'
     11937      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
     11938      # instead of lib<name>.a to let people know that these are not
     11939      # typical AIX shared libraries.
     11940      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     11941      ;;
     11942    aix,no) # traditional AIX only
     11943      dynamic_linker='AIX lib.a(lib.so.V)'
     11944      # We preserve .a as extension for shared libraries through AIX4.2
     11945      # and later when we are not doing run time linking.
     11946      library_names_spec='$libname$release.a $libname.a'
     11947      soname_spec='$libname$release$shared_ext$major'
     11948      ;;
     11949    svr4,*) # full svr4 only
     11950      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
     11951      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
     11952      # We do not specify a path in Import Files, so LIBPATH fires.
     11953      shlibpath_overrides_runpath=yes
     11954      ;;
     11955    *,yes) # both, prefer svr4
     11956      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
     11957      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
     11958      # unpreferred sharedlib libNAME.a needs extra handling
     11959      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
     11960      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
     11961      # We do not specify a path in Import Files, so LIBPATH fires.
     11962      shlibpath_overrides_runpath=yes
     11963      ;;
     11964    *,no) # both, prefer aix
     11965      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
     11966      library_names_spec='$libname$release.a $libname.a'
     11967      soname_spec='$libname$release$shared_ext$major'
     11968      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
     11969      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
     11970      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
     11971      ;;
     11972    esac
     11973    shlibpath_var=LIBPATH
     11974  fi
     11975  ;;
     11976
     11977amigaos*)
     11978  case $host_cpu in
     11979  powerpc)
     11980    # Since July 2007 AmigaOS4 officially supports .so libraries.
     11981    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
     11982    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     11983    ;;
     11984  m68k)
     11985    library_names_spec='$libname.ixlibrary $libname.a'
     11986    # Create ${libname}_ixlibrary.a entries in /sys/libs.
     11987    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $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'
     11988    ;;
     11989  esac
     11990  ;;
     11991
     11992beos*)
     11993  library_names_spec='$libname$shared_ext'
     11994  dynamic_linker="$host_os ld.so"
     11995  shlibpath_var=LIBRARY_PATH
     11996  ;;
     11997
     11998bsdi[45]*)
     11999  version_type=linux # correct to gnu/linux during the next big refactor
     12000  need_version=no
     12001  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12002  soname_spec='$libname$release$shared_ext$major'
     12003  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
     12004  shlibpath_var=LD_LIBRARY_PATH
     12005  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
     12006  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
     12007  # the default ld.so.conf also contains /usr/contrib/lib and
     12008  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
     12009  # libtool to hard-code these into programs
     12010  ;;
     12011
     12012cygwin* | mingw* | pw32* | cegcc*)
     12013  version_type=windows
     12014  shrext_cmds=.dll
     12015  need_version=no
     12016  need_lib_prefix=no
     12017
     12018  case $GCC,$cc_basename in
     12019  yes,*)
     12020    # gcc
     12021    library_names_spec='$libname.dll.a'
     12022    # DLL is installed to $(libdir)/../bin by postinstall_cmds
     12023    postinstall_cmds='base_file=`basename \$file`~
     12024      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
     12025      dldir=$destdir/`dirname \$dlpath`~
     12026      test -d \$dldir || mkdir -p \$dldir~
     12027      $install_prog $dir/$dlname \$dldir/$dlname~
     12028      chmod a+x \$dldir/$dlname~
     12029      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
     12030        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
     12031      fi'
     12032    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
     12033      dlpath=$dir/\$dldll~
     12034       $RM \$dlpath'
     12035    shlibpath_overrides_runpath=yes
     12036
     12037    case $host_os in
     12038    cygwin*)
     12039      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
     12040      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     12041
     12042      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
     12043      ;;
     12044    mingw* | cegcc*)
     12045      # MinGW DLLs use traditional 'lib' prefix
     12046      soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     12047      ;;
     12048    pw32*)
     12049      # pw32 DLLs use 'pw' prefix rather than 'lib'
     12050      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     12051      ;;
     12052    esac
     12053    dynamic_linker='Win32 ld.exe'
     12054    ;;
     12055
     12056  *,cl*)
     12057    # Native MSVC
     12058    libname_spec='$name'
     12059    soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     12060    library_names_spec='$libname.dll.lib'
     12061
     12062    case $build_os in
     12063    mingw*)
     12064      sys_lib_search_path_spec=
     12065      lt_save_ifs=$IFS
     12066      IFS=';'
     12067      for lt_path in $LIB
     12068      do
     12069        IFS=$lt_save_ifs
     12070        # Let DOS variable expansion print the short 8.3 style file name.
     12071        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
     12072        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
     12073      done
     12074      IFS=$lt_save_ifs
     12075      # Convert to MSYS style.
     12076      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
     12077      ;;
     12078    cygwin*)
     12079      # Convert to unix form, then to dos form, then back to unix form
     12080      # but this time dos style (no spaces!) so that the unix form looks
     12081      # like /cygdrive/c/PROGRA~1:/cygdr...
     12082      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
     12083      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
     12084      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
     12085      ;;
     12086    *)
     12087      sys_lib_search_path_spec=$LIB
     12088      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
     12089        # It is most probably a Windows format PATH.
     12090        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
     12091      else
     12092        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
     12093      fi
     12094      # FIXME: find the short name or the path components, as spaces are
     12095      # common. (e.g. "Program Files" -> "PROGRA~1")
     12096      ;;
     12097    esac
     12098
     12099    # DLL is installed to $(libdir)/../bin by postinstall_cmds
     12100    postinstall_cmds='base_file=`basename \$file`~
     12101      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
     12102      dldir=$destdir/`dirname \$dlpath`~
     12103      test -d \$dldir || mkdir -p \$dldir~
     12104      $install_prog $dir/$dlname \$dldir/$dlname'
     12105    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
     12106      dlpath=$dir/\$dldll~
     12107       $RM \$dlpath'
     12108    shlibpath_overrides_runpath=yes
     12109    dynamic_linker='Win32 link.exe'
     12110    ;;
     12111
     12112  *)
     12113    # Assume MSVC wrapper
     12114    library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
     12115    dynamic_linker='Win32 ld.exe'
     12116    ;;
     12117  esac
     12118  # FIXME: first we should search . and the directory the executable is in
     12119  shlibpath_var=PATH
     12120  ;;
     12121
     12122darwin* | rhapsody*)
     12123  dynamic_linker="$host_os dyld"
     12124  version_type=darwin
     12125  need_lib_prefix=no
     12126  need_version=no
     12127  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
     12128  soname_spec='$libname$release$major$shared_ext'
     12129  shlibpath_overrides_runpath=yes
     12130  shlibpath_var=DYLD_LIBRARY_PATH
     12131  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
     12132
     12133  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
     12134  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
     12135  ;;
     12136
     12137dgux*)
     12138  version_type=linux # correct to gnu/linux during the next big refactor
     12139  need_lib_prefix=no
     12140  need_version=no
     12141  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12142  soname_spec='$libname$release$shared_ext$major'
     12143  shlibpath_var=LD_LIBRARY_PATH
     12144  ;;
     12145
     12146freebsd* | dragonfly*)
     12147  # DragonFly does not have aout.  When/if they implement a new
     12148  # versioning mechanism, adjust this.
     12149  if test -x /usr/bin/objformat; then
     12150    objformat=`/usr/bin/objformat`
     12151  else
     12152    case $host_os in
     12153    freebsd[23].*) objformat=aout ;;
     12154    *) objformat=elf ;;
     12155    esac
     12156  fi
     12157  version_type=freebsd-$objformat
     12158  case $version_type in
     12159    freebsd-elf*)
     12160      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12161      soname_spec='$libname$release$shared_ext$major'
     12162      need_version=no
     12163      need_lib_prefix=no
     12164      ;;
     12165    freebsd-*)
     12166      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     12167      need_version=yes
     12168      ;;
     12169  esac
     12170  shlibpath_var=LD_LIBRARY_PATH
     12171  case $host_os in
     12172  freebsd2.*)
     12173    shlibpath_overrides_runpath=yes
     12174    ;;
     12175  freebsd3.[01]* | freebsdelf3.[01]*)
     12176    shlibpath_overrides_runpath=yes
     12177    hardcode_into_libs=yes
     12178    ;;
     12179  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
     12180  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
     12181    shlibpath_overrides_runpath=no
     12182    hardcode_into_libs=yes
     12183    ;;
     12184  *) # from 4.6 on, and DragonFly
     12185    shlibpath_overrides_runpath=yes
     12186    hardcode_into_libs=yes
     12187    ;;
     12188  esac
     12189  ;;
     12190
     12191haiku*)
     12192  version_type=linux # correct to gnu/linux during the next big refactor
     12193  need_lib_prefix=no
     12194  need_version=no
     12195  dynamic_linker="$host_os runtime_loader"
     12196  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12197  soname_spec='$libname$release$shared_ext$major'
     12198  shlibpath_var=LIBRARY_PATH
     12199  shlibpath_overrides_runpath=no
     12200  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
     12201  hardcode_into_libs=yes
     12202  ;;
     12203
     12204hpux9* | hpux10* | hpux11*)
     12205  # Give a soname corresponding to the major version so that dld.sl refuses to
     12206  # link against other versions.
     12207  version_type=sunos
     12208  need_lib_prefix=no
     12209  need_version=no
     12210  case $host_cpu in
     12211  ia64*)
     12212    shrext_cmds='.so'
     12213    hardcode_into_libs=yes
     12214    dynamic_linker="$host_os dld.so"
     12215    shlibpath_var=LD_LIBRARY_PATH
     12216    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
     12217    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12218    soname_spec='$libname$release$shared_ext$major'
     12219    if test 32 = "$HPUX_IA64_MODE"; then
     12220      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
     12221      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
     12222    else
     12223      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
     12224      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
     12225    fi
     12226    ;;
     12227  hppa*64*)
     12228    shrext_cmds='.sl'
     12229    hardcode_into_libs=yes
     12230    dynamic_linker="$host_os dld.sl"
     12231    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
     12232    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
     12233    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12234    soname_spec='$libname$release$shared_ext$major'
     12235    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
     12236    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     12237    ;;
     12238  *)
     12239    shrext_cmds='.sl'
     12240    dynamic_linker="$host_os dld.sl"
     12241    shlibpath_var=SHLIB_PATH
     12242    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
     12243    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12244    soname_spec='$libname$release$shared_ext$major'
     12245    ;;
     12246  esac
     12247  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
     12248  postinstall_cmds='chmod 555 $lib'
     12249  # or fails outright, so override atomically:
     12250  install_override_mode=555
     12251  ;;
     12252
     12253interix[3-9]*)
     12254  version_type=linux # correct to gnu/linux during the next big refactor
     12255  need_lib_prefix=no
     12256  need_version=no
     12257  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12258  soname_spec='$libname$release$shared_ext$major'
     12259  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
     12260  shlibpath_var=LD_LIBRARY_PATH
     12261  shlibpath_overrides_runpath=no
     12262  hardcode_into_libs=yes
     12263  ;;
     12264
     12265irix5* | irix6* | nonstopux*)
     12266  case $host_os in
     12267    nonstopux*) version_type=nonstopux ;;
     12268    *)
     12269        if test yes = "$lt_cv_prog_gnu_ld"; then
     12270                version_type=linux # correct to gnu/linux during the next big refactor
     12271        else
     12272                version_type=irix
     12273        fi ;;
     12274  esac
     12275  need_lib_prefix=no
     12276  need_version=no
     12277  soname_spec='$libname$release$shared_ext$major'
     12278  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
     12279  case $host_os in
     12280  irix5* | nonstopux*)
     12281    libsuff= shlibsuff=
     12282    ;;
     12283  *)
     12284    case $LD in # libtool.m4 will add one of these switches to LD
     12285    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
     12286      libsuff= shlibsuff= libmagic=32-bit;;
     12287    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
     12288      libsuff=32 shlibsuff=N32 libmagic=N32;;
     12289    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
     12290      libsuff=64 shlibsuff=64 libmagic=64-bit;;
     12291    *) libsuff= shlibsuff= libmagic=never-match;;
     12292    esac
     12293    ;;
     12294  esac
     12295  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
     12296  shlibpath_overrides_runpath=no
     12297  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
     12298  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
     12299  hardcode_into_libs=yes
     12300  ;;
     12301
     12302# No shared lib support for Linux oldld, aout, or coff.
     12303linux*oldld* | linux*aout* | linux*coff*)
     12304  dynamic_linker=no
     12305  ;;
     12306
     12307linux*android*)
     12308  version_type=none # Android doesn't support versioned libraries.
     12309  need_lib_prefix=no
     12310  need_version=no
     12311  library_names_spec='$libname$release$shared_ext'
     12312  soname_spec='$libname$release$shared_ext'
     12313  finish_cmds=
     12314  shlibpath_var=LD_LIBRARY_PATH
     12315  shlibpath_overrides_runpath=yes
     12316
     12317  # This implies no fast_install, which is unacceptable.
     12318  # Some rework will be needed to allow for fast_install
     12319  # before this can be enabled.
     12320  hardcode_into_libs=yes
     12321
     12322  dynamic_linker='Android linker'
     12323  # Don't embed -rpath directories since the linker doesn't support them.
     12324  hardcode_libdir_flag_spec='-L$libdir'
     12325  ;;
     12326
     12327# This must be glibc/ELF.
     12328linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     12329  version_type=linux # correct to gnu/linux during the next big refactor
     12330  need_lib_prefix=no
     12331  need_version=no
     12332  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12333  soname_spec='$libname$release$shared_ext$major'
     12334  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
     12335  shlibpath_var=LD_LIBRARY_PATH
     12336  shlibpath_overrides_runpath=no
     12337
     12338  # Some binutils ld are patched to set DT_RUNPATH
     12339  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
     12340  $as_echo_n "(cached) " >&6
     12341else
     12342  lt_cv_shlibpath_overrides_runpath=no
     12343    save_LDFLAGS=$LDFLAGS
     12344    save_libdir=$libdir
     12345    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
     12346         LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
     12347    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     12348/* end confdefs.h.  */
     12349
     12350int
     12351main ()
     12352{
     12353
     12354  ;
     12355  return 0;
     12356}
     12357_ACEOF
     12358if ac_fn_c_try_link "$LINENO"; then :
     12359  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
     12360  lt_cv_shlibpath_overrides_runpath=yes
     12361fi
     12362fi
     12363rm -f core conftest.err conftest.$ac_objext \
     12364    conftest$ac_exeext conftest.$ac_ext
     12365    LDFLAGS=$save_LDFLAGS
     12366    libdir=$save_libdir
     12367
     12368fi
     12369
     12370  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
     12371
     12372  # This implies no fast_install, which is unacceptable.
     12373  # Some rework will be needed to allow for fast_install
     12374  # before this can be enabled.
     12375  hardcode_into_libs=yes
     12376
     12377  # Ideally, we could use ldconfig to report *all* directores which are
     12378  # searched for libraries, however this is still not possible.  Aside from not
     12379  # being certain /sbin/ldconfig is available, command
     12380  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
     12381  # even though it is searched at run-time.  Try to do the best guess by
     12382  # appending ld.so.conf contents (and includes) to the search path.
     12383  if test -f /etc/ld.so.conf; then
     12384    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' ' '`
     12385    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
     12386  fi
     12387
     12388  # We used to test for /lib/ld.so.1 and disable shared libraries on
     12389  # powerpc, because MkLinux only supported shared libraries with the
     12390  # GNU dynamic linker.  Since this was broken with cross compilers,
     12391  # most powerpc-linux boxes support dynamic linking these days and
     12392  # people can always --disable-shared, the test was removed, and we
     12393  # assume the GNU/Linux dynamic linker is in use.
     12394  dynamic_linker='GNU/Linux ld.so'
     12395  ;;
     12396
     12397netbsdelf*-gnu)
     12398  version_type=linux
     12399  need_lib_prefix=no
     12400  need_version=no
     12401  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
     12402  soname_spec='${libname}${release}${shared_ext}$major'
     12403  shlibpath_var=LD_LIBRARY_PATH
     12404  shlibpath_overrides_runpath=no
     12405  hardcode_into_libs=yes
     12406  dynamic_linker='NetBSD ld.elf_so'
     12407  ;;
     12408
     12409netbsd*)
     12410  version_type=sunos
     12411  need_lib_prefix=no
     12412  need_version=no
     12413  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
     12414    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     12415    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     12416    dynamic_linker='NetBSD (a.out) ld.so'
     12417  else
     12418    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12419    soname_spec='$libname$release$shared_ext$major'
     12420    dynamic_linker='NetBSD ld.elf_so'
     12421  fi
     12422  shlibpath_var=LD_LIBRARY_PATH
     12423  shlibpath_overrides_runpath=yes
     12424  hardcode_into_libs=yes
     12425  ;;
     12426
     12427newsos6)
     12428  version_type=linux # correct to gnu/linux during the next big refactor
     12429  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12430  shlibpath_var=LD_LIBRARY_PATH
     12431  shlibpath_overrides_runpath=yes
     12432  ;;
     12433
     12434*nto* | *qnx*)
     12435  version_type=qnx
     12436  need_lib_prefix=no
     12437  need_version=no
     12438  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12439  soname_spec='$libname$release$shared_ext$major'
     12440  shlibpath_var=LD_LIBRARY_PATH
     12441  shlibpath_overrides_runpath=no
     12442  hardcode_into_libs=yes
     12443  dynamic_linker='ldqnx.so'
     12444  ;;
     12445
     12446openbsd* | bitrig*)
     12447  version_type=sunos
     12448  sys_lib_dlsearch_path_spec=/usr/lib
     12449  need_lib_prefix=no
     12450  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
     12451    need_version=no
     12452  else
     12453    need_version=yes
     12454  fi
     12455  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     12456  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     12457  shlibpath_var=LD_LIBRARY_PATH
     12458  shlibpath_overrides_runpath=yes
     12459  ;;
     12460
     12461os2*)
     12462  libname_spec='$name'
     12463  version_type=windows
     12464  shrext_cmds=.dll
     12465  need_version=no
     12466  need_lib_prefix=no
     12467  # OS/2 can only load a DLL with a base name of 8 characters or less.
     12468  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
     12469    v=$($ECHO $release$versuffix | tr -d .-);
     12470    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
     12471    $ECHO $n$v`$shared_ext'
     12472  library_names_spec='${libname}_dll.$libext'
     12473  dynamic_linker='OS/2 ld.exe'
     12474  shlibpath_var=BEGINLIBPATH
     12475  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
     12476  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     12477  postinstall_cmds='base_file=`basename \$file`~
     12478    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
     12479    dldir=$destdir/`dirname \$dlpath`~
     12480    test -d \$dldir || mkdir -p \$dldir~
     12481    $install_prog $dir/$dlname \$dldir/$dlname~
     12482    chmod a+x \$dldir/$dlname~
     12483    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
     12484      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
     12485    fi'
     12486  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
     12487    dlpath=$dir/\$dldll~
     12488    $RM \$dlpath'
     12489  ;;
     12490
     12491osf3* | osf4* | osf5*)
     12492  version_type=osf
     12493  need_lib_prefix=no
     12494  need_version=no
     12495  soname_spec='$libname$release$shared_ext$major'
     12496  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12497  shlibpath_var=LD_LIBRARY_PATH
     12498  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
     12499  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     12500  ;;
     12501
     12502rdos*)
     12503  dynamic_linker=no
     12504  ;;
     12505
     12506solaris*)
     12507  version_type=linux # correct to gnu/linux during the next big refactor
     12508  need_lib_prefix=no
     12509  need_version=no
     12510  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12511  soname_spec='$libname$release$shared_ext$major'
     12512  shlibpath_var=LD_LIBRARY_PATH
     12513  shlibpath_overrides_runpath=yes
     12514  hardcode_into_libs=yes
     12515  # ldd complains unless libraries are executable
     12516  postinstall_cmds='chmod +x $lib'
     12517  ;;
     12518
     12519sunos4*)
     12520  version_type=sunos
     12521  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     12522  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
     12523  shlibpath_var=LD_LIBRARY_PATH
     12524  shlibpath_overrides_runpath=yes
     12525  if test yes = "$with_gnu_ld"; then
     12526    need_lib_prefix=no
     12527  fi
     12528  need_version=yes
     12529  ;;
     12530
     12531sysv4 | sysv4.3*)
     12532  version_type=linux # correct to gnu/linux during the next big refactor
     12533  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12534  soname_spec='$libname$release$shared_ext$major'
     12535  shlibpath_var=LD_LIBRARY_PATH
     12536  case $host_vendor in
     12537    sni)
     12538      shlibpath_overrides_runpath=no
     12539      need_lib_prefix=no
     12540      runpath_var=LD_RUN_PATH
     12541      ;;
     12542    siemens)
     12543      need_lib_prefix=no
     12544      ;;
     12545    motorola)
     12546      need_lib_prefix=no
     12547      need_version=no
     12548      shlibpath_overrides_runpath=no
     12549      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
     12550      ;;
     12551  esac
     12552  ;;
     12553
     12554sysv4*MP*)
     12555  if test -d /usr/nec; then
     12556    version_type=linux # correct to gnu/linux during the next big refactor
     12557    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
     12558    soname_spec='$libname$shared_ext.$major'
     12559    shlibpath_var=LD_LIBRARY_PATH
     12560  fi
     12561  ;;
     12562
     12563sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
     12564  version_type=sco
     12565  need_lib_prefix=no
     12566  need_version=no
     12567  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
     12568  soname_spec='$libname$release$shared_ext$major'
     12569  shlibpath_var=LD_LIBRARY_PATH
     12570  shlibpath_overrides_runpath=yes
     12571  hardcode_into_libs=yes
     12572  if test yes = "$with_gnu_ld"; then
     12573    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
     12574  else
     12575    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
     12576    case $host_os in
     12577      sco3.2v5*)
     12578        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
     12579        ;;
     12580    esac
     12581  fi
     12582  sys_lib_dlsearch_path_spec='/usr/lib'
     12583  ;;
     12584
     12585tpf*)
     12586  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
     12587  version_type=linux # correct to gnu/linux during the next big refactor
     12588  need_lib_prefix=no
     12589  need_version=no
     12590  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12591  shlibpath_var=LD_LIBRARY_PATH
     12592  shlibpath_overrides_runpath=no
     12593  hardcode_into_libs=yes
     12594  ;;
     12595
     12596uts4*)
     12597  version_type=linux # correct to gnu/linux during the next big refactor
     12598  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12599  soname_spec='$libname$release$shared_ext$major'
     12600  shlibpath_var=LD_LIBRARY_PATH
     12601  ;;
     12602
     12603*)
     12604  dynamic_linker=no
     12605  ;;
     12606esac
     12607{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
     12608$as_echo "$dynamic_linker" >&6; }
     12609test no = "$dynamic_linker" && can_build_shared=no
     12610
     12611variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
     12612if test yes = "$GCC"; then
     12613  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
     12614fi
     12615
     12616if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
     12617  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
     12618fi
     12619
     12620if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
     12621  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
     12622fi
     12623
     12624# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
     12625configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
     12626
     12627# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
     12628func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
     12629
     12630# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
     12631configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
     12632
     12633
     12634
     12635
     12636
     12637
     12638
     12639
     12640
     12641
     12642
     12643
     12644
     12645
     12646
     12647
     12648
     12649
     12650
     12651
     12652
     12653
     12654
     12655
     12656
     12657
     12658
     12659
     12660
     12661
     12662
     12663
     12664
     12665
     12666
     12667
     12668
     12669
     12670
     12671
     12672
     12673
     12674
     12675
     12676
     12677
     12678
     12679
     12680
     12681
     12682
     12683
     12684
     12685
     12686
     12687
     12688
     12689
     12690
     12691
     12692
     12693
     12694
     12695
     12696
     12697
     12698
     12699
     12700
     12701
     12702
     12703
     12704
     12705
     12706
     12707
     12708
     12709
     12710
     12711
     12712
     12713
     12714
     12715
     12716
     12717
     12718
     12719
     12720
     12721
     12722
     12723
     12724
     12725
     12726
     12727
     12728
     12729  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
     12730$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
     12731hardcode_action=
     12732if test -n "$hardcode_libdir_flag_spec" ||
     12733   test -n "$runpath_var" ||
     12734   test yes = "$hardcode_automatic"; then
     12735
     12736  # We can hardcode non-existent directories.
     12737  if test no != "$hardcode_direct" &&
     12738     # If the only mechanism to avoid hardcoding is shlibpath_var, we
     12739     # have to relink, otherwise we might link with an installed library
     12740     # when we should be linking with a yet-to-be-installed one
     12741     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
     12742     test no != "$hardcode_minus_L"; then
     12743    # Linking always hardcodes the temporary library directory.
     12744    hardcode_action=relink
     12745  else
     12746    # We can link without hardcoding, and we can hardcode nonexisting dirs.
     12747    hardcode_action=immediate
     12748  fi
     12749else
     12750  # We cannot hardcode anything, or else we can only hardcode existing
     12751  # directories.
     12752  hardcode_action=unsupported
     12753fi
     12754{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
     12755$as_echo "$hardcode_action" >&6; }
     12756
     12757if test relink = "$hardcode_action" ||
     12758   test yes = "$inherit_rpath"; then
     12759  # Fast installation is not supported
     12760  enable_fast_install=no
     12761elif test yes = "$shlibpath_overrides_runpath" ||
     12762     test no = "$enable_shared"; then
     12763  # Fast installation is not necessary
     12764  enable_fast_install=needless
     12765fi
     12766
     12767
     12768
     12769
     12770
     12771
     12772  if test yes != "$enable_dlopen"; then
     12773  enable_dlopen=unknown
     12774  enable_dlopen_self=unknown
     12775  enable_dlopen_self_static=unknown
     12776else
     12777  lt_cv_dlopen=no
     12778  lt_cv_dlopen_libs=
     12779
     12780  case $host_os in
     12781  beos*)
     12782    lt_cv_dlopen=load_add_on
     12783    lt_cv_dlopen_libs=
     12784    lt_cv_dlopen_self=yes
     12785    ;;
     12786
     12787  mingw* | pw32* | cegcc*)
     12788    lt_cv_dlopen=LoadLibrary
     12789    lt_cv_dlopen_libs=
     12790    ;;
     12791
     12792  cygwin*)
     12793    lt_cv_dlopen=dlopen
     12794    lt_cv_dlopen_libs=
     12795    ;;
     12796
     12797  darwin*)
     12798    # if libdl is installed we need to link against it
     12799    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
     12800$as_echo_n "checking for dlopen in -ldl... " >&6; }
     12801if ${ac_cv_lib_dl_dlopen+:} false; then :
     12802  $as_echo_n "(cached) " >&6
     12803else
     12804  ac_check_lib_save_LIBS=$LIBS
     12805LIBS="-ldl  $LIBS"
     12806cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     12807/* end confdefs.h.  */
     12808
     12809/* Override any GCC internal prototype to avoid an error.
     12810   Use char because int might match the return type of a GCC
     12811   builtin and then its argument prototype would still apply.  */
     12812#ifdef __cplusplus
     12813extern "C"
     12814#endif
     12815char dlopen ();
     12816int
     12817main ()
     12818{
     12819return dlopen ();
     12820  ;
     12821  return 0;
     12822}
     12823_ACEOF
     12824if ac_fn_c_try_link "$LINENO"; then :
     12825  ac_cv_lib_dl_dlopen=yes
     12826else
     12827  ac_cv_lib_dl_dlopen=no
     12828fi
     12829rm -f core conftest.err conftest.$ac_objext \
     12830    conftest$ac_exeext conftest.$ac_ext
     12831LIBS=$ac_check_lib_save_LIBS
     12832fi
     12833{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
     12834$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
     12835if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
     12836  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
     12837else
     12838
     12839    lt_cv_dlopen=dyld
     12840    lt_cv_dlopen_libs=
     12841    lt_cv_dlopen_self=yes
     12842
     12843fi
     12844
     12845    ;;
     12846
     12847  tpf*)
     12848    # Don't try to run any link tests for TPF.  We know it's impossible
     12849    # because TPF is a cross-compiler, and we know how we open DSOs.
     12850    lt_cv_dlopen=dlopen
     12851    lt_cv_dlopen_libs=
     12852    lt_cv_dlopen_self=no
     12853    ;;
     12854
     12855  *)
     12856    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
     12857if test "x$ac_cv_func_shl_load" = xyes; then :
     12858  lt_cv_dlopen=shl_load
     12859else
     12860  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
     12861$as_echo_n "checking for shl_load in -ldld... " >&6; }
     12862if ${ac_cv_lib_dld_shl_load+:} false; then :
     12863  $as_echo_n "(cached) " >&6
     12864else
     12865  ac_check_lib_save_LIBS=$LIBS
     12866LIBS="-ldld  $LIBS"
     12867cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     12868/* end confdefs.h.  */
     12869
     12870/* Override any GCC internal prototype to avoid an error.
     12871   Use char because int might match the return type of a GCC
     12872   builtin and then its argument prototype would still apply.  */
     12873#ifdef __cplusplus
     12874extern "C"
     12875#endif
     12876char shl_load ();
     12877int
     12878main ()
     12879{
     12880return shl_load ();
     12881  ;
     12882  return 0;
     12883}
     12884_ACEOF
     12885if ac_fn_c_try_link "$LINENO"; then :
     12886  ac_cv_lib_dld_shl_load=yes
     12887else
     12888  ac_cv_lib_dld_shl_load=no
     12889fi
     12890rm -f core conftest.err conftest.$ac_objext \
     12891    conftest$ac_exeext conftest.$ac_ext
     12892LIBS=$ac_check_lib_save_LIBS
     12893fi
     12894{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
     12895$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
     12896if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
     12897  lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
     12898else
     12899  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
     12900if test "x$ac_cv_func_dlopen" = xyes; then :
     12901  lt_cv_dlopen=dlopen
     12902else
     12903  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
     12904$as_echo_n "checking for dlopen in -ldl... " >&6; }
     12905if ${ac_cv_lib_dl_dlopen+:} false; then :
     12906  $as_echo_n "(cached) " >&6
     12907else
     12908  ac_check_lib_save_LIBS=$LIBS
     12909LIBS="-ldl  $LIBS"
     12910cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     12911/* end confdefs.h.  */
     12912
     12913/* Override any GCC internal prototype to avoid an error.
     12914   Use char because int might match the return type of a GCC
     12915   builtin and then its argument prototype would still apply.  */
     12916#ifdef __cplusplus
     12917extern "C"
     12918#endif
     12919char dlopen ();
     12920int
     12921main ()
     12922{
     12923return dlopen ();
     12924  ;
     12925  return 0;
     12926}
     12927_ACEOF
     12928if ac_fn_c_try_link "$LINENO"; then :
     12929  ac_cv_lib_dl_dlopen=yes
     12930else
     12931  ac_cv_lib_dl_dlopen=no
     12932fi
     12933rm -f core conftest.err conftest.$ac_objext \
     12934    conftest$ac_exeext conftest.$ac_ext
     12935LIBS=$ac_check_lib_save_LIBS
     12936fi
     12937{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
     12938$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
     12939if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
     12940  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
     12941else
     12942  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
     12943$as_echo_n "checking for dlopen in -lsvld... " >&6; }
     12944if ${ac_cv_lib_svld_dlopen+:} false; then :
     12945  $as_echo_n "(cached) " >&6
     12946else
     12947  ac_check_lib_save_LIBS=$LIBS
     12948LIBS="-lsvld  $LIBS"
     12949cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     12950/* end confdefs.h.  */
     12951
     12952/* Override any GCC internal prototype to avoid an error.
     12953   Use char because int might match the return type of a GCC
     12954   builtin and then its argument prototype would still apply.  */
     12955#ifdef __cplusplus
     12956extern "C"
     12957#endif
     12958char dlopen ();
     12959int
     12960main ()
     12961{
     12962return dlopen ();
     12963  ;
     12964  return 0;
     12965}
     12966_ACEOF
     12967if ac_fn_c_try_link "$LINENO"; then :
     12968  ac_cv_lib_svld_dlopen=yes
     12969else
     12970  ac_cv_lib_svld_dlopen=no
     12971fi
     12972rm -f core conftest.err conftest.$ac_objext \
     12973    conftest$ac_exeext conftest.$ac_ext
     12974LIBS=$ac_check_lib_save_LIBS
     12975fi
     12976{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
     12977$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
     12978if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
     12979  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
     12980else
     12981  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
     12982$as_echo_n "checking for dld_link in -ldld... " >&6; }
     12983if ${ac_cv_lib_dld_dld_link+:} false; then :
     12984  $as_echo_n "(cached) " >&6
     12985else
     12986  ac_check_lib_save_LIBS=$LIBS
     12987LIBS="-ldld  $LIBS"
     12988cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     12989/* end confdefs.h.  */
     12990
     12991/* Override any GCC internal prototype to avoid an error.
     12992   Use char because int might match the return type of a GCC
     12993   builtin and then its argument prototype would still apply.  */
     12994#ifdef __cplusplus
     12995extern "C"
     12996#endif
     12997char dld_link ();
     12998int
     12999main ()
     13000{
     13001return dld_link ();
     13002  ;
     13003  return 0;
     13004}
     13005_ACEOF
     13006if ac_fn_c_try_link "$LINENO"; then :
     13007  ac_cv_lib_dld_dld_link=yes
     13008else
     13009  ac_cv_lib_dld_dld_link=no
     13010fi
     13011rm -f core conftest.err conftest.$ac_objext \
     13012    conftest$ac_exeext conftest.$ac_ext
     13013LIBS=$ac_check_lib_save_LIBS
     13014fi
     13015{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
     13016$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
     13017if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
     13018  lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
     13019fi
     13020
     13021
     13022fi
     13023
     13024
     13025fi
     13026
     13027
     13028fi
     13029
     13030
     13031fi
     13032
     13033
     13034fi
     13035
     13036    ;;
     13037  esac
     13038
     13039  if test no = "$lt_cv_dlopen"; then
     13040    enable_dlopen=no
     13041  else
     13042    enable_dlopen=yes
     13043  fi
     13044
     13045  case $lt_cv_dlopen in
     13046  dlopen)
     13047    save_CPPFLAGS=$CPPFLAGS
     13048    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
     13049
     13050    save_LDFLAGS=$LDFLAGS
     13051    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
     13052
     13053    save_LIBS=$LIBS
     13054    LIBS="$lt_cv_dlopen_libs $LIBS"
     13055
     13056    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
     13057$as_echo_n "checking whether a program can dlopen itself... " >&6; }
     13058if ${lt_cv_dlopen_self+:} false; then :
     13059  $as_echo_n "(cached) " >&6
     13060else
     13061          if test yes = "$cross_compiling"; then :
     13062  lt_cv_dlopen_self=cross
     13063else
     13064  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
     13065  lt_status=$lt_dlunknown
     13066  cat > conftest.$ac_ext <<_LT_EOF
     13067#line $LINENO "configure"
     13068#include "confdefs.h"
     13069
     13070#if HAVE_DLFCN_H
     13071#include <dlfcn.h>
     13072#endif
     13073
     13074#include <stdio.h>
     13075
     13076#ifdef RTLD_GLOBAL
     13077#  define LT_DLGLOBAL           RTLD_GLOBAL
     13078#else
     13079#  ifdef DL_GLOBAL
     13080#    define LT_DLGLOBAL         DL_GLOBAL
     13081#  else
     13082#    define LT_DLGLOBAL         0
     13083#  endif
     13084#endif
     13085
     13086/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
     13087   find out it does not work in some platform. */
     13088#ifndef LT_DLLAZY_OR_NOW
     13089#  ifdef RTLD_LAZY
     13090#    define LT_DLLAZY_OR_NOW            RTLD_LAZY
     13091#  else
     13092#    ifdef DL_LAZY
     13093#      define LT_DLLAZY_OR_NOW          DL_LAZY
     13094#    else
     13095#      ifdef RTLD_NOW
     13096#        define LT_DLLAZY_OR_NOW        RTLD_NOW
     13097#      else
     13098#        ifdef DL_NOW
     13099#          define LT_DLLAZY_OR_NOW      DL_NOW
     13100#        else
     13101#          define LT_DLLAZY_OR_NOW      0
     13102#        endif
     13103#      endif
     13104#    endif
     13105#  endif
     13106#endif
     13107
     13108/* When -fvisibility=hidden is used, assume the code has been annotated
     13109   correspondingly for the symbols needed.  */
     13110#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
     13111int fnord () __attribute__((visibility("default")));
     13112#endif
     13113
     13114int fnord () { return 42; }
     13115int main ()
     13116{
     13117  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
     13118  int status = $lt_dlunknown;
     13119
     13120  if (self)
     13121    {
     13122      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
     13123      else
     13124        {
     13125          if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
     13126          else puts (dlerror ());
     13127        }
     13128      /* dlclose (self); */
     13129    }
     13130  else
     13131    puts (dlerror ());
     13132
     13133  return status;
     13134}
     13135_LT_EOF
     13136  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
     13137  (eval $ac_link) 2>&5
     13138  ac_status=$?
     13139  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     13140  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
     13141    (./conftest; exit; ) >&5 2>/dev/null
     13142    lt_status=$?
     13143    case x$lt_status in
     13144      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
     13145      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
     13146      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
     13147    esac
     13148  else :
     13149    # compilation failed
     13150    lt_cv_dlopen_self=no
     13151  fi
     13152fi
     13153rm -fr conftest*
     13154
     13155
     13156fi
     13157{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
     13158$as_echo "$lt_cv_dlopen_self" >&6; }
     13159
     13160    if test yes = "$lt_cv_dlopen_self"; then
     13161      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
     13162      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
     13163$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
     13164if ${lt_cv_dlopen_self_static+:} false; then :
     13165  $as_echo_n "(cached) " >&6
     13166else
     13167          if test yes = "$cross_compiling"; then :
     13168  lt_cv_dlopen_self_static=cross
     13169else
     13170  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
     13171  lt_status=$lt_dlunknown
     13172  cat > conftest.$ac_ext <<_LT_EOF
     13173#line $LINENO "configure"
     13174#include "confdefs.h"
     13175
     13176#if HAVE_DLFCN_H
     13177#include <dlfcn.h>
     13178#endif
     13179
     13180#include <stdio.h>
     13181
     13182#ifdef RTLD_GLOBAL
     13183#  define LT_DLGLOBAL           RTLD_GLOBAL
     13184#else
     13185#  ifdef DL_GLOBAL
     13186#    define LT_DLGLOBAL         DL_GLOBAL
     13187#  else
     13188#    define LT_DLGLOBAL         0
     13189#  endif
     13190#endif
     13191
     13192/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
     13193   find out it does not work in some platform. */
     13194#ifndef LT_DLLAZY_OR_NOW
     13195#  ifdef RTLD_LAZY
     13196#    define LT_DLLAZY_OR_NOW            RTLD_LAZY
     13197#  else
     13198#    ifdef DL_LAZY
     13199#      define LT_DLLAZY_OR_NOW          DL_LAZY
     13200#    else
     13201#      ifdef RTLD_NOW
     13202#        define LT_DLLAZY_OR_NOW        RTLD_NOW
     13203#      else
     13204#        ifdef DL_NOW
     13205#          define LT_DLLAZY_OR_NOW      DL_NOW
     13206#        else
     13207#          define LT_DLLAZY_OR_NOW      0
     13208#        endif
     13209#      endif
     13210#    endif
     13211#  endif
     13212#endif
     13213
     13214/* When -fvisibility=hidden is used, assume the code has been annotated
     13215   correspondingly for the symbols needed.  */
     13216#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
     13217int fnord () __attribute__((visibility("default")));
     13218#endif
     13219
     13220int fnord () { return 42; }
     13221int main ()
     13222{
     13223  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
     13224  int status = $lt_dlunknown;
     13225
     13226  if (self)
     13227    {
     13228      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
     13229      else
     13230        {
     13231          if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
     13232          else puts (dlerror ());
     13233        }
     13234      /* dlclose (self); */
     13235    }
     13236  else
     13237    puts (dlerror ());
     13238
     13239  return status;
     13240}
     13241_LT_EOF
     13242  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
     13243  (eval $ac_link) 2>&5
     13244  ac_status=$?
     13245  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     13246  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
     13247    (./conftest; exit; ) >&5 2>/dev/null
     13248    lt_status=$?
     13249    case x$lt_status in
     13250      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
     13251      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
     13252      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
     13253    esac
     13254  else :
     13255    # compilation failed
     13256    lt_cv_dlopen_self_static=no
     13257  fi
     13258fi
     13259rm -fr conftest*
     13260
     13261
     13262fi
     13263{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
     13264$as_echo "$lt_cv_dlopen_self_static" >&6; }
     13265    fi
     13266
     13267    CPPFLAGS=$save_CPPFLAGS
     13268    LDFLAGS=$save_LDFLAGS
     13269    LIBS=$save_LIBS
     13270    ;;
     13271  esac
     13272
     13273  case $lt_cv_dlopen_self in
     13274  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
     13275  *) enable_dlopen_self=unknown ;;
     13276  esac
     13277
     13278  case $lt_cv_dlopen_self_static in
     13279  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
     13280  *) enable_dlopen_self_static=unknown ;;
     13281  esac
     13282fi
     13283
     13284
     13285
     13286
     13287
     13288
     13289
     13290
     13291
     13292
     13293
     13294
     13295
     13296
     13297
     13298
     13299
     13300striplib=
     13301old_striplib=
     13302{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
     13303$as_echo_n "checking whether stripping libraries is possible... " >&6; }
     13304if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
     13305  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
     13306  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
     13307  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
     13308$as_echo "yes" >&6; }
     13309else
     13310# FIXME - insert some real tests, host_os isn't really good enough
     13311  case $host_os in
     13312  darwin*)
     13313    if test -n "$STRIP"; then
     13314      striplib="$STRIP -x"
     13315      old_striplib="$STRIP -S"
     13316      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
     13317$as_echo "yes" >&6; }
     13318    else
     13319      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     13320$as_echo "no" >&6; }
     13321    fi
     13322    ;;
     13323  *)
     13324    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     13325$as_echo "no" >&6; }
     13326    ;;
     13327  esac
     13328fi
     13329
     13330
     13331
     13332
     13333
     13334
     13335
     13336
     13337
     13338
     13339
     13340
     13341  # Report what library types will actually be built
     13342  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
     13343$as_echo_n "checking if libtool supports shared libraries... " >&6; }
     13344  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
     13345$as_echo "$can_build_shared" >&6; }
     13346
     13347  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
     13348$as_echo_n "checking whether to build shared libraries... " >&6; }
     13349  test no = "$can_build_shared" && enable_shared=no
     13350
     13351  # On AIX, shared libraries and static libraries use the same namespace, and
     13352  # are all built from PIC.
     13353  case $host_os in
     13354  aix3*)
     13355    test yes = "$enable_shared" && enable_static=no
     13356    if test -n "$RANLIB"; then
     13357      archive_cmds="$archive_cmds~\$RANLIB \$lib"
     13358      postinstall_cmds='$RANLIB $lib'
     13359    fi
     13360    ;;
     13361
     13362  aix[4-9]*)
     13363    if test ia64 != "$host_cpu"; then
     13364      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
     13365      yes,aix,yes) ;;                   # shared object as lib.so file only
     13366      yes,svr4,*) ;;                    # shared object as lib.so archive member only
     13367      yes,*) enable_static=no ;;        # shared object in lib.a archive as well
     13368      esac
     13369    fi
     13370    ;;
     13371  esac
     13372  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
     13373$as_echo "$enable_shared" >&6; }
     13374
     13375  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
     13376$as_echo_n "checking whether to build static libraries... " >&6; }
     13377  # Make sure either enable_shared or enable_static is yes.
     13378  test yes = "$enable_shared" || enable_static=yes
     13379  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
     13380$as_echo "$enable_static" >&6; }
     13381
     13382
     13383
     13384
     13385fi
     13386ac_ext=c
     13387ac_cpp='$CPP $CPPFLAGS'
     13388ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     13389ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     13390ac_compiler_gnu=$ac_cv_c_compiler_gnu
     13391
     13392CC=$lt_save_CC
     13393
     13394      if test -n "$CXX" && ( test no != "$CXX" &&
     13395    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
     13396    (test g++ != "$CXX"))); then
     13397  ac_ext=cpp
     13398ac_cpp='$CXXCPP $CPPFLAGS'
     13399ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     13400ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     13401ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
     13402{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
     13403$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
     13404if test -z "$CXXCPP"; then
     13405  if ${ac_cv_prog_CXXCPP+:} false; then :
     13406  $as_echo_n "(cached) " >&6
     13407else
     13408      # Double quotes because CXXCPP needs to be expanded
     13409    for CXXCPP in "$CXX -E" "/lib/cpp"
     13410    do
     13411      ac_preproc_ok=false
     13412for ac_cxx_preproc_warn_flag in '' yes
     13413do
     13414  # Use a header file that comes with gcc, so configuring glibc
     13415  # with a fresh cross-compiler works.
     13416  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     13417  # <limits.h> exists even on freestanding compilers.
     13418  # On the NeXT, cc -E runs the code through the compiler's parser,
     13419  # not just through cpp. "Syntax error" is here to catch this case.
     13420  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     13421/* end confdefs.h.  */
     13422#ifdef __STDC__
     13423# include <limits.h>
     13424#else
     13425# include <assert.h>
     13426#endif
     13427                     Syntax error
     13428_ACEOF
     13429if ac_fn_cxx_try_cpp "$LINENO"; then :
     13430
     13431else
     13432  # Broken: fails on valid input.
     13433continue
     13434fi
     13435rm -f conftest.err conftest.i conftest.$ac_ext
     13436
     13437  # OK, works on sane cases.  Now check whether nonexistent headers
     13438  # can be detected and how.
     13439  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     13440/* end confdefs.h.  */
     13441#include <ac_nonexistent.h>
     13442_ACEOF
     13443if ac_fn_cxx_try_cpp "$LINENO"; then :
     13444  # Broken: success on invalid input.
     13445continue
     13446else
     13447  # Passes both tests.
     13448ac_preproc_ok=:
     13449break
     13450fi
     13451rm -f conftest.err conftest.i conftest.$ac_ext
     13452
     13453done
     13454# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
     13455rm -f conftest.i conftest.err conftest.$ac_ext
     13456if $ac_preproc_ok; then :
     13457  break
     13458fi
     13459
     13460    done
     13461    ac_cv_prog_CXXCPP=$CXXCPP
     13462
     13463fi
     13464  CXXCPP=$ac_cv_prog_CXXCPP
     13465else
     13466  ac_cv_prog_CXXCPP=$CXXCPP
     13467fi
     13468{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
     13469$as_echo "$CXXCPP" >&6; }
     13470ac_preproc_ok=false
     13471for ac_cxx_preproc_warn_flag in '' yes
     13472do
     13473  # Use a header file that comes with gcc, so configuring glibc
     13474  # with a fresh cross-compiler works.
     13475  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     13476  # <limits.h> exists even on freestanding compilers.
     13477  # On the NeXT, cc -E runs the code through the compiler's parser,
     13478  # not just through cpp. "Syntax error" is here to catch this case.
     13479  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     13480/* end confdefs.h.  */
     13481#ifdef __STDC__
     13482# include <limits.h>
     13483#else
     13484# include <assert.h>
     13485#endif
     13486                     Syntax error
     13487_ACEOF
     13488if ac_fn_cxx_try_cpp "$LINENO"; then :
     13489
     13490else
     13491  # Broken: fails on valid input.
     13492continue
     13493fi
     13494rm -f conftest.err conftest.i conftest.$ac_ext
     13495
     13496  # OK, works on sane cases.  Now check whether nonexistent headers
     13497  # can be detected and how.
     13498  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     13499/* end confdefs.h.  */
     13500#include <ac_nonexistent.h>
     13501_ACEOF
     13502if ac_fn_cxx_try_cpp "$LINENO"; then :
     13503  # Broken: success on invalid input.
     13504continue
     13505else
     13506  # Passes both tests.
     13507ac_preproc_ok=:
     13508break
     13509fi
     13510rm -f conftest.err conftest.i conftest.$ac_ext
     13511
     13512done
     13513# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
     13514rm -f conftest.i conftest.err conftest.$ac_ext
     13515if $ac_preproc_ok; then :
     13516
     13517else
     13518  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     13519$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     13520as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
     13521See \`config.log' for more details" "$LINENO" 5; }
     13522fi
     13523
     13524ac_ext=c
     13525ac_cpp='$CPP $CPPFLAGS'
     13526ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     13527ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     13528ac_compiler_gnu=$ac_cv_c_compiler_gnu
     13529
     13530else
     13531  _lt_caught_CXX_error=yes
     13532fi
     13533
     13534ac_ext=cpp
     13535ac_cpp='$CXXCPP $CPPFLAGS'
     13536ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     13537ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     13538ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
     13539
     13540archive_cmds_need_lc_CXX=no
     13541allow_undefined_flag_CXX=
     13542always_export_symbols_CXX=no
     13543archive_expsym_cmds_CXX=
     13544compiler_needs_object_CXX=no
     13545export_dynamic_flag_spec_CXX=
     13546hardcode_direct_CXX=no
     13547hardcode_direct_absolute_CXX=no
     13548hardcode_libdir_flag_spec_CXX=
     13549hardcode_libdir_separator_CXX=
     13550hardcode_minus_L_CXX=no
     13551hardcode_shlibpath_var_CXX=unsupported
     13552hardcode_automatic_CXX=no
     13553inherit_rpath_CXX=no
     13554module_cmds_CXX=
     13555module_expsym_cmds_CXX=
     13556link_all_deplibs_CXX=unknown
     13557old_archive_cmds_CXX=$old_archive_cmds
     13558reload_flag_CXX=$reload_flag
     13559reload_cmds_CXX=$reload_cmds
     13560no_undefined_flag_CXX=
     13561whole_archive_flag_spec_CXX=
     13562enable_shared_with_static_runtimes_CXX=no
     13563
     13564# Source file extension for C++ test sources.
     13565ac_ext=cpp
     13566
     13567# Object file extension for compiled C++ test sources.
     13568objext=o
     13569objext_CXX=$objext
     13570
     13571# No sense in running all these tests if we already determined that
     13572# the CXX compiler isn't working.  Some variables (like enable_shared)
     13573# are currently assumed to apply to all compilers on this platform,
     13574# and will be corrupted by setting them based on a non-working compiler.
     13575if test yes != "$_lt_caught_CXX_error"; then
     13576  # Code to be used in simple compile tests
     13577  lt_simple_compile_test_code="int some_variable = 0;"
     13578
     13579  # Code to be used in simple link tests
     13580  lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
     13581
     13582  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
     13583
     13584
     13585
     13586
     13587
     13588
     13589# If no C compiler was specified, use CC.
     13590LTCC=${LTCC-"$CC"}
     13591
     13592# If no C compiler flags were specified, use CFLAGS.
     13593LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
     13594
     13595# Allow CC to be a program name with arguments.
     13596compiler=$CC
     13597
     13598
     13599  # save warnings/boilerplate of simple test code
     13600  ac_outfile=conftest.$ac_objext
     13601echo "$lt_simple_compile_test_code" >conftest.$ac_ext
     13602eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
     13603_lt_compiler_boilerplate=`cat conftest.err`
     13604$RM conftest*
     13605
     13606  ac_outfile=conftest.$ac_objext
     13607echo "$lt_simple_link_test_code" >conftest.$ac_ext
     13608eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
     13609_lt_linker_boilerplate=`cat conftest.err`
     13610$RM -r conftest*
     13611
     13612
     13613  # Allow CC to be a program name with arguments.
     13614  lt_save_CC=$CC
     13615  lt_save_CFLAGS=$CFLAGS
     13616  lt_save_LD=$LD
     13617  lt_save_GCC=$GCC
     13618  GCC=$GXX
     13619  lt_save_with_gnu_ld=$with_gnu_ld
     13620  lt_save_path_LD=$lt_cv_path_LD
     13621  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
     13622    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
     13623  else
     13624    $as_unset lt_cv_prog_gnu_ld
     13625  fi
     13626  if test -n "${lt_cv_path_LDCXX+set}"; then
     13627    lt_cv_path_LD=$lt_cv_path_LDCXX
     13628  else
     13629    $as_unset lt_cv_path_LD
     13630  fi
     13631  test -z "${LDCXX+set}" || LD=$LDCXX
     13632  CC=${CXX-"c++"}
     13633  CFLAGS=$CXXFLAGS
     13634  compiler=$CC
     13635  compiler_CXX=$CC
     13636  func_cc_basename $compiler
     13637cc_basename=$func_cc_basename_result
     13638
     13639
     13640  if test -n "$compiler"; then
     13641    # We don't want -fno-exception when compiling C++ code, so set the
     13642    # no_builtin_flag separately
     13643    if test yes = "$GXX"; then
     13644      lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
     13645    else
     13646      lt_prog_compiler_no_builtin_flag_CXX=
     13647    fi
     13648
     13649    if test yes = "$GXX"; then
     13650      # Set up default GNU C++ configuration
     13651
     13652
     13653
     13654# Check whether --with-gnu-ld was given.
     13655if test "${with_gnu_ld+set}" = set; then :
     13656  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
     13657else
     13658  with_gnu_ld=no
     13659fi
     13660
     13661ac_prog=ld
     13662if test yes = "$GCC"; then
     13663  # Check if gcc -print-prog-name=ld gives a path.
     13664  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
     13665$as_echo_n "checking for ld used by $CC... " >&6; }
     13666  case $host in
     13667  *-*-mingw*)
     13668    # gcc leaves a trailing carriage return, which upsets mingw
     13669    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
     13670  *)
     13671    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
     13672  esac
     13673  case $ac_prog in
     13674    # Accept absolute paths.
     13675    [\\/]* | ?:[\\/]*)
     13676      re_direlt='/[^/][^/]*/\.\./'
     13677      # Canonicalize the pathname of ld
     13678      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
     13679      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
     13680        ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
     13681      done
     13682      test -z "$LD" && LD=$ac_prog
     13683      ;;
     13684  "")
     13685    # If it fails, then pretend we aren't using GCC.
     13686    ac_prog=ld
     13687    ;;
     13688  *)
     13689    # If it is relative, then search for the first ld in PATH.
     13690    with_gnu_ld=unknown
     13691    ;;
     13692  esac
     13693elif test yes = "$with_gnu_ld"; then
     13694  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
     13695$as_echo_n "checking for GNU ld... " >&6; }
     13696else
     13697  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
     13698$as_echo_n "checking for non-GNU ld... " >&6; }
     13699fi
     13700if ${lt_cv_path_LD+:} false; then :
     13701  $as_echo_n "(cached) " >&6
     13702else
     13703  if test -z "$LD"; then
     13704  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     13705  for ac_dir in $PATH; do
     13706    IFS=$lt_save_ifs
     13707    test -z "$ac_dir" && ac_dir=.
     13708    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
     13709      lt_cv_path_LD=$ac_dir/$ac_prog
     13710      # Check to see if the program is GNU ld.  I'd rather use --version,
     13711      # but apparently some variants of GNU ld only accept -v.
     13712      # Break only if it was the GNU/non-GNU ld that we prefer.
     13713      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
     13714      *GNU* | *'with BFD'*)
     13715        test no != "$with_gnu_ld" && break
     13716        ;;
     13717      *)
     13718        test yes != "$with_gnu_ld" && break
     13719        ;;
     13720      esac
     13721    fi
     13722  done
     13723  IFS=$lt_save_ifs
     13724else
     13725  lt_cv_path_LD=$LD # Let the user override the test with a path.
     13726fi
     13727fi
     13728
     13729LD=$lt_cv_path_LD
     13730if test -n "$LD"; then
     13731  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
     13732$as_echo "$LD" >&6; }
     13733else
     13734  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     13735$as_echo "no" >&6; }
     13736fi
     13737test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
     13738{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
     13739$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
     13740if ${lt_cv_prog_gnu_ld+:} false; then :
     13741  $as_echo_n "(cached) " >&6
     13742else
     13743  # I'd rather use --version here, but apparently some GNU lds only accept -v.
     13744case `$LD -v 2>&1 </dev/null` in
     13745*GNU* | *'with BFD'*)
     13746  lt_cv_prog_gnu_ld=yes
     13747  ;;
     13748*)
     13749  lt_cv_prog_gnu_ld=no
     13750  ;;
     13751esac
     13752fi
     13753{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
     13754$as_echo "$lt_cv_prog_gnu_ld" >&6; }
     13755with_gnu_ld=$lt_cv_prog_gnu_ld
     13756
     13757
     13758
     13759
     13760
     13761
     13762
     13763      # Check if GNU C++ uses GNU ld as the underlying linker, since the
     13764      # archiving commands below assume that GNU ld is being used.
     13765      if test yes = "$with_gnu_ld"; then
     13766        archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
     13767        archive_expsym_cmds_CXX='$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'
     13768
     13769        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
     13770        export_dynamic_flag_spec_CXX='$wl--export-dynamic'
     13771
     13772        # If archive_cmds runs LD, not CC, wlarc should be empty
     13773        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
     13774        #     investigate it a little bit more. (MM)
     13775        wlarc='$wl'
     13776
     13777        # ancient GNU ld didn't support --whole-archive et. al.
     13778        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
     13779          $GREP 'no-whole-archive' > /dev/null; then
     13780          whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
     13781        else
     13782          whole_archive_flag_spec_CXX=
     13783        fi
     13784      else
     13785        with_gnu_ld=no
     13786        wlarc=
     13787
     13788        # A generic and very simple default shared library creation
     13789        # command for GNU C++ for the case where it uses the native
     13790        # linker, instead of GNU ld.  If possible, this setting should
     13791        # overridden to take advantage of the native linker features on
     13792        # the platform it is being used on.
     13793        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
     13794      fi
     13795
     13796      # Commands to make compiler produce verbose output that lists
     13797      # what "hidden" libraries, object files and flags are used when
     13798      # linking a shared library.
     13799      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
     13800
     13801    else
     13802      GXX=no
     13803      with_gnu_ld=no
     13804      wlarc=
     13805    fi
     13806
     13807    # PORTME: fill in a description of your system's C++ link characteristics
     13808    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
     13809$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
     13810    ld_shlibs_CXX=yes
     13811    case $host_os in
     13812      aix3*)
     13813        # FIXME: insert proper C++ library support
     13814        ld_shlibs_CXX=no
     13815        ;;
     13816      aix[4-9]*)
     13817        if test ia64 = "$host_cpu"; then
     13818          # On IA64, the linker does run time linking by default, so we don't
     13819          # have to do anything special.
     13820          aix_use_runtimelinking=no
     13821          exp_sym_flag='-Bexport'
     13822          no_entry_flag=
     13823        else
     13824          aix_use_runtimelinking=no
     13825
     13826          # Test if we are trying to use run time linking or normal
     13827          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
     13828          # have runtime linking enabled, and use it for executables.
     13829          # For shared libraries, we enable/disable runtime linking
     13830          # depending on the kind of the shared library created -
     13831          # when "with_aix_soname,aix_use_runtimelinking" is:
     13832          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
     13833          # "aix,yes"  lib.so          shared, rtl:yes, for executables
     13834          #            lib.a           static archive
     13835          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
     13836          #            lib.a(lib.so.V) shared, rtl:no,  for executables
     13837          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
     13838          #            lib.a(lib.so.V) shared, rtl:no
     13839          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
     13840          #            lib.a           static archive
     13841          case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
     13842            for ld_flag in $LDFLAGS; do
     13843              case $ld_flag in
     13844              *-brtl*)
     13845                aix_use_runtimelinking=yes
     13846                break
     13847                ;;
     13848              esac
     13849            done
     13850            if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
     13851              # With aix-soname=svr4, we create the lib.so.V shared archives only,
     13852              # so we don't have lib.a shared libs to link our executables.
     13853              # We have to force runtime linking in this case.
     13854              aix_use_runtimelinking=yes
     13855              LDFLAGS="$LDFLAGS -Wl,-brtl"
     13856            fi
     13857            ;;
     13858          esac
     13859
     13860          exp_sym_flag='-bexport'
     13861          no_entry_flag='-bnoentry'
     13862        fi
     13863
     13864        # When large executables or shared objects are built, AIX ld can
     13865        # have problems creating the table of contents.  If linking a library
     13866        # or program results in "error TOC overflow" add -mminimal-toc to
     13867        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
     13868        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
     13869
     13870        archive_cmds_CXX=''
     13871        hardcode_direct_CXX=yes
     13872        hardcode_direct_absolute_CXX=yes
     13873        hardcode_libdir_separator_CXX=':'
     13874        link_all_deplibs_CXX=yes
     13875        file_list_spec_CXX='$wl-f,'
     13876        case $with_aix_soname,$aix_use_runtimelinking in
     13877        aix,*) ;;       # no import file
     13878        svr4,* | *,yes) # use import file
     13879          # The Import File defines what to hardcode.
     13880          hardcode_direct_CXX=no
     13881          hardcode_direct_absolute_CXX=no
     13882          ;;
     13883        esac
     13884
     13885        if test yes = "$GXX"; then
     13886          case $host_os in aix4.[012]|aix4.[012].*)
     13887          # We only want to do this on AIX 4.2 and lower, the check
     13888          # below for broken collect2 doesn't work under 4.3+
     13889          collect2name=`$CC -print-prog-name=collect2`
     13890          if test -f "$collect2name" &&
     13891             strings "$collect2name" | $GREP resolve_lib_name >/dev/null
     13892          then
     13893            # We have reworked collect2
     13894            :
     13895          else
     13896            # We have old collect2
     13897            hardcode_direct_CXX=unsupported
     13898            # It fails to find uninstalled libraries when the uninstalled
     13899            # path is not listed in the libpath.  Setting hardcode_minus_L
     13900            # to unsupported forces relinking
     13901            hardcode_minus_L_CXX=yes
     13902            hardcode_libdir_flag_spec_CXX='-L$libdir'
     13903            hardcode_libdir_separator_CXX=
     13904          fi
     13905          esac
     13906          shared_flag='-shared'
     13907          if test yes = "$aix_use_runtimelinking"; then
     13908            shared_flag=$shared_flag' $wl-G'
     13909          fi
     13910          # Need to ensure runtime linking is disabled for the traditional
     13911          # shared library, or the linker may eventually find shared libraries
     13912          # /with/ Import File - we do not want to mix them.
     13913          shared_flag_aix='-shared'
     13914          shared_flag_svr4='-shared $wl-G'
     13915        else
     13916          # not using gcc
     13917          if test ia64 = "$host_cpu"; then
     13918          # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
     13919          # chokes on -Wl,-G. The following line is correct:
     13920          shared_flag='-G'
     13921          else
     13922            if test yes = "$aix_use_runtimelinking"; then
     13923              shared_flag='$wl-G'
     13924            else
     13925              shared_flag='$wl-bM:SRE'
     13926            fi
     13927            shared_flag_aix='$wl-bM:SRE'
     13928            shared_flag_svr4='$wl-G'
     13929          fi
     13930        fi
     13931
     13932        export_dynamic_flag_spec_CXX='$wl-bexpall'
     13933        # It seems that -bexpall does not export symbols beginning with
     13934        # underscore (_), so it is better to generate a list of symbols to
     13935        # export.
     13936        always_export_symbols_CXX=yes
     13937        if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
     13938          # Warning - without using the other runtime loading flags (-brtl),
     13939          # -berok will link without error, but may produce a broken library.
     13940          # The "-G" linker flag allows undefined symbols.
     13941          no_undefined_flag_CXX='-bernotok'
     13942          # Determine the default libpath from the value encoded in an empty
     13943          # executable.
     13944          if test set = "${lt_cv_aix_libpath+set}"; then
     13945  aix_libpath=$lt_cv_aix_libpath
     13946else
     13947  if ${lt_cv_aix_libpath__CXX+:} false; then :
     13948  $as_echo_n "(cached) " >&6
     13949else
     13950  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     13951/* end confdefs.h.  */
     13952
     13953int
     13954main ()
     13955{
     13956
     13957  ;
     13958  return 0;
     13959}
     13960_ACEOF
     13961if ac_fn_cxx_try_link "$LINENO"; then :
     13962
     13963  lt_aix_libpath_sed='
     13964      /Import File Strings/,/^$/ {
     13965          /^0/ {
     13966              s/^0  *\([^ ]*\) *$/\1/
     13967              p
     13968          }
     13969      }'
     13970  lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     13971  # Check for a 64-bit object if we didn't find anything.
     13972  if test -z "$lt_cv_aix_libpath__CXX"; then
     13973    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     13974  fi
     13975fi
     13976rm -f core conftest.err conftest.$ac_objext \
     13977    conftest$ac_exeext conftest.$ac_ext
     13978  if test -z "$lt_cv_aix_libpath__CXX"; then
     13979    lt_cv_aix_libpath__CXX=/usr/lib:/lib
     13980  fi
     13981
     13982fi
     13983
     13984  aix_libpath=$lt_cv_aix_libpath__CXX
     13985fi
     13986
     13987          hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
     13988
     13989          archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
     13990        else
     13991          if test ia64 = "$host_cpu"; then
     13992            hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib'
     13993            allow_undefined_flag_CXX="-z nodefs"
     13994            archive_expsym_cmds_CXX="\$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"
     13995          else
     13996            # Determine the default libpath from the value encoded in an
     13997            # empty executable.
     13998            if test set = "${lt_cv_aix_libpath+set}"; then
     13999  aix_libpath=$lt_cv_aix_libpath
     14000else
     14001  if ${lt_cv_aix_libpath__CXX+:} false; then :
     14002  $as_echo_n "(cached) " >&6
     14003else
     14004  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     14005/* end confdefs.h.  */
     14006
     14007int
     14008main ()
     14009{
     14010
     14011  ;
     14012  return 0;
     14013}
     14014_ACEOF
     14015if ac_fn_cxx_try_link "$LINENO"; then :
     14016
     14017  lt_aix_libpath_sed='
     14018      /Import File Strings/,/^$/ {
     14019          /^0/ {
     14020              s/^0  *\([^ ]*\) *$/\1/
     14021              p
     14022          }
     14023      }'
     14024  lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     14025  # Check for a 64-bit object if we didn't find anything.
     14026  if test -z "$lt_cv_aix_libpath__CXX"; then
     14027    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     14028  fi
     14029fi
     14030rm -f core conftest.err conftest.$ac_objext \
     14031    conftest$ac_exeext conftest.$ac_ext
     14032  if test -z "$lt_cv_aix_libpath__CXX"; then
     14033    lt_cv_aix_libpath__CXX=/usr/lib:/lib
     14034  fi
     14035
     14036fi
     14037
     14038  aix_libpath=$lt_cv_aix_libpath__CXX
     14039fi
     14040
     14041            hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
     14042            # Warning - without using the other run time loading flags,
     14043            # -berok will link without error, but may produce a broken library.
     14044            no_undefined_flag_CXX=' $wl-bernotok'
     14045            allow_undefined_flag_CXX=' $wl-berok'
     14046            if test yes = "$with_gnu_ld"; then
     14047              # We only use this code for GNU lds that support --whole-archive.
     14048              whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
     14049            else
     14050              # Exported symbols can be pulled into shared objects from archives
     14051              whole_archive_flag_spec_CXX='$convenience'
     14052            fi
     14053            archive_cmds_need_lc_CXX=yes
     14054            archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
     14055            # -brtl affects multiple linker settings, -berok does not and is overridden later
     14056            compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
     14057            if test svr4 != "$with_aix_soname"; then
     14058              # This is similar to how AIX traditionally builds its shared
     14059              # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
     14060              archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
     14061            fi
     14062            if test aix != "$with_aix_soname"; then
     14063              archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
     14064            else
     14065              # used by -dlpreopen to get the symbols
     14066              archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
     14067            fi
     14068            archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d'
     14069          fi
     14070        fi
     14071        ;;
     14072
     14073      beos*)
     14074        if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
     14075          allow_undefined_flag_CXX=unsupported
     14076          # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
     14077          # support --undefined.  This deserves some investigation.  FIXME
     14078          archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     14079        else
     14080          ld_shlibs_CXX=no
     14081        fi
     14082        ;;
     14083
     14084      chorus*)
     14085        case $cc_basename in
     14086          *)
     14087          # FIXME: insert proper C++ library support
     14088          ld_shlibs_CXX=no
     14089          ;;
     14090        esac
     14091        ;;
     14092
     14093      cygwin* | mingw* | pw32* | cegcc*)
     14094        case $GXX,$cc_basename in
     14095        ,cl* | no,cl*)
     14096          # Native MSVC
     14097          # hardcode_libdir_flag_spec is actually meaningless, as there is
     14098          # no search path for DLLs.
     14099          hardcode_libdir_flag_spec_CXX=' '
     14100          allow_undefined_flag_CXX=unsupported
     14101          always_export_symbols_CXX=yes
     14102          file_list_spec_CXX='@'
     14103          # Tell ltmain to make .lib files, not .a files.
     14104          libext=lib
     14105          # Tell ltmain to make .dll files, not .so files.
     14106          shrext_cmds=.dll
     14107          # FIXME: Setting linknames here is a bad hack.
     14108          archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
     14109          archive_expsym_cmds_CXX='if   test DEF = "`$SED -n     -e '\''s/^[     ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
     14110              cp "$export_symbols" "$output_objdir/$soname.def";
     14111              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
     14112            else
     14113              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
     14114            fi~
     14115            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
     14116            linknames='
     14117          # The linker will not automatically build a static lib if we build a DLL.
     14118          # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
     14119          enable_shared_with_static_runtimes_CXX=yes
     14120          # Don't use ranlib
     14121          old_postinstall_cmds_CXX='chmod 644 $oldlib'
     14122          postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
     14123            lt_tool_outputfile="@TOOL_OUTPUT@"~
     14124            case $lt_outputfile in
     14125              *.exe|*.EXE) ;;
     14126              *)
     14127                lt_outputfile=$lt_outputfile.exe
     14128                lt_tool_outputfile=$lt_tool_outputfile.exe
     14129                ;;
     14130            esac~
     14131            func_to_tool_file "$lt_outputfile"~
     14132            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
     14133              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
     14134              $RM "$lt_outputfile.manifest";
     14135            fi'
     14136          ;;
     14137        *)
     14138          # g++
     14139          # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
     14140          # as there is no search path for DLLs.
     14141          hardcode_libdir_flag_spec_CXX='-L$libdir'
     14142          export_dynamic_flag_spec_CXX='$wl--export-all-symbols'
     14143          allow_undefined_flag_CXX=unsupported
     14144          always_export_symbols_CXX=no
     14145          enable_shared_with_static_runtimes_CXX=yes
     14146
     14147          if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
     14148            archive_cmds_CXX='$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'
     14149            # If the export-symbols file already is a .def file, use it as
     14150            # is; otherwise, prepend EXPORTS...
     14151            archive_expsym_cmds_CXX='if   test DEF = "`$SED -n     -e '\''s/^[   ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
     14152              cp $export_symbols $output_objdir/$soname.def;
     14153            else
     14154              echo EXPORTS > $output_objdir/$soname.def;
     14155              cat $export_symbols >> $output_objdir/$soname.def;
     14156            fi~
     14157            $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'
     14158          else
     14159            ld_shlibs_CXX=no
     14160          fi
     14161          ;;
     14162        esac
     14163        ;;
     14164      darwin* | rhapsody*)
     14165
     14166
     14167  archive_cmds_need_lc_CXX=no
     14168  hardcode_direct_CXX=no
     14169  hardcode_automatic_CXX=yes
     14170  hardcode_shlibpath_var_CXX=unsupported
     14171  if test yes = "$lt_cv_ld_force_load"; then
     14172    whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
     14173
     14174  else
     14175    whole_archive_flag_spec_CXX=''
     14176  fi
     14177  link_all_deplibs_CXX=yes
     14178  allow_undefined_flag_CXX=$_lt_dar_allow_undefined
     14179  case $cc_basename in
     14180     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
     14181     *) _lt_dar_can_shared=$GCC ;;
     14182  esac
     14183  if test yes = "$_lt_dar_can_shared"; then
     14184    output_verbose_link_cmd=func_echo_all
     14185    archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
     14186    module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
     14187    archive_expsym_cmds_CXX="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"
     14188    module_expsym_cmds_CXX="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"
     14189       if test yes != "$lt_cv_apple_cc_single_mod"; then
     14190      archive_cmds_CXX="\$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"
     14191      archive_expsym_cmds_CXX="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"
     14192    fi
     14193
     14194  else
     14195  ld_shlibs_CXX=no
     14196  fi
     14197
     14198        ;;
     14199
     14200      os2*)
     14201        hardcode_libdir_flag_spec_CXX='-L$libdir'
     14202        hardcode_minus_L_CXX=yes
     14203        allow_undefined_flag_CXX=unsupported
     14204        shrext_cmds=.dll
     14205        archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     14206          $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     14207          $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     14208          $ECHO EXPORTS >> $output_objdir/$libname.def~
     14209          emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
     14210          $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     14211          emximp -o $lib $output_objdir/$libname.def'
     14212        archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     14213          $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     14214          $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     14215          $ECHO EXPORTS >> $output_objdir/$libname.def~
     14216          prefix_cmds="$SED"~
     14217          if test EXPORTS = "`$SED 1q $export_symbols`"; then
     14218            prefix_cmds="$prefix_cmds -e 1d";
     14219          fi~
     14220          prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
     14221          cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
     14222          $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     14223          emximp -o $lib $output_objdir/$libname.def'
     14224        old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
     14225        enable_shared_with_static_runtimes_CXX=yes
     14226        ;;
     14227
     14228      dgux*)
     14229        case $cc_basename in
     14230          ec++*)
     14231            # FIXME: insert proper C++ library support
     14232            ld_shlibs_CXX=no
     14233            ;;
     14234          ghcx*)
     14235            # Green Hills C++ Compiler
     14236            # FIXME: insert proper C++ library support
     14237            ld_shlibs_CXX=no
     14238            ;;
     14239          *)
     14240            # FIXME: insert proper C++ library support
     14241            ld_shlibs_CXX=no
     14242            ;;
     14243        esac
     14244        ;;
     14245
     14246      freebsd2.*)
     14247        # C++ shared libraries reported to be fairly broken before
     14248        # switch to ELF
     14249        ld_shlibs_CXX=no
     14250        ;;
     14251
     14252      freebsd-elf*)
     14253        archive_cmds_need_lc_CXX=no
     14254        ;;
     14255
     14256      freebsd* | dragonfly*)
     14257        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
     14258        # conventions
     14259        ld_shlibs_CXX=yes
     14260        ;;
     14261
     14262      haiku*)
     14263        archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     14264        link_all_deplibs_CXX=yes
     14265        ;;
     14266
     14267      hpux9*)
     14268        hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
     14269        hardcode_libdir_separator_CXX=:
     14270        export_dynamic_flag_spec_CXX='$wl-E'
     14271        hardcode_direct_CXX=yes
     14272        hardcode_minus_L_CXX=yes # Not in the search PATH,
     14273                                             # but as the default
     14274                                             # location of the library.
     14275
     14276        case $cc_basename in
     14277          CC*)
     14278            # FIXME: insert proper C++ library support
     14279            ld_shlibs_CXX=no
     14280            ;;
     14281          aCC*)
     14282            archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
     14283            # Commands to make compiler produce verbose output that lists
     14284            # what "hidden" libraries, object files and flags are used when
     14285            # linking a shared library.
     14286            #
     14287            # There doesn't appear to be a way to prevent this compiler from
     14288            # explicitly linking system object files so we need to strip them
     14289            # from the output so that they don't get included in the library
     14290            # dependencies.
     14291            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"'
     14292            ;;
     14293          *)
     14294            if test yes = "$GXX"; then
     14295              archive_cmds_CXX='$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 "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
     14296            else
     14297              # FIXME: insert proper C++ library support
     14298              ld_shlibs_CXX=no
     14299            fi
     14300            ;;
     14301        esac
     14302        ;;
     14303
     14304      hpux10*|hpux11*)
     14305        if test no = "$with_gnu_ld"; then
     14306          hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
     14307          hardcode_libdir_separator_CXX=:
     14308
     14309          case $host_cpu in
     14310            hppa*64*|ia64*)
     14311              ;;
     14312            *)
     14313              export_dynamic_flag_spec_CXX='$wl-E'
     14314              ;;
     14315          esac
     14316        fi
     14317        case $host_cpu in
     14318          hppa*64*|ia64*)
     14319            hardcode_direct_CXX=no
     14320            hardcode_shlibpath_var_CXX=no
     14321            ;;
     14322          *)
     14323            hardcode_direct_CXX=yes
     14324            hardcode_direct_absolute_CXX=yes
     14325            hardcode_minus_L_CXX=yes # Not in the search PATH,
     14326                                                 # but as the default
     14327                                                 # location of the library.
     14328            ;;
     14329        esac
     14330
     14331        case $cc_basename in
     14332          CC*)
     14333            # FIXME: insert proper C++ library support
     14334            ld_shlibs_CXX=no
     14335            ;;
     14336          aCC*)
     14337            case $host_cpu in
     14338              hppa*64*)
     14339                archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     14340                ;;
     14341              ia64*)
     14342                archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     14343                ;;
     14344              *)
     14345                archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     14346                ;;
     14347            esac
     14348            # Commands to make compiler produce verbose output that lists
     14349            # what "hidden" libraries, object files and flags are used when
     14350            # linking a shared library.
     14351            #
     14352            # There doesn't appear to be a way to prevent this compiler from
     14353            # explicitly linking system object files so we need to strip them
     14354            # from the output so that they don't get included in the library
     14355            # dependencies.
     14356            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"'
     14357            ;;
     14358          *)
     14359            if test yes = "$GXX"; then
     14360              if test no = "$with_gnu_ld"; then
     14361                case $host_cpu in
     14362                  hppa*64*)
     14363                    archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     14364                    ;;
     14365                  ia64*)
     14366                    archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     14367                    ;;
     14368                  *)
     14369                    archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     14370                    ;;
     14371                esac
     14372              fi
     14373            else
     14374              # FIXME: insert proper C++ library support
     14375              ld_shlibs_CXX=no
     14376            fi
     14377            ;;
     14378        esac
     14379        ;;
     14380
     14381      interix[3-9]*)
     14382        hardcode_direct_CXX=no
     14383        hardcode_shlibpath_var_CXX=no
     14384        hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
     14385        export_dynamic_flag_spec_CXX='$wl-E'
     14386        # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
     14387        # Instead, shared libraries are loaded at an image base (0x10000000 by
     14388        # default) and relocated if they conflict, which is a slow very memory
     14389        # consuming and fragmenting process.  To avoid this, we pick a random,
     14390        # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
     14391        # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
     14392        archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
     14393        archive_expsym_cmds_CXX='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'
     14394        ;;
     14395      irix5* | irix6*)
     14396        case $cc_basename in
     14397          CC*)
     14398            # SGI C++
     14399            archive_cmds_CXX='$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'
     14400
     14401            # Archives containing C++ object files must be created using
     14402            # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
     14403            # necessary to make sure instantiated templates are included
     14404            # in the archive.
     14405            old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
     14406            ;;
     14407          *)
     14408            if test yes = "$GXX"; then
     14409              if test no = "$with_gnu_ld"; then
     14410                archive_cmds_CXX='$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'
     14411              else
     14412                archive_cmds_CXX='$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'
     14413              fi
     14414            fi
     14415            link_all_deplibs_CXX=yes
     14416            ;;
     14417        esac
     14418        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
     14419        hardcode_libdir_separator_CXX=:
     14420        inherit_rpath_CXX=yes
     14421        ;;
     14422
     14423      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     14424        case $cc_basename in
     14425          KCC*)
     14426            # Kuck and Associates, Inc. (KAI) C++ Compiler
     14427
     14428            # KCC will only create a shared library if the output file
     14429            # ends with ".so" (or ".sl" for HP-UX), so rename the library
     14430            # to its proper name (with version) after linking.
     14431            archive_cmds_CXX='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'
     14432            archive_expsym_cmds_CXX='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'
     14433            # Commands to make compiler produce verbose output that lists
     14434            # what "hidden" libraries, object files and flags are used when
     14435            # linking a shared library.
     14436            #
     14437            # There doesn't appear to be a way to prevent this compiler from
     14438            # explicitly linking system object files so we need to strip them
     14439            # from the output so that they don't get included in the library
     14440            # dependencies.
     14441            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"'
     14442
     14443            hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
     14444            export_dynamic_flag_spec_CXX='$wl--export-dynamic'
     14445
     14446            # Archives containing C++ object files must be created using
     14447            # "CC -Bstatic", where "CC" is the KAI C++ compiler.
     14448            old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
     14449            ;;
     14450          icpc* | ecpc* )
     14451            # Intel C++
     14452            with_gnu_ld=yes
     14453            # version 8.0 and above of icpc choke on multiply defined symbols
     14454            # if we add $predep_objects and $postdep_objects, however 7.1 and
     14455            # earlier do not add the objects themselves.
     14456            case `$CC -V 2>&1` in
     14457              *"Version 7."*)
     14458                archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
     14459                archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
     14460                ;;
     14461              *)  # Version 8.0 or newer
     14462                tmp_idyn=
     14463                case $host_cpu in
     14464                  ia64*) tmp_idyn=' -i_dynamic';;
     14465                esac
     14466                archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     14467                archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
     14468                ;;
     14469            esac
     14470            archive_cmds_need_lc_CXX=no
     14471            hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
     14472            export_dynamic_flag_spec_CXX='$wl--export-dynamic'
     14473            whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
     14474            ;;
     14475          pgCC* | pgcpp*)
     14476            # Portland Group C++ compiler
     14477            case `$CC -V` in
     14478            *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
     14479              prelink_cmds_CXX='tpldir=Template.dir~
     14480               rm -rf $tpldir~
     14481               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
     14482               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
     14483              old_archive_cmds_CXX='tpldir=Template.dir~
     14484                rm -rf $tpldir~
     14485                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
     14486                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
     14487                $RANLIB $oldlib'
     14488              archive_cmds_CXX='tpldir=Template.dir~
     14489                rm -rf $tpldir~
     14490                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
     14491                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
     14492              archive_expsym_cmds_CXX='tpldir=Template.dir~
     14493                rm -rf $tpldir~
     14494                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
     14495                $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'
     14496              ;;
     14497            *) # Version 6 and above use weak symbols
     14498              archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
     14499              archive_expsym_cmds_CXX='$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'
     14500              ;;
     14501            esac
     14502
     14503            hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir'
     14504            export_dynamic_flag_spec_CXX='$wl--export-dynamic'
     14505            whole_archive_flag_spec_CXX='$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'
     14506            ;;
     14507          cxx*)
     14508            # Compaq C++
     14509            archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
     14510            archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname  -o $lib $wl-retain-symbols-file $wl$export_symbols'
     14511
     14512            runpath_var=LD_RUN_PATH
     14513            hardcode_libdir_flag_spec_CXX='-rpath $libdir'
     14514            hardcode_libdir_separator_CXX=:
     14515
     14516            # Commands to make compiler produce verbose output that lists
     14517            # what "hidden" libraries, object files and flags are used when
     14518            # linking a shared library.
     14519            #
     14520            # There doesn't appear to be a way to prevent this compiler from
     14521            # explicitly linking system object files so we need to strip them
     14522            # from the output so that they don't get included in the library
     14523            # dependencies.
     14524            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'
     14525            ;;
     14526          xl* | mpixl* | bgxl*)
     14527            # IBM XL 8.0 on PPC, with GNU ld
     14528            hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
     14529            export_dynamic_flag_spec_CXX='$wl--export-dynamic'
     14530            archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     14531            if test yes = "$supports_anon_versioning"; then
     14532              archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
     14533                cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
     14534                echo "local: *; };" >> $output_objdir/$libname.ver~
     14535                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
     14536            fi
     14537            ;;
     14538          *)
     14539            case `$CC -V 2>&1 | sed 5q` in
     14540            *Sun\ C*)
     14541              # Sun C++ 5.9
     14542              no_undefined_flag_CXX=' -zdefs'
     14543              archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     14544              archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
     14545              hardcode_libdir_flag_spec_CXX='-R$libdir'
     14546              whole_archive_flag_spec_CXX='$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'
     14547              compiler_needs_object_CXX=yes
     14548
     14549              # Not sure whether something based on
     14550              # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
     14551              # would be better.
     14552              output_verbose_link_cmd='func_echo_all'
     14553
     14554              # Archives containing C++ object files must be created using
     14555              # "CC -xar", where "CC" is the Sun C++ compiler.  This is
     14556              # necessary to make sure instantiated templates are included
     14557              # in the archive.
     14558              old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
     14559              ;;
     14560            esac
     14561            ;;
     14562        esac
     14563        ;;
     14564
     14565      lynxos*)
     14566        # FIXME: insert proper C++ library support
     14567        ld_shlibs_CXX=no
     14568        ;;
     14569
     14570      m88k*)
     14571        # FIXME: insert proper C++ library support
     14572        ld_shlibs_CXX=no
     14573        ;;
     14574
     14575      mvs*)
     14576        case $cc_basename in
     14577          cxx*)
     14578            # FIXME: insert proper C++ library support
     14579            ld_shlibs_CXX=no
     14580            ;;
     14581          *)
     14582            # FIXME: insert proper C++ library support
     14583            ld_shlibs_CXX=no
     14584            ;;
     14585        esac
     14586        ;;
     14587
     14588      netbsd*)
     14589        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
     14590          archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
     14591          wlarc=
     14592          hardcode_libdir_flag_spec_CXX='-R$libdir'
     14593          hardcode_direct_CXX=yes
     14594          hardcode_shlibpath_var_CXX=no
     14595        fi
     14596        # Workaround some broken pre-1.5 toolchains
     14597        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
     14598        ;;
     14599
     14600      *nto* | *qnx*)
     14601        ld_shlibs_CXX=yes
     14602        ;;
     14603
     14604      openbsd* | bitrig*)
     14605        if test -f /usr/libexec/ld.so; then
     14606          hardcode_direct_CXX=yes
     14607          hardcode_shlibpath_var_CXX=no
     14608          hardcode_direct_absolute_CXX=yes
     14609          archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
     14610          hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
     14611          if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
     14612            archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
     14613            export_dynamic_flag_spec_CXX='$wl-E'
     14614            whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
     14615          fi
     14616          output_verbose_link_cmd=func_echo_all
     14617        else
     14618          ld_shlibs_CXX=no
     14619        fi
     14620        ;;
     14621
     14622      osf3* | osf4* | osf5*)
     14623        case $cc_basename in
     14624          KCC*)
     14625            # Kuck and Associates, Inc. (KAI) C++ Compiler
     14626
     14627            # KCC will only create a shared library if the output file
     14628            # ends with ".so" (or ".sl" for HP-UX), so rename the library
     14629            # to its proper name (with version) after linking.
     14630            archive_cmds_CXX='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'
     14631
     14632            hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
     14633            hardcode_libdir_separator_CXX=:
     14634
     14635            # Archives containing C++ object files must be created using
     14636            # the KAI C++ compiler.
     14637            case $host in
     14638              osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
     14639              *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
     14640            esac
     14641            ;;
     14642          RCC*)
     14643            # Rational C++ 2.4.1
     14644            # FIXME: insert proper C++ library support
     14645            ld_shlibs_CXX=no
     14646            ;;
     14647          cxx*)
     14648            case $host in
     14649              osf3*)
     14650                allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
     14651                archive_cmds_CXX='$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'
     14652                hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
     14653                ;;
     14654              *)
     14655                allow_undefined_flag_CXX=' -expect_unresolved \*'
     14656                archive_cmds_CXX='$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'
     14657                archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
     14658                  echo "-hidden">> $lib.exp~
     14659                  $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~
     14660                  $RM $lib.exp'
     14661                hardcode_libdir_flag_spec_CXX='-rpath $libdir'
     14662                ;;
     14663            esac
     14664
     14665            hardcode_libdir_separator_CXX=:
     14666
     14667            # Commands to make compiler produce verbose output that lists
     14668            # what "hidden" libraries, object files and flags are used when
     14669            # linking a shared library.
     14670            #
     14671            # There doesn't appear to be a way to prevent this compiler from
     14672            # explicitly linking system object files so we need to strip them
     14673            # from the output so that they don't get included in the library
     14674            # dependencies.
     14675            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"'
     14676            ;;
     14677          *)
     14678            if test yes,no = "$GXX,$with_gnu_ld"; then
     14679              allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
     14680              case $host in
     14681                osf3*)
     14682                  archive_cmds_CXX='$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'
     14683                  ;;
     14684                *)
     14685                  archive_cmds_CXX='$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'
     14686                  ;;
     14687              esac
     14688
     14689              hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
     14690              hardcode_libdir_separator_CXX=:
     14691
     14692              # Commands to make compiler produce verbose output that lists
     14693              # what "hidden" libraries, object files and flags are used when
     14694              # linking a shared library.
     14695              output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
     14696
     14697            else
     14698              # FIXME: insert proper C++ library support
     14699              ld_shlibs_CXX=no
     14700            fi
     14701            ;;
     14702        esac
     14703        ;;
     14704
     14705      psos*)
     14706        # FIXME: insert proper C++ library support
     14707        ld_shlibs_CXX=no
     14708        ;;
     14709
     14710      sunos4*)
     14711        case $cc_basename in
     14712          CC*)
     14713            # Sun C++ 4.x
     14714            # FIXME: insert proper C++ library support
     14715            ld_shlibs_CXX=no
     14716            ;;
     14717          lcc*)
     14718            # Lucid
     14719            # FIXME: insert proper C++ library support
     14720            ld_shlibs_CXX=no
     14721            ;;
     14722          *)
     14723            # FIXME: insert proper C++ library support
     14724            ld_shlibs_CXX=no
     14725            ;;
     14726        esac
     14727        ;;
     14728
     14729      solaris*)
     14730        case $cc_basename in
     14731          CC* | sunCC*)
     14732            # Sun C++ 4.2, 5.x and Centerline C++
     14733            archive_cmds_need_lc_CXX=yes
     14734            no_undefined_flag_CXX=' -zdefs'
     14735            archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     14736            archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     14737              $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'
     14738
     14739            hardcode_libdir_flag_spec_CXX='-R$libdir'
     14740            hardcode_shlibpath_var_CXX=no
     14741            case $host_os in
     14742              solaris2.[0-5] | solaris2.[0-5].*) ;;
     14743              *)
     14744                # The compiler driver will combine and reorder linker options,
     14745                # but understands '-z linker_flag'.
     14746                # Supported since Solaris 2.6 (maybe 2.5.1?)
     14747                whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
     14748                ;;
     14749            esac
     14750            link_all_deplibs_CXX=yes
     14751
     14752            output_verbose_link_cmd='func_echo_all'
     14753
     14754            # Archives containing C++ object files must be created using
     14755            # "CC -xar", where "CC" is the Sun C++ compiler.  This is
     14756            # necessary to make sure instantiated templates are included
     14757            # in the archive.
     14758            old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
     14759            ;;
     14760          gcx*)
     14761            # Green Hills C++ Compiler
     14762            archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
     14763
     14764            # The C++ compiler must be used to create the archive.
     14765            old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
     14766            ;;
     14767          *)
     14768            # GNU C++ compiler with Solaris linker
     14769            if test yes,no = "$GXX,$with_gnu_ld"; then
     14770              no_undefined_flag_CXX=' $wl-z ${wl}defs'
     14771              if $CC --version | $GREP -v '^2\.7' > /dev/null; then
     14772                archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
     14773                archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     14774                  $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
     14775
     14776                # Commands to make compiler produce verbose output that lists
     14777                # what "hidden" libraries, object files and flags are used when
     14778                # linking a shared library.
     14779                output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
     14780              else
     14781                # g++ 2.7 appears to require '-G' NOT '-shared' on this
     14782                # platform.
     14783                archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
     14784                archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     14785                  $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
     14786
     14787                # Commands to make compiler produce verbose output that lists
     14788                # what "hidden" libraries, object files and flags are used when
     14789                # linking a shared library.
     14790                output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
     14791              fi
     14792
     14793              hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir'
     14794              case $host_os in
     14795                solaris2.[0-5] | solaris2.[0-5].*) ;;
     14796                *)
     14797                  whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
     14798                  ;;
     14799              esac
     14800            fi
     14801            ;;
     14802        esac
     14803        ;;
     14804
     14805    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
     14806      no_undefined_flag_CXX='$wl-z,text'
     14807      archive_cmds_need_lc_CXX=no
     14808      hardcode_shlibpath_var_CXX=no
     14809      runpath_var='LD_RUN_PATH'
     14810
     14811      case $cc_basename in
     14812        CC*)
     14813          archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14814          archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14815          ;;
     14816        *)
     14817          archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14818          archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14819          ;;
     14820      esac
     14821      ;;
     14822
     14823      sysv5* | sco3.2v5* | sco5v6*)
     14824        # Note: We CANNOT use -z defs as we might desire, because we do not
     14825        # link with -lc, and that would cause any symbols used from libc to
     14826        # always be unresolved, which means just about no library would
     14827        # ever link correctly.  If we're not using GNU ld we use -z text
     14828        # though, which does catch some bad symbols but isn't as heavy-handed
     14829        # as -z defs.
     14830        no_undefined_flag_CXX='$wl-z,text'
     14831        allow_undefined_flag_CXX='$wl-z,nodefs'
     14832        archive_cmds_need_lc_CXX=no
     14833        hardcode_shlibpath_var_CXX=no
     14834        hardcode_libdir_flag_spec_CXX='$wl-R,$libdir'
     14835        hardcode_libdir_separator_CXX=':'
     14836        link_all_deplibs_CXX=yes
     14837        export_dynamic_flag_spec_CXX='$wl-Bexport'
     14838        runpath_var='LD_RUN_PATH'
     14839
     14840        case $cc_basename in
     14841          CC*)
     14842            archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14843            archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14844            old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
     14845              '"$old_archive_cmds_CXX"
     14846            reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
     14847              '"$reload_cmds_CXX"
     14848            ;;
     14849          *)
     14850            archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14851            archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14852            ;;
     14853        esac
     14854      ;;
     14855
     14856      tandem*)
     14857        case $cc_basename in
     14858          NCC*)
     14859            # NonStop-UX NCC 3.20
     14860            # FIXME: insert proper C++ library support
     14861            ld_shlibs_CXX=no
     14862            ;;
     14863          *)
     14864            # FIXME: insert proper C++ library support
     14865            ld_shlibs_CXX=no
     14866            ;;
     14867        esac
     14868        ;;
     14869
     14870      vxworks*)
     14871        # FIXME: insert proper C++ library support
     14872        ld_shlibs_CXX=no
     14873        ;;
     14874
     14875      *)
     14876        # FIXME: insert proper C++ library support
     14877        ld_shlibs_CXX=no
     14878        ;;
     14879    esac
     14880
     14881    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
     14882$as_echo "$ld_shlibs_CXX" >&6; }
     14883    test no = "$ld_shlibs_CXX" && can_build_shared=no
     14884
     14885    GCC_CXX=$GXX
     14886    LD_CXX=$LD
     14887
     14888    ## CAVEAT EMPTOR:
     14889    ## There is no encapsulation within the following macros, do not change
     14890    ## the running order or otherwise move them around unless you know exactly
     14891    ## what you are doing...
     14892    # Dependencies to place before and after the object being linked:
     14893predep_objects_CXX=
     14894postdep_objects_CXX=
     14895predeps_CXX=
     14896postdeps_CXX=
     14897compiler_lib_search_path_CXX=
     14898
     14899cat > conftest.$ac_ext <<_LT_EOF
     14900class Foo
     14901{
     14902public:
     14903  Foo (void) { a = 0; }
     14904private:
     14905  int a;
     14906};
     14907_LT_EOF
     14908
     14909
     14910_lt_libdeps_save_CFLAGS=$CFLAGS
     14911case "$CC $CFLAGS " in #(
     14912*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
     14913*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
     14914*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
     14915esac
     14916
     14917if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     14918  (eval $ac_compile) 2>&5
     14919  ac_status=$?
     14920  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     14921  test $ac_status = 0; }; then
     14922  # Parse the compiler output and extract the necessary
     14923  # objects, libraries and library flags.
     14924
     14925  # Sentinel used to keep track of whether or not we are before
     14926  # the conftest object file.
     14927  pre_test_object_deps_done=no
     14928
     14929  for p in `eval "$output_verbose_link_cmd"`; do
     14930    case $prev$p in
     14931
     14932    -L* | -R* | -l*)
     14933       # Some compilers place space between "-{L,R}" and the path.
     14934       # Remove the space.
     14935       if test x-L = "$p" ||
     14936          test x-R = "$p"; then
     14937         prev=$p
     14938         continue
     14939       fi
     14940
     14941       # Expand the sysroot to ease extracting the directories later.
     14942       if test -z "$prev"; then
     14943         case $p in
     14944         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
     14945         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
     14946         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
     14947         esac
     14948       fi
     14949       case $p in
     14950       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
     14951       esac
     14952       if test no = "$pre_test_object_deps_done"; then
     14953         case $prev in
     14954         -L | -R)
     14955           # Internal compiler library paths should come after those
     14956           # provided the user.  The postdeps already come after the
     14957           # user supplied libs so there is no need to process them.
     14958           if test -z "$compiler_lib_search_path_CXX"; then
     14959             compiler_lib_search_path_CXX=$prev$p
     14960           else
     14961             compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p"
     14962           fi
     14963           ;;
     14964         # The "-l" case would never come before the object being
     14965         # linked, so don't bother handling this case.
     14966         esac
     14967       else
     14968         if test -z "$postdeps_CXX"; then
     14969           postdeps_CXX=$prev$p
     14970         else
     14971           postdeps_CXX="${postdeps_CXX} $prev$p"
     14972         fi
     14973       fi
     14974       prev=
     14975       ;;
     14976
     14977    *.lto.$objext) ;; # Ignore GCC LTO objects
     14978    *.$objext)
     14979       # This assumes that the test object file only shows up
     14980       # once in the compiler output.
     14981       if test "$p" = "conftest.$objext"; then
     14982         pre_test_object_deps_done=yes
     14983         continue
     14984       fi
     14985
     14986       if test no = "$pre_test_object_deps_done"; then
     14987         if test -z "$predep_objects_CXX"; then
     14988           predep_objects_CXX=$p
     14989         else
     14990           predep_objects_CXX="$predep_objects_CXX $p"
     14991         fi
     14992       else
     14993         if test -z "$postdep_objects_CXX"; then
     14994           postdep_objects_CXX=$p
     14995         else
     14996           postdep_objects_CXX="$postdep_objects_CXX $p"
     14997         fi
     14998       fi
     14999       ;;
     15000
     15001    *) ;; # Ignore the rest.
     15002
     15003    esac
     15004  done
     15005
     15006  # Clean up.
     15007  rm -f a.out a.exe
     15008else
     15009  echo "libtool.m4: error: problem compiling CXX test program"
     15010fi
     15011
     15012$RM -f confest.$objext
     15013CFLAGS=$_lt_libdeps_save_CFLAGS
     15014
     15015# PORTME: override above test on systems where it is broken
     15016case $host_os in
     15017interix[3-9]*)
     15018  # Interix 3.5 installs completely hosed .la files for C++, so rather than
     15019  # hack all around it, let's just trust "g++" to DTRT.
     15020  predep_objects_CXX=
     15021  postdep_objects_CXX=
     15022  postdeps_CXX=
     15023  ;;
     15024esac
     15025
     15026
     15027case " $postdeps_CXX " in
     15028*" -lc "*) archive_cmds_need_lc_CXX=no ;;
     15029esac
     15030 compiler_lib_search_dirs_CXX=
     15031if test -n "${compiler_lib_search_path_CXX}"; then
     15032 compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'`
     15033fi
     15034
     15035
     15036
     15037
     15038
     15039
     15040
     15041
     15042
     15043
     15044
     15045
     15046
     15047
     15048
     15049
     15050
     15051
     15052
     15053
     15054
     15055
     15056
     15057
     15058
     15059
     15060
     15061
     15062
     15063
     15064
     15065    lt_prog_compiler_wl_CXX=
     15066lt_prog_compiler_pic_CXX=
     15067lt_prog_compiler_static_CXX=
     15068
     15069
     15070  # C++ specific cases for pic, static, wl, etc.
     15071  if test yes = "$GXX"; then
     15072    lt_prog_compiler_wl_CXX='-Wl,'
     15073    lt_prog_compiler_static_CXX='-static'
     15074
     15075    case $host_os in
     15076    aix*)
     15077      # All AIX code is PIC.
     15078      if test ia64 = "$host_cpu"; then
     15079        # AIX 5 now supports IA64 processor
     15080        lt_prog_compiler_static_CXX='-Bstatic'
     15081      fi
     15082      lt_prog_compiler_pic_CXX='-fPIC'
     15083      ;;
     15084
     15085    amigaos*)
     15086      case $host_cpu in
     15087      powerpc)
     15088            # see comment about AmigaOS4 .so support
     15089            lt_prog_compiler_pic_CXX='-fPIC'
     15090        ;;
     15091      m68k)
     15092            # FIXME: we need at least 68020 code to build shared libraries, but
     15093            # adding the '-m68020' flag to GCC prevents building anything better,
     15094            # like '-m68040'.
     15095            lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
     15096        ;;
     15097      esac
     15098      ;;
     15099
     15100    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
     15101      # PIC is the default for these OSes.
     15102      ;;
     15103    mingw* | cygwin* | os2* | pw32* | cegcc*)
     15104      # This hack is so that the source file can tell whether it is being
     15105      # built for inclusion in a dll (and should export symbols for example).
     15106      # Although the cygwin gcc ignores -fPIC, still need this for old-style
     15107      # (--disable-auto-import) libraries
     15108      lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
     15109      case $host_os in
     15110      os2*)
     15111        lt_prog_compiler_static_CXX='$wl-static'
     15112        ;;
     15113      esac
     15114      ;;
     15115    darwin* | rhapsody*)
     15116      # PIC is the default on this platform
     15117      # Common symbols not allowed in MH_DYLIB files
     15118      lt_prog_compiler_pic_CXX='-fno-common'
     15119      ;;
     15120    *djgpp*)
     15121      # DJGPP does not support shared libraries at all
     15122      lt_prog_compiler_pic_CXX=
     15123      ;;
     15124    haiku*)
     15125      # PIC is the default for Haiku.
     15126      # The "-static" flag exists, but is broken.
     15127      lt_prog_compiler_static_CXX=
     15128      ;;
     15129    interix[3-9]*)
     15130      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
     15131      # Instead, we relocate shared libraries at runtime.
     15132      ;;
     15133    sysv4*MP*)
     15134      if test -d /usr/nec; then
     15135        lt_prog_compiler_pic_CXX=-Kconform_pic
     15136      fi
     15137      ;;
     15138    hpux*)
     15139      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
     15140      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
     15141      # sets the default TLS model and affects inlining.
     15142      case $host_cpu in
     15143      hppa*64*)
     15144        ;;
     15145      *)
     15146        lt_prog_compiler_pic_CXX='-fPIC'
     15147        ;;
     15148      esac
     15149      ;;
     15150    *qnx* | *nto*)
     15151      # QNX uses GNU C++, but need to define -shared option too, otherwise
     15152      # it will coredump.
     15153      lt_prog_compiler_pic_CXX='-fPIC -shared'
     15154      ;;
     15155    *)
     15156      lt_prog_compiler_pic_CXX='-fPIC'
     15157      ;;
     15158    esac
     15159  else
     15160    case $host_os in
     15161      aix[4-9]*)
     15162        # All AIX code is PIC.
     15163        if test ia64 = "$host_cpu"; then
     15164          # AIX 5 now supports IA64 processor
     15165          lt_prog_compiler_static_CXX='-Bstatic'
     15166        else
     15167          lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
     15168        fi
     15169        ;;
     15170      chorus*)
     15171        case $cc_basename in
     15172        cxch68*)
     15173          # Green Hills C++ Compiler
     15174          # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--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"
     15175          ;;
     15176        esac
     15177        ;;
     15178      mingw* | cygwin* | os2* | pw32* | cegcc*)
     15179        # This hack is so that the source file can tell whether it is being
     15180        # built for inclusion in a dll (and should export symbols for example).
     15181        lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
     15182        ;;
     15183      dgux*)
     15184        case $cc_basename in
     15185          ec++*)
     15186            lt_prog_compiler_pic_CXX='-KPIC'
     15187            ;;
     15188          ghcx*)
     15189            # Green Hills C++ Compiler
     15190            lt_prog_compiler_pic_CXX='-pic'
     15191            ;;
     15192          *)
     15193            ;;
     15194        esac
     15195        ;;
     15196      freebsd* | dragonfly*)
     15197        # FreeBSD uses GNU C++
     15198        ;;
     15199      hpux9* | hpux10* | hpux11*)
     15200        case $cc_basename in
     15201          CC*)
     15202            lt_prog_compiler_wl_CXX='-Wl,'
     15203            lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
     15204            if test ia64 != "$host_cpu"; then
     15205              lt_prog_compiler_pic_CXX='+Z'
     15206            fi
     15207            ;;
     15208          aCC*)
     15209            lt_prog_compiler_wl_CXX='-Wl,'
     15210            lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
     15211            case $host_cpu in
     15212            hppa*64*|ia64*)
     15213              # +Z the default
     15214              ;;
     15215            *)
     15216              lt_prog_compiler_pic_CXX='+Z'
     15217              ;;
     15218            esac
     15219            ;;
     15220          *)
     15221            ;;
     15222        esac
     15223        ;;
     15224      interix*)
     15225        # This is c89, which is MS Visual C++ (no shared libs)
     15226        # Anyone wants to do a port?
     15227        ;;
     15228      irix5* | irix6* | nonstopux*)
     15229        case $cc_basename in
     15230          CC*)
     15231            lt_prog_compiler_wl_CXX='-Wl,'
     15232            lt_prog_compiler_static_CXX='-non_shared'
     15233            # CC pic flag -KPIC is the default.
     15234            ;;
     15235          *)
     15236            ;;
     15237        esac
     15238        ;;
     15239      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     15240        case $cc_basename in
     15241          KCC*)
     15242            # KAI C++ Compiler
     15243            lt_prog_compiler_wl_CXX='--backend -Wl,'
     15244            lt_prog_compiler_pic_CXX='-fPIC'
     15245            ;;
     15246          ecpc* )
     15247            # old Intel C++ for x86_64, which still supported -KPIC.
     15248            lt_prog_compiler_wl_CXX='-Wl,'
     15249            lt_prog_compiler_pic_CXX='-KPIC'
     15250            lt_prog_compiler_static_CXX='-static'
     15251            ;;
     15252          icpc* )
     15253            # Intel C++, used to be incompatible with GCC.
     15254            # ICC 10 doesn't accept -KPIC any more.
     15255            lt_prog_compiler_wl_CXX='-Wl,'
     15256            lt_prog_compiler_pic_CXX='-fPIC'
     15257            lt_prog_compiler_static_CXX='-static'
     15258            ;;
     15259          pgCC* | pgcpp*)
     15260            # Portland Group C++ compiler
     15261            lt_prog_compiler_wl_CXX='-Wl,'
     15262            lt_prog_compiler_pic_CXX='-fpic'
     15263            lt_prog_compiler_static_CXX='-Bstatic'
     15264            ;;
     15265          cxx*)
     15266            # Compaq C++
     15267            # Make sure the PIC flag is empty.  It appears that all Alpha
     15268            # Linux and Compaq Tru64 Unix objects are PIC.
     15269            lt_prog_compiler_pic_CXX=
     15270            lt_prog_compiler_static_CXX='-non_shared'
     15271            ;;
     15272          xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
     15273            # IBM XL 8.0, 9.0 on PPC and BlueGene
     15274            lt_prog_compiler_wl_CXX='-Wl,'
     15275            lt_prog_compiler_pic_CXX='-qpic'
     15276            lt_prog_compiler_static_CXX='-qstaticlink'
     15277            ;;
     15278          *)
     15279            case `$CC -V 2>&1 | sed 5q` in
     15280            *Sun\ C*)
     15281              # Sun C++ 5.9
     15282              lt_prog_compiler_pic_CXX='-KPIC'
     15283              lt_prog_compiler_static_CXX='-Bstatic'
     15284              lt_prog_compiler_wl_CXX='-Qoption ld '
     15285              ;;
     15286            esac
     15287            ;;
     15288        esac
     15289        ;;
     15290      lynxos*)
     15291        ;;
     15292      m88k*)
     15293        ;;
     15294      mvs*)
     15295        case $cc_basename in
     15296          cxx*)
     15297            lt_prog_compiler_pic_CXX='-W c,exportall'
     15298            ;;
     15299          *)
     15300            ;;
     15301        esac
     15302        ;;
     15303      netbsd* | netbsdelf*-gnu)
     15304        ;;
     15305      *qnx* | *nto*)
     15306        # QNX uses GNU C++, but need to define -shared option too, otherwise
     15307        # it will coredump.
     15308        lt_prog_compiler_pic_CXX='-fPIC -shared'
     15309        ;;
     15310      osf3* | osf4* | osf5*)
     15311        case $cc_basename in
     15312          KCC*)
     15313            lt_prog_compiler_wl_CXX='--backend -Wl,'
     15314            ;;
     15315          RCC*)
     15316            # Rational C++ 2.4.1
     15317            lt_prog_compiler_pic_CXX='-pic'
     15318            ;;
     15319          cxx*)
     15320            # Digital/Compaq C++
     15321            lt_prog_compiler_wl_CXX='-Wl,'
     15322            # Make sure the PIC flag is empty.  It appears that all Alpha
     15323            # Linux and Compaq Tru64 Unix objects are PIC.
     15324            lt_prog_compiler_pic_CXX=
     15325            lt_prog_compiler_static_CXX='-non_shared'
     15326            ;;
     15327          *)
     15328            ;;
     15329        esac
     15330        ;;
     15331      psos*)
     15332        ;;
     15333      solaris*)
     15334        case $cc_basename in
     15335          CC* | sunCC*)
     15336            # Sun C++ 4.2, 5.x and Centerline C++
     15337            lt_prog_compiler_pic_CXX='-KPIC'
     15338            lt_prog_compiler_static_CXX='-Bstatic'
     15339            lt_prog_compiler_wl_CXX='-Qoption ld '
     15340            ;;
     15341          gcx*)
     15342            # Green Hills C++ Compiler
     15343            lt_prog_compiler_pic_CXX='-PIC'
     15344            ;;
     15345          *)
     15346            ;;
     15347        esac
     15348        ;;
     15349      sunos4*)
     15350        case $cc_basename in
     15351          CC*)
     15352            # Sun C++ 4.x
     15353            lt_prog_compiler_pic_CXX='-pic'
     15354            lt_prog_compiler_static_CXX='-Bstatic'
     15355            ;;
     15356          lcc*)
     15357            # Lucid
     15358            lt_prog_compiler_pic_CXX='-pic'
     15359            ;;
     15360          *)
     15361            ;;
     15362        esac
     15363        ;;
     15364      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
     15365        case $cc_basename in
     15366          CC*)
     15367            lt_prog_compiler_wl_CXX='-Wl,'
     15368            lt_prog_compiler_pic_CXX='-KPIC'
     15369            lt_prog_compiler_static_CXX='-Bstatic'
     15370            ;;
     15371        esac
     15372        ;;
     15373      tandem*)
     15374        case $cc_basename in
     15375          NCC*)
     15376            # NonStop-UX NCC 3.20
     15377            lt_prog_compiler_pic_CXX='-KPIC'
     15378            ;;
     15379          *)
     15380            ;;
     15381        esac
     15382        ;;
     15383      vxworks*)
     15384        ;;
     15385      *)
     15386        lt_prog_compiler_can_build_shared_CXX=no
     15387        ;;
     15388    esac
     15389  fi
     15390
     15391case $host_os in
     15392  # For platforms that do not support PIC, -DPIC is meaningless:
     15393  *djgpp*)
     15394    lt_prog_compiler_pic_CXX=
     15395    ;;
     15396  *)
     15397    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
     15398    ;;
     15399esac
     15400
     15401{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
     15402$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
     15403if ${lt_cv_prog_compiler_pic_CXX+:} false; then :
     15404  $as_echo_n "(cached) " >&6
     15405else
     15406  lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
     15407fi
     15408{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5
     15409$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; }
     15410lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX
     15411
     15412#
     15413# Check to make sure the PIC flag actually works.
     15414#
     15415if test -n "$lt_prog_compiler_pic_CXX"; then
     15416  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
     15417$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
     15418if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then :
     15419  $as_echo_n "(cached) " >&6
     15420else
     15421  lt_cv_prog_compiler_pic_works_CXX=no
     15422   ac_outfile=conftest.$ac_objext
     15423   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     15424   lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"  ## exclude from sc_useless_quotes_in_assignment
     15425   # Insert the option either (1) after the last *FLAGS variable, or
     15426   # (2) before a word containing "conftest.", or (3) at the end.
     15427   # Note that $ac_compile itself does not contain backslashes and begins
     15428   # with a dollar sign (not a hyphen), so the echo should work correctly.
     15429   # The option is referenced via a variable to avoid confusing sed.
     15430   lt_compile=`echo "$ac_compile" | $SED \
     15431   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     15432   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     15433   -e 's:$: $lt_compiler_flag:'`
     15434   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     15435   (eval "$lt_compile" 2>conftest.err)
     15436   ac_status=$?
     15437   cat conftest.err >&5
     15438   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     15439   if (exit $ac_status) && test -s "$ac_outfile"; then
     15440     # The compiler can only warn and ignore the option if not recognized
     15441     # So say no if there are warnings other than the usual output.
     15442     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
     15443     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     15444     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
     15445       lt_cv_prog_compiler_pic_works_CXX=yes
     15446     fi
     15447   fi
     15448   $RM conftest*
     15449
     15450fi
     15451{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
     15452$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
     15453
     15454if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then
     15455    case $lt_prog_compiler_pic_CXX in
     15456     "" | " "*) ;;
     15457     *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
     15458     esac
     15459else
     15460    lt_prog_compiler_pic_CXX=
     15461     lt_prog_compiler_can_build_shared_CXX=no
     15462fi
     15463
     15464fi
     15465
     15466
     15467
     15468
     15469
     15470#
     15471# Check to make sure the static flag actually works.
     15472#
     15473wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
     15474{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
     15475$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
     15476if ${lt_cv_prog_compiler_static_works_CXX+:} false; then :
     15477  $as_echo_n "(cached) " >&6
     15478else
     15479  lt_cv_prog_compiler_static_works_CXX=no
     15480   save_LDFLAGS=$LDFLAGS
     15481   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
     15482   echo "$lt_simple_link_test_code" > conftest.$ac_ext
     15483   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
     15484     # The linker can only warn and ignore the option if not recognized
     15485     # So say no if there are warnings
     15486     if test -s conftest.err; then
     15487       # Append any errors to the config.log.
     15488       cat conftest.err 1>&5
     15489       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
     15490       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     15491       if diff conftest.exp conftest.er2 >/dev/null; then
     15492         lt_cv_prog_compiler_static_works_CXX=yes
     15493       fi
     15494     else
     15495       lt_cv_prog_compiler_static_works_CXX=yes
     15496     fi
     15497   fi
     15498   $RM -r conftest*
     15499   LDFLAGS=$save_LDFLAGS
     15500
     15501fi
     15502{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
     15503$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
     15504
     15505if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then
     15506    :
     15507else
     15508    lt_prog_compiler_static_CXX=
     15509fi
     15510
     15511
     15512
     15513
     15514    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
     15515$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
     15516if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
     15517  $as_echo_n "(cached) " >&6
     15518else
     15519  lt_cv_prog_compiler_c_o_CXX=no
     15520   $RM -r conftest 2>/dev/null
     15521   mkdir conftest
     15522   cd conftest
     15523   mkdir out
     15524   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     15525
     15526   lt_compiler_flag="-o out/conftest2.$ac_objext"
     15527   # Insert the option either (1) after the last *FLAGS variable, or
     15528   # (2) before a word containing "conftest.", or (3) at the end.
     15529   # Note that $ac_compile itself does not contain backslashes and begins
     15530   # with a dollar sign (not a hyphen), so the echo should work correctly.
     15531   lt_compile=`echo "$ac_compile" | $SED \
     15532   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     15533   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     15534   -e 's:$: $lt_compiler_flag:'`
     15535   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     15536   (eval "$lt_compile" 2>out/conftest.err)
     15537   ac_status=$?
     15538   cat out/conftest.err >&5
     15539   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     15540   if (exit $ac_status) && test -s out/conftest2.$ac_objext
     15541   then
     15542     # The compiler can only warn and ignore the option if not recognized
     15543     # So say no if there are warnings
     15544     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
     15545     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
     15546     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
     15547       lt_cv_prog_compiler_c_o_CXX=yes
     15548     fi
     15549   fi
     15550   chmod u+w . 2>&5
     15551   $RM conftest*
     15552   # SGI C++ compiler will create directory out/ii_files/ for
     15553   # template instantiation
     15554   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
     15555   $RM out/* && rmdir out
     15556   cd ..
     15557   $RM -r conftest
     15558   $RM conftest*
     15559
     15560fi
     15561{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
     15562$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
     15563
     15564
     15565
     15566    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
     15567$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
     15568if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
     15569  $as_echo_n "(cached) " >&6
     15570else
     15571  lt_cv_prog_compiler_c_o_CXX=no
     15572   $RM -r conftest 2>/dev/null
     15573   mkdir conftest
     15574   cd conftest
     15575   mkdir out
     15576   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     15577
     15578   lt_compiler_flag="-o out/conftest2.$ac_objext"
     15579   # Insert the option either (1) after the last *FLAGS variable, or
     15580   # (2) before a word containing "conftest.", or (3) at the end.
     15581   # Note that $ac_compile itself does not contain backslashes and begins
     15582   # with a dollar sign (not a hyphen), so the echo should work correctly.
     15583   lt_compile=`echo "$ac_compile" | $SED \
     15584   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     15585   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     15586   -e 's:$: $lt_compiler_flag:'`
     15587   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     15588   (eval "$lt_compile" 2>out/conftest.err)
     15589   ac_status=$?
     15590   cat out/conftest.err >&5
     15591   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     15592   if (exit $ac_status) && test -s out/conftest2.$ac_objext
     15593   then
     15594     # The compiler can only warn and ignore the option if not recognized
     15595     # So say no if there are warnings
     15596     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
     15597     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
     15598     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
     15599       lt_cv_prog_compiler_c_o_CXX=yes
     15600     fi
     15601   fi
     15602   chmod u+w . 2>&5
     15603   $RM conftest*
     15604   # SGI C++ compiler will create directory out/ii_files/ for
     15605   # template instantiation
     15606   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
     15607   $RM out/* && rmdir out
     15608   cd ..
     15609   $RM -r conftest
     15610   $RM conftest*
     15611
     15612fi
     15613{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
     15614$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
     15615
     15616
     15617
     15618
     15619hard_links=nottested
     15620if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then
     15621  # do not overwrite the value of need_locks provided by the user
     15622  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
     15623$as_echo_n "checking if we can lock with hard links... " >&6; }
     15624  hard_links=yes
     15625  $RM conftest*
     15626  ln conftest.a conftest.b 2>/dev/null && hard_links=no
     15627  touch conftest.a
     15628  ln conftest.a conftest.b 2>&5 || hard_links=no
     15629  ln conftest.a conftest.b 2>/dev/null && hard_links=no
     15630  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
     15631$as_echo "$hard_links" >&6; }
     15632  if test no = "$hard_links"; then
     15633    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
     15634$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
     15635    need_locks=warn
     15636  fi
     15637else
     15638  need_locks=no
     15639fi
     15640
     15641
     15642
     15643    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
     15644$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
     15645
     15646  export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     15647  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
     15648  case $host_os in
     15649  aix[4-9]*)
     15650    # If we're using GNU nm, then we don't want the "-C" option.
     15651    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
     15652    # Without the "-l" option, or with the "-B" option, AIX nm treats
     15653    # weak defined symbols like other global defined symbols, whereas
     15654    # GNU nm marks them as "W".
     15655    # While the 'weak' keyword is ignored in the Export File, we need
     15656    # it in the Import File for the 'aix-soname' feature, so we have
     15657    # to replace the "-B" option with "-P" for AIX nm.
     15658    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
     15659      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
     15660    else
     15661      export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
     15662    fi
     15663    ;;
     15664  pw32*)
     15665    export_symbols_cmds_CXX=$ltdll_cmds
     15666    ;;
     15667  cygwin* | mingw* | cegcc*)
     15668    case $cc_basename in
     15669    cl*)
     15670      exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
     15671      ;;
     15672    *)
     15673      export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
     15674      exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
     15675      ;;
     15676    esac
     15677    ;;
     15678  linux* | k*bsd*-gnu | gnu*)
     15679    link_all_deplibs_CXX=no
     15680    ;;
     15681  *)
     15682    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     15683    ;;
     15684  esac
     15685
     15686{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
     15687$as_echo "$ld_shlibs_CXX" >&6; }
     15688test no = "$ld_shlibs_CXX" && can_build_shared=no
     15689
     15690with_gnu_ld_CXX=$with_gnu_ld
     15691
     15692
     15693
     15694
     15695
     15696
     15697#
     15698# Do we need to explicitly link libc?
     15699#
     15700case "x$archive_cmds_need_lc_CXX" in
     15701x|xyes)
     15702  # Assume -lc should be added
     15703  archive_cmds_need_lc_CXX=yes
     15704
     15705  if test yes,yes = "$GCC,$enable_shared"; then
     15706    case $archive_cmds_CXX in
     15707    *'~'*)
     15708      # FIXME: we may have to deal with multi-command sequences.
     15709      ;;
     15710    '$CC '*)
     15711      # Test whether the compiler implicitly links with -lc since on some
     15712      # systems, -lgcc has to come before -lc. If gcc already passes -lc
     15713      # to ld, don't add -lc before -lgcc.
     15714      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
     15715$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
     15716if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then :
     15717  $as_echo_n "(cached) " >&6
     15718else
     15719  $RM conftest*
     15720        echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     15721
     15722        if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     15723  (eval $ac_compile) 2>&5
     15724  ac_status=$?
     15725  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     15726  test $ac_status = 0; } 2>conftest.err; then
     15727          soname=conftest
     15728          lib=conftest
     15729          libobjs=conftest.$ac_objext
     15730          deplibs=
     15731          wl=$lt_prog_compiler_wl_CXX
     15732          pic_flag=$lt_prog_compiler_pic_CXX
     15733          compiler_flags=-v
     15734          linker_flags=-v
     15735          verstring=
     15736          output_objdir=.
     15737          libname=conftest
     15738          lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
     15739          allow_undefined_flag_CXX=
     15740          if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
     15741  (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
     15742  ac_status=$?
     15743  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     15744  test $ac_status = 0; }
     15745          then
     15746            lt_cv_archive_cmds_need_lc_CXX=no
     15747          else
     15748            lt_cv_archive_cmds_need_lc_CXX=yes
     15749          fi
     15750          allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
     15751        else
     15752          cat conftest.err 1>&5
     15753        fi
     15754        $RM conftest*
     15755
     15756fi
     15757{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
     15758$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
     15759      archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
     15760      ;;
     15761    esac
     15762  fi
     15763  ;;
     15764esac
     15765
     15766
     15767
     15768
     15769
     15770
     15771
     15772
     15773
     15774
     15775
     15776
     15777
     15778
     15779
     15780
     15781
     15782
     15783
     15784
     15785
     15786
     15787
     15788
     15789
     15790
     15791
     15792
     15793
     15794
     15795
     15796
     15797
     15798
     15799
     15800
     15801
     15802
     15803
     15804
     15805
     15806
     15807
     15808
     15809
     15810
     15811
     15812
     15813
     15814
     15815
     15816
     15817
     15818
     15819
     15820
     15821
     15822
     15823
     15824
     15825
     15826
     15827    { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
     15828$as_echo_n "checking dynamic linker characteristics... " >&6; }
     15829
     15830library_names_spec=
     15831libname_spec='lib$name'
     15832soname_spec=
     15833shrext_cmds=.so
     15834postinstall_cmds=
     15835postuninstall_cmds=
     15836finish_cmds=
     15837finish_eval=
     15838shlibpath_var=
     15839shlibpath_overrides_runpath=unknown
     15840version_type=none
     15841dynamic_linker="$host_os ld.so"
     15842sys_lib_dlsearch_path_spec="/lib /usr/lib"
     15843need_lib_prefix=unknown
     15844hardcode_into_libs=no
     15845
     15846# when you set need_version to no, make sure it does not cause -set_version
     15847# flags to be left without arguments
     15848need_version=unknown
     15849
     15850
     15851
     15852case $host_os in
     15853aix3*)
     15854  version_type=linux # correct to gnu/linux during the next big refactor
     15855  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
     15856  shlibpath_var=LIBPATH
     15857
     15858  # AIX 3 has no versioning support, so we append a major version to the name.
     15859  soname_spec='$libname$release$shared_ext$major'
     15860  ;;
     15861
     15862aix[4-9]*)
     15863  version_type=linux # correct to gnu/linux during the next big refactor
     15864  need_lib_prefix=no
     15865  need_version=no
     15866  hardcode_into_libs=yes
     15867  if test ia64 = "$host_cpu"; then
     15868    # AIX 5 supports IA64
     15869    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
     15870    shlibpath_var=LD_LIBRARY_PATH
     15871  else
     15872    # With GCC up to 2.95.x, collect2 would create an import file
     15873    # for dependence libraries.  The import file would start with
     15874    # the line '#! .'.  This would cause the generated library to
     15875    # depend on '.', always an invalid library.  This was fixed in
     15876    # development snapshots of GCC prior to 3.0.
     15877    case $host_os in
     15878      aix4 | aix4.[01] | aix4.[01].*)
     15879      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
     15880           echo ' yes '
     15881           echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
     15882        :
     15883      else
     15884        can_build_shared=no
     15885      fi
     15886      ;;
     15887    esac
     15888    # Using Import Files as archive members, it is possible to support
     15889    # filename-based versioning of shared library archives on AIX. While
     15890    # this would work for both with and without runtime linking, it will
     15891    # prevent static linking of such archives. So we do filename-based
     15892    # shared library versioning with .so extension only, which is used
     15893    # when both runtime linking and shared linking is enabled.
     15894    # Unfortunately, runtime linking may impact performance, so we do
     15895    # not want this to be the default eventually. Also, we use the
     15896    # versioned .so libs for executables only if there is the -brtl
     15897    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
     15898    # To allow for filename-based versioning support, we need to create
     15899    # libNAME.so.V as an archive file, containing:
     15900    # *) an Import File, referring to the versioned filename of the
     15901    #    archive as well as the shared archive member, telling the
     15902    #    bitwidth (32 or 64) of that shared object, and providing the
     15903    #    list of exported symbols of that shared object, eventually
     15904    #    decorated with the 'weak' keyword
     15905    # *) the shared object with the F_LOADONLY flag set, to really avoid
     15906    #    it being seen by the linker.
     15907    # At run time we better use the real file rather than another symlink,
     15908    # but for link time we create the symlink libNAME.so -> libNAME.so.V
     15909
     15910    case $with_aix_soname,$aix_use_runtimelinking in
     15911    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
     15912    # soname into executable. Probably we can add versioning support to
     15913    # collect2, so additional links can be useful in future.
     15914    aix,yes) # traditional libtool
     15915      dynamic_linker='AIX unversionable lib.so'
     15916      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
     15917      # instead of lib<name>.a to let people know that these are not
     15918      # typical AIX shared libraries.
     15919      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15920      ;;
     15921    aix,no) # traditional AIX only
     15922      dynamic_linker='AIX lib.a(lib.so.V)'
     15923      # We preserve .a as extension for shared libraries through AIX4.2
     15924      # and later when we are not doing run time linking.
     15925      library_names_spec='$libname$release.a $libname.a'
     15926      soname_spec='$libname$release$shared_ext$major'
     15927      ;;
     15928    svr4,*) # full svr4 only
     15929      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
     15930      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
     15931      # We do not specify a path in Import Files, so LIBPATH fires.
     15932      shlibpath_overrides_runpath=yes
     15933      ;;
     15934    *,yes) # both, prefer svr4
     15935      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
     15936      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
     15937      # unpreferred sharedlib libNAME.a needs extra handling
     15938      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
     15939      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
     15940      # We do not specify a path in Import Files, so LIBPATH fires.
     15941      shlibpath_overrides_runpath=yes
     15942      ;;
     15943    *,no) # both, prefer aix
     15944      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
     15945      library_names_spec='$libname$release.a $libname.a'
     15946      soname_spec='$libname$release$shared_ext$major'
     15947      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
     15948      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
     15949      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
     15950      ;;
     15951    esac
     15952    shlibpath_var=LIBPATH
     15953  fi
     15954  ;;
     15955
     15956amigaos*)
     15957  case $host_cpu in
     15958  powerpc)
     15959    # Since July 2007 AmigaOS4 officially supports .so libraries.
     15960    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
     15961    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15962    ;;
     15963  m68k)
     15964    library_names_spec='$libname.ixlibrary $libname.a'
     15965    # Create ${libname}_ixlibrary.a entries in /sys/libs.
     15966    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $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'
     15967    ;;
     15968  esac
     15969  ;;
     15970
     15971beos*)
     15972  library_names_spec='$libname$shared_ext'
     15973  dynamic_linker="$host_os ld.so"
     15974  shlibpath_var=LIBRARY_PATH
     15975  ;;
     15976
     15977bsdi[45]*)
     15978  version_type=linux # correct to gnu/linux during the next big refactor
     15979  need_version=no
     15980  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15981  soname_spec='$libname$release$shared_ext$major'
     15982  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
     15983  shlibpath_var=LD_LIBRARY_PATH
     15984  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
     15985  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
     15986  # the default ld.so.conf also contains /usr/contrib/lib and
     15987  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
     15988  # libtool to hard-code these into programs
     15989  ;;
     15990
     15991cygwin* | mingw* | pw32* | cegcc*)
     15992  version_type=windows
     15993  shrext_cmds=.dll
     15994  need_version=no
     15995  need_lib_prefix=no
     15996
     15997  case $GCC,$cc_basename in
     15998  yes,*)
     15999    # gcc
     16000    library_names_spec='$libname.dll.a'
     16001    # DLL is installed to $(libdir)/../bin by postinstall_cmds
     16002    postinstall_cmds='base_file=`basename \$file`~
     16003      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
     16004      dldir=$destdir/`dirname \$dlpath`~
     16005      test -d \$dldir || mkdir -p \$dldir~
     16006      $install_prog $dir/$dlname \$dldir/$dlname~
     16007      chmod a+x \$dldir/$dlname~
     16008      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
     16009        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
     16010      fi'
     16011    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
     16012      dlpath=$dir/\$dldll~
     16013       $RM \$dlpath'
     16014    shlibpath_overrides_runpath=yes
     16015
     16016    case $host_os in
     16017    cygwin*)
     16018      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
     16019      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     16020
     16021      ;;
     16022    mingw* | cegcc*)
     16023      # MinGW DLLs use traditional 'lib' prefix
     16024      soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     16025      ;;
     16026    pw32*)
     16027      # pw32 DLLs use 'pw' prefix rather than 'lib'
     16028      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     16029      ;;
     16030    esac
     16031    dynamic_linker='Win32 ld.exe'
     16032    ;;
     16033
     16034  *,cl*)
     16035    # Native MSVC
     16036    libname_spec='$name'
     16037    soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     16038    library_names_spec='$libname.dll.lib'
     16039
     16040    case $build_os in
     16041    mingw*)
     16042      sys_lib_search_path_spec=
     16043      lt_save_ifs=$IFS
     16044      IFS=';'
     16045      for lt_path in $LIB
     16046      do
     16047        IFS=$lt_save_ifs
     16048        # Let DOS variable expansion print the short 8.3 style file name.
     16049        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
     16050        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
     16051      done
     16052      IFS=$lt_save_ifs
     16053      # Convert to MSYS style.
     16054      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
     16055      ;;
     16056    cygwin*)
     16057      # Convert to unix form, then to dos form, then back to unix form
     16058      # but this time dos style (no spaces!) so that the unix form looks
     16059      # like /cygdrive/c/PROGRA~1:/cygdr...
     16060      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
     16061      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
     16062      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
     16063      ;;
     16064    *)
     16065      sys_lib_search_path_spec=$LIB
     16066      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
     16067        # It is most probably a Windows format PATH.
     16068        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
     16069      else
     16070        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
     16071      fi
     16072      # FIXME: find the short name or the path components, as spaces are
     16073      # common. (e.g. "Program Files" -> "PROGRA~1")
     16074      ;;
     16075    esac
     16076
     16077    # DLL is installed to $(libdir)/../bin by postinstall_cmds
     16078    postinstall_cmds='base_file=`basename \$file`~
     16079      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
     16080      dldir=$destdir/`dirname \$dlpath`~
     16081      test -d \$dldir || mkdir -p \$dldir~
     16082      $install_prog $dir/$dlname \$dldir/$dlname'
     16083    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
     16084      dlpath=$dir/\$dldll~
     16085       $RM \$dlpath'
     16086    shlibpath_overrides_runpath=yes
     16087    dynamic_linker='Win32 link.exe'
     16088    ;;
     16089
     16090  *)
     16091    # Assume MSVC wrapper
     16092    library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
     16093    dynamic_linker='Win32 ld.exe'
     16094    ;;
     16095  esac
     16096  # FIXME: first we should search . and the directory the executable is in
     16097  shlibpath_var=PATH
     16098  ;;
     16099
     16100darwin* | rhapsody*)
     16101  dynamic_linker="$host_os dyld"
     16102  version_type=darwin
     16103  need_lib_prefix=no
     16104  need_version=no
     16105  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
     16106  soname_spec='$libname$release$major$shared_ext'
     16107  shlibpath_overrides_runpath=yes
     16108  shlibpath_var=DYLD_LIBRARY_PATH
     16109  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
     16110
     16111  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
     16112  ;;
     16113
     16114dgux*)
     16115  version_type=linux # correct to gnu/linux during the next big refactor
     16116  need_lib_prefix=no
     16117  need_version=no
     16118  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16119  soname_spec='$libname$release$shared_ext$major'
     16120  shlibpath_var=LD_LIBRARY_PATH
     16121  ;;
     16122
     16123freebsd* | dragonfly*)
     16124  # DragonFly does not have aout.  When/if they implement a new
     16125  # versioning mechanism, adjust this.
     16126  if test -x /usr/bin/objformat; then
     16127    objformat=`/usr/bin/objformat`
     16128  else
     16129    case $host_os in
     16130    freebsd[23].*) objformat=aout ;;
     16131    *) objformat=elf ;;
     16132    esac
     16133  fi
     16134  version_type=freebsd-$objformat
     16135  case $version_type in
     16136    freebsd-elf*)
     16137      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16138      soname_spec='$libname$release$shared_ext$major'
     16139      need_version=no
     16140      need_lib_prefix=no
     16141      ;;
     16142    freebsd-*)
     16143      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     16144      need_version=yes
     16145      ;;
     16146  esac
     16147  shlibpath_var=LD_LIBRARY_PATH
     16148  case $host_os in
     16149  freebsd2.*)
     16150    shlibpath_overrides_runpath=yes
     16151    ;;
     16152  freebsd3.[01]* | freebsdelf3.[01]*)
     16153    shlibpath_overrides_runpath=yes
     16154    hardcode_into_libs=yes
     16155    ;;
     16156  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
     16157  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
     16158    shlibpath_overrides_runpath=no
     16159    hardcode_into_libs=yes
     16160    ;;
     16161  *) # from 4.6 on, and DragonFly
     16162    shlibpath_overrides_runpath=yes
     16163    hardcode_into_libs=yes
     16164    ;;
     16165  esac
     16166  ;;
     16167
     16168haiku*)
     16169  version_type=linux # correct to gnu/linux during the next big refactor
     16170  need_lib_prefix=no
     16171  need_version=no
     16172  dynamic_linker="$host_os runtime_loader"
     16173  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16174  soname_spec='$libname$release$shared_ext$major'
     16175  shlibpath_var=LIBRARY_PATH
     16176  shlibpath_overrides_runpath=no
     16177  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
     16178  hardcode_into_libs=yes
     16179  ;;
     16180
     16181hpux9* | hpux10* | hpux11*)
     16182  # Give a soname corresponding to the major version so that dld.sl refuses to
     16183  # link against other versions.
     16184  version_type=sunos
     16185  need_lib_prefix=no
     16186  need_version=no
     16187  case $host_cpu in
     16188  ia64*)
     16189    shrext_cmds='.so'
     16190    hardcode_into_libs=yes
     16191    dynamic_linker="$host_os dld.so"
     16192    shlibpath_var=LD_LIBRARY_PATH
     16193    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
     16194    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16195    soname_spec='$libname$release$shared_ext$major'
     16196    if test 32 = "$HPUX_IA64_MODE"; then
     16197      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
     16198      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
     16199    else
     16200      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
     16201      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
     16202    fi
     16203    ;;
     16204  hppa*64*)
     16205    shrext_cmds='.sl'
     16206    hardcode_into_libs=yes
     16207    dynamic_linker="$host_os dld.sl"
     16208    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
     16209    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
     16210    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16211    soname_spec='$libname$release$shared_ext$major'
     16212    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
     16213    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     16214    ;;
     16215  *)
     16216    shrext_cmds='.sl'
     16217    dynamic_linker="$host_os dld.sl"
     16218    shlibpath_var=SHLIB_PATH
     16219    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
     16220    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16221    soname_spec='$libname$release$shared_ext$major'
     16222    ;;
     16223  esac
     16224  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
     16225  postinstall_cmds='chmod 555 $lib'
     16226  # or fails outright, so override atomically:
     16227  install_override_mode=555
     16228  ;;
     16229
     16230interix[3-9]*)
     16231  version_type=linux # correct to gnu/linux during the next big refactor
     16232  need_lib_prefix=no
     16233  need_version=no
     16234  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16235  soname_spec='$libname$release$shared_ext$major'
     16236  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
     16237  shlibpath_var=LD_LIBRARY_PATH
     16238  shlibpath_overrides_runpath=no
     16239  hardcode_into_libs=yes
     16240  ;;
     16241
     16242irix5* | irix6* | nonstopux*)
     16243  case $host_os in
     16244    nonstopux*) version_type=nonstopux ;;
     16245    *)
     16246        if test yes = "$lt_cv_prog_gnu_ld"; then
     16247                version_type=linux # correct to gnu/linux during the next big refactor
     16248        else
     16249                version_type=irix
     16250        fi ;;
     16251  esac
     16252  need_lib_prefix=no
     16253  need_version=no
     16254  soname_spec='$libname$release$shared_ext$major'
     16255  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
     16256  case $host_os in
     16257  irix5* | nonstopux*)
     16258    libsuff= shlibsuff=
     16259    ;;
     16260  *)
     16261    case $LD in # libtool.m4 will add one of these switches to LD
     16262    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
     16263      libsuff= shlibsuff= libmagic=32-bit;;
     16264    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
     16265      libsuff=32 shlibsuff=N32 libmagic=N32;;
     16266    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
     16267      libsuff=64 shlibsuff=64 libmagic=64-bit;;
     16268    *) libsuff= shlibsuff= libmagic=never-match;;
     16269    esac
     16270    ;;
     16271  esac
     16272  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
     16273  shlibpath_overrides_runpath=no
     16274  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
     16275  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
     16276  hardcode_into_libs=yes
     16277  ;;
     16278
     16279# No shared lib support for Linux oldld, aout, or coff.
     16280linux*oldld* | linux*aout* | linux*coff*)
     16281  dynamic_linker=no
     16282  ;;
     16283
     16284linux*android*)
     16285  version_type=none # Android doesn't support versioned libraries.
     16286  need_lib_prefix=no
     16287  need_version=no
     16288  library_names_spec='$libname$release$shared_ext'
     16289  soname_spec='$libname$release$shared_ext'
     16290  finish_cmds=
     16291  shlibpath_var=LD_LIBRARY_PATH
     16292  shlibpath_overrides_runpath=yes
     16293
     16294  # This implies no fast_install, which is unacceptable.
     16295  # Some rework will be needed to allow for fast_install
     16296  # before this can be enabled.
     16297  hardcode_into_libs=yes
     16298
     16299  dynamic_linker='Android linker'
     16300  # Don't embed -rpath directories since the linker doesn't support them.
     16301  hardcode_libdir_flag_spec_CXX='-L$libdir'
     16302  ;;
     16303
     16304# This must be glibc/ELF.
     16305linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     16306  version_type=linux # correct to gnu/linux during the next big refactor
     16307  need_lib_prefix=no
     16308  need_version=no
     16309  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16310  soname_spec='$libname$release$shared_ext$major'
     16311  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
     16312  shlibpath_var=LD_LIBRARY_PATH
     16313  shlibpath_overrides_runpath=no
     16314
     16315  # Some binutils ld are patched to set DT_RUNPATH
     16316  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
     16317  $as_echo_n "(cached) " >&6
     16318else
     16319  lt_cv_shlibpath_overrides_runpath=no
     16320    save_LDFLAGS=$LDFLAGS
     16321    save_libdir=$libdir
     16322    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
     16323         LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
     16324    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     16325/* end confdefs.h.  */
     16326
     16327int
     16328main ()
     16329{
     16330
     16331  ;
     16332  return 0;
     16333}
     16334_ACEOF
     16335if ac_fn_cxx_try_link "$LINENO"; then :
     16336  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
     16337  lt_cv_shlibpath_overrides_runpath=yes
     16338fi
     16339fi
     16340rm -f core conftest.err conftest.$ac_objext \
     16341    conftest$ac_exeext conftest.$ac_ext
     16342    LDFLAGS=$save_LDFLAGS
     16343    libdir=$save_libdir
     16344
     16345fi
     16346
     16347  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
     16348
     16349  # This implies no fast_install, which is unacceptable.
     16350  # Some rework will be needed to allow for fast_install
     16351  # before this can be enabled.
     16352  hardcode_into_libs=yes
     16353
     16354  # Ideally, we could use ldconfig to report *all* directores which are
     16355  # searched for libraries, however this is still not possible.  Aside from not
     16356  # being certain /sbin/ldconfig is available, command
     16357  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
     16358  # even though it is searched at run-time.  Try to do the best guess by
     16359  # appending ld.so.conf contents (and includes) to the search path.
     16360  if test -f /etc/ld.so.conf; then
     16361    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' ' '`
     16362    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
     16363  fi
     16364
     16365  # We used to test for /lib/ld.so.1 and disable shared libraries on
     16366  # powerpc, because MkLinux only supported shared libraries with the
     16367  # GNU dynamic linker.  Since this was broken with cross compilers,
     16368  # most powerpc-linux boxes support dynamic linking these days and
     16369  # people can always --disable-shared, the test was removed, and we
     16370  # assume the GNU/Linux dynamic linker is in use.
     16371  dynamic_linker='GNU/Linux ld.so'
     16372  ;;
     16373
     16374netbsdelf*-gnu)
     16375  version_type=linux
     16376  need_lib_prefix=no
     16377  need_version=no
     16378  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
     16379  soname_spec='${libname}${release}${shared_ext}$major'
     16380  shlibpath_var=LD_LIBRARY_PATH
     16381  shlibpath_overrides_runpath=no
     16382  hardcode_into_libs=yes
     16383  dynamic_linker='NetBSD ld.elf_so'
     16384  ;;
     16385
     16386netbsd*)
     16387  version_type=sunos
     16388  need_lib_prefix=no
     16389  need_version=no
     16390  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
     16391    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     16392    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     16393    dynamic_linker='NetBSD (a.out) ld.so'
     16394  else
     16395    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16396    soname_spec='$libname$release$shared_ext$major'
     16397    dynamic_linker='NetBSD ld.elf_so'
     16398  fi
     16399  shlibpath_var=LD_LIBRARY_PATH
     16400  shlibpath_overrides_runpath=yes
     16401  hardcode_into_libs=yes
     16402  ;;
     16403
     16404newsos6)
     16405  version_type=linux # correct to gnu/linux during the next big refactor
     16406  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16407  shlibpath_var=LD_LIBRARY_PATH
     16408  shlibpath_overrides_runpath=yes
     16409  ;;
     16410
     16411*nto* | *qnx*)
     16412  version_type=qnx
     16413  need_lib_prefix=no
     16414  need_version=no
     16415  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16416  soname_spec='$libname$release$shared_ext$major'
     16417  shlibpath_var=LD_LIBRARY_PATH
     16418  shlibpath_overrides_runpath=no
     16419  hardcode_into_libs=yes
     16420  dynamic_linker='ldqnx.so'
     16421  ;;
     16422
     16423openbsd* | bitrig*)
     16424  version_type=sunos
     16425  sys_lib_dlsearch_path_spec=/usr/lib
     16426  need_lib_prefix=no
     16427  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
     16428    need_version=no
     16429  else
     16430    need_version=yes
     16431  fi
     16432  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     16433  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     16434  shlibpath_var=LD_LIBRARY_PATH
     16435  shlibpath_overrides_runpath=yes
     16436  ;;
     16437
     16438os2*)
     16439  libname_spec='$name'
     16440  version_type=windows
     16441  shrext_cmds=.dll
     16442  need_version=no
     16443  need_lib_prefix=no
     16444  # OS/2 can only load a DLL with a base name of 8 characters or less.
     16445  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
     16446    v=$($ECHO $release$versuffix | tr -d .-);
     16447    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
     16448    $ECHO $n$v`$shared_ext'
     16449  library_names_spec='${libname}_dll.$libext'
     16450  dynamic_linker='OS/2 ld.exe'
     16451  shlibpath_var=BEGINLIBPATH
     16452  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
     16453  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     16454  postinstall_cmds='base_file=`basename \$file`~
     16455    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
     16456    dldir=$destdir/`dirname \$dlpath`~
     16457    test -d \$dldir || mkdir -p \$dldir~
     16458    $install_prog $dir/$dlname \$dldir/$dlname~
     16459    chmod a+x \$dldir/$dlname~
     16460    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
     16461      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
     16462    fi'
     16463  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
     16464    dlpath=$dir/\$dldll~
     16465    $RM \$dlpath'
     16466  ;;
     16467
     16468osf3* | osf4* | osf5*)
     16469  version_type=osf
     16470  need_lib_prefix=no
     16471  need_version=no
     16472  soname_spec='$libname$release$shared_ext$major'
     16473  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16474  shlibpath_var=LD_LIBRARY_PATH
     16475  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
     16476  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     16477  ;;
     16478
     16479rdos*)
     16480  dynamic_linker=no
     16481  ;;
     16482
     16483solaris*)
     16484  version_type=linux # correct to gnu/linux during the next big refactor
     16485  need_lib_prefix=no
     16486  need_version=no
     16487  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16488  soname_spec='$libname$release$shared_ext$major'
     16489  shlibpath_var=LD_LIBRARY_PATH
     16490  shlibpath_overrides_runpath=yes
     16491  hardcode_into_libs=yes
     16492  # ldd complains unless libraries are executable
     16493  postinstall_cmds='chmod +x $lib'
     16494  ;;
     16495
     16496sunos4*)
     16497  version_type=sunos
     16498  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     16499  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
     16500  shlibpath_var=LD_LIBRARY_PATH
     16501  shlibpath_overrides_runpath=yes
     16502  if test yes = "$with_gnu_ld"; then
     16503    need_lib_prefix=no
     16504  fi
     16505  need_version=yes
     16506  ;;
     16507
     16508sysv4 | sysv4.3*)
     16509  version_type=linux # correct to gnu/linux during the next big refactor
     16510  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16511  soname_spec='$libname$release$shared_ext$major'
     16512  shlibpath_var=LD_LIBRARY_PATH
     16513  case $host_vendor in
     16514    sni)
     16515      shlibpath_overrides_runpath=no
     16516      need_lib_prefix=no
     16517      runpath_var=LD_RUN_PATH
     16518      ;;
     16519    siemens)
     16520      need_lib_prefix=no
     16521      ;;
     16522    motorola)
     16523      need_lib_prefix=no
     16524      need_version=no
     16525      shlibpath_overrides_runpath=no
     16526      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
     16527      ;;
     16528  esac
     16529  ;;
     16530
     16531sysv4*MP*)
     16532  if test -d /usr/nec; then
     16533    version_type=linux # correct to gnu/linux during the next big refactor
     16534    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
     16535    soname_spec='$libname$shared_ext.$major'
     16536    shlibpath_var=LD_LIBRARY_PATH
     16537  fi
     16538  ;;
     16539
     16540sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
     16541  version_type=sco
     16542  need_lib_prefix=no
     16543  need_version=no
     16544  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
     16545  soname_spec='$libname$release$shared_ext$major'
     16546  shlibpath_var=LD_LIBRARY_PATH
     16547  shlibpath_overrides_runpath=yes
     16548  hardcode_into_libs=yes
     16549  if test yes = "$with_gnu_ld"; then
     16550    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
     16551  else
     16552    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
     16553    case $host_os in
     16554      sco3.2v5*)
     16555        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
     16556        ;;
     16557    esac
     16558  fi
     16559  sys_lib_dlsearch_path_spec='/usr/lib'
     16560  ;;
     16561
     16562tpf*)
     16563  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
     16564  version_type=linux # correct to gnu/linux during the next big refactor
     16565  need_lib_prefix=no
     16566  need_version=no
     16567  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16568  shlibpath_var=LD_LIBRARY_PATH
     16569  shlibpath_overrides_runpath=no
     16570  hardcode_into_libs=yes
     16571  ;;
     16572
     16573uts4*)
     16574  version_type=linux # correct to gnu/linux during the next big refactor
     16575  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16576  soname_spec='$libname$release$shared_ext$major'
     16577  shlibpath_var=LD_LIBRARY_PATH
     16578  ;;
     16579
     16580*)
     16581  dynamic_linker=no
     16582  ;;
     16583esac
     16584{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
     16585$as_echo "$dynamic_linker" >&6; }
     16586test no = "$dynamic_linker" && can_build_shared=no
     16587
     16588variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
     16589if test yes = "$GCC"; then
     16590  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
     16591fi
     16592
     16593if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
     16594  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
     16595fi
     16596
     16597if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
     16598  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
     16599fi
     16600
     16601# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
     16602configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
     16603
     16604# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
     16605func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
     16606
     16607# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
     16608configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
     16609
     16610
     16611
     16612
     16613
     16614
     16615
     16616
     16617
     16618
     16619
     16620
     16621
     16622
     16623
     16624
     16625
     16626
     16627
     16628
     16629
     16630
     16631
     16632
     16633
     16634
     16635
     16636
     16637
     16638
     16639
     16640
     16641
     16642
     16643
     16644
     16645
     16646
     16647
     16648
     16649    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
     16650$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
     16651hardcode_action_CXX=
     16652if test -n "$hardcode_libdir_flag_spec_CXX" ||
     16653   test -n "$runpath_var_CXX" ||
     16654   test yes = "$hardcode_automatic_CXX"; then
     16655
     16656  # We can hardcode non-existent directories.
     16657  if test no != "$hardcode_direct_CXX" &&
     16658     # If the only mechanism to avoid hardcoding is shlibpath_var, we
     16659     # have to relink, otherwise we might link with an installed library
     16660     # when we should be linking with a yet-to-be-installed one
     16661     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" &&
     16662     test no != "$hardcode_minus_L_CXX"; then
     16663    # Linking always hardcodes the temporary library directory.
     16664    hardcode_action_CXX=relink
     16665  else
     16666    # We can link without hardcoding, and we can hardcode nonexisting dirs.
     16667    hardcode_action_CXX=immediate
     16668  fi
     16669else
     16670  # We cannot hardcode anything, or else we can only hardcode existing
     16671  # directories.
     16672  hardcode_action_CXX=unsupported
     16673fi
     16674{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
     16675$as_echo "$hardcode_action_CXX" >&6; }
     16676
     16677if test relink = "$hardcode_action_CXX" ||
     16678   test yes = "$inherit_rpath_CXX"; then
     16679  # Fast installation is not supported
     16680  enable_fast_install=no
     16681elif test yes = "$shlibpath_overrides_runpath" ||
     16682     test no = "$enable_shared"; then
     16683  # Fast installation is not necessary
     16684  enable_fast_install=needless
     16685fi
     16686
     16687
     16688
     16689
     16690
     16691
     16692
     16693  fi # test -n "$compiler"
     16694
     16695  CC=$lt_save_CC
     16696  CFLAGS=$lt_save_CFLAGS
     16697  LDCXX=$LD
     16698  LD=$lt_save_LD
     16699  GCC=$lt_save_GCC
     16700  with_gnu_ld=$lt_save_with_gnu_ld
     16701  lt_cv_path_LDCXX=$lt_cv_path_LD
     16702  lt_cv_path_LD=$lt_save_path_LD
     16703  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
     16704  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
     16705fi # test yes != "$_lt_caught_CXX_error"
     16706
     16707ac_ext=c
     16708ac_cpp='$CPP $CPPFLAGS'
     16709ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     16710ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     16711ac_compiler_gnu=$ac_cv_c_compiler_gnu
     16712
     16713
     16714
     16715
     16716
     16717
     16718
     16719
     16720
     16721
     16722
     16723
     16724
     16725
     16726
     16727        ac_config_commands="$ac_config_commands libtool"
     16728
     16729
     16730
     16731
     16732# Only expand once:
     16733
     16734
     16735
     16736{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
     16737$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
     16738set x ${MAKE-make}
     16739ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
     16740if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
     16741  $as_echo_n "(cached) " >&6
     16742else
     16743  cat >conftest.make <<\_ACEOF
     16744SHELL = /bin/sh
     16745all:
     16746        @echo '@@@%%%=$(MAKE)=@@@%%%'
     16747_ACEOF
     16748# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
     16749case `${MAKE-make} -f conftest.make 2>/dev/null` in
     16750  *@@@%%%=?*=@@@%%%*)
     16751    eval ac_cv_prog_make_${ac_make}_set=yes;;
     16752  *)
     16753    eval ac_cv_prog_make_${ac_make}_set=no;;
     16754esac
     16755rm -f conftest.make
     16756fi
     16757if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
     16758  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
     16759$as_echo "yes" >&6; }
     16760  SET_MAKE=
     16761else
     16762  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     16763$as_echo "no" >&6; }
     16764  SET_MAKE="MAKE=${MAKE-make}"
     16765fi
     16766
     16767
     16768# Checks for libraries.
     16769{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fibre::yield in -lfibre" >&5
     16770$as_echo_n "checking for Fibre::yield in -lfibre... " >&6; }
     16771if ${ac_cv_lib_fibre_Fibre__yield+:} false; then :
     16772  $as_echo_n "(cached) " >&6
     16773else
     16774  ac_check_lib_save_LIBS=$LIBS
     16775LIBS="-lfibre  $LIBS"
     16776cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     16777/* end confdefs.h.  */
     16778
     16779/* Override any GCC internal prototype to avoid an error.
     16780   Use char because int might match the return type of a GCC
     16781   builtin and then its argument prototype would still apply.  */
     16782#ifdef __cplusplus
     16783extern "C"
     16784#endif
     16785char Fibre::yield ();
     16786int
     16787main ()
     16788{
     16789return Fibre::yield ();
     16790  ;
     16791  return 0;
     16792}
     16793_ACEOF
     16794if ac_fn_c_try_link "$LINENO"; then :
     16795  ac_cv_lib_fibre_Fibre__yield=yes
     16796else
     16797  ac_cv_lib_fibre_Fibre__yield=no
     16798fi
     16799rm -f core conftest.err conftest.$ac_objext \
     16800    conftest$ac_exeext conftest.$ac_ext
     16801LIBS=$ac_check_lib_save_LIBS
     16802fi
     16803{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fibre_Fibre__yield" >&5
     16804$as_echo "$ac_cv_lib_fibre_Fibre__yield" >&6; }
     16805if test "x$ac_cv_lib_fibre_Fibre__yield" = xyes; then :
     16806  HAVE_LIBFIBRE=1
     16807else
     16808  HAVE_LIBFIBRE=0
     16809fi
     16810
     16811 if test "$HAVE_LIBFIBRE" -eq 1; then
     16812  WITH_LIBFIBRE_TRUE=
     16813  WITH_LIBFIBRE_FALSE='#'
     16814else
     16815  WITH_LIBFIBRE_TRUE='#'
     16816  WITH_LIBFIBRE_FALSE=
     16817fi
     16818
     16819
     16820# Checks for header files.
    582516821ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
    582616822if test "x$ac_cv_type_size_t" = xyes; then :
     
    706618062AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
    706718063
     18064
     18065# The HP-UX ksh and POSIX shell print the target directory to stdout
     18066# if CDPATH is set.
     18067(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
     18068
     18069sed_quote_subst='$sed_quote_subst'
     18070double_quote_subst='$double_quote_subst'
     18071delay_variable_subst='$delay_variable_subst'
     18072macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
     18073macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
     18074enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
     18075enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
     18076pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
     18077enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
     18078shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
     18079SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
     18080ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
     18081PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
     18082host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
     18083host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
     18084host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
     18085build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
     18086build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
     18087build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
     18088SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
     18089Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
     18090GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
     18091EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
     18092FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
     18093LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
     18094NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
     18095LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
     18096max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
     18097ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
     18098exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
     18099lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
     18100lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
     18101lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
     18102lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
     18103lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
     18104reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
     18105reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
     18106OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
     18107deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
     18108file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
     18109file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
     18110want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
     18111DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
     18112sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
     18113AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
     18114AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
     18115archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
     18116STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
     18117RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
     18118old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
     18119old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
     18120old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
     18121lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
     18122CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
     18123CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
     18124compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
     18125GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
     18126lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
     18127lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
     18128lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
     18129lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
     18130lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
     18131lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
     18132nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
     18133lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
     18134lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
     18135objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
     18136MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
     18137lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
     18138lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
     18139lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
     18140lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
     18141lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
     18142need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
     18143MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
     18144DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
     18145NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
     18146LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
     18147OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
     18148OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
     18149libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
     18150shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
     18151extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
     18152archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
     18153enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
     18154export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
     18155whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
     18156compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
     18157old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
     18158old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
     18159archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
     18160archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
     18161module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
     18162module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
     18163with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
     18164allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
     18165no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
     18166hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
     18167hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
     18168hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
     18169hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
     18170hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
     18171hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
     18172hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
     18173inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
     18174link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
     18175always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
     18176export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
     18177exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
     18178include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
     18179prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
     18180postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
     18181file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
     18182variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
     18183need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
     18184need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
     18185version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
     18186runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
     18187shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
     18188shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
     18189libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
     18190library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
     18191soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
     18192install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
     18193postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
     18194postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
     18195finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
     18196finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
     18197hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
     18198sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
     18199configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
     18200configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
     18201hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
     18202enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
     18203enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
     18204enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
     18205old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
     18206striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
     18207compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
     18208predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
     18209postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
     18210predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
     18211postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
     18212compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
     18213LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
     18214reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
     18215reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18216old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18217compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
     18218GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
     18219lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
     18220lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
     18221lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
     18222lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
     18223lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
     18224archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
     18225enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
     18226export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
     18227whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
     18228compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
     18229old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18230old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18231archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18232archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18233module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18234module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18235with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
     18236allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
     18237no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
     18238hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
     18239hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
     18240hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
     18241hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
     18242hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
     18243hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
     18244hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
     18245inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
     18246link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
     18247always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
     18248export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18249exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
     18250include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
     18251prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18252postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18253file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
     18254hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
     18255compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
     18256predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
     18257postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
     18258predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
     18259postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
     18260compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
     18261
     18262LTCC='$LTCC'
     18263LTCFLAGS='$LTCFLAGS'
     18264compiler='$compiler_DEFAULT'
     18265
     18266# A function that is used when there is no print builtin or printf.
     18267func_fallback_echo ()
     18268{
     18269  eval 'cat <<_LTECHO_EOF
     18270\$1
     18271_LTECHO_EOF'
     18272}
     18273
     18274# Quote evaled strings.
     18275for var in SHELL \
     18276ECHO \
     18277PATH_SEPARATOR \
     18278SED \
     18279GREP \
     18280EGREP \
     18281FGREP \
     18282LD \
     18283NM \
     18284LN_S \
     18285lt_SP2NL \
     18286lt_NL2SP \
     18287reload_flag \
     18288OBJDUMP \
     18289deplibs_check_method \
     18290file_magic_cmd \
     18291file_magic_glob \
     18292want_nocaseglob \
     18293DLLTOOL \
     18294sharedlib_from_linklib_cmd \
     18295AR \
     18296AR_FLAGS \
     18297archiver_list_spec \
     18298STRIP \
     18299RANLIB \
     18300CC \
     18301CFLAGS \
     18302compiler \
     18303lt_cv_sys_global_symbol_pipe \
     18304lt_cv_sys_global_symbol_to_cdecl \
     18305lt_cv_sys_global_symbol_to_import \
     18306lt_cv_sys_global_symbol_to_c_name_address \
     18307lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
     18308lt_cv_nm_interface \
     18309nm_file_list_spec \
     18310lt_cv_truncate_bin \
     18311lt_prog_compiler_no_builtin_flag \
     18312lt_prog_compiler_pic \
     18313lt_prog_compiler_wl \
     18314lt_prog_compiler_static \
     18315lt_cv_prog_compiler_c_o \
     18316need_locks \
     18317MANIFEST_TOOL \
     18318DSYMUTIL \
     18319NMEDIT \
     18320LIPO \
     18321OTOOL \
     18322OTOOL64 \
     18323shrext_cmds \
     18324export_dynamic_flag_spec \
     18325whole_archive_flag_spec \
     18326compiler_needs_object \
     18327with_gnu_ld \
     18328allow_undefined_flag \
     18329no_undefined_flag \
     18330hardcode_libdir_flag_spec \
     18331hardcode_libdir_separator \
     18332exclude_expsyms \
     18333include_expsyms \
     18334file_list_spec \
     18335variables_saved_for_relink \
     18336libname_spec \
     18337library_names_spec \
     18338soname_spec \
     18339install_override_mode \
     18340finish_eval \
     18341old_striplib \
     18342striplib \
     18343compiler_lib_search_dirs \
     18344predep_objects \
     18345postdep_objects \
     18346predeps \
     18347postdeps \
     18348compiler_lib_search_path \
     18349LD_CXX \
     18350reload_flag_CXX \
     18351compiler_CXX \
     18352lt_prog_compiler_no_builtin_flag_CXX \
     18353lt_prog_compiler_pic_CXX \
     18354lt_prog_compiler_wl_CXX \
     18355lt_prog_compiler_static_CXX \
     18356lt_cv_prog_compiler_c_o_CXX \
     18357export_dynamic_flag_spec_CXX \
     18358whole_archive_flag_spec_CXX \
     18359compiler_needs_object_CXX \
     18360with_gnu_ld_CXX \
     18361allow_undefined_flag_CXX \
     18362no_undefined_flag_CXX \
     18363hardcode_libdir_flag_spec_CXX \
     18364hardcode_libdir_separator_CXX \
     18365exclude_expsyms_CXX \
     18366include_expsyms_CXX \
     18367file_list_spec_CXX \
     18368compiler_lib_search_dirs_CXX \
     18369predep_objects_CXX \
     18370postdep_objects_CXX \
     18371predeps_CXX \
     18372postdeps_CXX \
     18373compiler_lib_search_path_CXX; do
     18374    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     18375    *[\\\\\\\`\\"\\\$]*)
     18376      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
     18377      ;;
     18378    *)
     18379      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
     18380      ;;
     18381    esac
     18382done
     18383
     18384# Double-quote double-evaled strings.
     18385for var in reload_cmds \
     18386old_postinstall_cmds \
     18387old_postuninstall_cmds \
     18388old_archive_cmds \
     18389extract_expsyms_cmds \
     18390old_archive_from_new_cmds \
     18391old_archive_from_expsyms_cmds \
     18392archive_cmds \
     18393archive_expsym_cmds \
     18394module_cmds \
     18395module_expsym_cmds \
     18396export_symbols_cmds \
     18397prelink_cmds \
     18398postlink_cmds \
     18399postinstall_cmds \
     18400postuninstall_cmds \
     18401finish_cmds \
     18402sys_lib_search_path_spec \
     18403configure_time_dlsearch_path \
     18404configure_time_lt_sys_library_path \
     18405reload_cmds_CXX \
     18406old_archive_cmds_CXX \
     18407old_archive_from_new_cmds_CXX \
     18408old_archive_from_expsyms_cmds_CXX \
     18409archive_cmds_CXX \
     18410archive_expsym_cmds_CXX \
     18411module_cmds_CXX \
     18412module_expsym_cmds_CXX \
     18413export_symbols_cmds_CXX \
     18414prelink_cmds_CXX \
     18415postlink_cmds_CXX; do
     18416    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     18417    *[\\\\\\\`\\"\\\$]*)
     18418      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
     18419      ;;
     18420    *)
     18421      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
     18422      ;;
     18423    esac
     18424done
     18425
     18426ac_aux_dir='$ac_aux_dir'
     18427
     18428# See if we are running on zsh, and set the options that allow our
     18429# commands through without removal of \ escapes INIT.
     18430if test -n "\${ZSH_VERSION+set}"; then
     18431   setopt NO_GLOB_SUBST
     18432fi
     18433
     18434
     18435    PACKAGE='$PACKAGE'
     18436    VERSION='$VERSION'
     18437    RM='$RM'
     18438    ofile='$ofile'
     18439
     18440
     18441
     18442
     18443
     18444
    706818445_ACEOF
    706918446
     
    707618453    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:src/config.h.in" ;;
    707718454    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
     18455    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
    707818456    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
    707918457    "driver/Makefile") CONFIG_FILES="$CONFIG_FILES driver/Makefile" ;;
     
    780619184}
    780719185 ;;
     19186    "libtool":C)
     19187
     19188    # See if we are running on zsh, and set the options that allow our
     19189    # commands through without removal of \ escapes.
     19190    if test -n "${ZSH_VERSION+set}"; then
     19191      setopt NO_GLOB_SUBST
     19192    fi
     19193
     19194    cfgfile=${ofile}T
     19195    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
     19196    $RM "$cfgfile"
     19197
     19198    cat <<_LT_EOF >> "$cfgfile"
     19199#! $SHELL
     19200# Generated automatically by $as_me ($PACKAGE) $VERSION
     19201# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
     19202# NOTE: Changes made to this file will be lost: look at ltmain.sh.
     19203
     19204# Provide generalized library-building support services.
     19205# Written by Gordon Matzigkeit, 1996
     19206
     19207# Copyright (C) 2014 Free Software Foundation, Inc.
     19208# This is free software; see the source for copying conditions.  There is NO
     19209# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     19210
     19211# GNU Libtool is free software; you can redistribute it and/or modify
     19212# it under the terms of the GNU General Public License as published by
     19213# the Free Software Foundation; either version 2 of of the License, or
     19214# (at your option) any later version.
     19215#
     19216# As a special exception to the GNU General Public License, if you
     19217# distribute this file as part of a program or library that is built
     19218# using GNU Libtool, you may include this file under the  same
     19219# distribution terms that you use for the rest of that program.
     19220#
     19221# GNU Libtool is distributed in the hope that it will be useful, but
     19222# WITHOUT ANY WARRANTY; without even the implied warranty of
     19223# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     19224# GNU General Public License for more details.
     19225#
     19226# You should have received a copy of the GNU General Public License
     19227# along with this program.  If not, see <http://www.gnu.org/licenses/>.
     19228
     19229
     19230# The names of the tagged configurations supported by this script.
     19231available_tags='CXX '
     19232
     19233# Configured defaults for sys_lib_dlsearch_path munging.
     19234: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
     19235
     19236# ### BEGIN LIBTOOL CONFIG
     19237
     19238# Which release of libtool.m4 was used?
     19239macro_version=$macro_version
     19240macro_revision=$macro_revision
     19241
     19242# Whether or not to build shared libraries.
     19243build_libtool_libs=$enable_shared
     19244
     19245# Whether or not to build static libraries.
     19246build_old_libs=$enable_static
     19247
     19248# What type of objects to build.
     19249pic_mode=$pic_mode
     19250
     19251# Whether or not to optimize for fast installation.
     19252fast_install=$enable_fast_install
     19253
     19254# Shared archive member basename,for filename based shared library versioning on AIX.
     19255shared_archive_member_spec=$shared_archive_member_spec
     19256
     19257# Shell to use when invoking shell scripts.
     19258SHELL=$lt_SHELL
     19259
     19260# An echo program that protects backslashes.
     19261ECHO=$lt_ECHO
     19262
     19263# The PATH separator for the build system.
     19264PATH_SEPARATOR=$lt_PATH_SEPARATOR
     19265
     19266# The host system.
     19267host_alias=$host_alias
     19268host=$host
     19269host_os=$host_os
     19270
     19271# The build system.
     19272build_alias=$build_alias
     19273build=$build
     19274build_os=$build_os
     19275
     19276# A sed program that does not truncate output.
     19277SED=$lt_SED
     19278
     19279# Sed that helps us avoid accidentally triggering echo(1) options like -n.
     19280Xsed="\$SED -e 1s/^X//"
     19281
     19282# A grep program that handles long lines.
     19283GREP=$lt_GREP
     19284
     19285# An ERE matcher.
     19286EGREP=$lt_EGREP
     19287
     19288# A literal string matcher.
     19289FGREP=$lt_FGREP
     19290
     19291# A BSD- or MS-compatible name lister.
     19292NM=$lt_NM
     19293
     19294# Whether we need soft or hard links.
     19295LN_S=$lt_LN_S
     19296
     19297# What is the maximum length of a command?
     19298max_cmd_len=$max_cmd_len
     19299
     19300# Object file suffix (normally "o").
     19301objext=$ac_objext
     19302
     19303# Executable file suffix (normally "").
     19304exeext=$exeext
     19305
     19306# whether the shell understands "unset".
     19307lt_unset=$lt_unset
     19308
     19309# turn spaces into newlines.
     19310SP2NL=$lt_lt_SP2NL
     19311
     19312# turn newlines into spaces.
     19313NL2SP=$lt_lt_NL2SP
     19314
     19315# convert \$build file names to \$host format.
     19316to_host_file_cmd=$lt_cv_to_host_file_cmd
     19317
     19318# convert \$build files to toolchain format.
     19319to_tool_file_cmd=$lt_cv_to_tool_file_cmd
     19320
     19321# An object symbol dumper.
     19322OBJDUMP=$lt_OBJDUMP
     19323
     19324# Method to check whether dependent libraries are shared objects.
     19325deplibs_check_method=$lt_deplibs_check_method
     19326
     19327# Command to use when deplibs_check_method = "file_magic".
     19328file_magic_cmd=$lt_file_magic_cmd
     19329
     19330# How to find potential files when deplibs_check_method = "file_magic".
     19331file_magic_glob=$lt_file_magic_glob
     19332
     19333# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
     19334want_nocaseglob=$lt_want_nocaseglob
     19335
     19336# DLL creation program.
     19337DLLTOOL=$lt_DLLTOOL
     19338
     19339# Command to associate shared and link libraries.
     19340sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
     19341
     19342# The archiver.
     19343AR=$lt_AR
     19344
     19345# Flags to create an archive.
     19346AR_FLAGS=$lt_AR_FLAGS
     19347
     19348# How to feed a file listing to the archiver.
     19349archiver_list_spec=$lt_archiver_list_spec
     19350
     19351# A symbol stripping program.
     19352STRIP=$lt_STRIP
     19353
     19354# Commands used to install an old-style archive.
     19355RANLIB=$lt_RANLIB
     19356old_postinstall_cmds=$lt_old_postinstall_cmds
     19357old_postuninstall_cmds=$lt_old_postuninstall_cmds
     19358
     19359# Whether to use a lock for old archive extraction.
     19360lock_old_archive_extraction=$lock_old_archive_extraction
     19361
     19362# A C compiler.
     19363LTCC=$lt_CC
     19364
     19365# LTCC compiler flags.
     19366LTCFLAGS=$lt_CFLAGS
     19367
     19368# Take the output of nm and produce a listing of raw symbols and C names.
     19369global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
     19370
     19371# Transform the output of nm in a proper C declaration.
     19372global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
     19373
     19374# Transform the output of nm into a list of symbols to manually relocate.
     19375global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
     19376
     19377# Transform the output of nm in a C name address pair.
     19378global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
     19379
     19380# Transform the output of nm in a C name address pair when lib prefix is needed.
     19381global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
     19382
     19383# The name lister interface.
     19384nm_interface=$lt_lt_cv_nm_interface
     19385
     19386# Specify filename containing input files for \$NM.
     19387nm_file_list_spec=$lt_nm_file_list_spec
     19388
     19389# The root where to search for dependent libraries,and where our libraries should be installed.
     19390lt_sysroot=$lt_sysroot
     19391
     19392# Command to truncate a binary pipe.
     19393lt_truncate_bin=$lt_lt_cv_truncate_bin
     19394
     19395# The name of the directory that contains temporary libtool files.
     19396objdir=$objdir
     19397
     19398# Used to examine libraries when file_magic_cmd begins with "file".
     19399MAGIC_CMD=$MAGIC_CMD
     19400
     19401# Must we lock files when doing compilation?
     19402need_locks=$lt_need_locks
     19403
     19404# Manifest tool.
     19405MANIFEST_TOOL=$lt_MANIFEST_TOOL
     19406
     19407# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
     19408DSYMUTIL=$lt_DSYMUTIL
     19409
     19410# Tool to change global to local symbols on Mac OS X.
     19411NMEDIT=$lt_NMEDIT
     19412
     19413# Tool to manipulate fat objects and archives on Mac OS X.
     19414LIPO=$lt_LIPO
     19415
     19416# ldd/readelf like tool for Mach-O binaries on Mac OS X.
     19417OTOOL=$lt_OTOOL
     19418
     19419# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
     19420OTOOL64=$lt_OTOOL64
     19421
     19422# Old archive suffix (normally "a").
     19423libext=$libext
     19424
     19425# Shared library suffix (normally ".so").
     19426shrext_cmds=$lt_shrext_cmds
     19427
     19428# The commands to extract the exported symbol list from a shared archive.
     19429extract_expsyms_cmds=$lt_extract_expsyms_cmds
     19430
     19431# Variables whose values should be saved in libtool wrapper scripts and
     19432# restored at link time.
     19433variables_saved_for_relink=$lt_variables_saved_for_relink
     19434
     19435# Do we need the "lib" prefix for modules?
     19436need_lib_prefix=$need_lib_prefix
     19437
     19438# Do we need a version for libraries?
     19439need_version=$need_version
     19440
     19441# Library versioning type.
     19442version_type=$version_type
     19443
     19444# Shared library runtime path variable.
     19445runpath_var=$runpath_var
     19446
     19447# Shared library path variable.
     19448shlibpath_var=$shlibpath_var
     19449
     19450# Is shlibpath searched before the hard-coded library search path?
     19451shlibpath_overrides_runpath=$shlibpath_overrides_runpath
     19452
     19453# Format of library name prefix.
     19454libname_spec=$lt_libname_spec
     19455
     19456# List of archive names.  First name is the real one, the rest are links.
     19457# The last name is the one that the linker finds with -lNAME
     19458library_names_spec=$lt_library_names_spec
     19459
     19460# The coded name of the library, if different from the real name.
     19461soname_spec=$lt_soname_spec
     19462
     19463# Permission mode override for installation of shared libraries.
     19464install_override_mode=$lt_install_override_mode
     19465
     19466# Command to use after installation of a shared archive.
     19467postinstall_cmds=$lt_postinstall_cmds
     19468
     19469# Command to use after uninstallation of a shared archive.
     19470postuninstall_cmds=$lt_postuninstall_cmds
     19471
     19472# Commands used to finish a libtool library installation in a directory.
     19473finish_cmds=$lt_finish_cmds
     19474
     19475# As "finish_cmds", except a single script fragment to be evaled but
     19476# not shown.
     19477finish_eval=$lt_finish_eval
     19478
     19479# Whether we should hardcode library paths into libraries.
     19480hardcode_into_libs=$hardcode_into_libs
     19481
     19482# Compile-time system search path for libraries.
     19483sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
     19484
     19485# Detected run-time system search path for libraries.
     19486sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
     19487
     19488# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
     19489configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
     19490
     19491# Whether dlopen is supported.
     19492dlopen_support=$enable_dlopen
     19493
     19494# Whether dlopen of programs is supported.
     19495dlopen_self=$enable_dlopen_self
     19496
     19497# Whether dlopen of statically linked programs is supported.
     19498dlopen_self_static=$enable_dlopen_self_static
     19499
     19500# Commands to strip libraries.
     19501old_striplib=$lt_old_striplib
     19502striplib=$lt_striplib
     19503
     19504
     19505# The linker used to build libraries.
     19506LD=$lt_LD
     19507
     19508# How to create reloadable object files.
     19509reload_flag=$lt_reload_flag
     19510reload_cmds=$lt_reload_cmds
     19511
     19512# Commands used to build an old-style archive.
     19513old_archive_cmds=$lt_old_archive_cmds
     19514
     19515# A language specific compiler.
     19516CC=$lt_compiler
     19517
     19518# Is the compiler the GNU compiler?
     19519with_gcc=$GCC
     19520
     19521# Compiler flag to turn off builtin functions.
     19522no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
     19523
     19524# Additional compiler flags for building library objects.
     19525pic_flag=$lt_lt_prog_compiler_pic
     19526
     19527# How to pass a linker flag through the compiler.
     19528wl=$lt_lt_prog_compiler_wl
     19529
     19530# Compiler flag to prevent dynamic linking.
     19531link_static_flag=$lt_lt_prog_compiler_static
     19532
     19533# Does compiler simultaneously support -c and -o options?
     19534compiler_c_o=$lt_lt_cv_prog_compiler_c_o
     19535
     19536# Whether or not to add -lc for building shared libraries.
     19537build_libtool_need_lc=$archive_cmds_need_lc
     19538
     19539# Whether or not to disallow shared libs when runtime libs are static.
     19540allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
     19541
     19542# Compiler flag to allow reflexive dlopens.
     19543export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
     19544
     19545# Compiler flag to generate shared objects directly from archives.
     19546whole_archive_flag_spec=$lt_whole_archive_flag_spec
     19547
     19548# Whether the compiler copes with passing no objects directly.
     19549compiler_needs_object=$lt_compiler_needs_object
     19550
     19551# Create an old-style archive from a shared archive.
     19552old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
     19553
     19554# Create a temporary old-style archive to link instead of a shared archive.
     19555old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
     19556
     19557# Commands used to build a shared archive.
     19558archive_cmds=$lt_archive_cmds
     19559archive_expsym_cmds=$lt_archive_expsym_cmds
     19560
     19561# Commands used to build a loadable module if different from building
     19562# a shared archive.
     19563module_cmds=$lt_module_cmds
     19564module_expsym_cmds=$lt_module_expsym_cmds
     19565
     19566# Whether we are building with GNU ld or not.
     19567with_gnu_ld=$lt_with_gnu_ld
     19568
     19569# Flag that allows shared libraries with undefined symbols to be built.
     19570allow_undefined_flag=$lt_allow_undefined_flag
     19571
     19572# Flag that enforces no undefined symbols.
     19573no_undefined_flag=$lt_no_undefined_flag
     19574
     19575# Flag to hardcode \$libdir into a binary during linking.
     19576# This must work even if \$libdir does not exist
     19577hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
     19578
     19579# Whether we need a single "-rpath" flag with a separated argument.
     19580hardcode_libdir_separator=$lt_hardcode_libdir_separator
     19581
     19582# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
     19583# DIR into the resulting binary.
     19584hardcode_direct=$hardcode_direct
     19585
     19586# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
     19587# DIR into the resulting binary and the resulting library dependency is
     19588# "absolute",i.e impossible to change by setting \$shlibpath_var if the
     19589# library is relocated.
     19590hardcode_direct_absolute=$hardcode_direct_absolute
     19591
     19592# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
     19593# into the resulting binary.
     19594hardcode_minus_L=$hardcode_minus_L
     19595
     19596# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
     19597# into the resulting binary.
     19598hardcode_shlibpath_var=$hardcode_shlibpath_var
     19599
     19600# Set to "yes" if building a shared library automatically hardcodes DIR
     19601# into the library and all subsequent libraries and executables linked
     19602# against it.
     19603hardcode_automatic=$hardcode_automatic
     19604
     19605# Set to yes if linker adds runtime paths of dependent libraries
     19606# to runtime path list.
     19607inherit_rpath=$inherit_rpath
     19608
     19609# Whether libtool must link a program against all its dependency libraries.
     19610link_all_deplibs=$link_all_deplibs
     19611
     19612# Set to "yes" if exported symbols are required.
     19613always_export_symbols=$always_export_symbols
     19614
     19615# The commands to list exported symbols.
     19616export_symbols_cmds=$lt_export_symbols_cmds
     19617
     19618# Symbols that should not be listed in the preloaded symbols.
     19619exclude_expsyms=$lt_exclude_expsyms
     19620
     19621# Symbols that must always be exported.
     19622include_expsyms=$lt_include_expsyms
     19623
     19624# Commands necessary for linking programs (against libraries) with templates.
     19625prelink_cmds=$lt_prelink_cmds
     19626
     19627# Commands necessary for finishing linking programs.
     19628postlink_cmds=$lt_postlink_cmds
     19629
     19630# Specify filename containing input files.
     19631file_list_spec=$lt_file_list_spec
     19632
     19633# How to hardcode a shared library path into an executable.
     19634hardcode_action=$hardcode_action
     19635
     19636# The directories searched by this compiler when creating a shared library.
     19637compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
     19638
     19639# Dependencies to place before and after the objects being linked to
     19640# create a shared library.
     19641predep_objects=$lt_predep_objects
     19642postdep_objects=$lt_postdep_objects
     19643predeps=$lt_predeps
     19644postdeps=$lt_postdeps
     19645
     19646# The library search path used internally by the compiler when linking
     19647# a shared library.
     19648compiler_lib_search_path=$lt_compiler_lib_search_path
     19649
     19650# ### END LIBTOOL CONFIG
     19651
     19652_LT_EOF
     19653
     19654    cat <<'_LT_EOF' >> "$cfgfile"
     19655
     19656# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
     19657
     19658# func_munge_path_list VARIABLE PATH
     19659# -----------------------------------
     19660# VARIABLE is name of variable containing _space_ separated list of
     19661# directories to be munged by the contents of PATH, which is string
     19662# having a format:
     19663# "DIR[:DIR]:"
     19664#       string "DIR[ DIR]" will be prepended to VARIABLE
     19665# ":DIR[:DIR]"
     19666#       string "DIR[ DIR]" will be appended to VARIABLE
     19667# "DIRP[:DIRP]::[DIRA:]DIRA"
     19668#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
     19669#       "DIRA[ DIRA]" will be appended to VARIABLE
     19670# "DIR[:DIR]"
     19671#       VARIABLE will be replaced by "DIR[ DIR]"
     19672func_munge_path_list ()
     19673{
     19674    case x$2 in
     19675    x)
     19676        ;;
     19677    *:)
     19678        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
     19679        ;;
     19680    x:*)
     19681        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
     19682        ;;
     19683    *::*)
     19684        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
     19685        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
     19686        ;;
     19687    *)
     19688        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
     19689        ;;
     19690    esac
     19691}
     19692
     19693
     19694# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
     19695func_cc_basename ()
     19696{
     19697    for cc_temp in $*""; do
     19698      case $cc_temp in
     19699        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
     19700        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
     19701        \-*) ;;
     19702        *) break;;
     19703      esac
     19704    done
     19705    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
     19706}
     19707
     19708
     19709# ### END FUNCTIONS SHARED WITH CONFIGURE
     19710
     19711_LT_EOF
     19712
     19713  case $host_os in
     19714  aix3*)
     19715    cat <<\_LT_EOF >> "$cfgfile"
     19716# AIX sometimes has problems with the GCC collect2 program.  For some
     19717# reason, if we set the COLLECT_NAMES environment variable, the problems
     19718# vanish in a puff of smoke.
     19719if test set != "${COLLECT_NAMES+set}"; then
     19720  COLLECT_NAMES=
     19721  export COLLECT_NAMES
     19722fi
     19723_LT_EOF
     19724    ;;
     19725  esac
     19726
     19727
     19728ltmain=$ac_aux_dir/ltmain.sh
     19729
     19730
     19731  # We use sed instead of cat because bash on DJGPP gets confused if
     19732  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
     19733  # text mode, it properly converts lines to CR/LF.  This bash problem
     19734  # is reportedly fixed, but why not run on old versions too?
     19735  sed '$q' "$ltmain" >> "$cfgfile" \
     19736     || (rm -f "$cfgfile"; exit 1)
     19737
     19738   mv -f "$cfgfile" "$ofile" ||
     19739    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
     19740  chmod +x "$ofile"
     19741
     19742
     19743    cat <<_LT_EOF >> "$ofile"
     19744
     19745# ### BEGIN LIBTOOL TAG CONFIG: CXX
     19746
     19747# The linker used to build libraries.
     19748LD=$lt_LD_CXX
     19749
     19750# How to create reloadable object files.
     19751reload_flag=$lt_reload_flag_CXX
     19752reload_cmds=$lt_reload_cmds_CXX
     19753
     19754# Commands used to build an old-style archive.
     19755old_archive_cmds=$lt_old_archive_cmds_CXX
     19756
     19757# A language specific compiler.
     19758CC=$lt_compiler_CXX
     19759
     19760# Is the compiler the GNU compiler?
     19761with_gcc=$GCC_CXX
     19762
     19763# Compiler flag to turn off builtin functions.
     19764no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
     19765
     19766# Additional compiler flags for building library objects.
     19767pic_flag=$lt_lt_prog_compiler_pic_CXX
     19768
     19769# How to pass a linker flag through the compiler.
     19770wl=$lt_lt_prog_compiler_wl_CXX
     19771
     19772# Compiler flag to prevent dynamic linking.
     19773link_static_flag=$lt_lt_prog_compiler_static_CXX
     19774
     19775# Does compiler simultaneously support -c and -o options?
     19776compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
     19777
     19778# Whether or not to add -lc for building shared libraries.
     19779build_libtool_need_lc=$archive_cmds_need_lc_CXX
     19780
     19781# Whether or not to disallow shared libs when runtime libs are static.
     19782allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
     19783
     19784# Compiler flag to allow reflexive dlopens.
     19785export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
     19786
     19787# Compiler flag to generate shared objects directly from archives.
     19788whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
     19789
     19790# Whether the compiler copes with passing no objects directly.
     19791compiler_needs_object=$lt_compiler_needs_object_CXX
     19792
     19793# Create an old-style archive from a shared archive.
     19794old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
     19795
     19796# Create a temporary old-style archive to link instead of a shared archive.
     19797old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
     19798
     19799# Commands used to build a shared archive.
     19800archive_cmds=$lt_archive_cmds_CXX
     19801archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
     19802
     19803# Commands used to build a loadable module if different from building
     19804# a shared archive.
     19805module_cmds=$lt_module_cmds_CXX
     19806module_expsym_cmds=$lt_module_expsym_cmds_CXX
     19807
     19808# Whether we are building with GNU ld or not.
     19809with_gnu_ld=$lt_with_gnu_ld_CXX
     19810
     19811# Flag that allows shared libraries with undefined symbols to be built.
     19812allow_undefined_flag=$lt_allow_undefined_flag_CXX
     19813
     19814# Flag that enforces no undefined symbols.
     19815no_undefined_flag=$lt_no_undefined_flag_CXX
     19816
     19817# Flag to hardcode \$libdir into a binary during linking.
     19818# This must work even if \$libdir does not exist
     19819hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
     19820
     19821# Whether we need a single "-rpath" flag with a separated argument.
     19822hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
     19823
     19824# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
     19825# DIR into the resulting binary.
     19826hardcode_direct=$hardcode_direct_CXX
     19827
     19828# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
     19829# DIR into the resulting binary and the resulting library dependency is
     19830# "absolute",i.e impossible to change by setting \$shlibpath_var if the
     19831# library is relocated.
     19832hardcode_direct_absolute=$hardcode_direct_absolute_CXX
     19833
     19834# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
     19835# into the resulting binary.
     19836hardcode_minus_L=$hardcode_minus_L_CXX
     19837
     19838# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
     19839# into the resulting binary.
     19840hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
     19841
     19842# Set to "yes" if building a shared library automatically hardcodes DIR
     19843# into the library and all subsequent libraries and executables linked
     19844# against it.
     19845hardcode_automatic=$hardcode_automatic_CXX
     19846
     19847# Set to yes if linker adds runtime paths of dependent libraries
     19848# to runtime path list.
     19849inherit_rpath=$inherit_rpath_CXX
     19850
     19851# Whether libtool must link a program against all its dependency libraries.
     19852link_all_deplibs=$link_all_deplibs_CXX
     19853
     19854# Set to "yes" if exported symbols are required.
     19855always_export_symbols=$always_export_symbols_CXX
     19856
     19857# The commands to list exported symbols.
     19858export_symbols_cmds=$lt_export_symbols_cmds_CXX
     19859
     19860# Symbols that should not be listed in the preloaded symbols.
     19861exclude_expsyms=$lt_exclude_expsyms_CXX
     19862
     19863# Symbols that must always be exported.
     19864include_expsyms=$lt_include_expsyms_CXX
     19865
     19866# Commands necessary for linking programs (against libraries) with templates.
     19867prelink_cmds=$lt_prelink_cmds_CXX
     19868
     19869# Commands necessary for finishing linking programs.
     19870postlink_cmds=$lt_postlink_cmds_CXX
     19871
     19872# Specify filename containing input files.
     19873file_list_spec=$lt_file_list_spec_CXX
     19874
     19875# How to hardcode a shared library path into an executable.
     19876hardcode_action=$hardcode_action_CXX
     19877
     19878# The directories searched by this compiler when creating a shared library.
     19879compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
     19880
     19881# Dependencies to place before and after the objects being linked to
     19882# create a shared library.
     19883predep_objects=$lt_predep_objects_CXX
     19884postdep_objects=$lt_postdep_objects_CXX
     19885predeps=$lt_predeps_CXX
     19886postdeps=$lt_postdeps_CXX
     19887
     19888# The library search path used internally by the compiler when linking
     19889# a shared library.
     19890compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
     19891
     19892# ### END LIBTOOL TAG CONFIG: CXX
     19893_LT_EOF
     19894
     19895 ;;
    780819896
    780919897  esac
  • configure.ac

    r0689cd9 r690166d  
    55AC_INIT([cfa-cc],[1.0.0.0],[cforall@plg.uwaterloo.ca])
    66AC_CONFIG_AUX_DIR([automake])
     7AC_CONFIG_MACRO_DIRS([automake])
    78#AC_CONFIG_SRCDIR([src/main.cc])
    89AC_CONFIG_HEADERS([config.h:src/config.h.in])
     
    183184AC_PROG_LEX
    184185if test "${LEX}" = "lex" ; then echo "Error: flex required." ; exit 1 ; fi
     186AC_PROG_LIBTOOL
    185187AC_PROG_INSTALL
    186188AC_PROG_MAKE_SET
    187 AC_PROG_RANLIB
    188189
    189190# Checks for libraries.
  • driver/Makefile.am

    r0689cd9 r690166d  
    1616
    1717AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     18ACLOCAL_AMFLAGS  = -I automake
    1819
    1920# applies to both programs
  • driver/Makefile.in

    r0689cd9 r690166d  
    9696subdir = driver
    9797ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    98 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \
    99         $(top_srcdir)/configure.ac
     98am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \
     99        $(top_srcdir)/automake/ltoptions.m4 \
     100        $(top_srcdir)/automake/ltsugar.m4 \
     101        $(top_srcdir)/automake/ltversion.m4 \
     102        $(top_srcdir)/automake/lt~obsolete.m4 \
     103        $(top_srcdir)/automake/cfa.m4 $(top_srcdir)/configure.ac
    100104am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    101105        $(ACLOCAL_M4)
     
    110114as_OBJECTS = $(am_as_OBJECTS)
    111115as_LDADD = $(LDADD)
     116AM_V_lt = $(am__v_lt_@AM_V@)
     117am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
     118am__v_lt_0 = --silent
     119am__v_lt_1 =
    112120am_cc1_OBJECTS = cc1.$(OBJEXT)
    113121cc1_OBJECTS = $(am_cc1_OBJECTS)
     
    134142CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
    135143        $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
     144LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
     145        $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
     146        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
     147        $(AM_CXXFLAGS) $(CXXFLAGS)
    136148AM_V_CXX = $(am__v_CXX_@AM_V@)
    137149am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
     
    139151am__v_CXX_1 =
    140152CXXLD = $(CXX)
    141 CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
    142         -o $@
     153CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
     154        $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
     155        $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
    143156AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
    144157am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
     
    177190AMTAR = @AMTAR@
    178191AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
     192AR = @AR@
    179193AUTOCONF = @AUTOCONF@
    180194AUTOHEADER = @AUTOHEADER@
     
    200214CPPFLAGS = @CPPFLAGS@
    201215CXX = @CXX@
     216CXXCPP = @CXXCPP@
    202217CXXDEPMODE = @CXXDEPMODE@
    203218CXXFLAGS = @CXXFLAGS@
     
    205220DEFS = @DEFS@
    206221DEPDIR = @DEPDIR@
     222DLLTOOL = @DLLTOOL@
    207223DRIVER_DIR = @DRIVER_DIR@
     224DSYMUTIL = @DSYMUTIL@
     225DUMPBIN = @DUMPBIN@
    208226ECHO_C = @ECHO_C@
    209227ECHO_N = @ECHO_N@
     
    211229EGREP = @EGREP@
    212230EXEEXT = @EXEEXT@
     231FGREP = @FGREP@
    213232GREP = @GREP@
    214233HOST_FLAGS = @HOST_FLAGS@
     
    218237INSTALL_SCRIPT = @INSTALL_SCRIPT@
    219238INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     239LD = @LD@
    220240LDFLAGS = @LDFLAGS@
    221241LEX = @LEX@
     
    226246LIBOBJS = @LIBOBJS@
    227247LIBS = @LIBS@
     248LIBTOOL = @LIBTOOL@
     249LIPO = @LIPO@
     250LN_S = @LN_S@
    228251LTLIBOBJS = @LTLIBOBJS@
     252LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    229253MAKEINFO = @MAKEINFO@
     254MANIFEST_TOOL = @MANIFEST_TOOL@
    230255MKDIR_P = @MKDIR_P@
     256NM = @NM@
     257NMEDIT = @NMEDIT@
     258OBJDUMP = @OBJDUMP@
    231259OBJEXT = @OBJEXT@
     260OTOOL = @OTOOL@
     261OTOOL64 = @OTOOL64@
    232262PACKAGE = @PACKAGE@
    233263PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    239269PATH_SEPARATOR = @PATH_SEPARATOR@
    240270RANLIB = @RANLIB@
     271SED = @SED@
    241272SET_MAKE = @SET_MAKE@
    242273SHELL = @SHELL@
     
    250281abs_top_builddir = @abs_top_builddir@
    251282abs_top_srcdir = @abs_top_srcdir@
     283ac_ct_AR = @ac_ct_AR@
    252284ac_ct_CC = @ac_ct_CC@
    253285ac_ct_CXX = @ac_ct_CXX@
     286ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    254287am__include = @am__include@
    255288am__leading_dot = @am__leading_dot@
     
    299332top_srcdir = @top_srcdir@
    300333AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     334ACLOCAL_AMFLAGS = -I automake
    301335
    302336# applies to both programs
     
    312346
    313347.SUFFIXES:
    314 .SUFFIXES: .cc .o .obj
     348.SUFFIXES: .cc .lo .o .obj
    315349$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
    316350        @for dep in $?; do \
     
    352386        sed 's/$(EXEEXT)$$//' | \
    353387        while read p p1; do if test -f $$p \
     388         || test -f $$p1 \
    354389          ; then echo "$$p"; echo "$$p"; else :; fi; \
    355390        done | \
     
    366401            if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
    367402            test -z "$$files" || { \
    368               echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cc1libdir)$$dir'"; \
    369               $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cc1libdir)$$dir" || exit $$?; \
     403            echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cc1libdir)$$dir'"; \
     404            $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cc1libdir)$$dir" || exit $$?; \
    370405            } \
    371406        ; done
     
    383418
    384419clean-cc1libPROGRAMS:
    385         -test -z "$(cc1lib_PROGRAMS)" || rm -f $(cc1lib_PROGRAMS)
     420        @list='$(cc1lib_PROGRAMS)'; test -n "$$list" || exit 0; \
     421        echo " rm -f" $$list; \
     422        rm -f $$list || exit $$?; \
     423        test -n "$(EXEEXT)" || exit 0; \
     424        list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
     425        echo " rm -f" $$list; \
     426        rm -f $$list
    386427
    387428clean-noinstPROGRAMS:
    388         -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
     429        @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
     430        echo " rm -f" $$list; \
     431        rm -f $$list || exit $$?; \
     432        test -n "$(EXEEXT)" || exit 0; \
     433        list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
     434        echo " rm -f" $$list; \
     435        rm -f $$list
    389436
    390437as$(EXEEXT): $(as_OBJECTS) $(as_DEPENDENCIES) $(EXTRA_as_DEPENDENCIES)
     
    425472@AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    426473@am__fastdepCXX_FALSE@  $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
     474
     475.cc.lo:
     476@am__fastdepCXX_TRUE@   $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
     477@am__fastdepCXX_TRUE@   $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
     478@am__fastdepCXX_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Plo
     479@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
     480@AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     481@am__fastdepCXX_FALSE@  $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
     482
     483mostlyclean-libtool:
     484        -rm -f *.lo
     485
     486clean-libtool:
     487        -rm -rf .libs _libs
    427488
    428489ID: $(am__tagged_files)
     
    548609clean: clean-am
    549610
    550 clean-am: clean-cc1libPROGRAMS clean-generic clean-noinstPROGRAMS \
    551         mostlyclean-am
     611clean-am: clean-cc1libPROGRAMS clean-generic clean-libtool \
     612        clean-noinstPROGRAMS mostlyclean-am
    552613
    553614distclean: distclean-am
     
    605666mostlyclean: mostlyclean-am
    606667
    607 mostlyclean-am: mostlyclean-compile mostlyclean-generic
     668mostlyclean-am: mostlyclean-compile mostlyclean-generic \
     669        mostlyclean-libtool
    608670
    609671pdf: pdf-am
     
    621683
    622684.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
    623         clean-cc1libPROGRAMS clean-generic clean-noinstPROGRAMS \
    624         cscopelist-am ctags ctags-am distclean distclean-compile \
    625         distclean-generic distclean-tags distdir dvi dvi-am html \
    626         html-am info info-am install install-am install-cc1libPROGRAMS \
    627         install-data install-data-am install-dvi install-dvi-am \
    628         install-exec install-exec-am install-exec-hook install-html \
    629         install-html-am install-info install-info-am install-man \
    630         install-pdf install-pdf-am install-ps install-ps-am \
    631         install-strip installcheck installcheck-am installdirs \
    632         maintainer-clean maintainer-clean-generic mostlyclean \
    633         mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
     685        clean-cc1libPROGRAMS clean-generic clean-libtool \
     686        clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
     687        distclean-compile distclean-generic distclean-libtool \
     688        distclean-tags distdir dvi dvi-am html html-am info info-am \
     689        install install-am install-cc1libPROGRAMS install-data \
     690        install-data-am install-dvi install-dvi-am install-exec \
     691        install-exec-am install-exec-hook install-html install-html-am \
     692        install-info install-info-am install-man install-pdf \
     693        install-pdf-am install-ps install-ps-am install-strip \
     694        installcheck installcheck-am installdirs maintainer-clean \
     695        maintainer-clean-generic mostlyclean mostlyclean-compile \
     696        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
    634697        tags tags-am uninstall uninstall-am uninstall-cc1libPROGRAMS \
    635698        uninstall-hook
  • libcfa/configure

    r0689cd9 r690166d  
    1677616776
    1677716777
     16778
    1677816779{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
    1677916780$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
  • libcfa/configure.ac

    r0689cd9 r690166d  
    8484AC_PROG_CC
    8585AM_PROG_AS
     86AC_PROG_LIBTOOL
    8687AC_PROG_INSTALL
    8788AC_PROG_MAKE_SET
  • libcfa/src/concurrency/coroutine.cfa

    r0689cd9 r690166d  
    2222#include <string.h>
    2323#include <unistd.h>
     24// use this define to make unwind.h play nice, definetely a hack
     25#define HIDE_EXPORTS
     26#include <unwind.h>
     27#undef HIDE_EXPORTS
    2428#include <sys/mman.h>
    2529}
     
    2933#define __CFA_INVOKE_PRIVATE__
    3034#include "invoke.h"
     35
     36extern "C" {
     37      void _CtxCoroutine_Unwind(struct _Unwind_Exception * storage) __attribute__ ((__noreturn__));
     38      static void _CtxCoroutine_UnwindCleanup(_Unwind_Reason_Code, struct _Unwind_Exception *) __attribute__ ((__noreturn__));
     39      static void _CtxCoroutine_UnwindCleanup(_Unwind_Reason_Code, struct _Unwind_Exception *) {
     40            abort();
     41      }
     42}
    3143
    3244//-----------------------------------------------------------------------------
     
    6779      starter = NULL;
    6880      last = NULL;
    69 }
    70 
    71 void ^?{}(coroutine_desc& this) {}
     81      cancellation = NULL;
     82}
     83
     84void ^?{}(coroutine_desc& this) {
     85      if(this.state != Halted) {
     86            coroutine_desc * src = TL_GET( this_coroutine );
     87            coroutine_desc * dst = &this;
     88
     89            struct _Unwind_Exception storage;
     90            storage.exception_class = -1;
     91            storage.exception_cleanup = _CtxCoroutine_UnwindCleanup;
     92            this.cancellation = &storage;
     93            this.last = src;
     94
     95              // not resuming self ?
     96              if ( src == dst ) {
     97                      abort( "Attempt by coroutine %.256s (%p) to terminate itself.\n", src->name, src );
     98            }
     99
     100              CoroutineCtxSwitch( src, dst );
     101      }
     102}
    72103
    73104// Part of the Public API
     
    105136      // Safety note : This could cause some false positives due to preemption
    106137      verify( TL_GET( preemption_state.enabled ) || TL_GET( this_processor )->do_terminate );
     138
     139      if( unlikely(src->cancellation != NULL) ) {
     140            _CtxCoroutine_Unwind(src->cancellation);
     141      }
    107142} //ctxSwitchDirect
    108143
     
    162197      }
    163198
    164       void __leave_coroutine(void) {
     199      void __leave_coroutine() {
    165200            coroutine_desc * src = TL_GET( this_coroutine ); // optimization
    166 
    167             assertf( src->starter != 0,
     201            coroutine_desc * starter = src->cancellation != 0 ? src->last : src->starter;
     202
     203            src->state = Halted;
     204
     205            assertf( starter != 0,
    168206                  "Attempt to suspend/leave coroutine \"%.256s\" (%p) that has never been resumed.\n"
    169207                  "Possible cause is a suspend executed in a member called by a coroutine user rather than by the coroutine main.",
    170208                  src->name, src );
    171             assertf( src->starter->state != Halted,
     209            assertf( starter->state != Halted,
    172210                  "Attempt by coroutine \"%.256s\" (%p) to suspend/leave back to terminated coroutine \"%.256s\" (%p).\n"
    173211                  "Possible cause is terminated coroutine's main routine has already returned.",
    174                   src->name, src, src->starter->name, src->starter );
    175 
    176             CoroutineCtxSwitch( src, src->starter );
     212                  src->name, src, starter->name, starter );
     213
     214            CoroutineCtxSwitch( src, starter );
    177215      }
    178216}
  • libcfa/src/concurrency/invoke.c

    r0689cd9 r690166d  
    1717#include <stdlib.h>
    1818#include <stdio.h>
     19#include <unwind.h>
    1920
    2021#include "invoke.h"
     
    5051        main( this );
    5152
    52         cor->state = Halted;
    53 
    5453        //Final suspend, should never return
    5554        __leave_coroutine();
    5655        __cabi_abort( "Resumed dead coroutine" );
     56}
     57
     58static _Unwind_Reason_Code _CtxCoroutine_UnwindStop(
     59        __attribute((__unused__)) int version,
     60        _Unwind_Action actions,
     61        __attribute((__unused__)) _Unwind_Exception_Class exceptionClass,
     62        __attribute((__unused__)) struct _Unwind_Exception * unwind_exception,
     63        __attribute((__unused__)) struct _Unwind_Context * context,
     64        __attribute((__unused__)) void * param
     65) {
     66        if( actions & _UA_END_OF_STACK  ) {
     67                // We finished unwinding the coroutine,
     68                // leave it
     69                __leave_coroutine();
     70                __cabi_abort( "Resumed dead coroutine" );
     71        }
     72        if( actions & _UA_CLEANUP_PHASE ) return _URC_NO_REASON;
     73
     74        return _URC_FATAL_PHASE2_ERROR;
     75}
     76
     77void _CtxCoroutine_Unwind(struct _Unwind_Exception * storage) __attribute__ ((__noreturn__));
     78void _CtxCoroutine_Unwind(struct _Unwind_Exception * storage) {
     79        _Unwind_Reason_Code ret = _Unwind_ForcedUnwind( storage, _CtxCoroutine_UnwindStop, NULL );
     80        printf("UNWIND ERROR %d after force unwind\n", ret);
     81        abort();
    5782}
    5883
  • libcfa/src/concurrency/invoke.h

    r0689cd9 r690166d  
    8080
    8181        struct coroutine_desc {
    82                 struct coStack_t stack;                                                 // stack information of the coroutine
    83                 const char * name;                                                              // textual name for coroutine/task, initialized by uC++ generated code
    84                 int errno_;                                                                             // copy of global UNIX variable errno
    85                 enum coroutine_state state;                                             // current execution status for coroutine
    86                 struct coroutine_desc * starter;                                // first coroutine to resume this one
    87                 struct coroutine_desc * last;                                   // last coroutine to resume this one
    88         };
    89 
     82                // stack information of the coroutine
     83                struct coStack_t stack;
     84
     85                // textual name for coroutine/task, initialized by uC++ generated code
     86                const char * name;
     87
     88                // copy of global UNIX variable errno
     89                int errno_;
     90
     91                // current execution status for coroutine
     92                enum coroutine_state state;
     93                // first coroutine to resume this one
     94                struct coroutine_desc * starter;
     95
     96                // last coroutine to resume this one
     97                struct coroutine_desc * last;
     98
     99                // If non-null stack must be unwound with this exception
     100                struct _Unwind_Exception * cancellation;
     101
     102        };
     103
     104        // struct which calls the monitor is accepting
    90105        struct __waitfor_mask_t {
    91106                // the index of the accepted function, -1 if none
  • src/CodeTools/ResolvProtoDump.cc

    r0689cd9 r690166d  
    5151
    5252                /// Child constructor
    53                 ProtoDump(const ProtoDump* p, Type* r) 
     53                ProtoDump(const ProtoDump* p, Type* r)
    5454                        : decls(), exprs(), subs(), closed(p->closed), parent(p), rtnType(r) {}
    5555
    5656                // Fix copy issues
    57                 ProtoDump(const ProtoDump& o) 
    58                         : decls(o.decls), exprs(o.exprs), subs(o.subs), closed(o.closed), parent(o.parent), 
     57                ProtoDump(const ProtoDump& o)
     58                        : decls(o.decls), exprs(o.exprs), subs(o.subs), closed(o.closed), parent(o.parent),
    5959                          rtnType(maybeClone(o.rtnType.get())) {}
    6060                ProtoDump( ProtoDump&& ) = default;
     
    6969                        parent = o.parent;
    7070                        rtnType.reset( maybeClone(o.rtnType.get()) );
    71                        
     71
    7272                        return *this;
    7373                }
    74                 ProtoDump& operator= (ProtoDump&&) = default;
     74                ProtoDump& operator= (ProtoDump&&) = delete;
    7575
    7676        private:
     
    9696                        subs.emplace_back( std::move(sub.pass) );
    9797                }
    98        
     98
    9999                /// Whether lists should be separated, terminated, or preceded by their separator
    100100                enum septype { separated, terminated, preceded };
     
    102102                /// builds space-separated list of types
    103103                template<typename V>
    104                 static void build( V& visitor, const std::list< Type* >& tys, std::stringstream& ss, 
     104                static void build( V& visitor, const std::list< Type* >& tys, std::stringstream& ss,
    105105                                septype mode = separated ) {
    106106                        if ( tys.empty() ) return;
     
    121121                /// builds list of types wrapped as tuple type
    122122                template<typename V>
    123                 static void buildAsTuple( V& visitor, const std::list< Type* >& tys, 
     123                static void buildAsTuple( V& visitor, const std::list< Type* >& tys,
    124124                                std::stringstream& ss ) {
    125125                        switch ( tys.size() ) {
     
    162162                        if ( name.compare( 0, 10, "_operator_" ) == 0 ) {
    163163                                ss << name.substr(10);
    164                         } else if ( name.compare( "_constructor" ) == 0 
     164                        } else if ( name.compare( "_constructor" ) == 0
    165165                                        || name.compare( "_destructor" ) == 0 ) {
    166166                                ss << name.substr(1);
     
    173173
    174174                /// replaces operators with resolv-proto names
    175                 static void rp_name( const std::string& name, std::stringstream& ss, 
     175                static void rp_name( const std::string& name, std::stringstream& ss,
    176176                                std::string&& pre = "" ) {
    177177                        // safety check for anonymous names
     
    187187                                op_name( info.outputName, ss );
    188188                                return;
    189                         } 
    190                        
     189                        }
     190
    191191                        // replace retval names
    192192                        if ( name.compare( 0, 8, "_retval_" ) == 0 ) {
     
    195195                                return;
    196196                        }
    197                        
     197
    198198                        // default to just name, with first character in lowercase
    199                         ss << pre 
     199                        ss << pre
    200200                           << (char)std::tolower( static_cast<unsigned char>(name[0]) )
    201201                           << (name.c_str() + 1);
     
    221221                        // strip trailing "_generic_" from autogen names (avoids some user-generation issues)
    222222                        char generic[] = "_generic_"; size_t n_generic = sizeof(generic) - 1;
    223                         if ( stripped.size() >= n_generic 
     223                        if ( stripped.size() >= n_generic
    224224                                        && stripped.substr( stripped.size() - n_generic ) == generic ) {
    225225                                stripped.resize( stripped.size() - n_generic );
     
    237237                        unsigned depth;                                 ///< Depth of nesting from root type
    238238
    239                         TypePrinter( const std::unordered_set<std::string>& closed, std::stringstream& ss ) 
     239                        TypePrinter( const std::unordered_set<std::string>& closed, std::stringstream& ss )
    240240                                : ss(ss), closed(closed), depth(0) {}
    241241
     
    337337                        }
    338338                };
    339        
     339
    340340                /// builds description of function
    341341                void build( const std::string& name, FunctionType* fnTy, std::stringstream& ss ) {
     
    350350                        for ( TypeDecl* tyvar : fnTy->forall ) {
    351351                                for ( DeclarationWithType* assn : tyvar->assertions ) {
    352                                         ss << " | "; 
     352                                        ss << " | ";
    353353                                        build( assn->name, assn->get_type(), ss );
    354354                                }
     
    360360                        // ignore top-level references
    361361                        Type *norefs = ty->stripReferences();
    362                        
     362
    363363                        // fall back to function declaration if function type
    364364                        if ( PointerType* pTy = dynamic_cast< PointerType* >(norefs) ) {
     
    409409                        std::stringstream& ss;                          ///< Output to print to
    410410
    411                         ExprPrinter( const std::unordered_set<std::string>& closed, std::stringstream& ss ) 
     411                        ExprPrinter( const std::unordered_set<std::string>& closed, std::stringstream& ss )
    412412                                : closed(closed), ss(ss) {}
    413413
     
    476476                                visit_children = false;
    477477                        }
    478                        
     478
    479479                        /// Member access handled as function from aggregate to member
    480480                        void previsit( UntypedMemberExpr* expr ) {
     
    662662                                        }
    663663                                }
    664                                
     664
    665665                                // add named parameters and returns to local scope
    666666                                body.pass.addAll( decl->type->returnVals );
     
    679679                void previsit( StructDecl* sd ) { addAggregateFields(sd); }
    680680                void previsit( UnionDecl* ud ) { addAggregateFields(ud); }
    681                
     681
    682682                void previsit( EnumDecl* ed ) {
    683                         std::unique_ptr<Type> eType = 
     683                        std::unique_ptr<Type> eType =
    684684                                std::make_unique<BasicType>( Type::Qualifiers{}, BasicType::SignedInt );
    685                        
     685
    686686                        // add field names directly to enclosing scope
    687687                        for ( Declaration* member : ed->members ) {
  • src/Common/utility.h

    r0689cd9 r690166d  
    2626#include <string>
    2727#include <type_traits>
     28#include <utility>
    2829
    2930#include <cassert>
     
    462463std::pair<long long int, bool> eval(Expression * expr);
    463464
     465// -----------------------------------------------------------------------------
     466/// Reorders the input range in-place so that the minimal-value elements according to the
     467/// comparator are in front;
     468/// returns the iterator after the last minimal-value element.
     469template<typename Iter, typename Compare>
     470Iter sort_mins( Iter begin, Iter end, Compare& lt ) {
     471        if ( begin == end ) return end;
     472       
     473        Iter min_pos = begin;
     474        for ( Iter i = begin + 1; i != end; ++i ) {
     475                if ( lt( *i, *min_pos ) ) {
     476                        // new minimum cost; swap into first position
     477                        min_pos = begin;
     478                        std::iter_swap( min_pos, i );
     479                } else if ( ! lt( *min_pos, *i ) ) {
     480                        // duplicate minimum cost; swap into next minimum position
     481                        ++min_pos;
     482                        std::iter_swap( min_pos, i );
     483                }
     484        }
     485        return ++min_pos;
     486}
     487
     488template<typename Iter, typename Compare>
     489inline Iter sort_mins( Iter begin, Iter end, Compare&& lt ) {
     490        return sort_mins( begin, end, lt );
     491}
     492
     493/// sort_mins defaulted to use std::less
     494template<typename Iter>
     495inline Iter sort_mins( Iter begin, Iter end ) {
     496        return sort_mins( begin, end, std::less<typename std::iterator_traits<Iter>::value_type>{} );
     497}
     498
    464499// Local Variables: //
    465500// tab-width: 4 //
  • src/GenPoly/Box.cc

    r0689cd9 r690166d  
    798798                        for ( Type::ForallList::iterator tyVar = functionType->get_forall().begin(); tyVar != functionType->get_forall().end(); ++tyVar ) {
    799799                                for ( std::list< DeclarationWithType *>::iterator assert = (*tyVar)->assertions.begin(); assert != (*tyVar)->assertions.end(); ++assert ) {
    800                                         InferredParams::const_iterator inferParam = appExpr->get_inferParams().find( (*assert)->get_uniqueId() );
    801                                         assertf( inferParam != appExpr->get_inferParams().end(), "addInferredParams missing inferred parameter: %s in: %s", toString( *assert ).c_str(), toString( appExpr ).c_str() );
     800                                        InferredParams::const_iterator inferParam = appExpr->inferParams.find( (*assert)->get_uniqueId() );
     801                                        assertf( inferParam != appExpr->inferParams.end(), "addInferredParams missing inferred parameter: %s in: %s", toString( *assert ).c_str(), toString( appExpr ).c_str() );
    802802                                        Expression *newExpr = inferParam->second.expr->clone();
    803803                                        addCast( newExpr, (*assert)->get_type(), tyVars );
  • src/GenPoly/Specialize.cc

    r0689cd9 r690166d  
    245245                appExpr->env = TypeSubstitution::newFromExpr( appExpr, env );
    246246                if ( inferParams ) {
    247                         appExpr->get_inferParams() = *inferParams;
     247                        appExpr->inferParams = *inferParams;
    248248                } // if
    249249
     
    284284                std::list< Expression* >::iterator actual;
    285285                for ( formal = function->get_parameters().begin(), actual = appExpr->get_args().begin(); formal != function->get_parameters().end() && actual != appExpr->get_args().end(); ++formal, ++actual ) {
    286                         *actual = doSpecialization( (*formal)->get_type(), *actual, &appExpr->get_inferParams() );
     286                        *actual = doSpecialization( (*formal)->get_type(), *actual, &appExpr->inferParams );
    287287                }
    288288        }
     
    295295                        // alternatively, if order starts to matter then copy appExpr's inferParams and pass them to handleExplicitParams.
    296296                        handleExplicitParams( appExpr );
    297                         for ( InferredParams::iterator inferParam = appExpr->get_inferParams().begin(); inferParam != appExpr->get_inferParams().end(); ++inferParam ) {
    298                                 inferParam->second.expr = doSpecialization( inferParam->second.formalType, inferParam->second.expr, inferParam->second.inferParams.get() );
     297                        for ( InferredParams::iterator inferParam = appExpr->inferParams.begin(); inferParam != appExpr->inferParams.end(); ++inferParam ) {
     298                                inferParam->second.expr = doSpecialization( inferParam->second.formalType, inferParam->second.expr, &inferParam->second.expr->inferParams );
    299299                        }
    300300                }
  • src/Makefile.am

    r0689cd9 r690166d  
    1717# create object files in directory with source files
    1818AUTOMAKE_OPTIONS = foreign subdir-objects
     19ACLOCAL_AMFLAGS  = -I automake
    1920
    2021SRC = main.cc \
     
    126127  ResolvExpr/PtrsCastable.cc \
    127128  ResolvExpr/RenameVars.cc \
     129  ResolvExpr/ResolveAssertions.cc \
    128130  ResolvExpr/Resolver.cc \
    129131  ResolvExpr/ResolveTypeof.cc \
     132  ResolvExpr/SpecCost.cc \
    130133  ResolvExpr/TypeEnvironment.cc \
    131134  ResolvExpr/Unify.cc \
  • src/Makefile.in

    r0689cd9 r690166d  
    141141subdir = src
    142142ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    143 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \
    144         $(top_srcdir)/configure.ac
     143am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \
     144        $(top_srcdir)/automake/ltoptions.m4 \
     145        $(top_srcdir)/automake/ltsugar.m4 \
     146        $(top_srcdir)/automake/ltversion.m4 \
     147        $(top_srcdir)/automake/lt~obsolete.m4 \
     148        $(top_srcdir)/automake/cfa.m4 $(top_srcdir)/configure.ac
    145149am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    146150        $(ACLOCAL_M4)
     
    151155CONFIG_CLEAN_VPATH_FILES =
    152156LIBRARIES = $(noinst_LIBRARIES)
    153 AR = ar
    154157AM_V_AR = $(am__v_AR_@AM_V@)
    155158am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
     
    203206        ResolvExpr/PtrsAssignable.$(OBJEXT) \
    204207        ResolvExpr/PtrsCastable.$(OBJEXT) \
    205         ResolvExpr/RenameVars.$(OBJEXT) ResolvExpr/Resolver.$(OBJEXT) \
     208        ResolvExpr/RenameVars.$(OBJEXT) \
     209        ResolvExpr/ResolveAssertions.$(OBJEXT) \
     210        ResolvExpr/Resolver.$(OBJEXT) \
    206211        ResolvExpr/ResolveTypeof.$(OBJEXT) \
     212        ResolvExpr/SpecCost.$(OBJEXT) \
    207213        ResolvExpr/TypeEnvironment.$(OBJEXT) \
    208214        ResolvExpr/Unify.$(OBJEXT) SymTab/Autogen.$(OBJEXT) \
     
    259265        ResolvExpr/TypeEnvironment.$(OBJEXT) \
    260266        ResolvExpr/CurrentObject.$(OBJEXT) \
    261         ResolvExpr/ExplodedActual.$(OBJEXT) SymTab/Indexer.$(OBJEXT) \
    262         SymTab/Mangler.$(OBJEXT) SymTab/ManglerCommon.$(OBJEXT) \
    263         SymTab/Validate.$(OBJEXT) SymTab/FixFunction.$(OBJEXT) \
    264         SymTab/Autogen.$(OBJEXT) SynTree/Type.$(OBJEXT) \
    265         SynTree/VoidType.$(OBJEXT) SynTree/BasicType.$(OBJEXT) \
    266         SynTree/PointerType.$(OBJEXT) SynTree/ArrayType.$(OBJEXT) \
    267         SynTree/ReferenceType.$(OBJEXT) SynTree/FunctionType.$(OBJEXT) \
     267        ResolvExpr/ExplodedActual.$(OBJEXT) \
     268        ResolvExpr/SpecCost.$(OBJEXT) \
     269        ResolvExpr/ResolveAssertions.$(OBJEXT) \
     270        SymTab/Indexer.$(OBJEXT) SymTab/Mangler.$(OBJEXT) \
     271        SymTab/ManglerCommon.$(OBJEXT) SymTab/Validate.$(OBJEXT) \
     272        SymTab/FixFunction.$(OBJEXT) SymTab/Autogen.$(OBJEXT) \
     273        SynTree/Type.$(OBJEXT) SynTree/VoidType.$(OBJEXT) \
     274        SynTree/BasicType.$(OBJEXT) SynTree/PointerType.$(OBJEXT) \
     275        SynTree/ArrayType.$(OBJEXT) SynTree/ReferenceType.$(OBJEXT) \
     276        SynTree/FunctionType.$(OBJEXT) \
    268277        SynTree/ReferenceToType.$(OBJEXT) SynTree/TupleType.$(OBJEXT) \
    269278        SynTree/TypeofType.$(OBJEXT) SynTree/AttrType.$(OBJEXT) \
     
    289298___driver_cfa_cpp_OBJECTS = $(am____driver_cfa_cpp_OBJECTS)
    290299___driver_cfa_cpp_DEPENDENCIES =
     300AM_V_lt = $(am__v_lt_@AM_V@)
     301am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
     302am__v_lt_0 = --silent
     303am__v_lt_1 =
    291304am_demangler_OBJECTS = SymTab/demangler.$(OBJEXT)
    292305demangler_OBJECTS = $(am_demangler_OBJECTS)
     
    310323CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
    311324        $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
     325LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
     326        $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
     327        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
     328        $(AM_CXXFLAGS) $(CXXFLAGS)
    312329AM_V_CXX = $(am__v_CXX_@AM_V@)
    313330am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
     
    315332am__v_CXX_1 =
    316333CXXLD = $(CXX)
    317 CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
    318         -o $@
     334CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
     335        $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
     336        $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
    319337AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
    320338am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
     
    322340am__v_CXXLD_1 =
    323341LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS)
     342LTLEXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
     343        $(LIBTOOLFLAGS) --mode=compile $(LEX) $(AM_LFLAGS) $(LFLAGS)
    324344AM_V_LEX = $(am__v_LEX_@AM_V@)
    325345am__v_LEX_ = $(am__v_LEX_@AM_DEFAULT_V@)
     
    330350                   -e s/c++$$/h++/ -e s/c$$/h/
    331351YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS)
     352LTYACCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
     353        $(LIBTOOLFLAGS) --mode=compile $(YACC) $(AM_YFLAGS) $(YFLAGS)
    332354AM_V_YACC = $(am__v_YACC_@AM_V@)
    333355am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@)
     
    336358COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
    337359        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
     360LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     361        $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
     362        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
     363        $(AM_CFLAGS) $(CFLAGS)
    338364AM_V_CC = $(am__v_CC_@AM_V@)
    339365am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
     
    341367am__v_CC_1 =
    342368CCLD = $(CC)
    343 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
     369LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     370        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
     371        $(AM_LDFLAGS) $(LDFLAGS) -o $@
    344372AM_V_CCLD = $(am__v_CCLD_@AM_V@)
    345373am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
     
    391419AMTAR = @AMTAR@
    392420AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
     421AR = @AR@
    393422AUTOCONF = @AUTOCONF@
    394423AUTOHEADER = @AUTOHEADER@
     
    414443CPPFLAGS = @CPPFLAGS@
    415444CXX = @CXX@
     445CXXCPP = @CXXCPP@
    416446CXXDEPMODE = @CXXDEPMODE@
    417447CXXFLAGS = @CXXFLAGS@
     
    419449DEFS = @DEFS@
    420450DEPDIR = @DEPDIR@
     451DLLTOOL = @DLLTOOL@
    421452DRIVER_DIR = @DRIVER_DIR@
     453DSYMUTIL = @DSYMUTIL@
     454DUMPBIN = @DUMPBIN@
    422455ECHO_C = @ECHO_C@
    423456ECHO_N = @ECHO_N@
     
    425458EGREP = @EGREP@
    426459EXEEXT = @EXEEXT@
     460FGREP = @FGREP@
    427461GREP = @GREP@
    428462HOST_FLAGS = @HOST_FLAGS@
     
    432466INSTALL_SCRIPT = @INSTALL_SCRIPT@
    433467INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     468LD = @LD@
    434469LDFLAGS = @LDFLAGS@
    435470LEX = @LEX@
     
    440475LIBOBJS = @LIBOBJS@
    441476LIBS = @LIBS@
     477LIBTOOL = @LIBTOOL@
     478LIPO = @LIPO@
     479LN_S = @LN_S@
    442480LTLIBOBJS = @LTLIBOBJS@
     481LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    443482MAKEINFO = @MAKEINFO@
     483MANIFEST_TOOL = @MANIFEST_TOOL@
    444484MKDIR_P = @MKDIR_P@
     485NM = @NM@
     486NMEDIT = @NMEDIT@
     487OBJDUMP = @OBJDUMP@
    445488OBJEXT = @OBJEXT@
     489OTOOL = @OTOOL@
     490OTOOL64 = @OTOOL64@
    446491PACKAGE = @PACKAGE@
    447492PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    453498PATH_SEPARATOR = @PATH_SEPARATOR@
    454499RANLIB = @RANLIB@
     500SED = @SED@
    455501SET_MAKE = @SET_MAKE@
    456502SHELL = @SHELL@
     
    464510abs_top_builddir = @abs_top_builddir@
    465511abs_top_srcdir = @abs_top_srcdir@
     512ac_ct_AR = @ac_ct_AR@
    466513ac_ct_CC = @ac_ct_CC@
    467514ac_ct_CXX = @ac_ct_CXX@
     515ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    468516am__include = @am__include@
    469517am__leading_dot = @am__leading_dot@
     
    515563# create object files in directory with source files
    516564AUTOMAKE_OPTIONS = foreign subdir-objects
     565ACLOCAL_AMFLAGS = -I automake
    517566SRC = main.cc MakeLibCfa.cc CompilationState.cc CodeGen/Generate.cc \
    518567        CodeGen/CodeGenerator.cc CodeGen/GenType.cc \
     
    546595        ResolvExpr/Occurs.cc ResolvExpr/TypeEnvironment.cc \
    547596        ResolvExpr/CurrentObject.cc ResolvExpr/ExplodedActual.cc \
     597        ResolvExpr/SpecCost.cc ResolvExpr/ResolveAssertions.cc \
    548598        SymTab/Indexer.cc SymTab/Mangler.cc SymTab/ManglerCommon.cc \
    549599        SymTab/Validate.cc SymTab/FixFunction.cc SymTab/Autogen.cc \
     
    653703  ResolvExpr/PtrsCastable.cc \
    654704  ResolvExpr/RenameVars.cc \
     705  ResolvExpr/ResolveAssertions.cc \
    655706  ResolvExpr/Resolver.cc \
    656707  ResolvExpr/ResolveTypeof.cc \
     708  ResolvExpr/SpecCost.cc \
    657709  ResolvExpr/TypeEnvironment.cc \
    658710  ResolvExpr/Unify.cc \
     
    671723
    672724.SUFFIXES:
    673 .SUFFIXES: .cc .ll .o .obj .yy
     725.SUFFIXES: .cc .ll .lo .o .obj .yy
    674726$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(srcdir)/CodeGen/module.mk $(srcdir)/CodeTools/module.mk $(srcdir)/Concurrency/module.mk $(srcdir)/Common/module.mk $(srcdir)/ControlStruct/module.mk $(srcdir)/GenPoly/module.mk $(srcdir)/InitTweak/module.mk $(srcdir)/Parser/module.mk $(srcdir)/ResolvExpr/module.mk $(srcdir)/SymTab/module.mk $(srcdir)/SynTree/module.mk $(srcdir)/Tuples/module.mk $(srcdir)/Validate/module.mk $(srcdir)/Virtual/module.mk $(am__configure_deps)
    675727        @for dep in $?; do \
     
    903955ResolvExpr/RenameVars.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    904956        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     957ResolvExpr/ResolveAssertions.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
     958        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    905959ResolvExpr/Resolver.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    906960        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    907961ResolvExpr/ResolveTypeof.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
     962        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     963ResolvExpr/SpecCost.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    908964        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    909965ResolvExpr/TypeEnvironment.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
     
    9561012        sed 's/$(EXEEXT)$$//' | \
    9571013        while read p p1; do if test -f $$p \
     1014         || test -f $$p1 \
    9581015          ; then echo "$$p"; echo "$$p"; else :; fi; \
    9591016        done | \
     
    9701027            if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
    9711028            test -z "$$files" || { \
    972               echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cfa_cpplibdir)$$dir'"; \
    973               $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cfa_cpplibdir)$$dir" || exit $$?; \
     1029            echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cfa_cpplibdir)$$dir'"; \
     1030            $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cfa_cpplibdir)$$dir" || exit $$?; \
    9741031            } \
    9751032        ; done
     
    9871044
    9881045clean-cfa_cpplibPROGRAMS:
    989         -test -z "$(cfa_cpplib_PROGRAMS)" || rm -f $(cfa_cpplib_PROGRAMS)
     1046        @list='$(cfa_cpplib_PROGRAMS)'; test -n "$$list" || exit 0; \
     1047        echo " rm -f" $$list; \
     1048        rm -f $$list || exit $$?; \
     1049        test -n "$(EXEEXT)" || exit 0; \
     1050        list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
     1051        echo " rm -f" $$list; \
     1052        rm -f $$list
    9901053CodeGen/Generate.$(OBJEXT): CodeGen/$(am__dirstamp) \
    9911054        CodeGen/$(DEPDIR)/$(am__dirstamp)
     
    11571220@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/PtrsCastable.Po@am__quote@
    11581221@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/RenameVars.Po@am__quote@
     1222@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/ResolveAssertions.Po@am__quote@
    11591223@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/ResolveTypeof.Po@am__quote@
    11601224@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/Resolver.Po@am__quote@
     1225@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/SpecCost.Po@am__quote@
    11611226@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/TypeEnvironment.Po@am__quote@
    11621227@AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/Unify.Po@am__quote@
     
    12251290@am__fastdepCXX_FALSE@  $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
    12261291
     1292.cc.lo:
     1293@am__fastdepCXX_TRUE@   $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
     1294@am__fastdepCXX_TRUE@   $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
     1295@am__fastdepCXX_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Plo
     1296@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
     1297@AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     1298@am__fastdepCXX_FALSE@  $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
     1299
    12271300.ll.cc:
    12281301        $(AM_V_LEX)$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE)
     
    12301303.yy.cc:
    12311304        $(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h `echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE)
     1305
     1306mostlyclean-libtool:
     1307        -rm -f *.lo
     1308
     1309clean-libtool:
     1310        -rm -rf .libs _libs
     1311        -rm -rf ../driver/.libs ../driver/_libs
    12321312
    12331313ID: $(am__tagged_files)
     
    13891469clean: clean-am
    13901470
    1391 clean-am: clean-cfa_cpplibPROGRAMS clean-generic clean-noinstLIBRARIES \
    1392         mostlyclean-am
     1471clean-am: clean-cfa_cpplibPROGRAMS clean-generic clean-libtool \
     1472        clean-noinstLIBRARIES mostlyclean-am
    13931473
    13941474distclean: distclean-am
     
    14451525mostlyclean: mostlyclean-am
    14461526
    1447 mostlyclean-am: mostlyclean-compile mostlyclean-generic
     1527mostlyclean-am: mostlyclean-compile mostlyclean-generic \
     1528        mostlyclean-libtool
    14481529
    14491530pdf: pdf-am
     
    14601541
    14611542.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
    1462         clean-cfa_cpplibPROGRAMS clean-generic clean-noinstLIBRARIES \
    1463         cscopelist-am ctags ctags-am distclean distclean-compile \
    1464         distclean-generic distclean-tags distdir dvi dvi-am html \
    1465         html-am info info-am install install-am \
    1466         install-cfa_cpplibPROGRAMS install-data install-data-am \
    1467         install-dvi install-dvi-am install-exec install-exec-am \
    1468         install-html install-html-am install-info install-info-am \
    1469         install-man install-pdf install-pdf-am install-ps \
    1470         install-ps-am install-strip installcheck installcheck-am \
    1471         installdirs maintainer-clean maintainer-clean-generic \
    1472         mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
    1473         ps ps-am tags tags-am uninstall uninstall-am \
     1543        clean-cfa_cpplibPROGRAMS clean-generic clean-libtool \
     1544        clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \
     1545        distclean-compile distclean-generic distclean-libtool \
     1546        distclean-tags distdir dvi dvi-am html html-am info info-am \
     1547        install install-am install-cfa_cpplibPROGRAMS install-data \
     1548        install-data-am install-dvi install-dvi-am install-exec \
     1549        install-exec-am install-html install-html-am install-info \
     1550        install-info-am install-man install-pdf install-pdf-am \
     1551        install-ps install-ps-am install-strip installcheck \
     1552        installcheck-am installdirs maintainer-clean \
     1553        maintainer-clean-generic mostlyclean mostlyclean-compile \
     1554        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
     1555        tags tags-am uninstall uninstall-am \
    14741556        uninstall-cfa_cpplibPROGRAMS
    14751557
  • src/ResolvExpr/Alternative.cc

    r0689cd9 r690166d  
    99// Author           : Richard C. Bilson
    1010// Created On       : Sat May 16 23:44:23 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat May 16 23:54:23 2015
    13 // Update Count     : 2
     11// Last Modified By : Aaron B. Moss
     12// Last Modified On : Thu Oct 11 10:55:00 2018
     13// Update Count     : 3
    1414//
    1515
     
    2020#include <utility>                       // for move
    2121
    22 #include "Common/utility.h"              // for maybeClone
     22#include "Common/utility.h"              // for cloneAll
    2323#include "ResolvExpr/Cost.h"             // for Cost, Cost::zero, operator<<
    2424#include "ResolvExpr/TypeEnvironment.h"  // for TypeEnvironment
     
    2727
    2828namespace ResolvExpr {
    29         Alternative::Alternative() : cost( Cost::zero ), cvtCost( Cost::zero ), expr( nullptr ) {}
     29        Alternative::Alternative()
     30        : cost( Cost::zero ), cvtCost( Cost::zero ), expr( nullptr ), env(), openVars(), need() {}
    3031
    31         Alternative::Alternative( Expression *expr, const TypeEnvironment &env, const Cost& cost )
    32                 : cost( cost ), cvtCost( Cost::zero ), expr( expr ), env( env ) {}
     32        Alternative::Alternative( Expression *expr, const TypeEnvironment &env )
     33        : cost( Cost::zero ), cvtCost( Cost::zero ), expr( expr ), env( env ), openVars(), need() {}
     34       
     35        Alternative::Alternative( const Alternative &o, Expression *expr, const Cost &cost )
     36        : cost( cost ), cvtCost( Cost::zero ), expr( expr ), env( o.env ), openVars( o.openVars ),
     37          need() { cloneAll( o.need, need ); }
    3338
    34         Alternative::Alternative( Expression *expr, const TypeEnvironment &env, const Cost& cost, const Cost &cvtCost )
    35                 : cost( cost ), cvtCost( cvtCost ), expr( expr ), env( env ) {}
     39        Alternative::Alternative( Expression *expr, const TypeEnvironment &env,
     40                const OpenVarSet& openVars, const AssertionList& oneed, const Cost& cost )
     41        : cost( cost ), cvtCost( Cost::zero ), expr( expr ), env( env ), openVars( openVars ),
     42          need() { cloneAll( oneed, need ); }
    3643
    37         Alternative::Alternative( const Alternative &other ) : cost( other.cost ), cvtCost( other.cvtCost ), expr( maybeClone( other.expr ) ), env( other.env ) {
    38         }
     44        Alternative::Alternative( Expression *expr, const TypeEnvironment &env,
     45                const OpenVarSet& openVars, const AssertionList& oneed, const Cost& cost,
     46                const Cost &cvtCost )
     47        : cost( cost ), cvtCost( cvtCost ), expr( expr ), env( env ), openVars( openVars ),
     48          need() { cloneAll( oneed, need ); }
     49       
     50        Alternative::Alternative( Expression *expr, const TypeEnvironment &env,
     51                const OpenVarSet &openVars, const AssertionSet &oneed, const Cost &cost)
     52        : cost( cost ), cvtCost( Cost::zero ), expr( expr ), env( env ), openVars( openVars ),
     53          need() { cloneAll( oneed, need ); }
     54       
     55        Alternative::Alternative( Expression *expr, const TypeEnvironment &env,
     56                const OpenVarSet &openVars, const AssertionSet &oneed, const Cost &cost,
     57                const Cost& cvtCost )
     58        : cost( cost ), cvtCost( cvtCost ), expr( expr ), env( env ), openVars( openVars ),
     59          need() { cloneAll( oneed, need ); }
     60       
     61        Alternative::Alternative( Expression *expr, TypeEnvironment &&env, OpenVarSet &&openVars,
     62                AssertionSet &&needSet, const Cost &cost )
     63        : cost( cost ), cvtCost( Cost::zero ), expr( expr ), env( std::move(env) ),
     64          openVars( std::move(openVars) ), need( needSet.begin(), needSet.end() ) {}
     65       
     66        Alternative::Alternative( Expression *expr, TypeEnvironment &&env, OpenVarSet &&openVars,
     67                AssertionSet &&needSet, const Cost &cost, const Cost &cvtCost )
     68        : cost( cost ), cvtCost( cvtCost ), expr( expr ), env( std::move(env) ),
     69          openVars( std::move(openVars) ), need( needSet.begin(), needSet.end() ) {}
     70
     71        Alternative::Alternative( const Alternative &other )
     72        : cost( other.cost ), cvtCost( other.cvtCost ), expr( maybeClone( other.expr ) ),
     73          env( other.env ), openVars( other.openVars ), need() { cloneAll( other.need, need ); }
    3974
    4075        Alternative &Alternative::operator=( const Alternative &other ) {
     
    4580                expr = maybeClone( other.expr );
    4681                env = other.env;
     82                openVars = other.openVars;
     83                need.clear();
     84                cloneAll( other.need, need );
    4785                return *this;
    4886        }
    4987
    50         Alternative::Alternative( Alternative && other ) : cost( other.cost ), cvtCost( other.cvtCost ), expr( other.expr ), env( std::move( other.env ) ) {
    51                 other.expr = nullptr;
    52         }
     88        Alternative::Alternative( Alternative && other )
     89        : cost( other.cost ), cvtCost( other.cvtCost ), expr( other.expr ),
     90          env( std::move( other.env ) ), openVars( std::move( other.openVars ) ),
     91          need( std::move( other.need ) ) { other.expr = nullptr; }
    5392
    5493        Alternative & Alternative::operator=( Alternative && other ) {
     
    5998                expr = other.expr;
    6099                env = std::move( other.env );
     100                openVars = std::move( other.openVars );
     101                need = std::move( other.need );
    61102                other.expr = nullptr;
    62103                return *this;
     
    64105
    65106        Alternative::~Alternative() {
     107                for ( AssertionItem& n : need ) { delete n.decl; }
    66108                delete expr;
    67109        }
     
    78120                        os << "Null expression!" << std::endl;
    79121                } // if
    80                 os << indent << "Environment: ";
     122                os << indent << "Environment:";
    81123                env.print( os, indent+1 );
    82124                os << std::endl;
  • src/ResolvExpr/Alternative.h

    r0689cd9 r690166d  
    99// Author           : Richard C. Bilson
    1010// Created On       : Sat May 16 23:45:43 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jul 22 09:36:36 2017
    13 // Update Count     : 3
     11// Last Modified By : Aaron B. Moss
     12// Last Modified On : Thu Oct 11 10:55:00 2018
     13// Update Count     : 4
    1414//
    1515
     
    2020
    2121#include "Cost.h"             // for Cost
    22 #include "TypeEnvironment.h"  // for TypeEnvironment
     22#include "TypeEnvironment.h"  // for TypeEnvironment, AssertionSetValue
     23
     24#include "Common/utility.h"   // for maybeClone
    2325
    2426class Expression;
    2527
    2628namespace ResolvExpr {
     29        /// One assertion to resolve
     30        struct AssertionItem {
     31                DeclarationWithType* decl;
     32                AssertionSetValue info;
     33               
     34                AssertionItem() = default;
     35                AssertionItem( DeclarationWithType* decl, const AssertionSetValue& info )
     36                : decl(decl), info(info) {}
     37                AssertionItem( const AssertionSet::value_type& e ) : decl(e.first), info(e.second) {}
     38                operator AssertionSet::value_type () const { return { decl, info }; }
     39
     40                // to support cloneAll
     41                AssertionItem clone() const { return { maybeClone(decl), info }; }
     42        };
     43        /// A list of unresolved assertions
     44        using AssertionList = std::vector<AssertionItem>;
     45
     46        /// Clones an assertion list into an assertion set
     47        static inline void cloneAll( const AssertionList& src, AssertionSet& dst ) {
     48                for ( const AssertionItem& item : src ) {
     49                        dst.emplace( maybeClone(item.decl), item.info );
     50                }
     51        }
     52
     53        /// Clones an assertion set into an assertion list
     54        static inline void cloneAll( const AssertionSet& src, AssertionList& dst ) {
     55                dst.reserve( dst.size() + src.size() );
     56                for ( const auto& entry : src ) {
     57                        dst.emplace_back( maybeClone(entry.first), entry.second );
     58                }
     59        }
     60
     61        /// Clones an assertion list into an assertion list
     62        static inline void cloneAll( const AssertionList& src, AssertionList& dst ) {
     63                dst.reserve( dst.size() + src.size() );
     64                for ( const AssertionItem& item : src ) {
     65                        dst.emplace_back( maybeClone(item.decl), item.info );
     66                }
     67        }
     68
     69        /// One option for resolution of an expression
    2770        struct Alternative {
    2871                Alternative();
    29                 Alternative( Expression *expr, const TypeEnvironment &env, const Cost &cost );
    30                 Alternative( Expression *expr, const TypeEnvironment &env, const Cost &cost, const Cost &cvtCost );
     72                Alternative( Expression *expr, const TypeEnvironment &env );
     73                Alternative( const Alternative &o, Expression *expr, const Cost &cost );
     74                Alternative( Expression *expr, const TypeEnvironment &env, const OpenVarSet& openVars,
     75                        const AssertionList& need, const Cost &cost );
     76                Alternative( Expression *expr, const TypeEnvironment &env, const OpenVarSet& openVars,
     77                        const AssertionList& need, const Cost &cost, const Cost &cvtCost );
     78                Alternative( Expression *expr, const TypeEnvironment &env, const OpenVarSet &openVars,
     79                        const AssertionSet &need, const Cost &cost);
     80                Alternative( Expression *expr, const TypeEnvironment &env, const OpenVarSet &openVars,
     81                        const AssertionSet &need, const Cost &cost, const Cost& cvtCost );
     82                Alternative( Expression *expr, TypeEnvironment &&env, OpenVarSet &&openVars,
     83                        AssertionSet &&need, const Cost &cost );
     84                Alternative( Expression *expr, TypeEnvironment &&env, OpenVarSet &&openVars,
     85                        AssertionSet &&need, const Cost &cost, const Cost &cvtCost );
    3186                Alternative( const Alternative &other );
    3287                Alternative &operator=( const Alternative &other );
     
    4499                }
    45100
    46                 Cost cost;
    47                 Cost cvtCost;
    48                 Expression *expr;
    49                 TypeEnvironment env;
     101                /// Sorts by cost
     102                bool operator< ( const Alternative& o ) const { return cost < o.cost; }
     103
     104                Cost cost;            ///< Cost of the whole expression
     105                Cost cvtCost;         ///< Cost of conversions to the satisfying expression
     106                Expression *expr;     ///< Satisfying expression
     107                TypeEnvironment env;  ///< Containing type environment
     108                OpenVarSet openVars;  ///< Open variables for environment
     109                AssertionList need;   ///< Assertions which need to be resolved
    50110        };
    51111
  • src/ResolvExpr/AlternativeFinder.cc

    r0689cd9 r690166d  
    1111// Last Modified By : Peter A. Buhr
    1212// Last Modified On : Thu Nov  1 21:00:56 2018
    13 // Update Count     : 34
     13// Update Count     : 35
    1414//
    1515
     
    3434#include "InitTweak/InitTweak.h"   // for getFunctionName
    3535#include "RenameVars.h"            // for RenameVars, global_renamer
     36#include "ResolveAssertions.h"     // for resolveAssertions
    3637#include "ResolveTypeof.h"         // for resolveTypeof
    3738#include "Resolver.h"              // for resolveStmtExpr
     
    102103                void addAnonConversions( const Alternative & alt );
    103104                /// Adds alternatives for member expressions, given the aggregate, conversion cost for that aggregate, and name of the member
    104                 template< typename StructOrUnionType > void addAggMembers( StructOrUnionType *aggInst, Expression *expr, const Cost &newCost, const TypeEnvironment & env, const std::string & name );
     105                template< typename StructOrUnionType > void addAggMembers( StructOrUnionType *aggInst, Expression *expr, const Alternative &alt, const Cost &newCost, const std::string & name );
    105106                /// Adds alternatives for member expressions where the left side has tuple type
    106                 void addTupleMembers( TupleType * tupleType, Expression *expr, const Cost &newCost, const TypeEnvironment & env, Expression * member );
     107                void addTupleMembers( TupleType *tupleType, Expression *expr, const Alternative &alt, const Cost &newCost, Expression *member );
    107108                /// Adds alternatives for offsetof expressions, given the base type and name of the member
    108109                template< typename StructOrUnionType > void addOffsetof( StructOrUnionType *aggInst, const std::string &name );
     
    113114                template<typename OutputIterator>
    114115                void makeFunctionAlternatives( const Alternative &func, FunctionType *funcType, const ExplodedArgs& args, OutputIterator out );
    115                 /// Checks if assertion parameters match for a new alternative
     116                /// Sets up parameter inference for an output alternative
    116117                template< typename OutputIterator >
    117                 void inferParameters( const AssertionSet &need, AssertionSet &have, const Alternative &newAlt, OpenVarSet &openVars, OutputIterator out );
     118                void inferParameters( Alternative &newAlt, OutputIterator out );
    118119        private:
    119120                AlternativeFinder & altFinder;
     
    244245        }
    245246
    246         void AlternativeFinder::find( Expression *expr, bool adjust, bool prune, bool failFast ) {
     247        void AlternativeFinder::find( Expression *expr, ResolvMode mode ) {
    247248                PassVisitor<Finder> finder( *this );
    248249                expr->accept( finder );
    249                 if ( failFast && alternatives.empty() ) {
     250                if ( mode.failFast && alternatives.empty() ) {
    250251                        PRINT(
    251252                                std::cerr << "No reasonable alternatives for expression " << expr << std::endl;
     
    253254                        SemanticError( expr, "No reasonable alternatives for expression " );
    254255                }
    255                 if ( prune ) {
     256                if ( mode.resolveAssns || mode.prune ) {
     257                        // trim candidates just to those where the assertions resolve
     258                        // - necessary pre-requisite to pruning
     259                        AltList candidates;
     260                        for ( unsigned i = 0; i < alternatives.size(); ++i ) {
     261                                resolveAssertions( alternatives[i], indexer, candidates );
     262                        }
     263                        // fail early if none such
     264                        if ( mode.failFast && candidates.empty() ) {
     265                                std::ostringstream stream;
     266                                stream << "No resolvable alternatives for expression " << expr << "\n"
     267                                       << "Alternatives with failing assertions are:\n";
     268                                printAlts( alternatives, stream, 1 );
     269                                SemanticError( expr->location, stream.str() );
     270                        }
     271                        // reset alternatives
     272                        alternatives = std::move( candidates );
     273                }
     274                if ( mode.prune ) {
    256275                        auto oldsize = alternatives.size();
    257276                        PRINT(
     
    261280                        AltList pruned;
    262281                        pruneAlternatives( alternatives.begin(), alternatives.end(), back_inserter( pruned ) );
    263                         if ( failFast && pruned.empty() ) {
     282                        if ( mode.failFast && pruned.empty() ) {
    264283                                std::ostringstream stream;
    265284                                AltList winners;
     
    280299                }
    281300                // adjust types after pruning so that types substituted by pruneAlternatives are correctly adjusted
    282                 for ( AltList::iterator i = alternatives.begin(); i != alternatives.end(); ++i ) {
    283                         if ( adjust ) {
    284                                 adjustExprType( i->expr->get_result(), i->env, indexer );
     301                if ( mode.adjust ) {
     302                        for ( Alternative& i : alternatives ) {
     303                                adjustExprType( i.expr->get_result(), i.env, indexer );
    285304                        }
    286305                }
     
    294313
    295314        void AlternativeFinder::findWithAdjustment( Expression *expr ) {
    296                 find( expr, true );
     315                find( expr, ResolvMode::withAdjustment() );
    297316        }
    298317
    299318        void AlternativeFinder::findWithoutPrune( Expression * expr ) {
    300                 find( expr, true, false );
     319                find( expr, ResolvMode::withoutPrune() );
    301320        }
    302321
    303322        void AlternativeFinder::maybeFind( Expression * expr ) {
    304                 find( expr, true, true, false );
     323                find( expr, ResolvMode::withoutFailFast() );
    305324        }
    306325
     
    317336
    318337                if ( StructInstType *structInst = dynamic_cast< StructInstType* >( aggrExpr->result ) ) {
    319                         addAggMembers( structInst, aggrExpr.get(), alt.cost+Cost::safe, alt.env, "" );
     338                        addAggMembers( structInst, aggrExpr.get(), alt, alt.cost+Cost::safe, "" );
    320339                } else if ( UnionInstType *unionInst = dynamic_cast< UnionInstType* >( aggrExpr->result ) ) {
    321                         addAggMembers( unionInst, aggrExpr.get(), alt.cost+Cost::safe, alt.env, "" );
     340                        addAggMembers( unionInst, aggrExpr.get(), alt, alt.cost+Cost::safe, "" );
    322341                } // if
    323342        }
    324343
    325344        template< typename StructOrUnionType >
    326         void AlternativeFinder::Finder::addAggMembers( StructOrUnionType *aggInst, Expression *expr, const Cost &newCost, const TypeEnvironment & env, const std::string & name ) {
     345        void AlternativeFinder::Finder::addAggMembers( StructOrUnionType *aggInst, Expression *expr, const Alternative& alt, const Cost &newCost, const std::string & name ) {
    327346                std::list< Declaration* > members;
    328347                aggInst->lookup( name, members );
     
    332351                                // addAnonAlternatives uses vector::push_back, which invalidates references to existing elements, so
    333352                                // can't construct in place and use vector::back
    334                                 Alternative newAlt( new MemberExpr( dwt, expr->clone() ), env, newCost );
     353                                Alternative newAlt{ alt, new MemberExpr{ dwt, expr->clone() }, newCost };
    335354                                renameTypes( newAlt.expr );
    336355                                addAnonConversions( newAlt ); // add anonymous member interpretations whenever an aggregate value type is seen as a member expression.
     
    342361        }
    343362
    344         void AlternativeFinder::Finder::addTupleMembers( TupleType * tupleType, Expression *expr, const Cost &newCost, const TypeEnvironment & env, Expression * member ) {
     363        void AlternativeFinder::Finder::addTupleMembers( TupleType *tupleType, Expression *expr,                        const Alternative &alt, const Cost &newCost, Expression *member ) {
    345364                if ( ConstantExpr * constantExpr = dynamic_cast< ConstantExpr * >( member ) ) {
    346365                        // get the value of the constant expression as an int, must be between 0 and the length of the tuple type to have meaning
     
    348367                        std::string tmp;
    349368                        if ( val >= 0 && (unsigned long long)val < tupleType->size() ) {
    350                                 alternatives.push_back( Alternative( new TupleIndexExpr( expr->clone(), val ), env, newCost ) );
     369                                alternatives.push_back( Alternative{
     370                                        alt, new TupleIndexExpr( expr->clone(), val ), newCost } );
    351371                        } // if
    352372                } // if
     
    354374
    355375        void AlternativeFinder::Finder::postvisit( ApplicationExpr *applicationExpr ) {
    356                 alternatives.push_back( Alternative( applicationExpr->clone(), env, Cost::zero ) );
     376                alternatives.push_back( Alternative{ applicationExpr->clone(), env } );
    357377        }
    358378
     
    410430        Cost computeApplicationConversionCost( Alternative &alt, const SymTab::Indexer &indexer ) {
    411431                ApplicationExpr *appExpr = strict_dynamic_cast< ApplicationExpr* >( alt.expr );
    412                 PointerType *pointer = strict_dynamic_cast< PointerType* >( appExpr->get_function()->get_result() );
    413                 FunctionType *function = strict_dynamic_cast< FunctionType* >( pointer->get_base() );
     432                PointerType *pointer = strict_dynamic_cast< PointerType* >( appExpr->function->result );
     433                FunctionType *function = strict_dynamic_cast< FunctionType* >( pointer->base );
    414434
    415435                Cost convCost = Cost::zero;
    416                 std::list< DeclarationWithType* >& formals = function->get_parameters();
     436                std::list< DeclarationWithType* >& formals = function->parameters;
    417437                std::list< DeclarationWithType* >::iterator formal = formals.begin();
    418                 std::list< Expression* >& actuals = appExpr->get_args();
    419 
    420                 for ( std::list< Expression* >::iterator actualExpr = actuals.begin(); actualExpr != actuals.end(); ++actualExpr ) {
    421                         Type * actualType = (*actualExpr)->get_result();
     438                std::list< Expression* >& actuals = appExpr->args;
     439
     440                for ( Expression*& actualExpr : actuals ) {
     441                        Type * actualType = actualExpr->result;
    422442                        PRINT(
    423443                                std::cerr << "actual expression:" << std::endl;
    424                                 (*actualExpr)->print( std::cerr, 8 );
     444                                actualExpr->print( std::cerr, 8 );
    425445                                std::cerr << "--- results are" << std::endl;
    426446                                actualType->print( std::cerr, 8 );
    427447                        )
    428448                        if ( formal == formals.end() ) {
    429                                 if ( function->get_isVarArgs() ) {
     449                                if ( function->isVarArgs ) {
    430450                                        convCost.incUnsafe();
    431451                                        PRINT( std::cerr << "end of formals with varargs function: inc unsafe: " << convCost << std::endl; ; )
    432452                                        // convert reference-typed expressions to value-typed expressions
    433                                         referenceToRvalueConversion( *actualExpr, convCost );
     453                                        referenceToRvalueConversion( actualExpr, convCost );
    434454                                        continue;
    435455                                } else {
     
    437457                                }
    438458                        }
    439                         if ( DefaultArgExpr * def = dynamic_cast< DefaultArgExpr * >( *actualExpr ) ) {
     459                        if ( DefaultArgExpr * def = dynamic_cast< DefaultArgExpr * >( actualExpr ) ) {
    440460                                // default arguments should be free - don't include conversion cost.
    441461                                // Unwrap them here because they are not relevant to the rest of the system.
    442                                 *actualExpr = def->expr;
     462                                actualExpr = def->expr;
    443463                                ++formal;
    444464                                continue;
    445465                        }
     466                        // mark conversion cost to formal and also specialization cost of formal type
    446467                        Type * formalType = (*formal)->get_type();
    447                         convCost += computeExpressionConversionCost( *actualExpr, formalType, indexer, alt.env );
     468                        convCost += computeExpressionConversionCost( actualExpr, formalType, indexer, alt.env );
     469                        convCost.decSpec( specCost( formalType ) );
    448470                        ++formal; // can't be in for-loop update because of the continue
    449471                }
     
    452474                }
    453475
    454                 for ( InferredParams::const_iterator assert = appExpr->get_inferParams().begin(); assert != appExpr->get_inferParams().end(); ++assert ) {
     476                // mark specialization cost of return types
     477                for ( DeclarationWithType* returnVal : function->returnVals ) {
     478                        convCost.decSpec( specCost( returnVal->get_type() ) );
     479                }
     480
     481                // mark type variable and specialization cost of forall clause
     482                convCost.incVar( function->forall.size() );
     483                for ( TypeDecl* td : function->forall ) {
     484                        convCost.decSpec( td->assertions.size() );
     485                }
     486
     487                // xxx -- replace with new costs in resolver
     488                for ( InferredParams::const_iterator assert = appExpr->inferParams.begin(); assert != appExpr->inferParams.end(); ++assert ) {
    455489                        convCost += computeConversionCost( assert->second.actualType, assert->second.formalType, indexer, alt.env );
    456490                }
     
    466500                                needAssertions[ *assert ].isUsed = true;
    467501                        }
    468 ///     needAssertions.insert( needAssertions.end(), (*tyvar)->get_assertions().begin(), (*tyvar)->get_assertions().end() );
    469                 }
    470         }
    471 
    472         static const int recursionLimit = /*10*/ 4;  ///< Limit to depth of recursion satisfaction
    473 
    474         void addToIndexer( AssertionSet &assertSet, SymTab::Indexer &indexer ) {
    475                 for ( AssertionSet::iterator i = assertSet.begin(); i != assertSet.end(); ++i ) {
    476                         if ( i->second.isUsed ) {
    477                                 indexer.addId( i->first );
    478                         }
    479                 }
    480         }
    481 
    482         template< typename ForwardIterator, typename OutputIterator >
    483         void inferRecursive( ForwardIterator begin, ForwardIterator end, const Alternative &newAlt, OpenVarSet &openVars, const SymTab::Indexer &decls, const AssertionSet &newNeed, int level, const SymTab::Indexer &indexer, OutputIterator out ) {
    484                 if ( newAlt.cost == Cost::infinity ) return; // don't proceed down this dead end
    485                 if ( begin == end ) {
    486                         if ( newNeed.empty() ) {
    487                                 PRINT(
    488                                         std::cerr << "all assertions satisfied, output alternative: ";
    489                                         newAlt.print( std::cerr );
    490                                         std::cerr << std::endl;
    491                                 );
    492                                 *out++ = newAlt;
    493                                 return;
    494                         } else if ( level >= recursionLimit ) {
    495                                 SemanticError( newAlt.expr->location, "Too many recursive assertions" );
    496                         } else {
    497                                 AssertionSet newerNeed;
    498                                 PRINT(
    499                                         std::cerr << "recursing with new set:" << std::endl;
    500                                         printAssertionSet( newNeed, std::cerr, 8 );
    501                                 )
    502                                 inferRecursive( newNeed.begin(), newNeed.end(), newAlt, openVars, decls, newerNeed, level+1, indexer, out );
    503                                 return;
    504                         }
    505                 }
    506 
    507                 ForwardIterator cur = begin++;
    508                 if ( ! cur->second.isUsed ) {
    509                         inferRecursive( begin, end, newAlt, openVars, decls, newNeed, level, indexer, out );
    510                         return; // xxx - should this continue? previously this wasn't here, and it looks like it should be
    511                 }
    512                 DeclarationWithType *curDecl = cur->first;
    513 
    514                 PRINT(
    515                         std::cerr << "inferRecursive: assertion is ";
    516                         curDecl->print( std::cerr );
    517                         std::cerr << std::endl;
    518                 )
    519                 std::list< SymTab::Indexer::IdData > candidates;
    520                 decls.lookupId( curDecl->get_name(), candidates );
    521 ///   if ( candidates.empty() ) { std::cerr << "no candidates!" << std::endl; }
    522                 for ( const auto & data : candidates ) {
    523                         DeclarationWithType * candidate = data.id;
    524                         PRINT(
    525                                 std::cerr << "inferRecursive: candidate is ";
    526                                 candidate->print( std::cerr );
    527                                 std::cerr << std::endl;
    528                         )
    529 
    530                         AssertionSet newHave, newerNeed( newNeed );
    531                         TypeEnvironment newEnv( newAlt.env );
    532                         OpenVarSet newOpenVars( openVars );
    533                         Type *adjType = candidate->get_type()->clone();
    534                         adjustExprType( adjType, newEnv, indexer );
    535                         renameTyVars( adjType );
    536                         PRINT(
    537                                 std::cerr << "unifying ";
    538                                 curDecl->get_type()->print( std::cerr );
    539                                 std::cerr << " with ";
    540                                 adjType->print( std::cerr );
    541                                 std::cerr << std::endl;
    542                         )
    543                         if ( unify( curDecl->get_type(), adjType, newEnv, newerNeed, newHave, newOpenVars, indexer ) ) {
    544                                 PRINT(
    545                                         std::cerr << "success!" << std::endl;
    546                                 )
    547                                 SymTab::Indexer newDecls( decls );
    548                                 addToIndexer( newHave, newDecls );
    549                                 Alternative newerAlt( newAlt );
    550                                 newerAlt.env = newEnv;
    551                                 assertf( candidate->get_uniqueId(), "Assertion candidate does not have a unique ID: %s", toString( candidate ).c_str() );
    552 
    553                                 // everything with an empty idChain was pulled in by the current assertion.
    554                                 // add current assertion's idChain + current assertion's ID so that the correct inferParameters can be found.
    555                                 for ( auto & a : newerNeed ) {
    556                                         if ( a.second.idChain.empty() ) {
    557                                                 a.second.idChain = cur->second.idChain;
    558                                                 a.second.idChain.push_back( curDecl->get_uniqueId() );
    559                                         }
    560                                 }
    561 
    562                                 Expression *varExpr = data.combine( newerAlt.cvtCost );
    563                                 delete varExpr->get_result();
    564                                 varExpr->set_result( adjType->clone() );
    565                                 PRINT(
    566                                         std::cerr << "satisfying assertion " << curDecl->get_uniqueId() << " ";
    567                                         curDecl->print( std::cerr );
    568                                         std::cerr << " with declaration " << candidate->get_uniqueId() << " ";
    569                                         candidate->print( std::cerr );
    570                                         std::cerr << std::endl;
    571                                 )
    572                                 // follow the current assertion's ID chain to find the correct set of inferred parameters to add the candidate to (i.e. the set of inferred parameters belonging to the entity which requested the assertion parameter).
    573                                 InferredParams * inferParameters = &newerAlt.expr->get_inferParams();
    574                                 for ( UniqueId id : cur->second.idChain ) {
    575                                         inferParameters = (*inferParameters)[ id ].inferParams.get();
    576                                 }
    577                                 // XXX: this is a memory leak, but adjType can't be deleted because it might contain assertions
    578                                 (*inferParameters)[ curDecl->get_uniqueId() ] = ParamEntry( candidate->get_uniqueId(), adjType->clone(), curDecl->get_type()->clone(), varExpr );
    579                                 inferRecursive( begin, end, newerAlt, newOpenVars, newDecls, newerNeed, level, indexer, out );
    580                         } else {
    581                                 delete adjType;
    582                         }
    583                 }
    584         }
     502                }
     503        }
     504
     505        /// Unique identifier for matching expression resolutions to their requesting expression
     506        UniqueId globalResnSlot = 0;
    585507
    586508        template< typename OutputIterator >
    587         void AlternativeFinder::Finder::inferParameters( const AssertionSet &need, AssertionSet &have, const Alternative &newAlt, OpenVarSet &openVars, OutputIterator out ) {
    588 //      PRINT(
    589 //          std::cerr << "inferParameters: assertions needed are" << std::endl;
    590 //          printAll( need, std::cerr, 8 );
    591 //          )
    592                 SymTab::Indexer decls( indexer );
    593                 // PRINT(
    594                 //      std::cerr << "============= original indexer" << std::endl;
    595                 //      indexer.print( std::cerr );
    596                 //      std::cerr << "============= new indexer" << std::endl;
    597                 //      decls.print( std::cerr );
    598                 // )
    599                 addToIndexer( have, decls );
    600                 AssertionSet newNeed;
    601                 PRINT(
    602                         std::cerr << "env is: " << std::endl;
    603                         newAlt.env.print( std::cerr, 0 );
    604                         std::cerr << std::endl;
    605                 )
    606 
    607                 inferRecursive( need.begin(), need.end(), newAlt, openVars, decls, newNeed, 0, indexer, out );
    608 //      PRINT(
    609 //          std::cerr << "declaration 14 is ";
    610 //          Declaration::declFromId
    611 //          *out++ = newAlt;
    612 //          )
     509        void AlternativeFinder::Finder::inferParameters( Alternative &newAlt, OutputIterator out ) {
     510                // Set need bindings for any unbound assertions
     511                UniqueId crntResnSlot = 0;  // matching ID for this expression's assertions
     512                for ( auto& assn : newAlt.need ) {
     513                        // skip already-matched assertions
     514                        if ( assn.info.resnSlot != 0 ) continue;
     515                        // assign slot for expression if needed
     516                        if ( crntResnSlot == 0 ) { crntResnSlot = ++globalResnSlot; }
     517                        // fix slot to assertion
     518                        assn.info.resnSlot = crntResnSlot;
     519                }
     520                // pair slot to expression
     521                if ( crntResnSlot != 0 ) { newAlt.expr->resnSlots.push_back( crntResnSlot ); }
     522
     523                // add to output list, assertion resolution is deferred
     524                *out++ = newAlt;
    613525        }
    614526
     
    951863                }
    952864                // build and validate new alternative
    953                 Alternative newAlt( appExpr, result.env, cost );
     865                Alternative newAlt{ appExpr, result.env, result.openVars, result.need, cost };
    954866                PRINT(
    955867                        std::cerr << "instantiate function success: " << appExpr << std::endl;
     
    957869                        printAssertionSet( result.need, std::cerr, 8 );
    958870                )
    959                 inferParameters( result.need, result.have, newAlt, result.openVars, out );
     871                inferParameters( newAlt, out );
    960872        }
    961873
     
    12021114
    12031115                // function may return struct or union value, in which case we need to add alternatives
    1204                 // for implicitconversions to each of the anonymous members, must happen after findMinCost
     1116                // for implicit conversions to each of the anonymous members, must happen after findMinCost
    12051117                // since anon conversions are never the cheapest expression
    12061118                for ( const Alternative & alt : winners ) {
     
    12341146                        if ( isLvalue( alt.expr ) ) {
    12351147                                alternatives.push_back(
    1236                                         Alternative{ new AddressExpr( alt.expr->clone() ), alt.env, alt.cost } );
     1148                                        Alternative{ alt, new AddressExpr( alt.expr->clone() ), alt.cost } );
    12371149                        } // if
    12381150                } // for
     
    12401152
    12411153        void AlternativeFinder::Finder::postvisit( LabelAddressExpr * expr ) {
    1242                 alternatives.push_back( Alternative{ expr->clone(), env, Cost::zero } );
     1154                alternatives.push_back( Alternative{ expr->clone(), env } );
    12431155        }
    12441156
     
    12851197                AltList candidates;
    12861198                for ( Alternative & alt : finder.alternatives ) {
    1287                         AssertionSet needAssertions, haveAssertions;
    1288                         OpenVarSet openVars;
     1199                        AssertionSet needAssertions( alt.need.begin(), alt.need.end() );
     1200                        AssertionSet haveAssertions;
     1201                        OpenVarSet openVars{ alt.openVars };
    12891202
    12901203                        alt.env.extractOpenVars( openVars );
     
    13141227                                // count one safe conversion for each value that is thrown away
    13151228                                thisCost.incSafe( discardedValues );
    1316                                 Alternative newAlt( restructureCast( alt.expr->clone(), toType, castExpr->isGenerated ), alt.env,
    1317                                         alt.cost, thisCost );
    1318                                 inferParameters( needAssertions, haveAssertions, newAlt, openVars,
    1319                                         back_inserter( candidates ) );
     1229                                Alternative newAlt{
     1230                                        restructureCast( alt.expr->clone(), toType, castExpr->isGenerated ),
     1231                                        alt.env, openVars, needAssertions, alt.cost + thisCost, thisCost };
     1232                                inferParameters( newAlt, back_inserter( candidates ) );
    13201233                        } // if
    13211234                } // for
     
    13301243
    13311244        void AlternativeFinder::Finder::postvisit( VirtualCastExpr * castExpr ) {
    1332                 assertf( castExpr->get_result(), "Implicate virtual cast targets not yet supported." );
     1245                assertf( castExpr->get_result(), "Implicit virtual cast targets not yet supported." );
    13331246                AlternativeFinder finder( indexer, env );
    13341247                // don't prune here, since it's guaranteed all alternatives will have the same type
    13351248                finder.findWithoutPrune( castExpr->get_arg() );
    13361249                for ( Alternative & alt : finder.alternatives ) {
    1337                         alternatives.push_back( Alternative(
    1338                                 new VirtualCastExpr( alt.expr->clone(), castExpr->get_result()->clone() ),
    1339                                 alt.env, alt.cost ) );
     1250                        alternatives.push_back( Alternative{
     1251                                alt, new VirtualCastExpr{ alt.expr->clone(), castExpr->get_result()->clone() },
     1252                                alt.cost } );
    13401253                }
    13411254        }
     
    13651278                        // find member of the given type
    13661279                        if ( StructInstType *structInst = dynamic_cast< StructInstType* >( aggrExpr->get_result() ) ) {
    1367                                 addAggMembers( structInst, aggrExpr, cost, agg->env, get_member_name(memberExpr) );
     1280                                addAggMembers( structInst, aggrExpr, *agg, cost, get_member_name(memberExpr) );
    13681281                        } else if ( UnionInstType *unionInst = dynamic_cast< UnionInstType* >( aggrExpr->get_result() ) ) {
    1369                                 addAggMembers( unionInst, aggrExpr, cost, agg->env, get_member_name(memberExpr) );
     1282                                addAggMembers( unionInst, aggrExpr, *agg, cost, get_member_name(memberExpr) );
    13701283                        } else if ( TupleType * tupleType = dynamic_cast< TupleType * >( aggrExpr->get_result() ) ) {
    1371                                 addTupleMembers( tupleType, aggrExpr, cost, agg->env, memberExpr->get_member() );
     1284                                addTupleMembers( tupleType, aggrExpr, *agg, cost, memberExpr->get_member() );
    13721285                        } // if
    13731286                } // for
     
    13751288
    13761289        void AlternativeFinder::Finder::postvisit( MemberExpr *memberExpr ) {
    1377                 alternatives.push_back( Alternative( memberExpr->clone(), env, Cost::zero ) );
     1290                alternatives.push_back( Alternative{ memberExpr->clone(), env } );
    13781291        }
    13791292
     
    13881301                        // addAnonAlternatives uses vector::push_back, which invalidates references to existing elements, so
    13891302                        // can't construct in place and use vector::back
    1390                         Alternative newAlt( newExpr, env, Cost::zero, cost );
     1303                        Alternative newAlt{ newExpr, env, OpenVarSet{}, AssertionList{}, Cost::zero, cost };
    13911304                        PRINT(
    13921305                                std::cerr << "decl is ";
     
    14061319                // not sufficient to clone here, because variable's type may have changed
    14071320                // since the VariableExpr was originally created.
    1408                 alternatives.push_back( Alternative( new VariableExpr( variableExpr->var ), env, Cost::zero ) );
     1321                alternatives.push_back( Alternative{ new VariableExpr{ variableExpr->var }, env } );
    14091322        }
    14101323
    14111324        void AlternativeFinder::Finder::postvisit( ConstantExpr *constantExpr ) {
    1412                 alternatives.push_back( Alternative( constantExpr->clone(), env, Cost::zero ) );
     1325                alternatives.push_back( Alternative{ constantExpr->clone(), env } );
    14131326        }
    14141327
     
    14161329                if ( sizeofExpr->get_isType() ) {
    14171330                        Type * newType = sizeofExpr->get_type()->clone();
    1418                         alternatives.push_back( Alternative( new SizeofExpr( resolveTypeof( newType, indexer ) ), env, Cost::zero ) );
     1331                        alternatives.push_back( Alternative{
     1332                                new SizeofExpr{ resolveTypeof( newType, indexer ) }, env } );
    14191333                } else {
    14201334                        // find all alternatives for the argument to sizeof
     
    14301344                        Alternative &choice = winners.front();
    14311345                        referenceToRvalueConversion( choice.expr, choice.cost );
    1432                         alternatives.push_back( Alternative( new SizeofExpr( choice.expr->clone() ), choice.env, Cost::zero ) );
     1346                        alternatives.push_back( Alternative{
     1347                                choice, new SizeofExpr( choice.expr->clone() ), Cost::zero } );
    14331348                } // if
    14341349        }
     
    14371352                if ( alignofExpr->get_isType() ) {
    14381353                        Type * newType = alignofExpr->get_type()->clone();
    1439                         alternatives.push_back( Alternative( new AlignofExpr( resolveTypeof( newType, indexer ) ), env, Cost::zero ) );
     1354                        alternatives.push_back( Alternative{
     1355                                new AlignofExpr{ resolveTypeof( newType, indexer ) }, env } );
    14401356                } else {
    14411357                        // find all alternatives for the argument to sizeof
     
    14511367                        Alternative &choice = winners.front();
    14521368                        referenceToRvalueConversion( choice.expr, choice.cost );
    1453                         alternatives.push_back( Alternative( new AlignofExpr( choice.expr->clone() ), choice.env, Cost::zero ) );
     1369                        alternatives.push_back( Alternative{
     1370                                choice, new AlignofExpr{ choice.expr->clone() }, Cost::zero } );
    14541371                } // if
    14551372        }
     
    14611378                for ( std::list< Declaration* >::const_iterator i = members.begin(); i != members.end(); ++i ) {
    14621379                        if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType* >( *i ) ) {
    1463                                 alternatives.push_back( Alternative( new OffsetofExpr( aggInst->clone(), dwt ), env, Cost::zero ) );
     1380                                alternatives.push_back( Alternative{
     1381                                        new OffsetofExpr{ aggInst->clone(), dwt }, env } );
    14641382                                renameTypes( alternatives.back().expr );
    14651383                        } else {
     
    14801398
    14811399        void AlternativeFinder::Finder::postvisit( OffsetofExpr *offsetofExpr ) {
    1482                 alternatives.push_back( Alternative( offsetofExpr->clone(), env, Cost::zero ) );
     1400                alternatives.push_back( Alternative{ offsetofExpr->clone(), env } );
    14831401        }
    14841402
    14851403        void AlternativeFinder::Finder::postvisit( OffsetPackExpr *offsetPackExpr ) {
    1486                 alternatives.push_back( Alternative( offsetPackExpr->clone(), env, Cost::zero ) );
     1404                alternatives.push_back( Alternative{ offsetPackExpr->clone(), env } );
    14871405        }
    14881406
     
    15041422                                Cost cost = Cost::zero;
    15051423                                Expression * newExpr = data.combine( cost );
    1506                                 alternatives.push_back( Alternative( new AttrExpr( newExpr, argType->clone() ), env, Cost::zero, cost ) );
     1424                                alternatives.push_back( Alternative{
     1425                                        new AttrExpr{ newExpr, argType->clone() }, env, OpenVarSet{},
     1426                                        AssertionList{}, Cost::zero, cost } );
    15071427                                for ( DeclarationWithType * retVal : function->returnVals ) {
    15081428                                        alternatives.back().expr->result = retVal->get_type()->clone();
     
    15431463                                Cost cost = Cost::zero;
    15441464                                Expression * newExpr = data.combine( cost );
    1545                                 alternatives.push_back( Alternative( newExpr, env, Cost::zero, cost ) );
     1465                                alternatives.push_back( Alternative{
     1466                                        newExpr, env, OpenVarSet{}, AssertionList{}, Cost::zero, cost } );
    15461467                                renameTypes( alternatives.back().expr );
    15471468                        } // for
     
    15581479                for ( const Alternative & first : firstFinder.alternatives ) {
    15591480                        for ( const Alternative & second : secondFinder.alternatives ) {
    1560                                 TypeEnvironment compositeEnv;
    1561                                 compositeEnv.simpleCombine( first.env );
     1481                                TypeEnvironment compositeEnv{ first.env };
    15621482                                compositeEnv.simpleCombine( second.env );
    1563 
    1564                                 LogicalExpr *newExpr = new LogicalExpr( first.expr->clone(), second.expr->clone(), logicalExpr->get_isAnd() );
    1565                                 alternatives.push_back( Alternative( newExpr, compositeEnv, first.cost + second.cost ) );
     1483                                OpenVarSet openVars{ first.openVars };
     1484                                mergeOpenVars( openVars, second.openVars );
     1485                                AssertionSet need;
     1486                                cloneAll( first.need, need );
     1487                                cloneAll( second.need, need );
     1488
     1489                                LogicalExpr *newExpr = new LogicalExpr{
     1490                                        first.expr->clone(), second.expr->clone(), logicalExpr->get_isAnd() };
     1491                                alternatives.push_back( Alternative{
     1492                                        newExpr, std::move(compositeEnv), std::move(openVars),
     1493                                        AssertionList( need.begin(), need.end() ), first.cost + second.cost } );
    15661494                        }
    15671495                }
     
    15841512                        for ( const Alternative & second : secondFinder.alternatives ) {
    15851513                                for ( const Alternative & third : thirdFinder.alternatives ) {
    1586                                         TypeEnvironment compositeEnv;
    1587                                         compositeEnv.simpleCombine( first.env );
     1514                                        TypeEnvironment compositeEnv{ first.env };
    15881515                                        compositeEnv.simpleCombine( second.env );
    15891516                                        compositeEnv.simpleCombine( third.env );
    1590 
     1517                                        OpenVarSet openVars{ first.openVars };
     1518                                        mergeOpenVars( openVars, second.openVars );
     1519                                        mergeOpenVars( openVars, third.openVars );
     1520                                        AssertionSet need;
     1521                                        cloneAll( first.need, need );
     1522                                        cloneAll( second.need, need );
     1523                                        cloneAll( third.need, need );
     1524                                        AssertionSet have;
     1525                                       
    15911526                                        // unify true and false types, then infer parameters to produce new alternatives
    1592                                         OpenVarSet openVars;
    1593                                         AssertionSet needAssertions, haveAssertions;
    1594                                         Alternative newAlt( 0, compositeEnv, first.cost + second.cost + third.cost );
    15951527                                        Type* commonType = nullptr;
    1596                                         if ( unify( second.expr->result, third.expr->result, newAlt.env, needAssertions, haveAssertions, openVars, indexer, commonType ) ) {
    1597                                                 ConditionalExpr *newExpr = new ConditionalExpr( first.expr->clone(), second.expr->clone(), third.expr->clone() );
     1528                                        if ( unify( second.expr->result, third.expr->result, compositeEnv,
     1529                                                        need, have, openVars, indexer, commonType ) ) {
     1530                                                ConditionalExpr *newExpr = new ConditionalExpr{
     1531                                                        first.expr->clone(), second.expr->clone(), third.expr->clone() };
    15981532                                                newExpr->result = commonType ? commonType : second.expr->result->clone();
    15991533                                                // convert both options to the conditional result type
    1600                                                 newAlt.cost += computeExpressionConversionCost( newExpr->arg2, newExpr->result, indexer, newAlt.env );
    1601                                                 newAlt.cost += computeExpressionConversionCost( newExpr->arg3, newExpr->result, indexer, newAlt.env );
    1602                                                 newAlt.expr = newExpr;
    1603                                                 inferParameters( needAssertions, haveAssertions, newAlt, openVars, back_inserter( alternatives ) );
     1534                                                Cost cost = first.cost + second.cost + third.cost;
     1535                                                cost += computeExpressionConversionCost(
     1536                                                        newExpr->arg2, newExpr->result, indexer, compositeEnv );
     1537                                                cost += computeExpressionConversionCost(
     1538                                                        newExpr->arg3, newExpr->result, indexer, compositeEnv );
     1539                                                // output alternative
     1540                                                Alternative newAlt{
     1541                                                        newExpr, std::move(compositeEnv), std::move(openVars),
     1542                                                        AssertionList( need.begin(), need.end() ), cost };
     1543                                                inferParameters( newAlt, back_inserter( alternatives ) );
    16041544                                        } // if
    16051545                                } // for
     
    16141554                secondFinder.findWithAdjustment( commaExpr->get_arg2() );
    16151555                for ( const Alternative & alt : secondFinder.alternatives ) {
    1616                         alternatives.push_back( Alternative( new CommaExpr( newFirstArg->clone(), alt.expr->clone() ), alt.env, alt.cost ) );
     1556                        alternatives.push_back( Alternative{
     1557                                alt, new CommaExpr{ newFirstArg->clone(), alt.expr->clone() }, alt.cost } );
    16171558                } // for
    16181559                delete newFirstArg;
     
    16291570                for ( const Alternative & first : firstFinder.alternatives ) {
    16301571                        for ( const Alternative & second : secondFinder.alternatives ) {
    1631                                 TypeEnvironment compositeEnv;
    1632                                 compositeEnv.simpleCombine( first.env );
     1572                                TypeEnvironment compositeEnv{ first.env };
    16331573                                compositeEnv.simpleCombine( second.env );
    1634                                 OpenVarSet openVars;
    1635                                 AssertionSet needAssertions, haveAssertions;
    1636                                 Alternative newAlt( 0, compositeEnv, first.cost + second.cost );
     1574                                OpenVarSet openVars{ first.openVars };
     1575                                mergeOpenVars( openVars, second.openVars );
     1576                                AssertionSet need;
     1577                                cloneAll( first.need, need );
     1578                                cloneAll( second.need, need );
     1579                                AssertionSet have;
     1580
    16371581                                Type* commonType = nullptr;
    1638                                 if ( unify( first.expr->result, second.expr->result, newAlt.env, needAssertions, haveAssertions, openVars, indexer, commonType ) ) {
    1639                                         RangeExpr * newExpr = new RangeExpr( first.expr->clone(), second.expr->clone() );
     1582                                if ( unify( first.expr->result, second.expr->result, compositeEnv, need, have,
     1583                                                openVars, indexer, commonType ) ) {
     1584                                        RangeExpr * newExpr =
     1585                                                new RangeExpr{ first.expr->clone(), second.expr->clone() };
    16401586                                        newExpr->result = commonType ? commonType : first.expr->result->clone();
    1641                                         newAlt.expr = newExpr;
    1642                                         inferParameters( needAssertions, haveAssertions, newAlt, openVars, back_inserter( alternatives ) );
     1587                                        Alternative newAlt{
     1588                                                newExpr, std::move(compositeEnv), std::move(openVars),
     1589                                                AssertionList( need.begin(), need.end() ), first.cost + second.cost };
     1590                                        inferParameters( newAlt, back_inserter( alternatives ) );
    16431591                                } // if
    16441592                        } // for
     
    16581606
    16591607                        TypeEnvironment compositeEnv;
    1660                         simpleCombineEnvironments( alts.begin(), alts.end(), compositeEnv );
    1661                         alternatives.push_back(
    1662                                 Alternative{ new TupleExpr( exprs ), compositeEnv, sumCost( alts ) } );
     1608                        OpenVarSet openVars;
     1609                        AssertionSet need;
     1610                        for ( const Alternative& alt : alts ) {
     1611                                compositeEnv.simpleCombine( alt.env );
     1612                                mergeOpenVars( openVars, alt.openVars );
     1613                                cloneAll( alt.need, need );
     1614                        }
     1615                       
     1616                        alternatives.push_back( Alternative{
     1617                                new TupleExpr{ exprs }, std::move(compositeEnv), std::move(openVars),
     1618                                AssertionList( need.begin(), need.end() ), sumCost( alts ) } );
    16631619                } // for
    16641620        }
    16651621
    16661622        void AlternativeFinder::Finder::postvisit( TupleExpr *tupleExpr ) {
    1667                 alternatives.push_back( Alternative( tupleExpr->clone(), env, Cost::zero ) );
     1623                alternatives.push_back( Alternative{ tupleExpr->clone(), env } );
    16681624        }
    16691625
    16701626        void AlternativeFinder::Finder::postvisit( ImplicitCopyCtorExpr * impCpCtorExpr ) {
    1671                 alternatives.push_back( Alternative( impCpCtorExpr->clone(), env, Cost::zero ) );
     1627                alternatives.push_back( Alternative{ impCpCtorExpr->clone(), env } );
    16721628        }
    16731629
     
    16781634                finder.findWithoutPrune( ctorExpr->get_callExpr() );
    16791635                for ( Alternative & alt : finder.alternatives ) {
    1680                         alternatives.push_back( Alternative( new ConstructorExpr( alt.expr->clone() ), alt.env, alt.cost ) );
     1636                        alternatives.push_back( Alternative{
     1637                                alt, new ConstructorExpr( alt.expr->clone() ), alt.cost } );
    16811638                }
    16821639        }
    16831640
    16841641        void AlternativeFinder::Finder::postvisit( TupleIndexExpr *tupleExpr ) {
    1685                 alternatives.push_back( Alternative( tupleExpr->clone(), env, Cost::zero ) );
     1642                alternatives.push_back( Alternative{ tupleExpr->clone(), env } );
    16861643        }
    16871644
    16881645        void AlternativeFinder::Finder::postvisit( TupleAssignExpr *tupleAssignExpr ) {
    1689                 alternatives.push_back( Alternative( tupleAssignExpr->clone(), env, Cost::zero ) );
     1646                alternatives.push_back( Alternative{ tupleAssignExpr->clone(), env } );
    16901647        }
    16911648
     
    16961653                        // ensure that the id is passed on to the UniqueExpr alternative so that the expressions are "linked"
    16971654                        UniqueExpr * newUnqExpr = new UniqueExpr( alt.expr->clone(), unqExpr->get_id() );
    1698                         alternatives.push_back( Alternative( newUnqExpr, alt.env, alt.cost ) );
     1655                        alternatives.push_back( Alternative{ alt, newUnqExpr, alt.cost } );
    16991656                }
    17001657        }
     
    17041661                ResolvExpr::resolveStmtExpr( newStmtExpr, indexer );
    17051662                // xxx - this env is almost certainly wrong, and needs to somehow contain the combined environments from all of the statements in the stmtExpr...
    1706                 alternatives.push_back( Alternative( newStmtExpr, env, Cost::zero ) );
     1663                alternatives.push_back( Alternative{ newStmtExpr, env } );
    17071664        }
    17081665
     
    17261683                        for ( Alternative & alt : finder.get_alternatives() ) {
    17271684                                TypeEnvironment newEnv( alt.env );
    1728                                 AssertionSet needAssertions, haveAssertions;
    1729                                 OpenVarSet openVars;  // find things in env that don't have a "representative type" and claim those are open vars?
     1685                                AssertionSet need;
     1686                                cloneAll( alt.need, need );
     1687                                AssertionSet have;
     1688                                OpenVarSet openVars( alt.openVars ); 
     1689                                // xxx - find things in env that don't have a "representative type" and claim
     1690                                // those are open vars?
    17301691                                PRINT(
    17311692                                        std::cerr << "  @ " << toType << " " << initAlt.designation << std::endl;
    17321693                                )
    1733                                 // It's possible that a cast can throw away some values in a multiply-valued expression.  (An example is a
    1734                                 // cast-to-void, which casts from one value to zero.)  Figure out the prefix of the subexpression results
    1735                                 // that are cast directly.  The candidate is invalid if it has fewer results than there are types to cast
    1736                                 // to.
     1694                                // It's possible that a cast can throw away some values in a multiply-valued
     1695                                // expression. (An example is a cast-to-void, which casts from one value to
     1696                                // zero.)  Figure out the prefix of the subexpression results that are cast
     1697                                // directly.  The candidate is invalid if it has fewer results than there are
     1698                                // types to cast to.
    17371699                                int discardedValues = alt.expr->result->size() - toType->size();
    17381700                                if ( discardedValues < 0 ) continue;
    1739                                 // xxx - may need to go into tuple types and extract relevant types and use unifyList. Note that currently, this does not
    1740                                 // allow casting a tuple to an atomic type (e.g. (int)([1, 2, 3]))
     1701                                // xxx - may need to go into tuple types and extract relevant types and use
     1702                                // unifyList. Note that currently, this does not allow casting a tuple to an
     1703                                // atomic type (e.g. (int)([1, 2, 3]))
     1704                               
    17411705                                // unification run for side-effects
    1742                                 unify( toType, alt.expr->result, newEnv, needAssertions, haveAssertions, openVars, indexer ); // xxx - do some inspecting on this line... why isn't result bound to initAlt.type??
     1706                                unify( toType, alt.expr->result, newEnv, need, have, openVars, indexer );
     1707                                // xxx - do some inspecting on this line... why isn't result bound to initAlt.type?
    17431708
    17441709                                Cost thisCost = castCost( alt.expr->result, toType, indexer, newEnv );
     
    17461711                                        // count one safe conversion for each value that is thrown away
    17471712                                        thisCost.incSafe( discardedValues );
    1748                                         Alternative newAlt( new InitExpr( restructureCast( alt.expr->clone(), toType, true ), initAlt.designation->clone() ), newEnv, alt.cost, thisCost );
    1749                                         inferParameters( needAssertions, haveAssertions, newAlt, openVars, back_inserter( candidates ) );
     1713                                        Alternative newAlt{
     1714                                                new InitExpr{
     1715                                                        restructureCast( alt.expr->clone(), toType, true ), initAlt.designation->clone() },
     1716                                                std::move(newEnv), std::move(openVars),
     1717                                                AssertionList( need.begin(), need.end() ), alt.cost, thisCost };
     1718                                        inferParameters( newAlt, back_inserter( candidates ) );
    17501719                                }
    17511720                        }
  • src/ResolvExpr/AlternativeFinder.h

    r0689cd9 r690166d  
    99// Author           : Richard C. Bilson
    1010// Created On       : Sat May 16 23:56:12 2015
    11 // Last Modified By : Andrew Beach
    12 // Last Modified On : Wed Jul 26 11:24:00 2017
    13 // Update Count     : 4
     11// Last Modified By : Aaron B. Moss
     12// Last Modified On : Fri Oct -5 10:01:00 2018
     13// Update Count     : 5
    1414//
    1515
     
    2424#include "ResolvExpr/Cost.h"             // for Cost, Cost::infinity
    2525#include "ResolvExpr/TypeEnvironment.h"  // for AssertionSet, OpenVarSet
     26#include "ResolvMode.h"                  // for ResolvMode
    2627#include "SynTree/Visitor.h"             // for Visitor
    2728#include "SynTree/SynTree.h"             // for Visitor Nodes
     
    6869                }
    6970
    70                 void find( Expression *expr, bool adjust = false, bool prune = true, bool failFast = true );
     71                void find( Expression *expr, ResolvMode mode = ResolvMode{} );
    7172                /// Calls find with the adjust flag set; adjustment turns array and function types into equivalent pointer types
    7273                void findWithAdjustment( Expression *expr );
  • src/ResolvExpr/ConversionCost.cc

    r0689cd9 r690166d  
    2828
    2929namespace ResolvExpr {
    30         const Cost Cost::zero =      Cost(  0,  0,  0,  0 );
    31         const Cost Cost::infinity =  Cost( -1, -1, -1, -1 );
    32         const Cost Cost::unsafe =    Cost(  1,  0,  0,  0 );
    33         const Cost Cost::poly =      Cost(  0,  1,  0,  0 );
    34         const Cost Cost::safe =      Cost(  0,  0,  1,  0 );
    35         const Cost Cost::reference = Cost(  0,  0,  0,  1 );
     30        const Cost Cost::zero =      Cost{  0,  0,  0,  0,  0,  0 };
     31        const Cost Cost::infinity =  Cost{ -1, -1, -1, -1,  1, -1 };
     32        const Cost Cost::unsafe =    Cost{  1,  0,  0,  0,  0,  0 };
     33        const Cost Cost::poly =      Cost{  0,  1,  0,  0,  0,  0 };
     34        const Cost Cost::safe =      Cost{  0,  0,  1,  0,  0,  0 };
     35        const Cost Cost::var =       Cost{  0,  0,  0,  1,  0,  0 };
     36        const Cost Cost::spec =      Cost{  0,  0,  0,  0, -1,  0 };
     37        const Cost Cost::reference = Cost{  0,  0,  0,  0,  0,  1 };
    3638
    3739#if 0
  • src/ResolvExpr/Cost.h

    r0689cd9 r690166d  
    99// Author           : Richard C. Bilson
    1010// Created On       : Sun May 17 09:39:50 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jul 22 09:35:55 2017
    13 // Update Count     : 5
     11// Last Modified By : Aaron B. Moss
     12// Last Modified On : Fri Oct 05 14:32:00 2018
     13// Update Count     : 7
    1414//
    1515
     
    2121        class Cost {
    2222          private:
    23                 Cost( int unsafeCost, int polyCost, int safeCost, int referenceCost );
     23                Cost( int unsafeCost, int polyCost, int safeCost, int varCost, int specCost,
     24                        int referenceCost );
    2425
    2526          public:
     
    2728                Cost & incPoly( int inc = 1 );
    2829                Cost & incSafe( int inc = 1 );
     30                Cost & incVar( int inc = 1 );
     31                Cost & decSpec( int inc = 1 );
    2932                Cost & incReference( int inc = 1 );
    3033
     
    3235                int get_polyCost() const { return polyCost; }
    3336                int get_safeCost() const { return safeCost; }
     37                int get_varCost() const { return varCost; }
     38                int get_specCost() const { return specCost; }
    3439                int get_referenceCost() const { return referenceCost; }
    3540
     
    4146                bool operator!=( const Cost &other ) const;
    4247                friend std::ostream &operator<<( std::ostream &os, const Cost &cost );
     48                // returns negative for *this < other, 0 for *this == other, positive for *this > other
     49                int compare( const Cost &other ) const;
    4350
    4451                static const Cost zero;
     
    4855                static const Cost poly;
    4956                static const Cost safe;
     57                static const Cost var;
     58                static const Cost spec;
    5059                static const Cost reference;
     60
    5161          private:
    52                 int compare( const Cost &other ) const;
    53 
    54                 int unsafeCost;
    55                 int polyCost;
    56                 int safeCost;
    57                 int referenceCost;
     62                int unsafeCost;     ///< Unsafe (narrowing) conversions
     63                int polyCost;       ///< Count of parameters and return values bound to some poly type
     64                int safeCost;       ///< Safe (widening) conversions
     65                int varCost;        ///< Count of polymorphic type variables
     66                int specCost;       ///< Polymorphic type specializations (type assertions), negative cost
     67                int referenceCost;  ///< reference conversions
    5868        };
    5969
    60         inline Cost::Cost( int unsafeCost, int polyCost, int safeCost, int referenceCost ) : unsafeCost( unsafeCost ), polyCost( polyCost ), safeCost( safeCost ), referenceCost( referenceCost ) {}
     70        inline Cost::Cost( int unsafeCost, int polyCost, int safeCost, int varCost, int specCost,
     71                        int referenceCost )
     72                : unsafeCost( unsafeCost ), polyCost( polyCost ), safeCost( safeCost ), varCost( varCost ),
     73                  specCost( specCost ), referenceCost( referenceCost ) {}
    6174
    6275        inline Cost & Cost::incUnsafe( int inc ) {
     
    7588                if ( *this == infinity ) return *this;
    7689                safeCost += inc;
     90                return *this;
     91        }
     92
     93        inline Cost & Cost::incVar( int inc ) {
     94                if ( *this == infinity ) return *this;
     95                varCost += inc;
     96                return *this;
     97        }
     98
     99        inline Cost& Cost::decSpec( int dec ) {
     100                if ( *this == infinity ) return *this;
     101                specCost -= dec;
    77102                return *this;
    78103        }
     
    86111        inline Cost Cost::operator+( const Cost &other ) const {
    87112                if ( *this == infinity || other == infinity ) return infinity;
    88                 return Cost( unsafeCost + other.unsafeCost, polyCost + other.polyCost, safeCost + other.safeCost, referenceCost + other.referenceCost );
     113                return Cost{
     114                        unsafeCost + other.unsafeCost, polyCost + other.polyCost, safeCost + other.safeCost,
     115                        varCost + other.varCost, specCost + other.specCost,
     116                        referenceCost + other.referenceCost };
    89117        }
    90118
    91119        inline Cost Cost::operator-( const Cost &other ) const {
    92120                if ( *this == infinity || other == infinity ) return infinity;
    93                 return Cost( unsafeCost - other.unsafeCost, polyCost - other.polyCost, safeCost - other.safeCost, referenceCost - other.referenceCost );
     121                return Cost{
     122                        unsafeCost - other.unsafeCost, polyCost - other.polyCost, safeCost - other.safeCost,
     123                        varCost - other.varCost, specCost - other.specCost,
     124                        referenceCost - other.referenceCost };
    94125        }
    95126
     
    103134                polyCost += other.polyCost;
    104135                safeCost += other.safeCost;
     136                varCost += other.varCost;
     137                specCost += other.specCost;
    105138                referenceCost += other.referenceCost;
    106139                return *this;
     
    123156                } else if ( safeCost < other.safeCost ) {
    124157                        return true;
     158                } else if ( varCost > other.varCost ) {
     159                        return false;
     160                } else if ( varCost < other.varCost ) {
     161                        return true;
     162                } else if ( specCost > other.specCost ) {
     163                        return false;
     164                } else if ( specCost > other.specCost ) {
     165                        return true;
    125166                } else if ( referenceCost > other.referenceCost ) {
    126167                        return false;
     
    130171                        return false;
    131172                } // if
     173        }
     174
     175        inline int Cost::compare( const Cost &other ) const {
     176                if ( *this == infinity ) return +1;
     177                if ( other == infinity ) return -1;
     178
     179                int c = unsafeCost - other.unsafeCost; if ( c ) return c;
     180                c = polyCost - other.polyCost; if ( c ) return c;
     181                c = safeCost - other.safeCost; if ( c ) return c;
     182                c = varCost - other.varCost; if ( c ) return c;
     183                c = specCost - other.specCost; if ( c ) return c;
     184                return referenceCost - other.referenceCost;
    132185        }
    133186
     
    136189                        && polyCost == other.polyCost
    137190                        && safeCost == other.safeCost
     191                        && varCost == other.varCost
     192                        && specCost == other.specCost
    138193                        && referenceCost == other.referenceCost;
    139194        }
     
    144199
    145200        inline std::ostream &operator<<( std::ostream &os, const Cost &cost ) {
    146                 os << "( " << cost.unsafeCost << ", " << cost.polyCost << ", " << cost.safeCost << ", " << cost.referenceCost << " )";
    147                 return os;
     201                return os << "( " << cost.unsafeCost << ", " << cost.polyCost << ", "
     202                          << cost.safeCost << ", " << cost.varCost << ", " << cost.specCost << ", "
     203                          << cost.referenceCost << " )";
    148204        }
    149205} // namespace ResolvExpr
  • src/ResolvExpr/Resolver.cc

    r0689cd9 r690166d  
    99// Author           : Richard C. Bilson
    1010// Created On       : Sun May 17 12:17:01 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Feb 17 11:19:40 2018
    13 // Update Count     : 213
     11// Last Modified By : Aaron B. Moss
     12// Last Modified On : Fri Oct 05 09:43:00 2018
     13// Update Count     : 214
    1414//
    1515
    16 #include <stddef.h>                      // for NULL
    1716#include <cassert>                       // for strict_dynamic_cast, assert
    1817#include <memory>                        // for allocator, allocator_traits<...
    1918#include <tuple>                         // for get
    20 #include <vector>
     19#include <vector>                        // for vector
    2120
    2221#include "Alternative.h"                 // for Alternative, AltList
     
    3130#include "ResolvExpr/TypeEnvironment.h"  // for TypeEnvironment
    3231#include "Resolver.h"
     32#include "ResolvMode.h"                  // for ResolvMode
    3333#include "SymTab/Autogen.h"              // for SizeType
    3434#include "SymTab/Indexer.h"              // for Indexer
     
    168168
    169169        namespace {
    170                 void findUnfinishedKindExpression(Expression * untyped, Alternative & alt, const SymTab::Indexer & indexer, const std::string & kindStr, std::function<bool(const Alternative &)> pred, bool adjust = false, bool prune = true, bool failFast = true) {
     170                void findUnfinishedKindExpression(Expression * untyped, Alternative & alt, const SymTab::Indexer & indexer, const std::string & kindStr, std::function<bool(const Alternative &)> pred, ResolvMode mode = ResolvMode{} ) {
    171171                        assertf( untyped, "expected a non-null expression." );
     172
     173                        // xxx - this isn't thread-safe, but should work until we parallelize the resolver
     174                        static unsigned recursion_level = 0;
     175
     176                        ++recursion_level;
    172177                        TypeEnvironment env;
    173178                        AlternativeFinder finder( indexer, env );
    174                         finder.find( untyped, adjust, prune, failFast );
     179                        finder.find( untyped, recursion_level == 1 ? mode.atTopLevel() : mode );
     180                        --recursion_level;
    175181
    176182                        #if 0
     
    185191                        #endif
    186192
     193                        // produce filtered list of alternatives
    187194                        AltList candidates;
    188195                        for ( Alternative & alt : finder.get_alternatives() ) {
     
    192199                        }
    193200
    194                         // xxx - if > 1 alternative with same cost, ignore deleted and pick from remaining
    195                         // choose the lowest cost expression among the candidates
     201                        // produce invalid error if no candidates
     202                        if ( candidates.empty() ) {
     203                                SemanticError( untyped, toString( "No reasonable alternatives for ", kindStr, (kindStr != "" ? " " : ""), "expression: ") );
     204                        }
     205
     206                        // search for cheapest candidate
    196207                        AltList winners;
    197                         findMinCost( candidates.begin(), candidates.end(), back_inserter( winners ) );
    198                         if ( winners.size() == 0 ) {
    199                                 SemanticError( untyped, toString( "No reasonable alternatives for ", kindStr, (kindStr != "" ? " " : ""), "expression: ") );
    200                         } else if ( winners.size() != 1 ) {
     208                        bool seen_undeleted = false;
     209                        for ( unsigned i = 0; i < candidates.size(); ++i ) {
     210                                int c = winners.empty() ? -1 : candidates[i].cost.compare( winners.front().cost );
     211
     212                                if ( c > 0 ) continue; // skip more expensive than winner
     213
     214                                if ( c < 0 ) {
     215                                        // reset on new cheapest
     216                                        seen_undeleted = ! findDeletedExpr( candidates[i].expr );
     217                                        winners.clear();
     218                                } else /* if ( c == 0 ) */ {
     219                                        if ( findDeletedExpr( candidates[i].expr ) ) {
     220                                                // skip deleted expression if already seen one equivalent-cost not
     221                                                if ( seen_undeleted ) continue;
     222                                        } else if ( ! seen_undeleted ) {
     223                                                // replace list of equivalent-cost deleted expressions with one non-deleted
     224                                                winners.clear();
     225                                                seen_undeleted = true;
     226                                        }
     227                                }
     228
     229                                winners.emplace_back( std::move( candidates[i] ) );
     230                        }
     231
     232                        // promote alternative.cvtCost to .cost
     233                        // xxx - I don't know why this is done, but I'm keeping the behaviour from findMinCost
     234                        for ( Alternative& winner : winners ) {
     235                                winner.cost = winner.cvtCost;
     236                        }
     237                       
     238                        // produce ambiguous errors, if applicable
     239                        if ( winners.size() != 1 ) {
    201240                                std::ostringstream stream;
    202241                                stream << "Cannot choose between " << winners.size() << " alternatives for " << kindStr << (kindStr != "" ? " " : "") << "expression\n";
     
    207246                        }
    208247
    209                         // there is one unambiguous interpretation - move the expression into the with statement
    210                         Alternative & choice = winners.front();
    211                         if ( findDeletedExpr( choice.expr ) ) {
     248                        // single selected choice
     249                        Alternative& choice = winners.front();
     250
     251                        // fail on only expression deleted
     252                        if ( ! seen_undeleted ) {
    212253                                SemanticError( untyped->location, choice.expr, "Unique best alternative includes deleted identifier in " );
    213254                        }
     255
     256                        // xxx - check for ambiguous expressions
     257                       
     258                        // output selected choice
    214259                        alt = std::move( choice );
    215260                }
    216261
    217262                /// resolve `untyped` to the expression whose alternative satisfies `pred` with the lowest cost; kindStr is used for providing better error messages
    218                 void findKindExpression(Expression *& untyped, const SymTab::Indexer & indexer, const std::string & kindStr, std::function<bool(const Alternative &)> pred, bool adjust = false, bool prune = true, bool failFast = true) {
     263                void findKindExpression(Expression *& untyped, const SymTab::Indexer & indexer, const std::string & kindStr, std::function<bool(const Alternative &)> pred, ResolvMode mode = ResolvMode{}) {
    219264                        if ( ! untyped ) return;
    220265                        Alternative choice;
    221                         findUnfinishedKindExpression( untyped, choice, indexer, kindStr, pred, adjust, prune, failFast );
     266                        findUnfinishedKindExpression( untyped, choice, indexer, kindStr, pred, mode );
    222267                        finishExpr( choice.expr, choice.env, untyped->env );
    223268                        delete untyped;
     
    250295                untyped.arg = expr;
    251296                Alternative choice;
    252                 findUnfinishedKindExpression( &untyped, choice, indexer, "", standardAlternativeFilter, true );
     297                findUnfinishedKindExpression( &untyped, choice, indexer, "", standardAlternativeFilter, ResolvMode::withAdjustment() );
    253298                CastExpr * castExpr = strict_dynamic_cast< CastExpr * >( choice.expr );
    254299                env = std::move( choice.env );
     
    357402
    358403        void Resolver::previsit( ObjectDecl *objectDecl ) {
    359                 // To handle initialization of routine pointers, e.g., int (*fp)(int) = foo(), means that class-variable
    360                 // initContext is changed multiple time because the LHS is analysed twice. The second analysis changes
    361                 // initContext because of a function type can contain object declarations in the return and parameter types. So
    362                 // each value of initContext is retained, so the type on the first analysis is preserved and used for selecting
    363                 // the RHS.
     404                // To handle initialization of routine pointers, e.g., int (*fp)(int) = foo(), means that
     405                // class-variable initContext is changed multiple time because the LHS is analysed twice.
     406                // The second analysis changes initContext because of a function type can contain object
     407                // declarations in the return and parameter types. So each value of initContext is
     408                // retained, so the type on the first analysis is preserved and used for selecting the RHS.
    364409                GuardValue( currentObject );
    365410                currentObject = CurrentObject( objectDecl->get_type() );
     
    397442
    398443        void Resolver::postvisit( FunctionDecl *functionDecl ) {
    399                 // default value expressions have an environment which shouldn't be there and trips up later passes.
    400                 // xxx - it might be necessary to somehow keep the information from this environment, but I can't currently
    401                 // see how it's useful.
     444                // default value expressions have an environment which shouldn't be there and trips up
     445                // later passes.
     446                // xxx - it might be necessary to somehow keep the information from this environment, but I
     447                // can't currently see how it's useful.
    402448                for ( Declaration * d : functionDecl->type->parameters ) {
    403449                        if ( ObjectDecl * obj = dynamic_cast< ObjectDecl * >( d ) ) {
     
    749795                initExpr->expr = nullptr;
    750796                std::swap( initExpr->env, newExpr->env );
    751                 // InitExpr may have inferParams in the case where the expression specializes a function pointer,
    752                 // and newExpr may already have inferParams of its own, so a simple swap is not sufficient.
     797                // InitExpr may have inferParams in the case where the expression specializes a function
     798                // pointer, and newExpr may already have inferParams of its own, so a simple swap is not
     799                // sufficient.
    753800                newExpr->spliceInferParams( initExpr );
    754801                delete initExpr;
    755802
    756                 // get the actual object's type (may not exactly match what comes back from the resolver due to conversions)
     803                // get the actual object's type (may not exactly match what comes back from the resolver
     804                // due to conversions)
    757805                Type * initContext = currentObject.getCurrentType();
    758806
     
    766814                                        if ( isCharType( pt->get_base() ) ) {
    767815                                                if ( CastExpr *ce = dynamic_cast< CastExpr * >( newExpr ) ) {
    768                                                         // strip cast if we're initializing a char[] with a char *, e.g.  char x[] = "hello";
     816                                                        // strip cast if we're initializing a char[] with a char *,
     817                                                        // e.g.  char x[] = "hello";
    769818                                                        newExpr = ce->get_arg();
    770819                                                        ce->set_arg( nullptr );
     
    788837                // move cursor into brace-enclosed initializer-list
    789838                currentObject.enterListInit();
    790                 // xxx - fix this so that the list isn't copied, iterator should be used to change current element
     839                // xxx - fix this so that the list isn't copied, iterator should be used to change current
     840                // element
    791841                std::list<Designation *> newDesignations;
    792842                for ( auto p : group_iterate(listInit->get_designations(), listInit->get_initializers()) ) {
    793                         // iterate designations and initializers in pairs, moving the cursor to the current designated object and resolving
    794                         // the initializer against that object.
     843                        // iterate designations and initializers in pairs, moving the cursor to the current
     844                        // designated object and resolving the initializer against that object.
    795845                        Designation * des = std::get<0>(p);
    796846                        Initializer * init = std::get<1>(p);
     
    822872                // fall back on C-style initializer
    823873                delete ctorInit->get_ctor();
    824                 ctorInit->set_ctor( NULL );
     874                ctorInit->set_ctor( nullptr );
    825875                delete ctorInit->get_dtor();
    826                 ctorInit->set_dtor( NULL );
     876                ctorInit->set_dtor( nullptr );
    827877                maybeAccept( ctorInit->get_init(), *visitor );
    828878        }
     
    867917
    868918                // xxx - todo -- what about arrays?
    869                 // if ( dtor == NULL && InitTweak::isIntrinsicCallStmt( ctorInit->get_ctor() ) ) {
     919                // if ( dtor == nullptr && InitTweak::isIntrinsicCallStmt( ctorInit->get_ctor() ) ) {
    870920                //      // can reduce the constructor down to a SingleInit using the
    871921                //      // second argument from the ctor call, since
    872922                //      delete ctorInit->get_ctor();
    873                 //      ctorInit->set_ctor( NULL );
     923                //      ctorInit->set_ctor( nullptr );
    874924
    875925                //      Expression * arg =
  • src/ResolvExpr/TypeEnvironment.cc

    r0689cd9 r690166d  
    120120
    121121        const EqvClass* TypeEnvironment::lookup( const std::string &var ) const {
    122                 for ( std::list< EqvClass >::const_iterator i = env.begin(); i != env.end(); ++i ) {
     122                for ( ClassList::const_iterator i = env.begin(); i != env.end(); ++i ) {
    123123                        if ( i->vars.find( var ) != i->vars.end() ) return &*i;
    124124                } // for
     
    168168
    169169        void TypeEnvironment::makeSubstitution( TypeSubstitution &sub ) const {
    170                 for ( std::list< EqvClass >::const_iterator theClass = env.begin(); theClass != env.end(); ++theClass ) {
     170                for ( ClassList::const_iterator theClass = env.begin(); theClass != env.end(); ++theClass ) {
    171171                        for ( std::set< std::string >::const_iterator theVar = theClass->vars.begin(); theVar != theClass->vars.end(); ++theVar ) {
    172172                                if ( theClass->type ) {
     
    188188        }
    189189
    190         std::list< EqvClass >::iterator TypeEnvironment::internal_lookup( const std::string &var ) {
    191                 for ( std::list< EqvClass >::iterator i = env.begin(); i != env.end(); ++i ) {
     190        TypeEnvironment::ClassList::iterator TypeEnvironment::internal_lookup( const std::string &var ) {
     191                for ( ClassList::iterator i = env.begin(); i != env.end(); ++i ) {
    192192                        if ( i->vars.count( var ) ) return i;
    193193                } // for
     
    199199        }
    200200
     201        // xxx -- this should maybe be worrying about iterator invalidation (see resolv-proto)
     202        bool TypeEnvironment::mergeBound( EqvClass& to, const EqvClass& from, OpenVarSet& openVars, const SymTab::Indexer& indexer ) {
     203                if ( from.type ) {
     204                        if ( to.type ) {
     205                                // attempt to unify bound types
     206                                std::unique_ptr<Type> toType{ to.type->clone() }, fromType{ from.type->clone() };
     207                                WidenMode widenMode{ to.allowWidening, from.allowWidening };
     208                                Type* common = nullptr;
     209                                AssertionSet need, have;
     210                                if ( unifyInexact( toType.get(), fromType.get(), *this, need, have, openVars, widenMode, indexer, common ) ) {
     211                                        // unifies, set common type if necessary
     212                                        if ( common ) {
     213                                                common->get_qualifiers() = Type::Qualifiers{};
     214                                                to.set_type( common );
     215                                        }
     216                                } else return false; // cannot unify
     217                        } else {
     218                                to.type = from.type->clone();
     219                        }
     220                }
     221
     222                // unify widening if matches
     223                to.allowWidening &= from.allowWidening;
     224                return true;
     225        }
     226
     227        // xxx -- this should maybe be worrying about iterator invalidation (see resolv-proto)
     228        bool TypeEnvironment::mergeClasses( TypeEnvironment::ClassList::iterator to, TypeEnvironment::ClassList::iterator from, OpenVarSet& openVars, const SymTab::Indexer& indexer ) {
     229                EqvClass& r = *to;
     230                EqvClass& s = *from;
     231
     232                // ensure bounds match
     233                if ( ! mergeBound( r, s, openVars, indexer ) ) return false;
     234
     235                // check safely bindable
     236                if ( r.type && occursIn( r.type, s.vars.begin(), s.vars.end(), *this ) ) return false;
     237               
     238                // merge classes in
     239                r.vars.insert( s.vars.begin(), s.vars.end() );
     240                r.allowWidening &= s.allowWidening;
     241                env.erase( from );
     242
     243                return true;
     244        }
     245
     246        bool TypeEnvironment::combine( const TypeEnvironment& o, OpenVarSet& openVars, const SymTab::Indexer& indexer ) {
     247                // short-circuit easy cases
     248                if ( o.isEmpty() ) return true;
     249                if ( isEmpty() ) {
     250                        simpleCombine( o );
     251                        return true;
     252                }
     253
     254                // merge classes
     255                for ( auto ct = o.env.begin(); ct != o.env.end(); ++ct ) {
     256                        const EqvClass& c = *ct;
     257
     258                        // typeclass in local environment bound to c
     259                        auto rt = env.end();
     260
     261                        // look for first existing bound variable
     262                        auto vt = c.vars.begin();
     263                        for ( ; vt != c.vars.end(); ++vt ) {
     264                                rt = internal_lookup( *vt );
     265                                if ( rt != env.end() ) break;
     266                        }
     267
     268                        if ( rt != env.end() ) {  // c needs to be merged into *rt
     269                                EqvClass& r = *rt;
     270                                // merge bindings
     271                                if ( ! mergeBound( r, c, openVars, indexer ) ) return false;
     272                                // merge previous unbound variables into this class, checking occurs if needed
     273                                if ( r.type ) for ( auto ut = c.vars.begin(); ut != vt; ++ut ) {
     274                                        if ( occurs( r.type, *ut, *this ) ) return false;
     275                                        r.vars.insert( *ut );
     276                                } else { r.vars.insert( c.vars.begin(), vt ); }
     277                                // merge subsequent variables into this class (skipping *vt, already there)
     278                                while ( ++vt != c.vars.end() ) {
     279                                        auto st = internal_lookup( *vt );
     280                                        if ( st == env.end() ) {
     281                                                // unbound, safe to add if passes occurs
     282                                                if ( r.type && occurs( r.type, *vt, *this ) ) return false;
     283                                                r.vars.insert( *vt );
     284                                        } else if ( st != rt ) {
     285                                                // bound, but not to the same class
     286                                                if ( ! mergeClasses( rt, st, openVars, indexer ) ) return false;
     287                                        }   // ignore bound into the same class
     288                                }
     289                        } else {  // no variables in c bound; just copy up
     290                                env.push_back( c );
     291                        }
     292                }
     293
     294                // merged all classes
     295                return true;
     296        }
     297
    201298        void TypeEnvironment::extractOpenVars( OpenVarSet &openVars ) const {
    202                 for ( std::list< EqvClass >::const_iterator eqvClass = env.begin(); eqvClass != env.end(); ++eqvClass ) {
     299                for ( ClassList::const_iterator eqvClass = env.begin(); eqvClass != env.end(); ++eqvClass ) {
    203300                        for ( std::set< std::string >::const_iterator var = eqvClass->vars.begin(); var != eqvClass->vars.end(); ++var ) {
    204301                                openVars[ *var ] = eqvClass->data;
  • src/ResolvExpr/TypeEnvironment.h

    r0689cd9 r690166d  
    3939        // declarations.
    4040        //
    41         // I've seen a TU go from 54 minutes to 1 minute 34 seconds with the addition of this comparator.
     41        // I've seen a TU go from 54 minutes to 1 minute 34 seconds with the addition of this
     42        // comparator.
    4243        //
    4344        // Note: since this compares pointers for position, minor changes in the source file that affect
    4445        // memory layout can alter compilation time in unpredictable ways. For example, the placement
    4546        // of a line directive can reorder type pointers with respect to each other so that assertions
    46         // are seen in different orders, causing a potentially different number of unification calls when
    47         // resolving assertions. I've seen a TU go from 36 seconds to 27 seconds by reordering line directives
    48         // alone, so it would be nice to fix this comparison so that assertions compare more consistently.
    49         // I've tried to modify this to compare on mangle name instead of type as the second comparator, but
    50         // this causes some assertions to never be recorded. More investigation is needed.
     47        // are seen in different orders, causing a potentially different number of unification calls
     48        // when resolving assertions. I've seen a TU go from 36 seconds to 27 seconds by reordering
     49        // line directives alone, so it would be nice to fix this comparison so that assertions compare
     50        // more consistently. I've tried to modify this to compare on mangle name instead of type as
     51        // the second comparator, but this causes some assertions to never be recorded. More
     52        // investigation is needed.
    5153        struct AssertCompare {
    5254                bool operator()( DeclarationWithType * d1, DeclarationWithType * d2 ) const {
     
    5759        };
    5860        struct AssertionSetValue {
    59                 bool isUsed;
    60                 // chain of Unique IDs of the assertion declarations. The first ID in the chain is the ID of an assertion on the current type,
    61                 // with each successive ID being the ID of an assertion pulled in by the previous ID. The last ID in the chain is
    62                 // the ID of the assertion that pulled in the current assertion.
    63                 std::list< UniqueId > idChain;
     61                bool isUsed;        ///< True if assertion needs to be resolved
     62                UniqueId resnSlot;  ///< ID of slot assertion belongs to
     63
     64                AssertionSetValue() : isUsed(false), resnSlot(0) {}
    6465        };
    6566        typedef std::map< DeclarationWithType*, AssertionSetValue, AssertCompare > AssertionSet;
    6667        typedef std::map< std::string, TypeDecl::Data > OpenVarSet;
     68
     69        /// merges one set of open vars into another
     70        static inline void mergeOpenVars( OpenVarSet& dst, const OpenVarSet& src ) {
     71                for ( const auto& entry : src ) { dst[ entry.first ] = entry.second; }
     72        }
    6773
    6874        void printAssertionSet( const AssertionSet &, std::ostream &, int indent = 0 );
     
    9197
    9298        class TypeEnvironment {
     99                using ClassList = std::list< EqvClass >;
    93100          public:
    94101                const EqvClass* lookup( const std::string &var ) const;
     
    103110                bool isEmpty() const { return env.empty(); }
    104111                void print( std::ostream &os, Indenter indent = {} ) const;
    105                 // void combine( const TypeEnvironment &second, Type *(*combineFunc)( Type*, Type* ) );
     112               
     113                /// Simply concatenate the second environment onto this one; no safety checks performed
    106114                void simpleCombine( const TypeEnvironment &second );
     115
     116          private:
     117                /// Unifies the type bound of to with the type bound of from, returning false if fails
     118                bool mergeBound( EqvClass& to, const EqvClass& from, OpenVarSet& openVars, const SymTab::Indexer& indexer );
     119
     120                /// Merges two type classes from local environment, returning false if fails
     121                bool mergeClasses( ClassList::iterator to, ClassList::iterator from, OpenVarSet& openVars, const SymTab::Indexer& indexer );
     122
     123          public:
     124                /// Merges the second environment with this one, checking compatibility.
     125                /// Returns false if fails, but does NOT roll back partial changes.
     126                bool combine( const TypeEnvironment& second, OpenVarSet& openVars, const SymTab::Indexer& indexer );
     127               
    107128                void extractOpenVars( OpenVarSet &openVars ) const;
    108129                TypeEnvironment *clone() const { return new TypeEnvironment( *this ); }
     
    123144                void forbidWidening();
    124145
    125                 using iterator = std::list< EqvClass >::const_iterator;
     146                using iterator = ClassList::const_iterator;
    126147                iterator begin() const { return env.begin(); }
    127148                iterator end() const { return env.end(); }
    128149
    129150          private:
    130                 std::list< EqvClass > env;
     151                ClassList env;
    131152               
    132                 std::list< EqvClass >::iterator internal_lookup( const std::string &var );
     153                ClassList::iterator internal_lookup( const std::string &var );
    133154        };
    134155
  • src/ResolvExpr/module.mk

    r0689cd9 r690166d  
    3333       ResolvExpr/TypeEnvironment.cc \
    3434       ResolvExpr/CurrentObject.cc \
    35        ResolvExpr/ExplodedActual.cc
     35       ResolvExpr/ExplodedActual.cc \
     36       ResolvExpr/SpecCost.cc \
     37       ResolvExpr/ResolveAssertions.cc
  • src/ResolvExpr/typeops.h

    r0689cd9 r690166d  
    7272        Cost conversionCost( Type *src, Type *dest, const SymTab::Indexer &indexer, const TypeEnvironment &env );
    7373
     74        // in AlternativeFinder.cc
     75        Cost computeConversionCost( Type *actualType, Type *formalType,
     76                const SymTab::Indexer &indexer, const TypeEnvironment &env );
     77
    7478        // in PtrsAssignable.cc
    7579        int ptrsAssignable( Type *src, Type *dest, const TypeEnvironment &env );
     
    102106        int polyCost( Type *type, const TypeEnvironment &env, const SymTab::Indexer &indexer );
    103107
     108        // in SpecCost.cc
     109        int specCost( Type *type );
     110
    104111        // in Occurs.cc
    105112        bool occurs( Type *type, std::string varName, const TypeEnvironment &env );
     113
     114        template<typename Iter>
     115        bool occursIn( Type* ty, Iter begin, Iter end, const TypeEnvironment &env ) {
     116                while ( begin != end ) {
     117                        if ( occurs( ty, *begin, env ) ) return true;
     118                        ++begin;
     119                }
     120                return false;
     121        }
    106122
    107123        // in AlternativeFinder.cc
  • src/SynTree/ApplicationExpr.cc

    r0689cd9 r690166d  
    2929
    3030ParamEntry::ParamEntry( const ParamEntry &other ) :
    31                 decl( other.decl ), actualType( maybeClone( other.actualType ) ), formalType( maybeClone( other.formalType ) ), expr( maybeClone( other.expr ) ), inferParams( new InferredParams( *other.inferParams ) ) {
     31                decl( other.decl ), actualType( maybeClone( other.actualType ) ), formalType( maybeClone( other.formalType ) ), expr( maybeClone( other.expr ) )/*, inferParams( new InferredParams( *other.inferParams ) )*/ {
    3232}
    3333
     
    3939        formalType = maybeClone( other.formalType );
    4040        expr = maybeClone( other.expr );
    41         *inferParams = *other.inferParams;
     41        // *inferParams = *other.inferParams;
    4242        return *this;
    4343}
     
    5050
    5151ParamEntry::ParamEntry( ParamEntry && other ) :
    52                 decl( other.decl ), actualType( other.actualType ), formalType( other.formalType ), expr( other.expr ), inferParams( std::move( other.inferParams ) ) {
     52                decl( other.decl ), actualType( other.actualType ), formalType( other.formalType ), expr( other.expr )/*, inferParams( std::move( other.inferParams ) )*/ {
    5353        other.actualType = nullptr;
    5454        other.formalType = nullptr;
     
    6868        other.formalType = nullptr;
    6969        other.expr = nullptr;
    70         inferParams = std::move( other.inferParams );
     70        // inferParams = std::move( other.inferParams );
    7171        return *this;
    7272}
  • src/SynTree/Expression.cc

    r0689cd9 r690166d  
    4040                        Declaration::declFromId( i->second.decl )->printShort( os, indent+1 );
    4141                        os << std::endl;
    42                         printInferParams( *i->second.inferParams, os, indent+1, level+1 );
     42                        printInferParams( i->second.expr->inferParams, os, indent+1, level+1 );
    4343                } // for
    4444        } // if
     
    4747Expression::Expression() : result( 0 ), env( 0 ) {}
    4848
    49 Expression::Expression( const Expression &other ) : BaseSyntaxNode( other ), result( maybeClone( other.result ) ), env( maybeClone( other.env ) ), extension( other.extension ), inferParams( other.inferParams ) {
    50 }
     49Expression::Expression( const Expression &other ) : BaseSyntaxNode( other ), result( maybeClone( other.result ) ), env( maybeClone( other.env ) ), extension( other.extension ), inferParams( other.inferParams ), resnSlots( other.resnSlots ) {}
    5150
    5251void Expression::spliceInferParams( Expression * other ) {
     
    5554                inferParams[p.first] = std::move( p.second );
    5655        }
     56        resnSlots.insert( resnSlots.end(), other->resnSlots.begin(), other->resnSlots.end() );
    5757}
    5858
     
    376376        os << "Untyped Member Expression, with field: " << std::endl << indent+1;
    377377        member->print(os, indent+1 );
    378         os << indent << "... from aggregate: " << std::endl << indent+1;
     378        os << indent << "... from aggregate:" << std::endl << indent+1;
    379379        aggregate->print(os, indent+1);
    380380        Expression::print( os, indent );
     
    405405
    406406void MemberExpr::print( std::ostream &os, Indenter indent ) const {
    407         os << "Member Expression, with field: " << std::endl;
     407        os << "Member Expression, with field:" << std::endl;
    408408        os << indent+1;
    409409        member->print( os, indent+1 );
    410         os << std::endl << indent << "... from aggregate: " << std::endl << indent+1;
     410        os << std::endl << indent << "... from aggregate:" << std::endl << indent+1;
    411411        aggregate->print(os, indent + 1);
    412412        Expression::print( os, indent );
  • src/SynTree/Expression.h

    r0689cd9 r690166d  
    2121#include <memory>                 // for allocator, unique_ptr
    2222#include <string>                 // for string
     23#include <vector>                 // for vector
    2324
    2425#include "BaseSyntaxNode.h"       // for BaseSyntaxNode
     
    3839/// but subject to decay-to-pointer and type parameter renaming
    3940struct ParamEntry {
    40         ParamEntry(): decl( 0 ), actualType( 0 ), formalType( 0 ), expr( 0 ), inferParams( new InferredParams ) {}
    41         ParamEntry( UniqueId decl, Type * actualType, Type * formalType, Expression* expr ): decl( decl ), actualType( actualType ), formalType( formalType ), expr( expr ), inferParams( new InferredParams ) {}
     41        ParamEntry(): decl( 0 ), actualType( 0 ), formalType( 0 ), expr( 0 )/*, inferParams( new InferredParams )*/ {}
     42        ParamEntry( UniqueId decl, Type * actualType, Type * formalType, Expression* expr ): decl( decl ), actualType( actualType ), formalType( formalType ), expr( expr )/*, inferParams( new InferredParams )*/ {}
    4243        ParamEntry( const ParamEntry & other );
    4344        ParamEntry( ParamEntry && other );
     
    5051        Type * formalType;
    5152        Expression * expr;
    52         std::unique_ptr< InferredParams > inferParams;
     53        // std::unique_ptr< InferredParams > inferParams;
    5354};
    5455
     
    5960        TypeSubstitution * env;
    6061        bool extension = false;
    61         InferredParams inferParams;
     62        InferredParams inferParams;       ///< Post-resolution inferred parameter slots
     63        std::vector<UniqueId> resnSlots;  ///< Pre-resolution inferred parameter slots
     64       
     65        // xxx - should turn inferParams+resnSlots into a union to save some memory
    6266
    6367        Expression();
     
    7377        bool get_extension() const { return extension; }
    7478        Expression * set_extension( bool exten ) { extension = exten; return this; }
    75 
    76         InferredParams & get_inferParams() { return inferParams; }
    7779
    7880        // move other's inferParams to this
  • src/SynTree/FunctionDecl.cc

    r0689cd9 r690166d  
    8787
    8888        if ( statements ) {
    89                 os << indent << "... with body " << endl << indent+1;
     89                os << indent << "... with body" << endl << indent+1;
    9090                statements->print( os, indent+1 );
    9191        } // if
  • src/SynTree/FunctionType.cc

    r0689cd9 r690166d  
    6666                os << indent+1 << "accepting unspecified arguments" << endl;
    6767        } // if
    68         os << indent << "... returning ";
     68        os << indent << "... returning";
    6969        if ( returnVals.empty() ) {
    70                 os << "nothing " << endl;
     70                os << " nothing" << endl;
    7171        } else {
    7272                os << endl;
  • src/SynTree/ObjectDecl.cc

    r0689cd9 r690166d  
    6666
    6767        if ( ! attributes.empty() ) {
    68                 os << std::endl << indent << "... with attributes: " << std::endl;
     68                os << std::endl << indent << "... with attributes:" << std::endl;
    6969                printAll( attributes, os, indent+1 );
    7070        }
  • src/SynTree/ReferenceToType.cc

    r0689cd9 r690166d  
    9393        else {
    9494                Type::print( os, indent );
    95                 os << "instance of " << typeString() << " " << name << " with body " << baseStruct->has_body() << " ";
     95                os << "instance of " << typeString() << " " << name << " with body " << baseStruct->has_body();
    9696                if ( ! parameters.empty() ) {
    9797                        os << endl << indent << "... with parameters" << endl;
     
    136136        else {
    137137                Type::print( os, indent );
    138                 os << "instance of " << typeString() << " " << name << " with body " << baseUnion->has_body() << " ";
     138                os << "instance of " << typeString() << " " << name << " with body " << baseUnion->has_body();
    139139                if ( ! parameters.empty() ) {
    140140                        os << endl << indent << "... with parameters" << endl;
     
    160160        else {
    161161                Type::print( os, indent );
    162                 os << "instance of " << typeString() << " " << name << " with body " << baseEnum->has_body() << " ";
     162                os << "instance of " << typeString() << " " << name << " with body " << baseEnum->has_body();
    163163        } // if
    164164}
  • src/Tuples/Explode.h

    r0689cd9 r690166d  
    4444        template<typename OutputIterator>
    4545        void append( OutputIterator out, Expression* expr, const ResolvExpr::TypeEnvironment& env,
     46                        const ResolvExpr::OpenVarSet& openVars, const ResolvExpr::AssertionList& need,
    4647                        const ResolvExpr::Cost& cost, const ResolvExpr::Cost& cvtCost ) {
    47                 *out++ = ResolvExpr::Alternative{ expr, env, cost, cvtCost };
     48                *out++ = ResolvExpr::Alternative{ expr, env, openVars, need, cost, cvtCost };
    4849        }
    4950
    5051        /// Append alternative to an ExplodedActual
    5152        static inline void append( ResolvExpr::ExplodedActual& ea, Expression* expr,
    52                         const ResolvExpr::TypeEnvironment&, const ResolvExpr::Cost&, const ResolvExpr::Cost& ) {
     53                        const ResolvExpr::TypeEnvironment&, const ResolvExpr::OpenVarSet&,
     54                        const ResolvExpr::AssertionList&, const ResolvExpr::Cost&, const ResolvExpr::Cost& ) {
    5355                ea.exprs.emplace_back( expr );
    54                 /// xxx -- merge environment, cost?
     56                /// xxx -- merge environment, openVars, need, cost?
    5557        }
    5658
     
    6870                                        // distribute reference cast over all components
    6971                                        append( std::forward<Output>(out), distributeReference( alt.release_expr() ),
    70                                                 alt.env, alt.cost, alt.cvtCost );
     72                                                alt.env, alt.openVars, alt.need, alt.cost, alt.cvtCost );
    7173                                }
    7274                                // in tuple assignment, still need to handle the other cases, but only if not already handled here (don't want to output too many alternatives)
     
    102104                } else {
    103105                        // atomic (non-tuple) type - output a clone of the expression in a new alternative
    104                         append( std::forward<Output>(out), expr->clone(), alt.env, alt.cost, alt.cvtCost );
     106                        append( std::forward<Output>(out), expr->clone(), alt.env, alt.openVars, alt.need, 
     107                                alt.cost, alt.cvtCost );
    105108                }
    106109        }
  • src/Tuples/TupleAssignment.cc

    r0689cd9 r690166d  
    6262                struct Matcher {
    6363                  public:
    64                         Matcher( TupleAssignSpotter &spotter, const ResolvExpr::AltList& lhs, const
    65                                 ResolvExpr::AltList& rhs );
     64                        Matcher( TupleAssignSpotter &spotter, const ResolvExpr::AltList& lhs,
     65                                const ResolvExpr::AltList& rhs );
    6666                        virtual ~Matcher() {}
     67                       
    6768                        virtual void match( std::list< Expression * > &out ) = 0;
    6869                        ObjectDecl * newObject( UniqueName & namer, Expression * expr );
     70
     71                        void combineState( const ResolvExpr::Alternative& alt ) {
     72                                compositeEnv.simpleCombine( alt.env );
     73                                ResolvExpr::mergeOpenVars( openVars, alt.openVars );
     74                                cloneAll( alt.need, need );
     75                        }
     76
     77                        void combineState( const ResolvExpr::AltList& alts ) {
     78                                for ( const ResolvExpr::Alternative& alt : alts ) { combineState( alt ); }
     79                        }
     80                       
    6981                        ResolvExpr::AltList lhs, rhs;
    7082                        TupleAssignSpotter &spotter;
     
    7284                        std::list< ObjectDecl * > tmpDecls;
    7385                        ResolvExpr::TypeEnvironment compositeEnv;
     86                        ResolvExpr::OpenVarSet openVars;
     87                        ResolvExpr::AssertionSet need;
    7488                };
    7589
     
    245259                }
    246260
    247                 // extract expressions from the assignment alternatives to produce a list of assignments that
    248                 // together form a single alternative
     261                // extract expressions from the assignment alternatives to produce a list of assignments
     262                // that together form a single alternative
    249263                std::list< Expression *> solved_assigns;
    250264                for ( ResolvExpr::Alternative & alt : current ) {
    251265                        solved_assigns.push_back( alt.expr->clone() );
    252                 }
    253                 // combine assignment environments into combined expression environment
    254                 simpleCombineEnvironments( current.begin(), current.end(), matcher->compositeEnv );
     266                        matcher->combineState( alt );
     267                }
     268               
    255269                // xxx -- was push_front
    256                 currentFinder.get_alternatives().push_back( ResolvExpr::Alternative(
    257                         new TupleAssignExpr(solved_assigns, matcher->tmpDecls), matcher->compositeEnv,
    258                         ResolvExpr::sumCost( current ) + matcher->baseCost ) );
     270                currentFinder.get_alternatives().push_back( ResolvExpr::Alternative{
     271                        new TupleAssignExpr{ solved_assigns, matcher->tmpDecls }, matcher->compositeEnv,
     272                        matcher->openVars,
     273                        ResolvExpr::AssertionList( matcher->need.begin(), matcher->need.end() ),
     274                        ResolvExpr::sumCost( current ) + matcher->baseCost } );
    259275        }
    260276
     
    263279        : lhs(lhs), rhs(rhs), spotter(spotter),
    264280          baseCost( ResolvExpr::sumCost( lhs ) + ResolvExpr::sumCost( rhs ) ) {
    265                 simpleCombineEnvironments( lhs.begin(), lhs.end(), compositeEnv );
    266                 simpleCombineEnvironments( rhs.begin(), rhs.end(), compositeEnv );
     281                combineState( lhs );
     282                combineState( rhs );
    267283        }
    268284
  • src/config.h.in

    r0689cd9 r690166d  
    77#undef CFA_64_CPU
    88
    9 /* Location of include files. */
     9/* Backend compiler to use. */
    1010#undef CFA_BACKEND_CC
    1111
     
    6767#undef HAVE_ALLOCA_H
    6868
     69/* Define to 1 if you have the <dlfcn.h> header file. */
     70#undef HAVE_DLFCN_H
     71
    6972/* Define to 1 if you have the <fenv.h> header file. */
    7073#undef HAVE_FENV_H
     
    129132/* Define to 1 if the system has the type `_Bool'. */
    130133#undef HAVE__BOOL
     134
     135/* Define to the sub-directory where libtool stores uninstalled libraries. */
     136#undef LT_OBJDIR
    131137
    132138/* Name of package */
  • src/main.cc

    r0689cd9 r690166d  
    487487                        resolvep = true;
    488488                        break;
    489                         case 'R':                                                                               // dump resolv-proto instance
     489                  case 'R':                                                                             // dump resolv-proto instance
    490490                        resolvprotop = true;
    491491                        break;
  • tests/.expect/castError.txt

    r0689cd9 r690166d  
    44... to:
    55  char Alternatives are:
    6 Cost ( 1, 0, 0, 0 ): Cast of:
     6Cost ( 1, 0, 0, 0, 0, 0 ): Cast of:
    77     Variable Expression: f: function
    88       accepting unspecified arguments
    9      ... returning nothing 
     9     ... returning nothing
    1010
    1111   ... to:
     
    1414   char
    1515 )
    16  Environment: 
     16 Environment:
    1717
    18 Cost ( 1, 0, 0, 0 ): Cast of:
     18Cost ( 1, 0, 0, 0, 0, 0 ): Cast of:
    1919     Variable Expression: f: double
    2020   ... to:
     
    2323   char
    2424 )
    25  Environment: 
     25 Environment:
    2626
    27 Cost ( 1, 0, 0, 0 ): Cast of:
     27Cost ( 1, 0, 0, 0, 0, 0 ): Cast of:
    2828     Variable Expression: f: signed int
    2929   ... to:
     
    3232   char
    3333 )
    34  Environment: 
     34 Environment:
    3535
    3636
  • tests/.expect/completeTypeError.txt

    r0689cd9 r690166d  
    3939  Name: y
    4040
    41 completeTypeError.cfa:72:1 error: No reasonable alternatives for expression Applying untyped:
     41completeTypeError.cfa:72:1 error: No resolvable alternatives for expression Applying untyped:
    4242  Name: baz
    4343...to:
    4444  Name: z
    4545
     46Alternatives with failing assertions are:
     47Cost ( 0, 1, 0, 1, -5, 0 ): Application of
     48     Variable Expression: baz: forall
     49       T: sized object type
     50       ... with assertions
     51         ?=?: pointer to function
     52         ... with parameters
     53           reference to instance of type T (not function type)
     54           instance of type T (not function type)
     55         ... returning
     56           _retval__operator_assign: instance of type T (not function type)
     57           ... with attributes:
     58             Attribute with name: unused
     59
     60
     61         ?{}: pointer to function
     62         ... with parameters
     63           reference to instance of type T (not function type)
     64         ... returning nothing
     65
     66         ?{}: pointer to function
     67         ... with parameters
     68           reference to instance of type T (not function type)
     69           instance of type T (not function type)
     70         ... returning nothing
     71
     72         ^?{}: pointer to function
     73         ... with parameters
     74           reference to instance of type T (not function type)
     75         ... returning nothing
     76
     77
     78       function
     79     ... with parameters
     80       pointer to instance of type T (not function type)
     81     ... returning nothing
     82
     83   ... to arguments
     84     Variable Expression: z: pointer to instance of type T (not function type)
     85
     86 (types:
     87   void
     88 )
     89 Environment:( _73_0_T ) -> instance of type T (not function type)  (no widening)
     90
     91
     92
  • tests/.expect/nested-types-ERR2.txt

    r0689cd9 r690166d  
    22nested-types.cfa:74:1 error: Qualified type requires an aggregate on the left, but has: signed int
    33nested-types.cfa:75:1 error: Undefined type in qualified type: Qualified Type:
    4   instance of struct S with body 1 
     4  instance of struct S with body 1
    55  instance of type Z (not function type)
    66
  • tests/.expect/scopeErrors.txt

    r0689cd9 r690166d  
    33... with parameters
    44  double
    5 ... returning 
     5... returning
    66  _retval_butThisIsAnError: double
    7   ... with attributes: 
     7  ... with attributes:
    88    Attribute with name: unused
    99
    10 ... with body 
     10... with body
    1111  CompoundStmt
    1212
  • tests/Makefile.am

    r0689cd9 r690166d  
    1616
    1717AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     18ACLOCAL_AMFLAGS  = -I automake
    1819
    1920include $(top_srcdir)/src/cfa.make
     
    4445.PHONY: list .validate
    4546.INTERMEDIATE: .validate .validate.cfa
    46 EXTRA_PROGRAMS = avl_test # build but do not install
     47EXTRA_PROGRAMS = avl_test .dummy_hack # build but do not install
    4748
    48 avl_test_SOURCES = avltree/avl_test.c avltree/avl0.c avltree/avl1.c avltree/avl2.c avltree/avl3.c avltree/avl4.c avltree/avl-private.c
     49avl_test_SOURCES = avltree/avl_test.cfa avltree/avl0.cfa avltree/avl1.cfa avltree/avl2.cfa avltree/avl3.cfa avltree/avl4.cfa avltree/avl-private.cfa
     50# automake doesn't know we still need C rules so pretend like we have a C program
     51_dummy_hack_SOURCES = .dummy_hack.c
    4952
    5053#----------------------------------------------------------------------------------------------------------------
     
    6770        @echo "int main() { return 0; }" > ${@}
    6871
    69 dummy_hack.c:
     72# automake doesn't know we still need C rules so pretend like we have a C program
     73.dummy_hack.c:
    7074        @echo "int main() { return 0; }" > ${@}
    7175
     
    7680
    7781# implicit rule so not all test require a rule
    78 % : %.c $(CFACC)
    79         $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    80 
    8182% : %.cfa $(CFACC)
    8283        $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     
    107108
    108109#builtins
    109 builtins/sync: builtins/sync.c $(CFACC)
     110builtins/sync: builtins/sync.cfa $(CFACC)
    110111        $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only
    111112
     
    132133
    133134# Constructor/destructor tests
    134 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.c $(CFACC)
     135raii/dtor-early-exit-ERR1: raii/dtor-early-exit.cfa $(CFACC)
    135136        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    136137
    137 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.c $(CFACC)
     138raii/dtor-early-exit-ERR2: raii/dtor-early-exit.cfa $(CFACC)
    138139        $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    139140
    140 raii/memberCtors-ERR1: raii/memberCtors.c $(CFACC)
     141raii/memberCtors-ERR1: raii/memberCtors.cfa $(CFACC)
    141142        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    142143
    143 raii/ctor-autogen-ERR1: raii/ctor-autogen.c $(CFACC)
     144raii/ctor-autogen-ERR1: raii/ctor-autogen.cfa $(CFACC)
    144145        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    145146
    146147# Warnings
    147 warnings/self-assignment: warnings/self-assignment.c $(CFACC)
     148warnings/self-assignment: warnings/self-assignment.cfa $(CFACC)
    148149        $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only
  • tests/Makefile.in

    r0689cd9 r690166d  
    9191build_triplet = @build@
    9292host_triplet = @host@
    93 EXTRA_PROGRAMS = avl_test$(EXEEXT)
     93EXTRA_PROGRAMS = avl_test$(EXEEXT) .dummy_hack$(EXEEXT)
    9494subdir = tests
    9595ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    96 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \
    97         $(top_srcdir)/configure.ac
     96am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \
     97        $(top_srcdir)/automake/ltoptions.m4 \
     98        $(top_srcdir)/automake/ltsugar.m4 \
     99        $(top_srcdir)/automake/ltversion.m4 \
     100        $(top_srcdir)/automake/lt~obsolete.m4 \
     101        $(top_srcdir)/automake/cfa.m4 $(top_srcdir)/configure.ac
    98102am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    99103        $(ACLOCAL_M4)
     
    103107CONFIG_CLEAN_FILES = config.py
    104108CONFIG_CLEAN_VPATH_FILES = test.py
     109am__dummy_hack_OBJECTS = .dummy_hack.$(OBJEXT)
     110_dummy_hack_OBJECTS = $(am__dummy_hack_OBJECTS)
     111_dummy_hack_LDADD = $(LDADD)
     112AM_V_lt = $(am__v_lt_@AM_V@)
     113am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
     114am__v_lt_0 = --silent
     115am__v_lt_1 =
    105116am__dirstamp = $(am__leading_dot)dirstamp
    106117am_avl_test_OBJECTS = avltree/avl_test.$(OBJEXT) \
     
    128139COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
    129140        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
     141LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     142        $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
     143        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
     144        $(AM_CFLAGS) $(CFLAGS)
    130145AM_V_CC = $(am__v_CC_@AM_V@)
    131146am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
     
    133148am__v_CC_1 =
    134149CCLD = $(CC)
    135 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
     150LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     151        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
     152        $(AM_LDFLAGS) $(LDFLAGS) -o $@
    136153AM_V_CCLD = $(am__v_CCLD_@AM_V@)
    137154am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
    138155am__v_CCLD_0 = @echo "  CCLD    " $@;
    139156am__v_CCLD_1 =
    140 SOURCES = $(avl_test_SOURCES)
    141 DIST_SOURCES = $(avl_test_SOURCES)
     157SOURCES = $(_dummy_hack_SOURCES) $(avl_test_SOURCES)
     158DIST_SOURCES = $(_dummy_hack_SOURCES) $(avl_test_SOURCES)
    142159am__can_run_installinfo = \
    143160  case $$AM_UPDATE_INFO_DIR in \
     
    172189AMTAR = @AMTAR@
    173190AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
     191AR = @AR@
    174192AUTOCONF = @AUTOCONF@
    175193AUTOHEADER = @AUTOHEADER@
     
    195213CPPFLAGS = @CPPFLAGS@
    196214CXX = @CXX@
     215CXXCPP = @CXXCPP@
    197216CXXDEPMODE = @CXXDEPMODE@
    198217CXXFLAGS = @CXXFLAGS@
     
    200219DEFS = @DEFS@
    201220DEPDIR = @DEPDIR@
     221DLLTOOL = @DLLTOOL@
    202222DRIVER_DIR = @DRIVER_DIR@
     223DSYMUTIL = @DSYMUTIL@
     224DUMPBIN = @DUMPBIN@
    203225ECHO_C = @ECHO_C@
    204226ECHO_N = @ECHO_N@
     
    206228EGREP = @EGREP@
    207229EXEEXT = @EXEEXT@
     230FGREP = @FGREP@
    208231GREP = @GREP@
    209232HOST_FLAGS = @HOST_FLAGS@
     
    213236INSTALL_SCRIPT = @INSTALL_SCRIPT@
    214237INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     238LD = @LD@
    215239LDFLAGS = @LDFLAGS@
    216240LEX = @LEX@
     
    221245LIBOBJS = @LIBOBJS@
    222246LIBS = @LIBS@
     247LIBTOOL = @LIBTOOL@
     248LIPO = @LIPO@
     249LN_S = @LN_S@
    223250LTLIBOBJS = @LTLIBOBJS@
     251LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    224252MAKEINFO = @MAKEINFO@
     253MANIFEST_TOOL = @MANIFEST_TOOL@
    225254MKDIR_P = @MKDIR_P@
     255NM = @NM@
     256NMEDIT = @NMEDIT@
     257OBJDUMP = @OBJDUMP@
    226258OBJEXT = @OBJEXT@
     259OTOOL = @OTOOL@
     260OTOOL64 = @OTOOL64@
    227261PACKAGE = @PACKAGE@
    228262PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    234268PATH_SEPARATOR = @PATH_SEPARATOR@
    235269RANLIB = @RANLIB@
     270SED = @SED@
    236271SET_MAKE = @SET_MAKE@
    237272SHELL = @SHELL@
     
    245280abs_top_builddir = @abs_top_builddir@
    246281abs_top_srcdir = @abs_top_srcdir@
     282ac_ct_AR = @ac_ct_AR@
    247283ac_ct_CC = @ac_ct_CC@
    248284ac_ct_CXX = @ac_ct_CXX@
     285ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    249286am__include = @am__include@
    250287am__leading_dot = @am__leading_dot@
     
    294331top_srcdir = @top_srcdir@
    295332AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     333ACLOCAL_AMFLAGS = -I automake
    296334CFACOMPILE = $(CFACC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) $(AM_CFLAGS) $(CFLAGS)
    297335LTCFACOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     
    329367        ${INSTALL_FLAGS} ${ARCH_FLAGS}
    330368PRETTY_PATH = cd ${srcdir} &&
    331 avl_test_SOURCES = avltree/avl_test.c avltree/avl0.c avltree/avl1.c avltree/avl2.c avltree/avl3.c avltree/avl4.c avltree/avl-private.c
     369avl_test_SOURCES = avltree/avl_test.cfa avltree/avl0.cfa avltree/avl1.cfa avltree/avl2.cfa avltree/avl3.cfa avltree/avl4.cfa avltree/avl-private.cfa
     370# automake doesn't know we still need C rules so pretend like we have a C program
     371_dummy_hack_SOURCES = .dummy_hack.c
    332372all: all-am
    333373
    334374.SUFFIXES:
    335 .SUFFIXES: .c .cfa .lo .o .obj .validate
     375.SUFFIXES: .c .cfa .dummy_hack .lo .o .obj .validate
    336376$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/src/cfa.make $(am__configure_deps)
    337377        @for dep in $?; do \
     
    366406config.py: $(top_builddir)/config.status $(srcdir)/config.py.in
    367407        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
     408
     409.dummy_hack$(EXEEXT): $(_dummy_hack_OBJECTS) $(_dummy_hack_DEPENDENCIES) $(EXTRA__dummy_hack_DEPENDENCIES)
     410        @rm -f .dummy_hack$(EXEEXT)
     411        $(AM_V_CCLD)$(LINK) $(_dummy_hack_OBJECTS) $(_dummy_hack_LDADD) $(LIBS)
    368412avltree/$(am__dirstamp):
    369413        @$(MKDIR_P) avltree
     
    398442        -rm -f *.tab.c
    399443
    400 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl-private.Po@am__quote@
    401 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl0.Po@am__quote@
    402 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl1.Po@am__quote@
    403 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl2.Po@am__quote@
    404 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl3.Po@am__quote@
    405 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl4.Po@am__quote@
    406 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl_test.Po@am__quote@
     444@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/.dummy_hack.Po@am__quote@
    407445
    408446.c.o:
     
    421459@AMDEP_TRUE@@am__fastdepCC_FALSE@       DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    422460@am__fastdepCC_FALSE@   $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
     461
     462.c.lo:
     463@am__fastdepCC_TRUE@    $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
     464@am__fastdepCC_TRUE@    $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
     465@am__fastdepCC_TRUE@    $(am__mv) $$depbase.Tpo $$depbase.Plo
     466@AMDEP_TRUE@@am__fastdepCC_FALSE@       $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
     467@AMDEP_TRUE@@am__fastdepCC_FALSE@       DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     468@am__fastdepCC_FALSE@   $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
     469
     470mostlyclean-libtool:
     471        -rm -f *.lo
     472
     473clean-libtool:
     474        -rm -rf .libs _libs
    423475
    424476ID: $(am__tagged_files)
     
    542594clean: clean-am
    543595
    544 clean-am: clean-generic clean-local mostlyclean-am
     596clean-am: clean-generic clean-libtool clean-local mostlyclean-am
    545597
    546598distclean: distclean-am
    547         -rm -rf avltree/$(DEPDIR)
     599        -rm -rf ./$(DEPDIR)
    548600        -rm -f Makefile
    549601distclean-am: clean-am distclean-compile distclean-generic \
     
    591643
    592644maintainer-clean: maintainer-clean-am
    593         -rm -rf avltree/$(DEPDIR)
     645        -rm -rf ./$(DEPDIR)
    594646        -rm -f Makefile
    595647maintainer-clean-am: distclean-am maintainer-clean-generic
     
    597649mostlyclean: mostlyclean-am
    598650
    599 mostlyclean-am: mostlyclean-compile mostlyclean-generic
     651mostlyclean-am: mostlyclean-compile mostlyclean-generic \
     652        mostlyclean-libtool
    600653
    601654pdf: pdf-am
     
    612665
    613666.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \
    614         clean-generic clean-local cscopelist-am ctags ctags-am \
    615         distclean distclean-compile distclean-generic distclean-tags \
    616         distdir dvi dvi-am html html-am info info-am install \
    617         install-am install-data install-data-am install-dvi \
    618         install-dvi-am install-exec install-exec-am install-html \
    619         install-html-am install-info install-info-am install-man \
    620         install-pdf install-pdf-am install-ps install-ps-am \
    621         install-strip installcheck installcheck-am installdirs \
    622         maintainer-clean maintainer-clean-generic mostlyclean \
    623         mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
     667        clean-generic clean-libtool clean-local cscopelist-am ctags \
     668        ctags-am distclean distclean-compile distclean-generic \
     669        distclean-libtool distclean-tags distdir dvi dvi-am html \
     670        html-am info info-am install install-am install-data \
     671        install-data-am install-dvi install-dvi-am install-exec \
     672        install-exec-am install-html install-html-am install-info \
     673        install-info-am install-man install-pdf install-pdf-am \
     674        install-ps install-ps-am install-strip installcheck \
     675        installcheck-am installdirs maintainer-clean \
     676        maintainer-clean-generic mostlyclean mostlyclean-compile \
     677        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
    624678        tags tags-am uninstall uninstall-am
    625679
     
    659713        @echo "int main() { return 0; }" > ${@}
    660714
    661 dummy_hack.c:
     715# automake doesn't know we still need C rules so pretend like we have a C program
     716.dummy_hack.c:
    662717        @echo "int main() { return 0; }" > ${@}
    663718
     
    668723
    669724# implicit rule so not all test require a rule
    670 % : %.c $(CFACC)
    671         $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    672 
    673725% : %.cfa $(CFACC)
    674726        $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     
    699751
    700752#builtins
    701 builtins/sync: builtins/sync.c $(CFACC)
     753builtins/sync: builtins/sync.cfa $(CFACC)
    702754        $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only
    703755
     
    724776
    725777# Constructor/destructor tests
    726 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.c $(CFACC)
     778raii/dtor-early-exit-ERR1: raii/dtor-early-exit.cfa $(CFACC)
    727779        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    728780
    729 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.c $(CFACC)
     781raii/dtor-early-exit-ERR2: raii/dtor-early-exit.cfa $(CFACC)
    730782        $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    731783
    732 raii/memberCtors-ERR1: raii/memberCtors.c $(CFACC)
     784raii/memberCtors-ERR1: raii/memberCtors.cfa $(CFACC)
    733785        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    734786
    735 raii/ctor-autogen-ERR1: raii/ctor-autogen.c $(CFACC)
     787raii/ctor-autogen-ERR1: raii/ctor-autogen.cfa $(CFACC)
    736788        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    737789
    738790# Warnings
    739 warnings/self-assignment: warnings/self-assignment.c $(CFACC)
     791warnings/self-assignment: warnings/self-assignment.cfa $(CFACC)
    740792        $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only
    741793
  • tests/coroutine/pingpong.cfa

    r0689cd9 r690166d  
    2424
    2525void ?{}( PingPong & this, const char * name, unsigned int N, PingPong & part ) {
     26        (this.__cor){name};
    2627        this.name = name;
    2728        this.N = N;
  • tests/preempt_longrun/Makefile.am

    r0689cd9 r690166d  
    1616
    1717AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     18ACLOCAL_AMFLAGS  = -I automake
    1819
    1920repeats=10
  • tests/preempt_longrun/Makefile.in

    r0689cd9 r690166d  
    9393subdir = tests/preempt_longrun
    9494ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    95 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \
    96         $(top_srcdir)/configure.ac
     95am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \
     96        $(top_srcdir)/automake/ltoptions.m4 \
     97        $(top_srcdir)/automake/ltsugar.m4 \
     98        $(top_srcdir)/automake/ltversion.m4 \
     99        $(top_srcdir)/automake/lt~obsolete.m4 \
     100        $(top_srcdir)/automake/cfa.m4 $(top_srcdir)/configure.ac
    97101am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    98102        $(ACLOCAL_M4)
     
    333337AMTAR = @AMTAR@
    334338AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
     339AR = @AR@
    335340AUTOCONF = @AUTOCONF@
    336341AUTOHEADER = @AUTOHEADER@
     
    356361CPPFLAGS = @CPPFLAGS@
    357362CXX = @CXX@
     363CXXCPP = @CXXCPP@
    358364CXXDEPMODE = @CXXDEPMODE@
    359365CXXFLAGS = @CXXFLAGS@
     
    361367DEFS = @DEFS@
    362368DEPDIR = @DEPDIR@
     369DLLTOOL = @DLLTOOL@
    363370DRIVER_DIR = @DRIVER_DIR@
     371DSYMUTIL = @DSYMUTIL@
     372DUMPBIN = @DUMPBIN@
    364373ECHO_C = @ECHO_C@
    365374ECHO_N = @ECHO_N@
     
    367376EGREP = @EGREP@
    368377EXEEXT = @EXEEXT@
     378FGREP = @FGREP@
    369379GREP = @GREP@
    370380HOST_FLAGS = @HOST_FLAGS@
     
    374384INSTALL_SCRIPT = @INSTALL_SCRIPT@
    375385INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     386LD = @LD@
    376387LDFLAGS = @LDFLAGS@
    377388LEX = @LEX@
     
    382393LIBOBJS = @LIBOBJS@
    383394LIBS = @LIBS@
     395LIBTOOL = @LIBTOOL@
     396LIPO = @LIPO@
     397LN_S = @LN_S@
    384398LTLIBOBJS = @LTLIBOBJS@
     399LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    385400MAKEINFO = @MAKEINFO@
     401MANIFEST_TOOL = @MANIFEST_TOOL@
    386402MKDIR_P = @MKDIR_P@
     403NM = @NM@
     404NMEDIT = @NMEDIT@
     405OBJDUMP = @OBJDUMP@
    387406OBJEXT = @OBJEXT@
     407OTOOL = @OTOOL@
     408OTOOL64 = @OTOOL64@
    388409PACKAGE = @PACKAGE@
    389410PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    395416PATH_SEPARATOR = @PATH_SEPARATOR@
    396417RANLIB = @RANLIB@
     418SED = @SED@
    397419SET_MAKE = @SET_MAKE@
    398420SHELL = @SHELL@
     
    406428abs_top_builddir = @abs_top_builddir@
    407429abs_top_srcdir = @abs_top_srcdir@
     430ac_ct_AR = @ac_ct_AR@
    408431ac_ct_CC = @ac_ct_CC@
    409432ac_ct_CXX = @ac_ct_CXX@
     433ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    410434am__include = @am__include@
    411435am__leading_dot = @am__leading_dot@
     
    455479top_srcdir = @top_srcdir@
    456480AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     481ACLOCAL_AMFLAGS = -I automake
    457482repeats = 10
    458483max_time = 600
     
    502527        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    503528$(am__aclocal_m4_deps):
     529
     530mostlyclean-libtool:
     531        -rm -f *.lo
     532
     533clean-libtool:
     534        -rm -rf .libs _libs
    504535tags TAGS:
    505536
     
    805836clean: clean-am
    806837
    807 clean-am: clean-generic clean-local mostlyclean-am
     838clean-am: clean-generic clean-libtool clean-local mostlyclean-am
    808839
    809840distclean: distclean-am
     
    857888mostlyclean: mostlyclean-am
    858889
    859 mostlyclean-am: mostlyclean-generic
     890mostlyclean-am: mostlyclean-generic mostlyclean-libtool
    860891
    861892pdf: pdf-am
     
    872903
    873904.PHONY: all all-am all-local check check-TESTS check-am clean \
    874         clean-generic clean-local cscopelist-am ctags-am distclean \
    875         distclean-generic distdir dvi dvi-am html html-am info info-am \
    876         install install-am install-data install-data-am install-dvi \
    877         install-dvi-am install-exec install-exec-am install-html \
    878         install-html-am install-info install-info-am install-man \
    879         install-pdf install-pdf-am install-ps install-ps-am \
    880         install-strip installcheck installcheck-am installdirs \
    881         maintainer-clean maintainer-clean-generic mostlyclean \
    882         mostlyclean-generic pdf pdf-am ps ps-am recheck tags-am \
     905        clean-generic clean-libtool clean-local cscopelist-am ctags-am \
     906        distclean distclean-generic distclean-libtool distdir dvi \
     907        dvi-am html html-am info info-am install install-am \
     908        install-data install-data-am install-dvi install-dvi-am \
     909        install-exec install-exec-am install-html install-html-am \
     910        install-info install-info-am install-man install-pdf \
     911        install-pdf-am install-ps install-ps-am install-strip \
     912        installcheck installcheck-am installdirs maintainer-clean \
     913        maintainer-clean-generic mostlyclean mostlyclean-generic \
     914        mostlyclean-libtool pdf pdf-am ps ps-am recheck tags-am \
    883915        uninstall uninstall-am
    884916
  • tests/pybin/tools.py

    r0689cd9 r690166d  
    247247        if column:
    248248                cmd = "%s 2> /dev/null" % column
    249                 print(cmd)
    250249                proc = Popen(cmd, stdin=PIPE, stderr=None, shell=True)
    251                 proc.communicate(input=text)
     250                proc.communicate(input=text + "\n")
    252251        else:
    253252                print(text)
  • tests/raii/.expect/ctor-autogen-ERR1.txt

    r0689cd9 r690166d  
    1 raii/ctor-autogen.c:102:1 error: Unique best alternative includes deleted identifier in Cast of:
     1raii/ctor-autogen.cfa:102:1 error: Unique best alternative includes deleted identifier in Cast of:
    22  Application of
    33    Deleted Expression
    44      Variable Expression: ?{}: static inline function
    55      ... with parameters
    6         _dst: reference to instance of struct Managed with body 1 
     6        _dst: reference to instance of struct Managed with body 1
    77        x: signed int
    8       ... returning nothing 
     8      ... returning nothing
    99
    1010      ... deleted by: ?{}: function
    1111      ... with parameters
    12         m: reference to instance of struct Managed with body 1 
    13       ... returning nothing 
    14       ... with body 
     12        m: reference to instance of struct Managed with body 1
     13      ... returning nothing
     14      ... with body
    1515        CompoundStmt
    1616          Expression Statement:
     
    2020                intrinsic reference to signed int
    2121                intrinsic signed int
    22               ... returning 
     22              ... returning
    2323                _retval__operator_assign: signed int
    24                 ... with attributes: 
     24                ... with attributes:
    2525                  Attribute with name: unused
    2626
     
    2828            ... to arguments
    2929              Cast of:
    30                 Member Expression, with field: 
     30                Member Expression, with field:
    3131                  x: signed int
    32                 ... from aggregate: 
     32                ... from aggregate:
    3333                  Cast of:
    34                     Variable Expression: m: reference to instance of struct Managed with body 1 
     34                    Variable Expression: m: reference to instance of struct Managed with body 1
    3535                  ... to:
    36                     instance of struct Managed with body 1 
     36                    instance of struct Managed with body 1
    3737              ... to:
    3838                reference to signed int
     
    4949  ... to arguments
    5050    Cast of:
    51       Variable Expression: x: instance of struct Managed with body 1 
     51      Variable Expression: x: instance of struct Managed with body 1
    5252    ... to:
    53       reference to instance of struct Managed with body 1 
     53      reference to instance of struct Managed with body 1
    5454    constant expression (123 123: signed int)
    5555
  • tests/raii/.expect/dtor-early-exit-ERR1.txt

    r0689cd9 r690166d  
    1 raii/dtor-early-exit.c:150:1 error: jump to label 'L1' crosses initialization of y Branch (Goto)
     1raii/dtor-early-exit.cfa:150:1 error: jump to label 'L1' crosses initialization of y Branch (Goto)
    22  with target: L1
    33  with original target: L1
  • tests/raii/.expect/dtor-early-exit-ERR2.txt

    r0689cd9 r690166d  
    1 raii/dtor-early-exit.c:214:1 error: jump to label 'L2' crosses initialization of y Branch (Goto)
     1raii/dtor-early-exit.cfa:214:1 error: jump to label 'L2' crosses initialization of y Branch (Goto)
    22  with target: L2
    33  with original target: L2
  • tests/raii/.expect/memberCtors-ERR1.txt

    r0689cd9 r690166d  
    1 raii/memberCtors.c:71:1 error: in void ?{}(B &b), field a2 used before being constructed
     1raii/memberCtors.cfa:71:1 error: in void ?{}(B &b), field a2 used before being constructed
  • tests/searchsort.cfa

    r0689cd9 r690166d  
    5757
    5858        // descending sort/search by changing < to >
    59         for ( i; 0u ~ size ) {
     59        for ( i; 0 ~ size ) {
    6060                iarr[i] = i + 1;
    6161                sout | iarr[i] | ", ";
  • tests/test.py

    r0689cd9 r690166d  
    1919
    2020        def matchTest(path):
    21                 match = re.search("%s\/([\w\/\-_]*).expect\/([\w\-_]+)(\.[\w\-_]+)?\.txt" % settings.SRCDIR, path)
     21                match = re.search("^%s\/([\w\/\-_]*).expect\/([\w\-_]+)(\.[\w\-_]+)?\.txt$" % settings.SRCDIR, path)
    2222                if match :
    2323                        test = Test()
     
    3434# reads the directory ./.expect and indentifies the tests
    3535def listTests( includes, excludes ):
    36         includes = [canonicalPath( i ) for i in includes] if includes else None
    37         excludes = [canonicalPath( i ) for i in excludes] if excludes else None
    38 
    3936        # tests directly in the .expect folder will always be processed
    4037        test_list = findTests()
  • tests/warnings/.expect/self-assignment.txt

    r0689cd9 r690166d  
    1 warnings/self-assignment.c:29:1 warning: self assignment of expression: Cast of:
     1warnings/self-assignment.cfa:29:1 warning: self assignment of expression: Cast of:
    22  Variable Expression: j: signed int
    33... to:
    44  reference to signed int
    5 warnings/self-assignment.c:30:1 warning: self assignment of expression: Cast of:
    6   Variable Expression: s: instance of struct S with body 1 
     5warnings/self-assignment.cfa:30:1 warning: self assignment of expression: Cast of:
     6  Variable Expression: s: instance of struct S with body 1
    77... to:
    8   reference to instance of struct S with body 1 
    9 warnings/self-assignment.c:31:1 warning: self assignment of expression: Cast of:
    10   Member Expression, with field: 
     8  reference to instance of struct S with body 1
     9warnings/self-assignment.cfa:31:1 warning: self assignment of expression: Cast of:
     10  Member Expression, with field:
    1111    i: signed int
    12   ... from aggregate: 
    13     Variable Expression: s: instance of struct S with body 1 
     12  ... from aggregate:
     13    Variable Expression: s: instance of struct S with body 1
    1414... to:
    1515  reference to signed int
    16 warnings/self-assignment.c:32:1 warning: self assignment of expression: Cast of:
    17   Member Expression, with field: 
     16warnings/self-assignment.cfa:32:1 warning: self assignment of expression: Cast of:
     17  Member Expression, with field:
    1818    i: signed int
    19   ... from aggregate: 
    20     Member Expression, with field: 
    21       s: instance of struct S with body 1 
    22     ... from aggregate: 
    23       Variable Expression: t: instance of struct T with body 1 
     19  ... from aggregate:
     20    Member Expression, with field:
     21      s: instance of struct S with body 1
     22    ... from aggregate:
     23      Variable Expression: t: instance of struct T with body 1
    2424... to:
    2525  reference to signed int
  • tools/Makefile.am

    r0689cd9 r690166d  
    1616
    1717AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     18ACLOCAL_AMFLAGS  = -I automake
    1819
    1920AM_CFLAGS = -Wall -Wextra -O2 -g
  • tools/Makefile.in

    r0689cd9 r690166d  
    9696subdir = tools
    9797ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    98 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \
    99         $(top_srcdir)/configure.ac
     98am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \
     99        $(top_srcdir)/automake/ltoptions.m4 \
     100        $(top_srcdir)/automake/ltsugar.m4 \
     101        $(top_srcdir)/automake/ltversion.m4 \
     102        $(top_srcdir)/automake/lt~obsolete.m4 \
     103        $(top_srcdir)/automake/cfa.m4 $(top_srcdir)/configure.ac
    100104am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    101105        $(ACLOCAL_M4)
     
    109113busy_OBJECTS = $(am_busy_OBJECTS)
    110114busy_LDADD = $(LDADD)
    111 busy_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(busy_LDFLAGS) $(LDFLAGS) \
    112         -o $@
     115AM_V_lt = $(am__v_lt_@AM_V@)
     116am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
     117am__v_lt_0 = --silent
     118am__v_lt_1 =
     119busy_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     120        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
     121        $(busy_LDFLAGS) $(LDFLAGS) -o $@
    113122am_catchsig_OBJECTS = catchsig.$(OBJEXT)
    114123catchsig_OBJECTS = $(am_catchsig_OBJECTS)
     
    138147COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
    139148        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
     149LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     150        $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
     151        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
     152        $(AM_CFLAGS) $(CFLAGS)
    140153AM_V_CC = $(am__v_CC_@AM_V@)
    141154am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
     
    143156am__v_CC_1 =
    144157CCLD = $(CC)
    145 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
     158LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     159        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
     160        $(AM_LDFLAGS) $(LDFLAGS) -o $@
    146161AM_V_CCLD = $(am__v_CCLD_@AM_V@)
    147162am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
     
    182197AMTAR = @AMTAR@
    183198AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
     199AR = @AR@
    184200AUTOCONF = @AUTOCONF@
    185201AUTOHEADER = @AUTOHEADER@
     
    205221CPPFLAGS = @CPPFLAGS@
    206222CXX = @CXX@
     223CXXCPP = @CXXCPP@
    207224CXXDEPMODE = @CXXDEPMODE@
    208225CXXFLAGS = @CXXFLAGS@
     
    210227DEFS = @DEFS@
    211228DEPDIR = @DEPDIR@
     229DLLTOOL = @DLLTOOL@
    212230DRIVER_DIR = @DRIVER_DIR@
     231DSYMUTIL = @DSYMUTIL@
     232DUMPBIN = @DUMPBIN@
    213233ECHO_C = @ECHO_C@
    214234ECHO_N = @ECHO_N@
     
    216236EGREP = @EGREP@
    217237EXEEXT = @EXEEXT@
     238FGREP = @FGREP@
    218239GREP = @GREP@
    219240HOST_FLAGS = @HOST_FLAGS@
     
    223244INSTALL_SCRIPT = @INSTALL_SCRIPT@
    224245INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     246LD = @LD@
    225247LDFLAGS = @LDFLAGS@
    226248LEX = @LEX@
     
    231253LIBOBJS = @LIBOBJS@
    232254LIBS = @LIBS@
     255LIBTOOL = @LIBTOOL@
     256LIPO = @LIPO@
     257LN_S = @LN_S@
    233258LTLIBOBJS = @LTLIBOBJS@
     259LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    234260MAKEINFO = @MAKEINFO@
     261MANIFEST_TOOL = @MANIFEST_TOOL@
    235262MKDIR_P = @MKDIR_P@
     263NM = @NM@
     264NMEDIT = @NMEDIT@
     265OBJDUMP = @OBJDUMP@
    236266OBJEXT = @OBJEXT@
     267OTOOL = @OTOOL@
     268OTOOL64 = @OTOOL64@
    237269PACKAGE = @PACKAGE@
    238270PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    244276PATH_SEPARATOR = @PATH_SEPARATOR@
    245277RANLIB = @RANLIB@
     278SED = @SED@
    246279SET_MAKE = @SET_MAKE@
    247280SHELL = @SHELL@
     
    255288abs_top_builddir = @abs_top_builddir@
    256289abs_top_srcdir = @abs_top_srcdir@
     290ac_ct_AR = @ac_ct_AR@
    257291ac_ct_CC = @ac_ct_CC@
    258292ac_ct_CXX = @ac_ct_CXX@
     293ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    259294am__include = @am__include@
    260295am__leading_dot = @am__leading_dot@
     
    304339top_srcdir = @top_srcdir@
    305340AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     341ACLOCAL_AMFLAGS = -I automake
    306342AM_CFLAGS = -Wall -Wextra -O2 -g
    307343busy_SOURCES = busy.c
     
    313349
    314350.SUFFIXES:
    315 .SUFFIXES: .c .o .obj
     351.SUFFIXES: .c .lo .o .obj
    316352$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
    317353        @for dep in $?; do \
     
    345381
    346382clean-noinstPROGRAMS:
    347         -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
     383        @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
     384        echo " rm -f" $$list; \
     385        rm -f $$list || exit $$?; \
     386        test -n "$(EXEEXT)" || exit 0; \
     387        list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
     388        echo " rm -f" $$list; \
     389        rm -f $$list
    348390
    349391busy$(EXEEXT): $(busy_OBJECTS) $(busy_DEPENDENCIES) $(EXTRA_busy_DEPENDENCIES)
     
    389431@AMDEP_TRUE@@am__fastdepCC_FALSE@       DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    390432@am__fastdepCC_FALSE@   $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
     433
     434.c.lo:
     435@am__fastdepCC_TRUE@    $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
     436@am__fastdepCC_TRUE@    $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
     437@am__fastdepCC_TRUE@    $(am__mv) $$depbase.Tpo $$depbase.Plo
     438@AMDEP_TRUE@@am__fastdepCC_FALSE@       $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
     439@AMDEP_TRUE@@am__fastdepCC_FALSE@       DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     440@am__fastdepCC_FALSE@   $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
     441
     442mostlyclean-libtool:
     443        -rm -f *.lo
     444
     445clean-libtool:
     446        -rm -rf .libs _libs
    391447
    392448ID: $(am__tagged_files)
     
    508564clean: clean-am
    509565
    510 clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am
     566clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
     567        mostlyclean-am
    511568
    512569distclean: distclean-am
     
    563620mostlyclean: mostlyclean-am
    564621
    565 mostlyclean-am: mostlyclean-compile mostlyclean-generic
     622mostlyclean-am: mostlyclean-compile mostlyclean-generic \
     623        mostlyclean-libtool
    566624
    567625pdf: pdf-am
     
    578636
    579637.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
    580         clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
    581         distclean-compile distclean-generic distclean-tags distdir dvi \
    582         dvi-am html html-am info info-am install install-am \
    583         install-data install-data-am install-dvi install-dvi-am \
    584         install-exec install-exec-am install-html install-html-am \
    585         install-info install-info-am install-man install-pdf \
    586         install-pdf-am install-ps install-ps-am install-strip \
    587         installcheck installcheck-am installdirs maintainer-clean \
     638        clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
     639        ctags-am distclean distclean-compile distclean-generic \
     640        distclean-libtool distclean-tags distdir dvi dvi-am html \
     641        html-am info info-am install install-am install-data \
     642        install-data-am install-dvi install-dvi-am install-exec \
     643        install-exec-am install-html install-html-am install-info \
     644        install-info-am install-man install-pdf install-pdf-am \
     645        install-ps install-ps-am install-strip installcheck \
     646        installcheck-am installdirs maintainer-clean \
    588647        maintainer-clean-generic mostlyclean mostlyclean-compile \
    589         mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
    590         uninstall-am
     648        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
     649        tags tags-am uninstall uninstall-am
    591650
    592651.PRECIOUS: Makefile
  • tools/prettyprinter/Makefile.am

    r0689cd9 r690166d  
    1616
    1717AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     18ACLOCAL_AMFLAGS  = -I automake
    1819
    1920BUILT_SOURCES = parser.hh
  • tools/prettyprinter/Makefile.in

    r0689cd9 r690166d  
    9595subdir = tools/prettyprinter
    9696ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    97 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \
    98         $(top_srcdir)/configure.ac
     97am__aclocal_m4_deps = $(top_srcdir)/automake/libtool.m4 \
     98        $(top_srcdir)/automake/ltoptions.m4 \
     99        $(top_srcdir)/automake/ltsugar.m4 \
     100        $(top_srcdir)/automake/ltversion.m4 \
     101        $(top_srcdir)/automake/lt~obsolete.m4 \
     102        $(top_srcdir)/automake/cfa.m4 $(top_srcdir)/configure.ac
    99103am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    100104        $(ACLOCAL_M4)
     
    113117am__DEPENDENCIES_1 =
    114118pretty_DEPENDENCIES = $(am__DEPENDENCIES_1)
    115 pretty_LINK = $(CXXLD) $(pretty_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
    116         $(LDFLAGS) -o $@
     119AM_V_lt = $(am__v_lt_@AM_V@)
     120am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
     121am__v_lt_0 = --silent
     122am__v_lt_1 =
     123pretty_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
     124        $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(pretty_CXXFLAGS) \
     125        $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
    117126AM_V_P = $(am__v_P_@AM_V@)
    118127am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
     
    131140am__depfiles_maybe = depfiles
    132141am__mv = mv -f
    133 AM_V_lt = $(am__v_lt_@AM_V@)
    134 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
    135 am__v_lt_0 = --silent
    136 am__v_lt_1 =
    137142CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
    138143        $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
     144LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
     145        $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
     146        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
     147        $(AM_CXXFLAGS) $(CXXFLAGS)
    139148AM_V_CXX = $(am__v_CXX_@AM_V@)
    140149am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
     
    142151am__v_CXX_1 =
    143152CXXLD = $(CXX)
    144 CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
    145         -o $@
     153CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
     154        $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
     155        $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
    146156AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
    147157am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
     
    149159am__v_CXXLD_1 =
    150160LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS)
     161LTLEXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
     162        $(LIBTOOLFLAGS) --mode=compile $(LEX) $(AM_LFLAGS) $(LFLAGS)
    151163AM_V_LEX = $(am__v_LEX_@AM_V@)
    152164am__v_LEX_ = $(am__v_LEX_@AM_DEFAULT_V@)
     
    157169                   -e s/c++$$/h++/ -e s/c$$/h/
    158170YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS)
     171LTYACCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
     172        $(LIBTOOLFLAGS) --mode=compile $(YACC) $(AM_YFLAGS) $(YFLAGS)
    159173AM_V_YACC = $(am__v_YACC_@AM_V@)
    160174am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@)
     
    163177COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
    164178        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
     179LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     180        $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
     181        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
     182        $(AM_CFLAGS) $(CFLAGS)
    165183AM_V_CC = $(am__v_CC_@AM_V@)
    166184am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
     
    168186am__v_CC_1 =
    169187CCLD = $(CC)
    170 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
     188LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     189        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
     190        $(AM_LDFLAGS) $(LDFLAGS) -o $@
    171191AM_V_CCLD = $(am__v_CCLD_@AM_V@)
    172192am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
     
    206226AMTAR = @AMTAR@
    207227AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
     228AR = @AR@
    208229AUTOCONF = @AUTOCONF@
    209230AUTOHEADER = @AUTOHEADER@
     
    229250CPPFLAGS = @CPPFLAGS@
    230251CXX = @CXX@
     252CXXCPP = @CXXCPP@
    231253CXXDEPMODE = @CXXDEPMODE@
    232254CXXFLAGS = @CXXFLAGS@
     
    234256DEFS = @DEFS@
    235257DEPDIR = @DEPDIR@
     258DLLTOOL = @DLLTOOL@
    236259DRIVER_DIR = @DRIVER_DIR@
     260DSYMUTIL = @DSYMUTIL@
     261DUMPBIN = @DUMPBIN@
    237262ECHO_C = @ECHO_C@
    238263ECHO_N = @ECHO_N@
     
    240265EGREP = @EGREP@
    241266EXEEXT = @EXEEXT@
     267FGREP = @FGREP@
    242268GREP = @GREP@
    243269HOST_FLAGS = @HOST_FLAGS@
     
    247273INSTALL_SCRIPT = @INSTALL_SCRIPT@
    248274INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     275LD = @LD@
    249276LDFLAGS = @LDFLAGS@
    250277LEX = @LEX@
     
    255282LIBOBJS = @LIBOBJS@
    256283LIBS = @LIBS@
     284LIBTOOL = @LIBTOOL@
     285LIPO = @LIPO@
     286LN_S = @LN_S@
    257287LTLIBOBJS = @LTLIBOBJS@
     288LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    258289MAKEINFO = @MAKEINFO@
     290MANIFEST_TOOL = @MANIFEST_TOOL@
    259291MKDIR_P = @MKDIR_P@
     292NM = @NM@
     293NMEDIT = @NMEDIT@
     294OBJDUMP = @OBJDUMP@
    260295OBJEXT = @OBJEXT@
     296OTOOL = @OTOOL@
     297OTOOL64 = @OTOOL64@
    261298PACKAGE = @PACKAGE@
    262299PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    268305PATH_SEPARATOR = @PATH_SEPARATOR@
    269306RANLIB = @RANLIB@
     307SED = @SED@
    270308SET_MAKE = @SET_MAKE@
    271309SHELL = @SHELL@
     
    279317abs_top_builddir = @abs_top_builddir@
    280318abs_top_srcdir = @abs_top_srcdir@
     319ac_ct_AR = @ac_ct_AR@
    281320ac_ct_CC = @ac_ct_CC@
    282321ac_ct_CXX = @ac_ct_CXX@
     322ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    283323am__include = @am__include@
    284324am__leading_dot = @am__leading_dot@
     
    328368top_srcdir = @top_srcdir@
    329369AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     370ACLOCAL_AMFLAGS = -I automake
    330371BUILT_SOURCES = parser.hh
    331372AM_YFLAGS = -d -t -v
     
    345386
    346387.SUFFIXES:
    347 .SUFFIXES: .cc .ll .o .obj .yy
     388.SUFFIXES: .cc .ll .lo .o .obj .yy
    348389$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
    349390        @for dep in $?; do \
     
    385426        sed 's/$(EXEEXT)$$//' | \
    386427        while read p p1; do if test -f $$p \
     428         || test -f $$p1 \
    387429          ; then echo "$$p"; echo "$$p"; else :; fi; \
    388430        done | \
     
    399441            if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
    400442            test -z "$$files" || { \
    401               echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(tools_prettyprinterdir)$$dir'"; \
    402               $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(tools_prettyprinterdir)$$dir" || exit $$?; \
     443            echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(tools_prettyprinterdir)$$dir'"; \
     444            $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(tools_prettyprinterdir)$$dir" || exit $$?; \
    403445            } \
    404446        ; done
     
    416458
    417459clean-tools_prettyprinterPROGRAMS:
    418         -test -z "$(tools_prettyprinter_PROGRAMS)" || rm -f $(tools_prettyprinter_PROGRAMS)
     460        @list='$(tools_prettyprinter_PROGRAMS)'; test -n "$$list" || exit 0; \
     461        echo " rm -f" $$list; \
     462        rm -f $$list || exit $$?; \
     463        test -n "$(EXEEXT)" || exit 0; \
     464        list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
     465        echo " rm -f" $$list; \
     466        rm -f $$list
    419467parser.hh: parser.cc
    420468        @if test ! -f $@; then rm -f parser.cc; else :; fi
     
    453501@am__fastdepCXX_FALSE@  $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
    454502
     503.cc.lo:
     504@am__fastdepCXX_TRUE@   $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
     505@am__fastdepCXX_TRUE@   $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
     506@am__fastdepCXX_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Plo
     507@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
     508@AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     509@am__fastdepCXX_FALSE@  $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
     510
    455511pretty-lex.o: lex.cc
    456512@am__fastdepCXX_TRUE@   $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pretty_CXXFLAGS) $(CXXFLAGS) -MT pretty-lex.o -MD -MP -MF $(DEPDIR)/pretty-lex.Tpo -c -o pretty-lex.o `test -f 'lex.cc' || echo '$(srcdir)/'`lex.cc
     
    528584.yy.cc:
    529585        $(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h `echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE)
     586
     587mostlyclean-libtool:
     588        -rm -f *.lo
     589
     590clean-libtool:
     591        -rm -rf .libs _libs
    530592
    531593ID: $(am__tagged_files)
     
    657719clean: clean-am
    658720
    659 clean-am: clean-generic clean-tools_prettyprinterPROGRAMS \
    660         mostlyclean-am
     721clean-am: clean-generic clean-libtool \
     722        clean-tools_prettyprinterPROGRAMS mostlyclean-am
    661723
    662724distclean: distclean-am
     
    713775mostlyclean: mostlyclean-am
    714776
    715 mostlyclean-am: mostlyclean-compile mostlyclean-generic
     777mostlyclean-am: mostlyclean-compile mostlyclean-generic \
     778        mostlyclean-libtool
    716779
    717780pdf: pdf-am
     
    728791
    729792.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
    730         clean-tools_prettyprinterPROGRAMS cscopelist-am ctags ctags-am \
    731         distclean distclean-compile distclean-generic distclean-tags \
    732         distdir dvi dvi-am html html-am info info-am install \
    733         install-am install-data install-data-am install-dvi \
    734         install-dvi-am install-exec install-exec-am install-html \
    735         install-html-am install-info install-info-am install-man \
    736         install-pdf install-pdf-am install-ps install-ps-am \
    737         install-strip install-tools_prettyprinterPROGRAMS installcheck \
     793        clean-libtool clean-tools_prettyprinterPROGRAMS cscopelist-am \
     794        ctags ctags-am distclean distclean-compile distclean-generic \
     795        distclean-libtool distclean-tags distdir dvi dvi-am html \
     796        html-am info info-am install install-am install-data \
     797        install-data-am install-dvi install-dvi-am install-exec \
     798        install-exec-am install-html install-html-am install-info \
     799        install-info-am install-man install-pdf install-pdf-am \
     800        install-ps install-ps-am install-strip \
     801        install-tools_prettyprinterPROGRAMS installcheck \
    738802        installcheck-am installdirs maintainer-clean \
    739803        maintainer-clean-generic mostlyclean mostlyclean-compile \
    740         mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
    741         uninstall-am uninstall-tools_prettyprinterPROGRAMS
     804        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
     805        tags tags-am uninstall uninstall-am \
     806        uninstall-tools_prettyprinterPROGRAMS
    742807
    743808.PRECIOUS: Makefile
Note: See TracChangeset for help on using the changeset viewer.