Changeset 95b8aa7


Ignore:
Timestamp:
Jan 11, 2019, 3:36:48 PM (7 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
Children:
e1f7eef
Parents:
ff5caaf (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:

Pull fixes for deferred_resn from other branch

Files:
54 added
15 deleted
118 edited
127 moved

Legend:

Unmodified
Added
Removed
  • INSTALL

    rff5caaf r95b8aa7  
    2222  it is important not to put quotes around the directory path; Cforall may
    2323  appear to build, but the installed version may not work properly.
    24 
    25 --with-backend-compiler=PROGRAM specifies the installed path of gcc.  It
    26   defaults to the first command named 'gcc' in the current PATH.
    27 
    28 cfa-cc itself is built with the version of g++ specified by the environment
    29 variable CXX.  If CXX is unset, cfa-cc is built using the first command named
    30 'g++' in the current PATH.
  • Jenkins/TestRegen

    rff5caaf r95b8aa7  
    7070        //escapes the sandbox
    7171        //Also specify the compiler by hand
    72         sh "./configure CXX=clang++ --host=${arch} --with-backend-compiler=gcc-6 --prefix=${install_dir} --enable-silent-rules --quiet"
     72        sh "./configure CXX=clang++ CC=gcc-6 --host=${arch} --enable-silent-rules --quiet"
    7373
    7474        //Compile the project
    75         sh 'make -j 8 --no-print-directory install'
     75        sh 'make -j 8 --no-print-directory'
    7676
    7777        //Regenerate the desired tests
  • Makefile.am

    rff5caaf r95b8aa7  
    1616
    1717AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
    18 BACKEND_CC = @BACKEND_CC@     # C compiler used to compile Cforall programs, versus C++ compiler used to build cfa command
     18ACLOCAL_AMFLAGS  = -I automake
    1919
    2020MAINTAINERCLEANFILES = lib/* bin/* tests/.deps/* tests/.out/*
  • Makefile.in

    rff5caaf r95b8aa7  
    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@
    252258AUTOMAKE = @AUTOMAKE@
    253259AWK = @AWK@
    254 BACKEND_CC = @BACKEND_CC@     # C compiler used to compile Cforall programs, versus C++ compiler used to build cfa command
    255260BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@
    256261CC = @CC@
     
    272277CPPFLAGS = @CPPFLAGS@
    273278CXX = @CXX@
     279CXXCPP = @CXXCPP@
    274280CXXDEPMODE = @CXXDEPMODE@
    275281CXXFLAGS = @CXXFLAGS@
     
    277283DEFS = @DEFS@
    278284DEPDIR = @DEPDIR@
     285DLLTOOL = @DLLTOOL@
    279286DRIVER_DIR = @DRIVER_DIR@
     287DSYMUTIL = @DSYMUTIL@
     288DUMPBIN = @DUMPBIN@
    280289ECHO_C = @ECHO_C@
    281290ECHO_N = @ECHO_N@
     
    283292EGREP = @EGREP@
    284293EXEEXT = @EXEEXT@
     294FGREP = @FGREP@
    285295GREP = @GREP@
    286296HOST_FLAGS = @HOST_FLAGS@
     
    290300INSTALL_SCRIPT = @INSTALL_SCRIPT@
    291301INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     302LD = @LD@
    292303LDFLAGS = @LDFLAGS@
    293304LEX = @LEX@
     
    298309LIBOBJS = @LIBOBJS@
    299310LIBS = @LIBS@
     311LIBTOOL = @LIBTOOL@
     312LIPO = @LIPO@
     313LN_S = @LN_S@
    300314LTLIBOBJS = @LTLIBOBJS@
     315LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    301316MAKEINFO = @MAKEINFO@
     317MANIFEST_TOOL = @MANIFEST_TOOL@
    302318MKDIR_P = @MKDIR_P@
     319NM = @NM@
     320NMEDIT = @NMEDIT@
     321OBJDUMP = @OBJDUMP@
    303322OBJEXT = @OBJEXT@
     323OTOOL = @OTOOL@
     324OTOOL64 = @OTOOL64@
    304325PACKAGE = @PACKAGE@
    305326PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    311332PATH_SEPARATOR = @PATH_SEPARATOR@
    312333RANLIB = @RANLIB@
     334SED = @SED@
    313335SET_MAKE = @SET_MAKE@
    314336SHELL = @SHELL@
     
    322344abs_top_builddir = @abs_top_builddir@
    323345abs_top_srcdir = @abs_top_srcdir@
     346ac_ct_AR = @ac_ct_AR@
    324347ac_ct_CC = @ac_ct_CC@
    325348ac_ct_CXX = @ac_ct_CXX@
     349ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    326350am__include = @am__include@
    327351am__leading_dot = @am__leading_dot@
     
    371395top_srcdir = @top_srcdir@
    372396AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     397ACLOCAL_AMFLAGS = -I automake
    373398MAINTAINERCLEANFILES = lib/* bin/* tests/.deps/* tests/.out/*
    374399SUBDIRS = driver src . @LIBCFA_TARGET_DIRS@
     
    428453distclean-hdr:
    429454        -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
    430464install-man1: $(man1_MANS)
    431465        @$(NORMAL_INSTALL)
     
    803837clean: clean-recursive
    804838
    805 clean-am: clean-generic mostlyclean-am
     839clean-am: clean-generic clean-libtool mostlyclean-am
    806840
    807841distclean: distclean-recursive
    808842        -rm -f $(am__CONFIG_DISTCLEAN_FILES)
    809843        -rm -f Makefile
    810 distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
     844distclean-am: clean-am distclean-generic distclean-hdr \
     845        distclean-libtool distclean-tags
    811846
    812847dvi: dvi-recursive
     
    858893mostlyclean: mostlyclean-recursive
    859894
    860 mostlyclean-am: mostlyclean-generic
     895mostlyclean-am: mostlyclean-generic mostlyclean-libtool
    861896
    862897pdf: pdf-recursive
     
    876911.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
    877912        am--refresh check check-am clean clean-cscope clean-generic \
    878         cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
    879         dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
    880         distcheck distclean distclean-generic distclean-hdr \
    881         distclean-tags distcleancheck distdir distuninstallcheck dvi \
    882         dvi-am html html-am info info-am install install-am \
    883         install-data install-data-am install-dvi install-dvi-am \
    884         install-exec install-exec-am install-html install-html-am \
    885         install-info install-info-am install-man install-man1 \
    886         install-pdf install-pdf-am install-ps install-ps-am \
    887         install-strip installcheck installcheck-am installdirs \
    888         installdirs-am maintainer-clean maintainer-clean-generic \
    889         mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \
    890         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
    891927
    892928.PRECIOUS: Makefile
  • aclocal.m4

    rff5caaf r95b8aa7  
    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

    rff5caaf r95b8aa7  
    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

    rff5caaf r95b8aa7  
    1111## Created On       : Sun May 31 09:08:15 2015
    1212## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Mon Jan 25 22:31:42 2016
    14 ## Update Count     : 25
     13## Last Modified On : Tue Nov  6 09:01:23 2018
     14## Update Count     : 26
    1515###############################################################################
    1616
    1717AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     18ACLOCAL_AMFLAGS  = -I automake
    1819
    1920# applies to both programs
    2021include $(top_srcdir)/src/cfa.make
    2122
    22 UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)
     23UPPCC = u++
    2324
    2425AM_CFLAGS = -O2 -Wall -I$(srcdir) -lrt -pthread
     
    3435PRINT_FORMAT = %20s: #Comments needed for spacing
    3536
     37#prevent any tests in parallel
    3638.NOTPARALLEL:
    3739
    38 noinst_PROGRAMS =
    39 
     40#make sure automake includes the compile rules for C and C++
     41EXTRA_PROGRAMS = dummy
     42dummy_SOURCES = c.c cxx.cpp
     43
     44## =========================================================================================================
    4045all : ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT)
    4146
     
    4752        @${STATS} .result.log
    4853        @echo "------------------------------------------------------"
    49         @rm -f a.out .result.log
     54        @rm -f a.out .result.log *.class
    5055
    5156%.runquiet :
     
    100105## =========================================================================================================
    101106loop$(EXEEXT):
    102         $(COMPILE) -DBENCH_N=5000000000 loop.c
     107        $(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/loop.c
    103108
    104109function$(EXEEXT):
    105         $(COMPILE) -DBENCH_N=5000000000 function.c
     110        $(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/function.c
    106111
    107112fetch_add$(EXEEXT):
    108         $(COMPILE) -DBENCH_N=500000000  fetch_add.c
     113        $(AM_V_CC)$(COMPILE) -DBENCH_N=500000000  $(srcdir)/fetch_add.c
    109114
    110115## =========================================================================================================
     
    129134
    130135ctxswitch-kos_fibre$(EXEEXT):
    131         @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp  -I$(LIBFIBRE_DIR) -lfibre
     136        $(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp  -I$(LIBFIBRE_DIR) -lfibre
    132137
    133138ctxswitch-kos_fibre2$(EXEEXT):
    134         @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre
     139        $(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre
    135140endif
    136141
     
    138143
    139144ctxswitch-pthread$(EXEEXT):
    140         @$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c
     145        $(AM_V_CC)$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c
    141146
    142147ctxswitch-cfa_coroutine$(EXEEXT):
    143         @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c
     148        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c
    144149
    145150ctxswitch-cfa_thread$(EXEEXT):
    146         @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c
     151        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c
    147152
    148153ctxswitch-cfa_thread2$(EXEEXT):
    149         @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c
     154        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c
    150155
    151156ctxswitch-upp_coroutine$(EXEEXT):
    152         @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc
     157        $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc
    153158
    154159ctxswitch-upp_thread$(EXEEXT):
    155         @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc
     160        $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc
    156161
    157162ctxswitch-goroutine$(EXEEXT):
    158         @go build -o a.out $(srcdir)/ctxswitch/goroutine.go
     163        $(AM_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go
    159164
    160165ctxswitch-java_thread$(EXEEXT):
    161         @javac $(srcdir)/ctxswitch/JavaThread.java
     166        $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/ctxswitch/JavaThread.java
    162167        @echo "#!/bin/sh" > a.out
    163         @echo "cd ctxswitch && java JavaThread" >> a.out
     168        @echo "java JavaThread" >> a.out
    164169        @chmod a+x a.out
    165170
     
    177182
    178183mutex-pthread_lock$(EXEEXT):
    179         @$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c
     184        $(AM_V_CC)$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c
    180185
    181186mutex-upp$(EXEEXT):
    182         @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc
     187        $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc
    183188
    184189mutex-cfa1$(EXEEXT):
    185         @$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa1.c
     190        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa1.c
    186191
    187192mutex-cfa2$(EXEEXT):
    188         @$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa2.c
     193        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa2.c
    189194
    190195mutex-cfa4$(EXEEXT):
    191         @$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa4.c
     196        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa4.c
    192197
    193198mutex-java_thread$(EXEEXT):
    194         @javac $(srcdir)/mutex/JavaThread.java
     199        $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/mutex/JavaThread.java
    195200        @echo "#!/bin/sh" > a.out
    196         @echo "cd mutex && java JavaThread" >> a.out
     201        @echo "java JavaThread" >> a.out
    197202        @chmod a+x a.out
    198203
     
    207212
    208213signal-pthread_cond$(EXEEXT):
    209         @$(COMPILE)    -DBENCH_N=500000  $(srcdir)/schedint/pthreads.c
     214        $(AM_V_CC)$(COMPILE)    -DBENCH_N=500000  $(srcdir)/schedint/pthreads.c
    210215
    211216signal-upp$(EXEEXT):
    212         @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc
     217        $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc
    213218
    214219signal-cfa1$(EXEEXT):
    215         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa1.c
     220        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa1.c
    216221
    217222signal-cfa2$(EXEEXT):
    218         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa2.c
     223        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa2.c
    219224
    220225signal-cfa4$(EXEEXT):
    221         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa4.c
     226        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa4.c
    222227
    223228signal-java_thread$(EXEEXT):
    224         @javac $(srcdir)/schedint/JavaThread.java
     229        $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/schedint/JavaThread.java
    225230        @echo "#!/bin/sh" > a.out
    226         @echo "cd schedint && java JavaThread" >> a.out
     231        @echo "java JavaThread" >> a.out
    227232        @chmod a+x a.out
    228233
     
    236241
    237242waitfor-upp$(EXEEXT):
    238         @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc
     243        $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc
    239244
    240245waitfor-cfa1$(EXEEXT):
    241         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa1.c
     246        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa1.c
    242247
    243248waitfor-cfa2$(EXEEXT):
    244         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa2.c
     249        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa2.c
    245250
    246251waitfor-cfa4$(EXEEXT):
    247         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa4.c
     252        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa4.c
    248253
    249254## =========================================================================================================
     
    259264
    260265creation-cfa_coroutine$(EXEEXT):
    261         @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c
     266        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c
    262267
    263268creation-cfa_coroutine_eager$(EXEEXT):
    264         @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c
     269        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c
    265270
    266271creation-cfa_thread$(EXEEXT):
    267         @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c
     272        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c
    268273
    269274creation-upp_coroutine$(EXEEXT):
    270         @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc
     275        $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc
    271276
    272277creation-upp_thread$(EXEEXT):
    273         @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc
     278        $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc
    274279
    275280creation-pthread$(EXEEXT):
    276         @$(COMPILE)    -DBENCH_N=250000   $(srcdir)/creation/pthreads.c
     281        $(AM_V_CC)$(COMPILE)    -DBENCH_N=250000   $(srcdir)/creation/pthreads.c
    277282
    278283creation-goroutine$(EXEEXT):
    279         @go build -o a.out $(srcdir)/creation/goroutine.go
     284        $(AM_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go
    280285
    281286creation-java_thread$(EXEEXT):
    282         @javac $(srcdir)/creation/JavaThread.java
     287        $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java
    283288        @echo "#!/bin/sh" > a.out
    284         @echo "cd creation && java JavaThread" >> a.out
     289        @echo "java JavaThread" >> a.out
    285290        @chmod a+x a.out
    286291
     
    301306
    302307compile-array$(EXEEXT):
    303         @$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c
     308        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c
    304309
    305310compile-attributes$(EXEEXT):
    306         @$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.c
     311        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.cfa
    307312
    308313compile-empty$(EXEEXT):
    309         @$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c
     314        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c
    310315
    311316compile-expression$(EXEEXT):
    312         @$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c
     317        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c
    313318
    314319compile-io$(EXEEXT):
    315         @$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c
     320        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c
    316321
    317322compile-monitor$(EXEEXT):
    318         @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c
     323        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c
    319324
    320325compile-operators$(EXEEXT):
    321         @$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c
     326        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c
    322327
    323328compile-thread$(EXEEXT):
    324         @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c
     329        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c
    325330
    326331compile-typeof$(EXEEXT):
    327         @$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c
    328 
     332        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c
     333
  • benchmark/Makefile.in

    rff5caaf r95b8aa7  
    1717######################## -*- Mode: Makefile-Automake -*- ######################
    1818###############################################################################
    19 
    2019VPATH = @srcdir@
    2120am__is_gnu_make = { \
     
    9291build_triplet = @build@
    9392host_triplet = @host@
    94 noinst_PROGRAMS =
     93EXTRA_PROGRAMS = dummy$(EXEEXT)
    9594@WITH_LIBFIBRE_TRUE@am__append_1 = \
    9695@WITH_LIBFIBRE_TRUE@    ctxswitch-kos_fibre.run  \
     
    9998subdir = benchmark
    10099ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    101 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \
    102         $(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
    103106am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    104107        $(ACLOCAL_M4)
     
    108111CONFIG_CLEAN_FILES =
    109112CONFIG_CLEAN_VPATH_FILES =
    110 PROGRAMS = $(noinst_PROGRAMS)
     113am_dummy_OBJECTS = c.$(OBJEXT) cxx.$(OBJEXT)
     114dummy_OBJECTS = $(am_dummy_OBJECTS)
     115dummy_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 =
    111120AM_V_P = $(am__v_P_@AM_V@)
    112121am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
     
    121130am__v_at_0 = @
    122131am__v_at_1 =
    123 SOURCES =
    124 DIST_SOURCES =
     132DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
     133depcomp = $(SHELL) $(top_srcdir)/automake/depcomp
     134am__depfiles_maybe = depfiles
     135am__mv = mv -f
     136COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
     137        $(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)
     142AM_V_CC = $(am__v_CC_@AM_V@)
     143am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
     144am__v_CC_0 = @echo "  CC      " $@;
     145am__v_CC_1 =
     146CCLD = $(CC)
     147LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     148        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
     149        $(AM_LDFLAGS) $(LDFLAGS) -o $@
     150AM_V_CCLD = $(am__v_CCLD_@AM_V@)
     151am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
     152am__v_CCLD_0 = @echo "  CCLD    " $@;
     153am__v_CCLD_1 =
     154CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
     155        $(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)
     160AM_V_CXX = $(am__v_CXX_@AM_V@)
     161am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
     162am__v_CXX_0 = @echo "  CXX     " $@;
     163am__v_CXX_1 =
     164CXXLD = $(CXX)
     165CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
     166        $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
     167        $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
     168AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
     169am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
     170am__v_CXXLD_0 = @echo "  CXXLD   " $@;
     171am__v_CXXLD_1 =
     172SOURCES = $(dummy_SOURCES)
     173DIST_SOURCES = $(dummy_SOURCES)
    125174am__can_run_installinfo = \
    126175  case $$AM_UPDATE_INFO_DIR in \
     
    129178  esac
    130179am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
    131 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/src/cfa.make \
    132         compile
     180# Read a list of newline-separated strings from the standard input,
     181# and print each of them once, without duplicates.  Input order is
     182# *not* preserved.
     183am__uniquify_input = $(AWK) '\
     184  BEGIN { nonempty = 0; } \
     185  { items[$$0] = 1; nonempty = 1; } \
     186  END { if (nonempty) { for (i in items) print i; }; } \
     187'
     188# Make sure the list of sources is unique.  This is necessary because,
     189# e.g., the same source file might be shared among _SOURCES variables
     190# for different programs/libraries.
     191am__define_uniq_tagged_files = \
     192  list='$(am__tagged_files)'; \
     193  unique=`for i in $$list; do \
     194    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
     195  done | $(am__uniquify_input)`
     196ETAGS = etags
     197CTAGS = ctags
     198am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/automake/depcomp \
     199        $(top_srcdir)/src/cfa.make compile
    133200DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
    134201ACLOCAL = @ACLOCAL@
     
    136203AMTAR = @AMTAR@
    137204AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
     205AR = @AR@
    138206AUTOCONF = @AUTOCONF@
    139207AUTOHEADER = @AUTOHEADER@
    140208AUTOMAKE = @AUTOMAKE@
    141209AWK = @AWK@
    142 BACKEND_CC = @BACKEND_CC@
    143210BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@
    144211CC = @CC@
     
    160227CPPFLAGS = @CPPFLAGS@
    161228CXX = @CXX@
     229CXXCPP = @CXXCPP@
    162230CXXDEPMODE = @CXXDEPMODE@
    163231CXXFLAGS = @CXXFLAGS@
     
    165233DEFS = @DEFS@
    166234DEPDIR = @DEPDIR@
     235DLLTOOL = @DLLTOOL@
    167236DRIVER_DIR = @DRIVER_DIR@
     237DSYMUTIL = @DSYMUTIL@
     238DUMPBIN = @DUMPBIN@
    168239ECHO_C = @ECHO_C@
    169240ECHO_N = @ECHO_N@
     
    171242EGREP = @EGREP@
    172243EXEEXT = @EXEEXT@
     244FGREP = @FGREP@
    173245GREP = @GREP@
    174246HOST_FLAGS = @HOST_FLAGS@
     
    178250INSTALL_SCRIPT = @INSTALL_SCRIPT@
    179251INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     252LD = @LD@
    180253LDFLAGS = @LDFLAGS@
    181254LEX = @LEX@
     
    186259LIBOBJS = @LIBOBJS@
    187260LIBS = @LIBS@
     261LIBTOOL = @LIBTOOL@
     262LIPO = @LIPO@
     263LN_S = @LN_S@
    188264LTLIBOBJS = @LTLIBOBJS@
     265LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    189266MAKEINFO = @MAKEINFO@
     267MANIFEST_TOOL = @MANIFEST_TOOL@
    190268MKDIR_P = @MKDIR_P@
     269NM = @NM@
     270NMEDIT = @NMEDIT@
     271OBJDUMP = @OBJDUMP@
    191272OBJEXT = @OBJEXT@
     273OTOOL = @OTOOL@
     274OTOOL64 = @OTOOL64@
    192275PACKAGE = @PACKAGE@
    193276PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    199282PATH_SEPARATOR = @PATH_SEPARATOR@
    200283RANLIB = @RANLIB@
     284SED = @SED@
    201285SET_MAKE = @SET_MAKE@
    202286SHELL = @SHELL@
     
    210294abs_top_builddir = @abs_top_builddir@
    211295abs_top_srcdir = @abs_top_srcdir@
     296ac_ct_AR = @ac_ct_AR@
    212297ac_ct_CC = @ac_ct_CC@
    213298ac_ct_CXX = @ac_ct_CXX@
     299ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    214300am__include = @am__include@
    215301am__leading_dot = @am__leading_dot@
     
    259345top_srcdir = @top_srcdir@
    260346AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     347ACLOCAL_AMFLAGS = -I automake
    261348CFACOMPILE = $(CFACC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) $(AM_CFLAGS) $(CFLAGS)
     349LTCFACOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     350        $(LIBTOOLFLAGS) --mode=compile $(CFACC) $(DEFS) \
     351        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) \
     352        $(AM_CFLAGS) $(CFLAGS)
     353
    262354AM_V_CFA = $(am__v_CFA_@AM_V@)
    263355am__v_CFA_ = $(am__v_CFA_@AM_DEFAULT_V@)
    264356am__v_CFA_0 = @echo "  CFA     " $@;
    265357am__v_CFA_1 =
     358AM_V_JAVAC = $(am__v_JAVAC_@AM_V@)
     359am__v_JAVAC_ = $(am__v_JAVAC_@AM_DEFAULT_V@)
     360am__v_JAVAC_0 = @echo "  JAVAC   " $@;
     361am__v_JAVAC_1 =
     362AM_V_GOC = $(am__v_GOC_@AM_V@)
     363am__v_GOC_ = $(am__v_GOC_@AM_DEFAULT_V@)
     364am__v_GOC_0 = @echo "  GOC     " $@;
     365am__v_GOC_1 =
     366UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)
     367AM_V_UPP = $(am__v_UPP_@AM_V@)
     368am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@)
     369am__v_UPP_0 = @echo "  UPP     " $@;
     370am__v_UPP_1 =
    266371
    267372# applies to both programs
    268 UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)
     373UPPCC = u++
    269374AM_CFLAGS = -O2 -Wall -I$(srcdir) -lrt -pthread
    270375AM_CFAFLAGS = -quiet -in-tree -nodebug
     
    277382TIME_FORMAT = "%E"
    278383PRINT_FORMAT = %20s: #Comments needed for spacing
     384dummy_SOURCES = c.c cxx.cpp
    279385CTXSWITCH_DEPEND = loop.run function.run fetch_add.run \
    280386        ctxswitch-pthread.run ctxswitch-cfa_coroutine.run \
     
    287393
    288394.SUFFIXES:
    289 .SUFFIXES: .cfa .o
     395.SUFFIXES: .c .cfa .cpp .lo .o .obj
    290396$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/src/cfa.make $(am__configure_deps)
    291397        @for dep in $?; do \
     
    319425$(am__aclocal_m4_deps):
    320426
    321 clean-noinstPROGRAMS:
    322         -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
    323 tags TAGS:
    324 
    325 ctags CTAGS:
    326 
    327 cscope cscopelist:
    328 
     427dummy$(EXEEXT): $(dummy_OBJECTS) $(dummy_DEPENDENCIES) $(EXTRA_dummy_DEPENDENCIES)
     428        @rm -f dummy$(EXEEXT)
     429        $(AM_V_CXXLD)$(CXXLINK) $(dummy_OBJECTS) $(dummy_LDADD) $(LIBS)
     430
     431mostlyclean-compile:
     432        -rm -f *.$(OBJEXT)
     433
     434distclean-compile:
     435        -rm -f *.tab.c
     436
     437@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c.Po@am__quote@
     438@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cxx.Po@am__quote@
     439
     440.c.o:
     441@am__fastdepCC_TRUE@    $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
     442@am__fastdepCC_TRUE@    $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
     443@am__fastdepCC_TRUE@    $(am__mv) $$depbase.Tpo $$depbase.Po
     444@AMDEP_TRUE@@am__fastdepCC_FALSE@       $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
     445@AMDEP_TRUE@@am__fastdepCC_FALSE@       DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     446@am__fastdepCC_FALSE@   $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
     447
     448.c.obj:
     449@am__fastdepCC_TRUE@    $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
     450@am__fastdepCC_TRUE@    $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
     451@am__fastdepCC_TRUE@    $(am__mv) $$depbase.Tpo $$depbase.Po
     452@AMDEP_TRUE@@am__fastdepCC_FALSE@       $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
     453@AMDEP_TRUE@@am__fastdepCC_FALSE@       DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     454@am__fastdepCC_FALSE@   $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
     455
     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
     464.cpp.o:
     465@am__fastdepCXX_TRUE@   $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
     466@am__fastdepCXX_TRUE@   $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
     467@am__fastdepCXX_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
     468@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
     469@AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     470@am__fastdepCXX_FALSE@  $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
     471
     472.cpp.obj:
     473@am__fastdepCXX_TRUE@   $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
     474@am__fastdepCXX_TRUE@   $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
     475@am__fastdepCXX_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
     476@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
     477@AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     478@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
     493
     494ID: $(am__tagged_files)
     495        $(am__define_uniq_tagged_files); mkid -fID $$unique
     496tags: tags-am
     497TAGS: tags
     498
     499tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
     500        set x; \
     501        here=`pwd`; \
     502        $(am__define_uniq_tagged_files); \
     503        shift; \
     504        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
     505          test -n "$$unique" || unique=$$empty_fix; \
     506          if test $$# -gt 0; then \
     507            $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
     508              "$$@" $$unique; \
     509          else \
     510            $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
     511              $$unique; \
     512          fi; \
     513        fi
     514ctags: ctags-am
     515
     516CTAGS: ctags
     517ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
     518        $(am__define_uniq_tagged_files); \
     519        test -z "$(CTAGS_ARGS)$$unique" \
     520          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
     521             $$unique
     522
     523GTAGS:
     524        here=`$(am__cd) $(top_builddir) && pwd` \
     525          && $(am__cd) $(top_srcdir) \
     526          && gtags -i $(GTAGS_ARGS) "$$here"
     527cscopelist: cscopelist-am
     528
     529cscopelist-am: $(am__tagged_files)
     530        list='$(am__tagged_files)'; \
     531        case "$(srcdir)" in \
     532          [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
     533          *) sdir=$(subdir)/$(srcdir) ;; \
     534        esac; \
     535        for i in $$list; do \
     536          if test -f "$$i"; then \
     537            echo "$(subdir)/$$i"; \
     538          else \
     539            echo "$$sdir/$$i"; \
     540          fi; \
     541        done >> $(top_builddir)/cscope.files
     542
     543distclean-tags:
     544        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
    329545
    330546distdir: $(DISTFILES)
     
    360576check-am: all-am
    361577check: check-am
    362 all-am: Makefile $(PROGRAMS)
     578all-am: Makefile
    363579installdirs:
    364580install: install-am
     
    394610clean: clean-am
    395611
    396 clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am
     612clean-am: clean-generic clean-libtool mostlyclean-am
    397613
    398614distclean: distclean-am
     615        -rm -rf ./$(DEPDIR)
    399616        -rm -f Makefile
    400 distclean-am: clean-am distclean-generic
     617distclean-am: clean-am distclean-compile distclean-generic \
     618        distclean-tags
    401619
    402620dvi: dvi-am
     
    441659
    442660maintainer-clean: maintainer-clean-am
     661        -rm -rf ./$(DEPDIR)
    443662        -rm -f Makefile
    444663maintainer-clean-am: distclean-am maintainer-clean-generic
     
    446665mostlyclean: mostlyclean-am
    447666
    448 mostlyclean-am: mostlyclean-generic
     667mostlyclean-am: mostlyclean-compile mostlyclean-generic \
     668        mostlyclean-libtool
    449669
    450670pdf: pdf-am
     
    460680.MAKE: install-am install-strip
    461681
    462 .PHONY: all all-am check check-am clean clean-generic \
    463         clean-noinstPROGRAMS cscopelist-am ctags-am distclean \
    464         distclean-generic distdir dvi dvi-am html html-am info info-am \
     682.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
     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 \
    465686        install install-am install-data install-data-am install-dvi \
    466687        install-dvi-am install-exec install-exec-am install-html \
     
    469690        install-strip installcheck installcheck-am installdirs \
    470691        maintainer-clean maintainer-clean-generic mostlyclean \
    471         mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
    472         uninstall-am
     692        mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
     693        pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am
    473694
    474695.PRECIOUS: Makefile
     
    480701        $(am__mv) $$depbase.Tpo $$depbase.Po
    481702
     703.cfa.lo:
     704        $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
     705        $(LTCFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
     706        $(am__mv) $$depbase.Tpo $$depbase.Plo
     707
     708#prevent any tests in parallel
    482709.NOTPARALLEL:
    483710
     
    491718        @${STATS} .result.log
    492719        @echo "------------------------------------------------------"
    493         @rm -f a.out .result.log
     720        @rm -f a.out .result.log *.class
    494721
    495722%.runquiet :
     
    541768
    542769loop$(EXEEXT):
    543         $(COMPILE) -DBENCH_N=5000000000 loop.c
     770        $(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/loop.c
    544771
    545772function$(EXEEXT):
    546         $(COMPILE) -DBENCH_N=5000000000 function.c
     773        $(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/function.c
    547774
    548775fetch_add$(EXEEXT):
    549         $(COMPILE) -DBENCH_N=500000000  fetch_add.c
     776        $(AM_V_CC)$(COMPILE) -DBENCH_N=500000000  $(srcdir)/fetch_add.c
    550777
    551778@WITH_LIBFIBRE_TRUE@ctxswitch-kos_fibre$(EXEEXT):
    552 @WITH_LIBFIBRE_TRUE@    @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp  -I$(LIBFIBRE_DIR) -lfibre
     779@WITH_LIBFIBRE_TRUE@    $(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp  -I$(LIBFIBRE_DIR) -lfibre
    553780
    554781@WITH_LIBFIBRE_TRUE@ctxswitch-kos_fibre2$(EXEEXT):
    555 @WITH_LIBFIBRE_TRUE@    @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre
     782@WITH_LIBFIBRE_TRUE@    $(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre
    556783
    557784ctxswitch$(EXEEXT): $(CTXSWITCH_DEPEND)
    558785
    559786ctxswitch-pthread$(EXEEXT):
    560         @$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c
     787        $(AM_V_CC)$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c
    561788
    562789ctxswitch-cfa_coroutine$(EXEEXT):
    563         @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c
     790        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c
    564791
    565792ctxswitch-cfa_thread$(EXEEXT):
    566         @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c
     793        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c
    567794
    568795ctxswitch-cfa_thread2$(EXEEXT):
    569         @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c
     796        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c
    570797
    571798ctxswitch-upp_coroutine$(EXEEXT):
    572         @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc
     799        $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc
    573800
    574801ctxswitch-upp_thread$(EXEEXT):
    575         @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc
     802        $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc
    576803
    577804ctxswitch-goroutine$(EXEEXT):
    578         @go build -o a.out $(srcdir)/ctxswitch/goroutine.go
     805        $(AM_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go
    579806
    580807ctxswitch-java_thread$(EXEEXT):
    581         @javac $(srcdir)/ctxswitch/JavaThread.java
     808        $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/ctxswitch/JavaThread.java
    582809        @echo "#!/bin/sh" > a.out
    583         @echo "cd ctxswitch && java JavaThread" >> a.out
     810        @echo "java JavaThread" >> a.out
    584811        @chmod a+x a.out
    585812
     
    596823
    597824mutex-pthread_lock$(EXEEXT):
    598         @$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c
     825        $(AM_V_CC)$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c
    599826
    600827mutex-upp$(EXEEXT):
    601         @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc
     828        $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc
    602829
    603830mutex-cfa1$(EXEEXT):
    604         @$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa1.c
     831        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa1.c
    605832
    606833mutex-cfa2$(EXEEXT):
    607         @$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa2.c
     834        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa2.c
    608835
    609836mutex-cfa4$(EXEEXT):
    610         @$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa4.c
     837        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa4.c
    611838
    612839mutex-java_thread$(EXEEXT):
    613         @javac $(srcdir)/mutex/JavaThread.java
     840        $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/mutex/JavaThread.java
    614841        @echo "#!/bin/sh" > a.out
    615         @echo "cd mutex && java JavaThread" >> a.out
     842        @echo "java JavaThread" >> a.out
    616843        @chmod a+x a.out
    617844
     
    625852
    626853signal-pthread_cond$(EXEEXT):
    627         @$(COMPILE)    -DBENCH_N=500000  $(srcdir)/schedint/pthreads.c
     854        $(AM_V_CC)$(COMPILE)    -DBENCH_N=500000  $(srcdir)/schedint/pthreads.c
    628855
    629856signal-upp$(EXEEXT):
    630         @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc
     857        $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc
    631858
    632859signal-cfa1$(EXEEXT):
    633         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa1.c
     860        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa1.c
    634861
    635862signal-cfa2$(EXEEXT):
    636         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa2.c
     863        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa2.c
    637864
    638865signal-cfa4$(EXEEXT):
    639         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa4.c
     866        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa4.c
    640867
    641868signal-java_thread$(EXEEXT):
    642         @javac $(srcdir)/schedint/JavaThread.java
     869        $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/schedint/JavaThread.java
    643870        @echo "#!/bin/sh" > a.out
    644         @echo "cd schedint && java JavaThread" >> a.out
     871        @echo "java JavaThread" >> a.out
    645872        @chmod a+x a.out
    646873
     
    652879
    653880waitfor-upp$(EXEEXT):
    654         @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc
     881        $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc
    655882
    656883waitfor-cfa1$(EXEEXT):
    657         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa1.c
     884        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa1.c
    658885
    659886waitfor-cfa2$(EXEEXT):
    660         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa2.c
     887        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa2.c
    661888
    662889waitfor-cfa4$(EXEEXT):
    663         @$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa4.c
     890        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa4.c
    664891
    665892creation$(EXEEXT) :\
     
    674901
    675902creation-cfa_coroutine$(EXEEXT):
    676         @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c
     903        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c
    677904
    678905creation-cfa_coroutine_eager$(EXEEXT):
    679         @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c
     906        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c
    680907
    681908creation-cfa_thread$(EXEEXT):
    682         @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c
     909        $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c
    683910
    684911creation-upp_coroutine$(EXEEXT):
    685         @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc
     912        $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc
    686913
    687914creation-upp_thread$(EXEEXT):
    688         @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc
     915        $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc
    689916
    690917creation-pthread$(EXEEXT):
    691         @$(COMPILE)    -DBENCH_N=250000   $(srcdir)/creation/pthreads.c
     918        $(AM_V_CC)$(COMPILE)    -DBENCH_N=250000   $(srcdir)/creation/pthreads.c
    692919
    693920creation-goroutine$(EXEEXT):
    694         @go build -o a.out $(srcdir)/creation/goroutine.go
     921        $(AM_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go
    695922
    696923creation-java_thread$(EXEEXT):
    697         @javac $(srcdir)/creation/JavaThread.java
     924        $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java
    698925        @echo "#!/bin/sh" > a.out
    699         @echo "cd creation && java JavaThread" >> a.out
     926        @echo "java JavaThread" >> a.out
    700927        @chmod a+x a.out
    701928
     
    711938
    712939compile-array$(EXEEXT):
    713         @$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c
     940        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c
    714941
    715942compile-attributes$(EXEEXT):
    716         @$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.c
     943        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.cfa
    717944
    718945compile-empty$(EXEEXT):
    719         @$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c
     946        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c
    720947
    721948compile-expression$(EXEEXT):
    722         @$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c
     949        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c
    723950
    724951compile-io$(EXEEXT):
    725         @$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c
     952        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c
    726953
    727954compile-monitor$(EXEEXT):
    728         @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c
     955        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c
    729956
    730957compile-operators$(EXEEXT):
    731         @$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c
     958        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c
    732959
    733960compile-thread$(EXEEXT):
    734         @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c
     961        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c
    735962
    736963compile-typeof$(EXEEXT):
    737         @$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c
     964        $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c
    738965
    739966# Tell versions [3.59,3.63) of GNU make to not export all variables.
  • benchmark/Monitor.c

    rff5caaf r95b8aa7  
    2929        EndTime = Time();
    3030
    31         sout | ( EndTime - StartTime ) / N | endl;
     31        sout | ( EndTime - StartTime ) / N;
    3232}
  • configure

    rff5caaf r95b8aa7  
    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
     
    626636LTLIBOBJS
    627637LIBOBJS
     638CFA_BACKEND_CC
    628639ALLOCA
     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
    629662EGREP
    630663GREP
    631 CPP
    632 WITH_LIBFIBRE_FALSE
    633 WITH_LIBFIBRE_TRUE
    634 RANLIB
     664SED
     665LIBTOOL
    635666LEXLIB
    636667LEX_OUTPUT_ROOT
     
    687718CFA_INCDIR
    688719CFA_PREFIX
    689 CFA_BACKEND_CC
    690 BACKEND_CC
    691720DOendif
    692721DOifskipcompile
     
    763792enable_silent_rules
    764793with_cfa_name
    765 with_backend_compiler
    766794with_target_hosts
    767795enable_dependency_tracking
     796enable_shared
     797enable_static
     798with_pic
     799enable_fast_install
     800with_aix_soname
     801with_gnu_ld
     802with_sysroot
     803enable_libtool_lock
    768804'
    769805      ac_precious_vars='build_alias
     
    782818YACC
    783819YFLAGS
    784 CPP'
     820LT_SYS_LIBRARY_PATH
     821CPP
     822CXXCPP'
    785823
    786824
     
    14181456  --disable-dependency-tracking
    14191457                          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)
    14201463
    14211464Optional Packages:
     
    14231466  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
    14241467  --with-cfa-name=NAME     NAME too which cfa will be installed
    1425   --with-backend-compiler=PROGRAM     PROGRAM that performs the final code compilation (must be gcc-compatible)
    14261468  --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).
    14271477
    14281478Some influential environment variables:
     
    14441494              This script will default YFLAGS to the empty string to avoid a
    14451495              default value of `-d' given by some make applications.
     1496  LT_SYS_LIBRARY_PATH
     1497              User-defined run-time library search path.
    14461498  CPP         C preprocessor
     1499  CXXCPP      C++ preprocessor
    14471500
    14481501Use these variables to override the choices made by `configure' or to help
     
    16481701} # ac_fn_c_try_link
    16491702
    1650 # ac_fn_c_check_type LINENO TYPE VAR INCLUDES
    1651 # -------------------------------------------
    1652 # Tests whether TYPE exists after having included INCLUDES, setting cache
    1653 # variable VAR accordingly.
    1654 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 ()
    16551708{
    16561709  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
     
    16601713  $as_echo_n "(cached) " >&6
    16611714else
    1662   eval "$3=no"
    16631715  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    16641716/* end confdefs.h.  */
    16651717$4
    1666 int
    1667 main ()
    1668 {
    1669 if (sizeof ($2))
    1670          return 0;
    1671   ;
    1672   return 0;
    1673 }
     1718#include <$2>
    16741719_ACEOF
    16751720if ac_fn_c_try_compile "$LINENO"; then :
    1676   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    1677 /* end confdefs.h.  */
    1678 $4
    1679 int
    1680 main ()
    1681 {
    1682 if (sizeof (($2)))
    1683             return 0;
    1684   ;
    1685   return 0;
    1686 }
    1687 _ACEOF
    1688 if ac_fn_c_try_compile "$LINENO"; then :
    1689 
    1690 else
    16911721  eval "$3=yes"
    1692 fi
    1693 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     1722else
     1723  eval "$3=no"
    16941724fi
    16951725rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     
    17001730  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
    17011731
    1702 } # ac_fn_c_check_type
     1732} # ac_fn_c_check_header_compile
    17031733
    17041734# ac_fn_c_try_cpp LINENO
     
    17811811} # ac_fn_c_try_run
    17821812
    1783 # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
    1784 # -------------------------------------------------------
    1785 # Tests whether HEADER exists and can be compiled using the include files in
    1786 # INCLUDES, setting the cache variable VAR accordingly.
    1787 ac_fn_c_check_header_compile ()
    1788 {
    1789   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    1790   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
    1791 $as_echo_n "checking for $2... " >&6; }
    1792 if eval \${$3+:} false; then :
    1793   $as_echo_n "(cached) " >&6
    1794 else
    1795   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    1796 /* end confdefs.h.  */
    1797 $4
    1798 #include <$2>
    1799 _ACEOF
    1800 if ac_fn_c_try_compile "$LINENO"; then :
    1801   eval "$3=yes"
    1802 else
    1803   eval "$3=no"
    1804 fi
    1805 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    1806 fi
    1807 eval ac_res=\$$3
    1808                { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
    1809 $as_echo "$ac_res" >&6; }
    1810   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
    1811 
    1812 } # ac_fn_c_check_header_compile
    1813 
    18141813# ac_fn_c_check_func LINENO FUNC VAR
    18151814# ----------------------------------
     
    18781877
    18791878} # 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
    18802016
    18812017# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
     
    24802616
    24812617
     2618
    24822619#AC_CONFIG_SRCDIR([src/main.cc])
    24832620ac_config_headers="$ac_config_headers config.h:src/config.h.in"
     
    31663303
    31673304#==============================================================================
    3168 # backend compiler implementation
    3169 
    3170 # Check whether --with-backend-compiler was given.
    3171 if test "${with_backend_compiler+set}" = set; then :
    3172   withval=$with_backend_compiler; backendcompiler=$withval
    3173 else
    3174   backendcompiler=""
    3175 fi
    3176 
    3177 if test "x$backendcompiler" != "x"; then
    3178        BACKEND_CC=${backendcompiler}
    3179 else
    3180        # Extract the first word of "gcc", so it can be a program name with args.
    3181 set dummy gcc; ac_word=$2
    3182 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
    3183 $as_echo_n "checking for $ac_word... " >&6; }
    3184 if ${ac_cv_path_BACKEND_CC+:} false; then :
    3185   $as_echo_n "(cached) " >&6
    3186 else
    3187   case $BACKEND_CC in
    3188   [\\/]* | ?:[\\/]*)
    3189   ac_cv_path_BACKEND_CC="$BACKEND_CC" # Let the user override the test with a path.
    3190   ;;
    3191   *)
    3192   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
    3193 for as_dir in $PATH
    3194 do
    3195   IFS=$as_save_IFS
    3196   test -z "$as_dir" && as_dir=.
    3197     for ac_exec_ext in '' $ac_executable_extensions; do
    3198   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    3199     ac_cv_path_BACKEND_CC="$as_dir/$ac_word$ac_exec_ext"
    3200     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3201     break 2
    3202   fi
    3203 done
    3204   done
    3205 IFS=$as_save_IFS
    3206 
    3207   ;;
    3208 esac
    3209 fi
    3210 BACKEND_CC=$ac_cv_path_BACKEND_CC
    3211 if test -n "$BACKEND_CC"; then
    3212   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BACKEND_CC" >&5
    3213 $as_echo "$BACKEND_CC" >&6; }
    3214 else
    3215   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
    3216 $as_echo "no" >&6; }
    3217 fi
    3218 
    3219        # check gcc installed
    3220        if test "x$BACKEND_CC" = "x"; then
    3221                as_fn_error $? "some version of gcc is needed. Get it at ftp://ftp.gnu.org" "$LINENO" 5
    3222                exit 1
    3223        fi
    3224 fi
    3225 
    3226 cat >>confdefs.h <<_ACEOF
    3227 #define CFA_BACKEND_CC "${BACKEND_CC}"
    3228 _ACEOF
    3229 
    3230 
    3231 
    3232 #==============================================================================
    32333305# Installation paths
    32343306
     
    34783550                "arm"        ) cannon_arch_name="arm";;
    34793551                "ARM"        ) cannon_arch_name="arm";;
     3552                "armv7l"     ) cannon_arch_name="arm";;
    34803553                *)
    34813554                >&2 echo "Unkown architecture " $arch_name;
     
    34943567        echo -n "${LIBCFA_PATHS} " >> ${lib_dir}/config.data
    34953568        echo -n "ARCHITECTURE=${lib_arch} " >> ${lib_dir}/config.data
    3496         echo -n "CONFIGURATION=${lib_config}" >> ${lib_dir}/config.data
     3569        echo -n "CONFIGURATION=${lib_config} " >> ${lib_dir}/config.data
     3570        echo -n "CFA_VERSION=${ver_major}:${ver_minor}:${ver_patch}" >> ${lib_dir}/config.data
    34973571done
    34983572
     
    35173591                "arm"        ) cannon_arch_name="arm";;
    35183592                "ARM"        ) cannon_arch_name="arm";;
     3593                "armv7l"     ) cannon_arch_name="arm";;
    35193594                *)
    35203595                >&2 echo "Unkown architecture " $arch_name;
     
    53155390fi
    53165391if test "${LEX}" = "lex" ; then echo "Error: flex required." ; exit 1 ; fi
    5317 
    5318 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
    5319 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
    5320 set x ${MAKE-make}
    5321 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
    5322 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 :
    53235489  $as_echo_n "(cached) " >&6
    53245490else
    5325   cat >conftest.make <<\_ACEOF
    5326 SHELL = /bin/sh
    5327 all:
    5328         @echo '@@@%%%=$(MAKE)=@@@%%%'
    5329 _ACEOF
    5330 # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
    5331 case `${MAKE-make} -f conftest.make 2>/dev/null` in
    5332   *@@@%%%=?*=@@@%%%*)
    5333     eval ac_cv_prog_make_${ac_make}_set=yes;;
    5334   *)
    5335     eval ac_cv_prog_make_${ac_make}_set=no;;
    5336 esac
    5337 rm -f conftest.make
    5338 fi
    5339 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
    5340   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
    5341 $as_echo "yes" >&6; }
    5342   SET_MAKE=
    5343 else
    5344   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
    5345 $as_echo "no" >&6; }
    5346   SET_MAKE="MAKE=${MAKE-make}"
    5347 fi
    5348 
    5349 if test -n "$ac_tool_prefix"; then
    5350   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
    5351 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
    5352 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
    5353 $as_echo_n "checking for $ac_word... " >&6; }
    5354 if ${ac_cv_prog_RANLIB+:} false; then :
    5355   $as_echo_n "(cached) " >&6
    5356 else
    5357   if test -n "$RANLIB"; then
    5358   ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
    5359 else
    5360 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
    53615501for as_dir in $PATH
    53625502do
    53635503  IFS=$as_save_IFS
    53645504  test -z "$as_dir" && as_dir=.
     5505    for ac_prog in sed gsed; do
    53655506    for ac_exec_ext in '' $ac_executable_extensions; do
    5366   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    5367     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
    5368     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    5369     break 2
    5370   fi
    5371 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
    53725540  done
    53735541IFS=$as_save_IFS
    5374 
    5375 fi
    5376 fi
    5377 RANLIB=$ac_cv_prog_RANLIB
    5378 if test -n "$RANLIB"; then
    5379   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
    5380 $as_echo "$RANLIB" >&6; }
    5381 else
    5382   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
    5383 $as_echo "no" >&6; }
    5384 fi
    5385 
    5386 
    5387 fi
    5388 if test -z "$ac_cv_prog_RANLIB"; then
    5389   ac_ct_RANLIB=$RANLIB
    5390   # Extract the first word of "ranlib", so it can be a program name with args.
    5391 set dummy ranlib; ac_word=$2
    5392 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
    5393 $as_echo_n "checking for $ac_word... " >&6; }
    5394 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
    5395   $as_echo_n "(cached) " >&6
    5396 else
    5397   if test -n "$ac_ct_RANLIB"; then
    5398   ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
    5399 else
    5400 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
    5401 for as_dir in $PATH
    5402 do
    5403   IFS=$as_save_IFS
    5404   test -z "$as_dir" && as_dir=.
    5405     for ac_exec_ext in '' $ac_executable_extensions; do
    5406   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    5407     ac_cv_prog_ac_ct_RANLIB="ranlib"
    5408     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    5409     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
    54105544  fi
    5411 done
    5412   done
    5413 IFS=$as_save_IFS
    5414 
    5415 fi
    5416 fi
    5417 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
    5418 if test -n "$ac_ct_RANLIB"; then
    5419   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
    5420 $as_echo "$ac_ct_RANLIB" >&6; }
    5421 else
    5422   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
    5423 $as_echo "no" >&6; }
    5424 fi
    5425 
    5426   if test "x$ac_ct_RANLIB" = x; then
    5427     RANLIB=":"
    5428   else
    5429     case $cross_compiling:$ac_tool_warned in
    5430 yes:)
    5431 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
    5432 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
    5433 ac_tool_warned=yes ;;
    5434 esac
    5435     RANLIB=$ac_ct_RANLIB
    5436   fi
    5437 else
    5438   RANLIB="$ac_cv_prog_RANLIB"
    5439 fi
    5440 
    5441 
    5442 # Checks for libraries.
    5443 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fibre::yield in -lfibre" >&5
    5444 $as_echo_n "checking for Fibre::yield in -lfibre... " >&6; }
    5445 if ${ac_cv_lib_fibre_Fibre__yield+:} false; then :
    5446   $as_echo_n "(cached) " >&6
    5447 else
    5448   ac_check_lib_save_LIBS=$LIBS
    5449 LIBS="-lfibre  $LIBS"
    5450 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    5451 /* end confdefs.h.  */
    5452 
    5453 /* Override any GCC internal prototype to avoid an error.
    5454    Use char because int might match the return type of a GCC
    5455    builtin and then its argument prototype would still apply.  */
    5456 #ifdef __cplusplus
    5457 extern "C"
    5458 #endif
    5459 char Fibre::yield ();
    5460 int
    5461 main ()
    5462 {
    5463 return Fibre::yield ();
    5464   ;
    5465   return 0;
    5466 }
    5467 _ACEOF
    5468 if ac_fn_c_try_link "$LINENO"; then :
    5469   ac_cv_lib_fibre_Fibre__yield=yes
    5470 else
    5471   ac_cv_lib_fibre_Fibre__yield=no
    5472 fi
    5473 rm -f core conftest.err conftest.$ac_objext \
    5474     conftest$ac_exeext conftest.$ac_ext
    5475 LIBS=$ac_check_lib_save_LIBS
    5476 fi
    5477 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fibre_Fibre__yield" >&5
    5478 $as_echo "$ac_cv_lib_fibre_Fibre__yield" >&6; }
    5479 if test "x$ac_cv_lib_fibre_Fibre__yield" = xyes; then :
    5480   HAVE_LIBFIBRE=1
    5481 else
    5482   HAVE_LIBFIBRE=0
    5483 fi
    5484 
    5485  if test "$HAVE_LIBFIBRE" -eq 1; then
    5486   WITH_LIBFIBRE_TRUE=
    5487   WITH_LIBFIBRE_FALSE='#'
    5488 else
    5489   WITH_LIBFIBRE_TRUE='#'
    5490   WITH_LIBFIBRE_FALSE=
    5491 fi
    5492 
    5493 
    5494 # Checks for header files.
    5495 ac_ext=c
    5496 ac_cpp='$CPP $CPPFLAGS'
    5497 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
    5498 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
    5499 ac_compiler_gnu=$ac_cv_c_compiler_gnu
    5500 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
    5501 $as_echo_n "checking how to run the C preprocessor... " >&6; }
    5502 # On Suns, sometimes $CPP names a directory.
    5503 if test -n "$CPP" && test -d "$CPP"; then
    5504   CPP=
    5505 fi
    5506 if test -z "$CPP"; then
    5507   if ${ac_cv_prog_CPP+:} false; then :
    5508   $as_echo_n "(cached) " >&6
    5509 else
    5510       # Double quotes because CPP needs to be expanded
    5511     for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
    5512     do
    5513       ac_preproc_ok=false
    5514 for ac_c_preproc_warn_flag in '' yes
    5515 do
    5516   # Use a header file that comes with gcc, so configuring glibc
    5517   # with a fresh cross-compiler works.
    5518   # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    5519   # <limits.h> exists even on freestanding compilers.
    5520   # On the NeXT, cc -E runs the code through the compiler's parser,
    5521   # not just through cpp. "Syntax error" is here to catch this case.
    5522   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    5523 /* end confdefs.h.  */
    5524 #ifdef __STDC__
    5525 # include <limits.h>
    5526 #else
    5527 # include <assert.h>
    5528 #endif
    5529                      Syntax error
    5530 _ACEOF
    5531 if ac_fn_c_try_cpp "$LINENO"; then :
    5532 
    5533 else
    5534   # Broken: fails on valid input.
    5535 continue
    5536 fi
    5537 rm -f conftest.err conftest.i conftest.$ac_ext
    5538 
    5539   # OK, works on sane cases.  Now check whether nonexistent headers
    5540   # can be detected and how.
    5541   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    5542 /* end confdefs.h.  */
    5543 #include <ac_nonexistent.h>
    5544 _ACEOF
    5545 if ac_fn_c_try_cpp "$LINENO"; then :
    5546   # Broken: success on invalid input.
    5547 continue
    5548 else
    5549   # Passes both tests.
    5550 ac_preproc_ok=:
    5551 break
    5552 fi
    5553 rm -f conftest.err conftest.i conftest.$ac_ext
    5554 
    5555 done
    5556 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
    5557 rm -f conftest.i conftest.err conftest.$ac_ext
    5558 if $ac_preproc_ok; then :
    5559   break
    5560 fi
    5561 
    5562     done
    5563     ac_cv_prog_CPP=$CPP
    5564 
    5565 fi
    5566   CPP=$ac_cv_prog_CPP
    5567 else
    5568   ac_cv_prog_CPP=$CPP
    5569 fi
    5570 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
    5571 $as_echo "$CPP" >&6; }
    5572 ac_preproc_ok=false
    5573 for ac_c_preproc_warn_flag in '' yes
    5574 do
    5575   # Use a header file that comes with gcc, so configuring glibc
    5576   # with a fresh cross-compiler works.
    5577   # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    5578   # <limits.h> exists even on freestanding compilers.
    5579   # On the NeXT, cc -E runs the code through the compiler's parser,
    5580   # not just through cpp. "Syntax error" is here to catch this case.
    5581   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    5582 /* end confdefs.h.  */
    5583 #ifdef __STDC__
    5584 # include <limits.h>
    5585 #else
    5586 # include <assert.h>
    5587 #endif
    5588                      Syntax error
    5589 _ACEOF
    5590 if ac_fn_c_try_cpp "$LINENO"; then :
    5591 
    5592 else
    5593   # Broken: fails on valid input.
    5594 continue
    5595 fi
    5596 rm -f conftest.err conftest.i conftest.$ac_ext
    5597 
    5598   # OK, works on sane cases.  Now check whether nonexistent headers
    5599   # can be detected and how.
    5600   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    5601 /* end confdefs.h.  */
    5602 #include <ac_nonexistent.h>
    5603 _ACEOF
    5604 if ac_fn_c_try_cpp "$LINENO"; then :
    5605   # Broken: success on invalid input.
    5606 continue
    5607 else
    5608   # Passes both tests.
    5609 ac_preproc_ok=:
    5610 break
    5611 fi
    5612 rm -f conftest.err conftest.i conftest.$ac_ext
    5613 
    5614 done
    5615 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
    5616 rm -f conftest.i conftest.err conftest.$ac_ext
    5617 if $ac_preproc_ok; then :
    5618 
    5619 else
    5620   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
    5621 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
    5622 as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
    5623 See \`config.log' for more details" "$LINENO" 5; }
    5624 fi
    5625 
    5626 ac_ext=c
    5627 ac_cpp='$CPP $CPPFLAGS'
    5628 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
    5629 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
    5630 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
    56315566
    56325567
     
    57615696
    57625697
     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
    57638947{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
    57648948$as_echo_n "checking for ANSI C header files... " >&6; }
     
    58909074
    58919075
     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.
    589216821ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
    589316822if test "x$ac_cv_type_size_t" = xyes; then :
     
    638017309fi
    638117310done
     17311
     17312
     17313#==============================================================================
     17314# backend compiler implementation
     17315
     17316cat >>confdefs.h <<_ACEOF
     17317#define CFA_BACKEND_CC "${CC}"
     17318_ACEOF
     17319
    638217320
    638317321
     
    712418062AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
    712518063
     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
    712618445_ACEOF
    712718446
     
    713418453    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:src/config.h.in" ;;
    713518454    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
     18455    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
    713618456    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
    713718457    "driver/Makefile") CONFIG_FILES="$CONFIG_FILES driver/Makefile" ;;
     
    786419184}
    786519185 ;;
     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 ;;
    786619896
    786719897  esac
  • configure.ac

    rff5caaf r95b8aa7  
    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])
     
    5556AC_SUBST([DOendif])
    5657AM_SUBST_NOTMAKE([DOendif])
    57 
    58 #==============================================================================
    59 # backend compiler implementation
    60 AC_ARG_WITH(backend-compiler,
    61        [  --with-backend-compiler=PROGRAM     PROGRAM that performs the final code compilation (must be gcc-compatible) ],
    62        backendcompiler=$withval, backendcompiler="")
    63 if test "x$backendcompiler" != "x"; then
    64        BACKEND_CC=${backendcompiler}
    65 else
    66        AC_PATH_PROG(BACKEND_CC, gcc, [])       # check gcc installed
    67        if test "x$BACKEND_CC" = "x"; then
    68                AC_MSG_ERROR(some version of gcc is needed. Get it at ftp://ftp.gnu.org)
    69                exit 1
    70        fi
    71 fi
    72 AC_DEFINE_UNQUOTED(CFA_BACKEND_CC, "${BACKEND_CC}", [Location of include files.])
    73 AC_SUBST(CFA_BACKEND_CC)
    7458
    7559#==============================================================================
     
    172156        echo -n "${LIBCFA_PATHS} " >> ${lib_dir}/config.data
    173157        echo -n "ARCHITECTURE=${lib_arch} " >> ${lib_dir}/config.data
    174         echo -n "CONFIGURATION=${lib_config}" >> ${lib_dir}/config.data
     158        echo -n "CONFIGURATION=${lib_config} " >> ${lib_dir}/config.data
     159        echo -n "CFA_VERSION=${ver_major}:${ver_minor}:${ver_patch}" >> ${lib_dir}/config.data
    175160done
    176161
     
    199184AC_PROG_LEX
    200185if test "${LEX}" = "lex" ; then echo "Error: flex required." ; exit 1 ; fi
     186AC_PROG_LIBTOOL
    201187AC_PROG_INSTALL
    202188AC_PROG_MAKE_SET
    203 AC_PROG_RANLIB
    204189
    205190# Checks for libraries.
     
    227212
    228213#==============================================================================
     214# backend compiler implementation
     215AC_DEFINE_UNQUOTED(CFA_BACKEND_CC, "${CC}", [Backend compiler to use.])
     216AC_SUBST(CFA_BACKEND_CC)
     217
     218#==============================================================================
    229219AC_CONFIG_FILES([
    230220        Makefile
  • doc/bibliography/pl.bib

    rff5caaf r95b8aa7  
    2121%  toplas: ACM Trans. on Prog. Lang. & Sys.
    2222%  tcs: Theoretical Computer Science
    23 @string{ieeepds="IEEE Transactions on Parallel and Distributed Systems"}
    24 % @string{ieeepds="IEEE Trans. Parallel Distrib. Syst."}
    25 @string{ieeese="IEEE Transactions on Software Engineering"}
    26 % @string{ieeese="IEEE Trans. Softw. Eng."}
    27 @string{spe="Software---\-Practice and Experience"}
    28 % @string{spe="Softw. Pract. Exp."}
    29 @string{ccpe="Concurrency and Computation: Practice and Experience"}
    30 % @string{ccpe="Concurrency Comput: Pract Experience"}
    31 @string{sigplan="SIGPLAN Notices"}
    32 % @string{sigplan="SIGPLAN Not."}
    33 @string{joop="Journal of Object-Oriented Programming"}
    34 % @string{joop="J. of Object-Oriented Program."}
     23
     24string{ieeepds="IEEE Transactions on Parallel and Distributed Systems"}
     25@string{ieeepds="IEEE Trans. Parallel Distrib. Syst."}
     26string{ieeese="IEEE Transactions on Software Engineering"}
     27@string{ieeese="IEEE Trans. Softw. Eng."}
     28string{spe="Software---\-Practice and Experience"}
     29@string{spe="Softw. Pract. Exper."}
     30string{ccpe="Concurrency and Computation: Practice and Experience"}
     31@string{ccpe="Concurrency Comput.: Pract. Exper."}
     32string{sigplan="SIGPLAN Notices"}
     33@string{sigplan="SIGPLAN Not."}
     34string{joop="Journal of Object-Oriented Programming"}
     35@string{joop="J. of Object-Oriented Program."}
    3536@string{popl="Conference Record of the ACM Symposium on Principles of Programming Languages"}
    3637@string{osr="Operating Systems Review"}
    3738@string{pldi="Programming Language Design and Implementation"}
    3839@string{toplas="Transactions on Programming Languages and Systems"}
    39 @string{mathann="Mathematische Annalen"}
    40 % @string{mathann="Math. Ann."}
     40string{mathann="Mathematische Annalen"}
     41@string{mathann="Math. Ann."}
    4142
    4243% A
     
    566567}
    567568
     569@inproceedings {Qin18,
     570    author      = {Henry Qin and Qian Li and Jacqueline Speiser and Peter Kraft and John Ousterhout},
     571    title       = {Arachne: Core-Aware Thread Management},
     572    booktitle   = {13th {USENIX} Symp. on Oper. Sys. Design and Impl. ({OSDI} 18)},
     573    year        = {2018},
     574    address     = {Carlsbad, CA},
     575    pages       = {145-160},
     576    publisher   = {{USENIX} Association},
     577    note        = {\href{https://www.usenix.org/conference/osdi18/presentation/qin}{https://\-www.usenix.org/\-conference/\-osdi18/\-presentation/\-qin}},
     578}
     579
    568580@article{Kessels82,
    569581    keywords    = {concurrency, critical section},
     
    653665    author      = {Joung, Yuh-Jzer},
    654666    title       = {Asynchronous group mutual exclusion},
    655     journal     = {Distributed Computing},
     667    journal     = {Dist. Comput.},
     668    optjournal  = {Distributed Computing},
    656669    year        = {2000},
    657670    month       = {Nov},
     
    796809        time computable inheritance hierarchy.
    797810    },
    798     comment = {
     811    comment     = {
    799812        Classes are predicates; if object {\tt o} is in class {\tt C}, then
    800813        {\tt C} is true of {\tt o}.  Classes are combined with {\tt :AND},
     
    950963
    951964@article{Moss18,
    952     keywords    = {type systems, tuples, Cforall},
     965    keywords    = {type systems, polymorphism, tuples, Cforall},
    953966    contributer = {pabuhr@plg},
    954967    author      = {Aaron Moss and Robert Schluntz and Peter A. Buhr},
    955968    title       = {\textsf{C}$\mathbf{\forall}$ : Adding Modern Programming Language Features to C},
     969    journal     = spe,
     970    volume      = 48,
     971    number      = 12,
     972    month       = dec,
    956973    year        = 2018,
    957     month       = aug,
    958     journal     = spe,
     974    pages       = {2111-2146},
    959975    note        = {\href{http://dx.doi.org/10.1002/spe.2624}{http://\-dx.doi.org/\-10.1002/\-spe.2624}},
    960976}
     
    9891005    journal     = {Dr. Dobb's Journal of Software Tools},
    9901006    year        = 1989,
    991     month       = feb, volume = 14, number = 2, pages = {45-51},
     1007    month       = feb,
     1008    volume      = 14,
     1009    number      = 2,
     1010    pages       = {45-51},
    9921011    comment     = {
    9931012       A light-weight multitasking kernel for MS-DOS.  A task\_control
     
    15071526}
    15081527
    1509 @techreport{uC++,
     1528@manual{uC++,
    15101529    keywords    = {C++, concurrency, light-weight process, shared memory},
    15111530    contributer = {pabuhr@plg},
     1531    key         = {uC++},
    15121532    author      = {Peter A. Buhr},
    15131533    title       = {$\mu${C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} Annotated Reference Manual, Version 7.0.0},
    1514     institution = {School of Computer Science, University of Waterloo},
    1515     address     = {Waterloo, Ontario, Canada, N2L 3G1},
    1516     month       = dec,
    1517     year        = 2017,
     1534    organization= {University of Waterloo},
     1535    month       = sep,
     1536    year        = 2018,
    15181537    note        = {\href{https://plg.uwaterloo.ca/~usystem/pub/uSystem/uC++.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-pub/\-uSystem/uC++.pdf}},
    15191538}
     
    15861605    author      = {Sun, Xianda},
    15871606    title       = {Concurrent High-performance Persistent Hash Table In {J}ava},
    1588     school      = {School of Computer Science, University of Waterloo},
     1607    school      = {School of Computer Sc., University of Waterloo},
    15891608    year        = 2015,
    15901609    optaddress  = {Waterloo, Ontario, Canada, N2L 3G1},
     
    19361955    note        = {Svensk Standard SS 63 61 14},
    19371956    year        = 1987,
    1938     abstract    = {
    1939         Standard for the programming language SIMULA.  Written in English.
    1940     }
     1957    abstract    = {Standard for the programming language SIMULA. Written in English.}
     1958}
     1959
     1960@article{Galil91,
     1961    keywords    = {union-find},
     1962    contributer = {a3moss@uwaterloo.ca},
     1963    title       = {Data structures and algorithms for disjoint set union problems},
     1964    author      = {Galil, Zvi and Italiano, Giuseppe F},
     1965    journal     = {ACM Computing Surveys (CSUR)},
     1966    volume      = 23,
     1967    number      = 3,
     1968    pages       = {319--344},
     1969    year        = 1991,
     1970    publisher   = {ACM},
    19411971}
    19421972
     
    20782108    year        = {1998},
    20792109    pages       = {393-407},
     2110}
     2111
     2112@book{Aho74,
     2113    keywords    = {algorithms, textbook, union-find},
     2114    contributer = {a3moss@uwaterloo.ca},
     2115    title       = {The Design and Analysis of Computer Algorithms},
     2116    author      = {Aho, Alfred V and Hopcroft, John E and Ullman, Jeffrey D},
     2117    year        = {1974},
     2118    publisher   = {Addison-Wesley},
     2119    address     = {Reading, MA, USA}
    20802120}
    20812121
     
    28802920}
    28812921
     2922@inproceedings{Patwary10,
     2923    keywords    = {union-find},
     2924    contributer = {a3moss@uwaterloo.ca},
     2925    author      = {Patwary, Md. Mostofa Ali and Blair, Jean and Manne, Fredrik},
     2926    editor      = {Festa, Paola},
     2927    title       = {Experiments on Union-Find Algorithms for the Disjoint-Set Data Structure},
     2928    booktitle   = {Experimental Algorithms},
     2929    year        = 2010,
     2930    publisher   = {Springer Berlin Heidelberg},
     2931    address     = {Berlin, Heidelberg},
     2932    pages       = {411--423},
     2933    isbn        = {978-3-642-13193-6}
     2934}
     2935
    28822936% F
    28832937
     
    32233277    keywords    = {Go programming language},
    32243278    contributer = {pabuhr@plg},
     3279    author      = {Robert Griesemer and Rob Pike and Ken Thompson},
    32253280    title       = {{Go} Programming Language},
    3226     author      = {Robert Griesemer and Rob Pike and Ken Thompson},
    32273281    organization= {Google},
    32283282    year        = 2009,
     
    34163470    month       = sep,
    34173471    publisher   = {John Wiley \& Sons},
    3418     note        = {\href{https://doi-org.proxy.lib.uwaterloo.ca/10.1002/cpe.4475}{https://\-doi-org.proxy.lib.uwaterloo.ca/\-10.1002/\-cpe.4475}},
     3472    note        = {\href{https://doi.org/10.1002/cpe.4475}{https://\-doi.org/\-10.1002/\-cpe.4475}},
    34193473}
    34203474
     
    35543608    publisher   = {ACM Press},
    35553609    address     = {New York, NY, USA},
     3610}
     3611
     3612@article{Galler64,
     3613    keywords    = {union-find, original},
     3614    contributer = {a3moss@uwaterloo.ca},
     3615    title       = {An improved equivalence algorithm},
     3616    author      = {Galler, Bernard A and Fisher, Michael J},
     3617    journal     = {Communications of the ACM},
     3618    volume      = {7},
     3619    number      = {5},
     3620    pages       = {301--303},
     3621    year        = {1964},
     3622    publisher   = {ACM}
    35563623}
    35573624
     
    38983965    author      = {Peter A. Buhr and Martin Karsten and Jun Shih},
    38993966    title       = {{\small\textsf{KDB}}: A Multi-threaded Debugger for Multi-threaded Applications},
    3900     booktitle   = {Proceedings of SPDT'96: SIGMETRICS Symposium on Parallel and Distributed Tools},
     3967    booktitle   = {Proc. of SPDT'96: SIGMETRICS Symp. on Parallel and Distributed Tools},
    39013968    publisher   = {ACM Press},
    39023969    address     = {Philadelphia, Pennsylvania, U.S.A.},
     
    53895456}
    53905457
     5458@inproceedings{Conchon07,
     5459    keywords    = {persistent array, union-find},
     5460    contributer = {a3moss@uwaterloo.ca},
     5461    title       = {A persistent union-find data structure},
     5462    author      = {Conchon, Sylvain and Filli{\^a}tre, Jean-Christophe},
     5463    booktitle   = {Proceedings of the 2007 workshop on Workshop on ML},
     5464    pages       = {37--46},
     5465    year        = {2007},
     5466    organization= {ACM}
     5467}
     5468
    53915469@article{poly,
    53925470    keywords    = {Poly, Standard ML, Russell, persistence},
     
    56035681    author      = {Peter A. Buhr and Robert Denda},
    56045682    title       = {{$\mu$Profiler} : Profiling User-Level Threads in a Shared-Memory Programming Environment},
    5605     booktitle   = {Proceedings of the Second International Symposium on Computing in Object-Oriented Parallel Environments (ISCOPE'98)},
     5683    booktitle   = {Proc. of 2nd Inter. Symp. on Computing in Object-Oriented Parallel Environments},
    56065684    series      = {Lecture Notes in Computer Science},
    56075685    publisher   = {Springer-Verlag},
     
    59746052    issn        = {0164-0925},
    59756053    pages       = {429-475},
    5976     url         = {http://doi.acm.org.proxy.lib.uwaterloo.ca/10.1145/1133651.1133653},
     6054    url         = {http://doi.acm.org/10.1145/1133651.1133653},
    59776055    doi         = {10.1145/1133651.1133653},
    59786056    acmid       = {1133653},
     
    62416319    contributer = {pabuhr@plg},
    62426320    key         = {Rust},
    6243     title       = {The {R}ust Programming Language},
    6244     address     = {The Rust Project Developers},
     6321    title       = {{R}ust Programming Language},
     6322    optaddress  = {Rust Project Developers},
    62456323    year        = 2015,
    62466324    note        = {\href{https://doc.rust-lang.org/reference.html}{https://\-doc.rust-lang\-.org/\-reference.html}},
     
    63086386    publisher   = {Springer},
    63096387    note        = {Lecture Notes in Computer Science v. 173},
     6388}
     6389
     6390@article{Baker78,
     6391    keywords    = {Algol display, FUNARG's, Lisp 1.5, deep binding, environment trees, multiprogramming, shallow binding},
     6392    contributer = {a3moss@uwaterloo.ca},
     6393    author      = {Baker,Jr., Henry G.},
     6394    title       = {Shallow Binding in Lisp 1.5},
     6395    journal     = {Commun. ACM},
     6396    issue_date  = {July 1978},
     6397    volume      = 21,
     6398    number      = 7,
     6399    month       = jul,
     6400    year        = 1978,
     6401    issn        = {0001-0782},
     6402    pages       = {565--569},
     6403    numpages    = {5},
     6404    url         = {http://doi.acm.org/10.1145/359545.359566},
     6405    doi         = {10.1145/359545.359566},
     6406    acmid       = {359566},
     6407    publisher   = {ACM},
     6408    address     = {New York, NY, USA}
     6409}
     6410
     6411@article{Baker91,
     6412    keywords    = {shallow binding, functional arrays},
     6413    contributer = {a3moss@uwaterloo.ca},
     6414    author      = {Baker, Henry G.},
     6415    title       = {Shallow Binding Makes Functional Arrays Fast},
     6416    journal     = {SIGPLAN Not.},
     6417    issue_date  = {Aug. 1991},
     6418    volume      = 26,
     6419    number      = 8,
     6420    month       = aug,
     6421    year        = 1991,
     6422    issn        = {0362-1340},
     6423    pages       = {145--147},
     6424    numpages    = {3},
     6425    url         = {http://doi.acm.org/10.1145/122598.122614},
     6426    doi         = {10.1145/122598.122614},
     6427    acmid       = {122614},
     6428    publisher   = {ACM},
     6429    address     = {New York, NY, USA},
    63106430}
    63116431
     
    74767596}
    74777597
     7598@article{Tarjan84,
     7599    keywords    = {union-find},
     7600    contributer = {a3moss@uwaterloo.ca},
     7601    author      = {Tarjan, Robert E. and van Leeuwen, Jan},
     7602    title       = {Worst-case Analysis of Set Union Algorithms},
     7603    journal     = {J. ACM},
     7604    issue_date  = {April 1984},
     7605    volume      = 31,
     7606    number      = 2,
     7607    month       = mar,
     7608    year        = 1984,
     7609    issn        = {0004-5411},
     7610    pages       = {245--281},
     7611    numpages    = {37},
     7612    url         = {http://doi.acm.org/10.1145/62.2160},
     7613    doi         = {10.1145/62.2160},
     7614    acmid       = {2160},
     7615    publisher   = {ACM},
     7616    address     = {New York, NY, USA},
     7617}
     7618
    74787619% X
    74797620
  • doc/papers/concurrency/Paper.tex

    rff5caaf r95b8aa7  
    686686        Fib f1, f2;
    687687        for ( int i = 1; i <= 10; i += 1 ) {
    688                 sout | next( f1 ) | next( f2 ) | endl;
     688                sout | next( f1 ) | next( f2 );
    689689        }
    690690}
     
    772772                        sout | "  ";               // separator
    773773                }
    774                 sout | endl;
     774                sout | nl;
    775775        }
    776776}
    777777void ?{}( Format & fmt ) { `resume( fmt );` }
    778778void ^?{}( Format & fmt ) with( fmt ) {
    779         if ( g != 0 || b != 0 ) sout | endl;
     779        if ( g != 0 || b != 0 ) sout | nl;
    780780}
    781781void format( Format & fmt ) {
     
    855855        for ( int i = 0; i < N; i += 1 ) {
    856856                int p1 = random( 100 ), p2 = random( 100 );
    857                 sout | p1 | " " | p2 | endl;
     857                sout | p1 | " " | p2;
    858858                int status = delivery( c, p1, p2 );
    859                 sout | " $" | money | endl | status | endl;
     859                sout | " $" | money | nl | status;
    860860                receipt += 1;
    861861        }
    862862        stop( c );
    863         sout | "prod stops" | endl;
     863        sout | "prod stops";
    864864}
    865865int payment( Prod & prod, int money ) {
     
    895895        int money = 1, receipt;
    896896        for ( ; ! done; ) {
    897                 sout | p1 | " " | p2 | endl | " $" | money | endl;
     897                sout | p1 | " " | p2 | nl | " $" | money;
    898898                status += 1;
    899899                receipt = payment( p, money );
    900                 sout | " #" | receipt | endl;
     900                sout | " #" | receipt;
    901901                money += 1;
    902902        }
    903         sout | "cons stops" | endl;
     903        sout | "cons stops";
    904904}
    905905int delivery( Cons & cons, int p1, int p2 ) {
     
    10991099
    11001100void main(foo & this) {
    1101         sout | "Hello World!" | endl;
     1101        sout | "Hello World!";
    11021102}
    11031103\end{cfa}
     
    11241124
    11251125void hello(/*unused*/ int) {
    1126         sout | "Hello World!" | endl;
     1126        sout | "Hello World!";
    11271127}
    11281128
     
    11411141thread World {};
    11421142void main( World & this ) {
    1143         sout | "World!" | endl;
     1143        sout | "World!";
    11441144}
    11451145int main() {
    11461146        World w`[10]`;                                                  $\C{// implicit forks after creation}$
    1147         sout | "Hello " | endl;                                 $\C{// "Hello " and 10 "World!" printed concurrently}$
     1147        sout | "Hello ";                                        $\C{// "Hello " and 10 "World!" printed concurrently}$
    11481148}                                                                                       $\C{// implicit joins before destruction}$
    11491149\end{cfa}
     
    11931193                total += subtotals[r];                          $\C{// total subtotal}$
    11941194    }
    1195     sout | total | endl;
     1195    sout | total;
    11961196}
    11971197\end{cfa}
     
    21922192        BENCH(
    21932193                for ( size_t i = 0; i < N; i += 1 ) { @resume( c );@ } )
    2194         sout | result`ns | endl;
     2194        sout | result`ns;
    21952195}
    21962196\end{cfa}
     
    22052205        BENCH(
    22062206                for ( size_t i = 0; i < N; i += 1 ) { @yield();@ } )
    2207         sout | result`ns | endl;
     2207        sout | result`ns;
    22082208}
    22092209\end{cfa}
     
    22442244int main() {
    22452245        BENCH( for( size_t i = 0; i < N; i += 1 ) { @do_call( m1/*, m2, m3, m4*/ );@ } )
    2246         sout | result`ns | endl;
     2246        sout | result`ns;
    22472247}
    22482248\end{cfa}
     
    23052305        BENCH( for ( size_t i = 0; i < N; i += 1 ) { @wait( c );@ } );
    23062306        go = 0; // stop other thread
    2307         sout | result`ns | endl;
     2307        sout | result`ns;
    23082308}
    23092309int main() {
     
    23562356        BENCH( for ( size_t i = 0; i < N; i += 1 ) { @waitfor( do_call, m );@ } )
    23572357        go = 0; // stop other thread
    2358         sout | result`ns | endl;
     2358        sout | result`ns;
    23592359}
    23602360int main() {
     
    23912391int main() {
    23922392        BENCH( for ( size_t i = 0; i < N; i += 1 ) { @MyThread m;@ } )
    2393         sout | result`ns | endl;
     2393        sout | result`ns;
    23942394}
    23952395\end{cfa}
  • doc/proposals/flags.md

    rff5caaf r95b8aa7  
    6060        ```
    6161        FunFlags f = some_val();
    62         if ( f ) { sout | "f has some flag(s) set" | endl; }
    63         if ( f & FOO ) { sout | "f has FOO set" | endl; }
     62        if ( f ) { sout | "f has some flag(s) set"; }
     63        if ( f & FOO ) { sout | "f has FOO set"; }
    6464        f |= FOO; // set FOO
    6565        f -= FOO; // unset FOO
     
    8888        ```
    8989        FunFlags f = some_val();
    90         if ( f.FOO ) { sout | "f has FOO set" | endl; }
     90        if ( f.FOO ) { sout | "f has FOO set"; }
    9191        f.FOO = true;    // set FOO
    9292        f.FOO = false;   // unset FOO
  • doc/theses/aaron_moss_PhD/phd/Makefile

    rff5caaf r95b8aa7  
    11BUILD = build
    22BIBDIR = ../../../bibliography
     3EVALDIR = evaluation
    34TEXLIB = .:${BUILD}:${BIBDIR}:
    45
    5 LATEX = TEXINPUTS=${TEXLIB} && export TEXINPUTS && pdflatex -interaction= -output-directory=${BUILD}
     6# LATEX = TEXINPUTS=${TEXLIB} && export TEXINPUTS && pdflatex -interaction=nonstopmode -halt-on-error -output-directory=${BUILD}
     7LATEX = TEXINPUTS=${TEXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${BUILD}
    68BIBTEX = BIBINPUTS=${TEXLIB} && export BIBINPUTS && bibtex
     9
     10VPATH = ${EVALDIR}
    711
    812BASE = thesis
     
    2327}
    2428
     29GRAPHS = ${addsuffix .tex, \
     30generic-timing \
     31}
     32
    2533.PHONY : all rebuild-refs clean wc
    2634
     
    3341        wc ${SOURCES}
    3442
    35 ${DOCUMENT} : ${SOURCES} ${BUILD}
    36         ${LATEX} ${BASE}
    37         ${LATEX} ${BASE}
     43${DOCUMENT} : ${BASE}.ps
     44        ps2pdf ${BUILD}/$<
    3845
    39 rebuild-refs : ${SOURCES} ${BIBFILE} ${BUILD}
     46${BASE}.ps : ${BASE}.dvi
     47        dvips ${BUILD}/$< -o ${BUILD}/$@
     48
     49${BASE}.dvi : Makefile ${SOURCES} ${GRAPHS} ${BIBFILE} ${BUILD}
    4050        ${LATEX} ${BASE}
    4151        ${BIBTEX} ${BUILD}/${BASE}
     
    4353        ${LATEX} ${BASE}
    4454
     55${GRAPHS} : generic-timing.gp generic-timing.dat ${BUILD}
     56        gnuplot -e BUILD="'${BUILD}/'" ${EVALDIR}/generic-timing.gp
     57
    4558${BUILD}:
    4659        mkdir -p ${BUILD}
  • doc/theses/aaron_moss_PhD/phd/generic-types.tex

    rff5caaf r95b8aa7  
    135135
    136136\CC{}, Java, and other languages use \emph{generic types} to produce type-safe abstract data types.
    137 Design and implementation of generic types for \CFA{} is the first major contribution of this thesis, a summary of which is published in \cite{Moss18}.
     137Design and implementation of generic types for \CFA{} is the first major contribution of this thesis, a summary of which is published in \cite{Moss18} and from which this chapter is closely based.
    138138\CFA{} generic types integrate efficiently and naturally with the existing polymorphic functions in \CFA{}, while retaining backward compatibility with C in layout and support for separate compilation.
    139139A generic type can be declared in \CFA{} by placing a !forall! specifier on a !struct! or !union! declaration, and instantiated using a parenthesized list of types after the generic name.
     
    179179\subsection{Related Work}
    180180
    181 One approach to the design of generic types is that taken by \CC{} templates\cit{}.
     181One approach to the design of generic types is that taken by \CC{} templates\cite{C++}.
    182182The template approach is closely related to the macro-expansion approach to C polymorphism demonstrated in Figure~\ref{macro-generic-fig}, but where the macro-expansion syntax has been given first-class language support.
    183183Template expansion has the benefit of generating code with near-optimal runtime efficiency, as distinct optimizations can be applied for each instantiation of the template.
     
    185185The most significant restriction of the \CC{} template model is that it breaks separate compilation and C's translation-unit-based encapsulation mechanisms.
    186186Because a \CC{} template is not actually code, but rather a sort of ``recipe'' to generate code, template code must be visible at its call site to be used.
     187Furthermore, \CC{} template code cannot be type-checked without instantiating it, a time consuming process with no hope of improvement until \CC{} concepts\cite{C++Concepts} are standardized in \CCtwenty{}.
    187188C code, by contrast, only needs a !struct! or function declaration to call that function or use (by-pointer) values of that type, a desirable property to maintain for \CFA{}.
    188189
    189 Java\cit{} has another prominent implementation for generic types, based on a significantly different approach than \CC{}.
     190Java\cite{Java8} has another prominent implementation for generic types, introduced in Java~5 and based on a significantly different approach than \CC{}.
    190191The Java approach has much more in common with the !void*!-polymorphism shown in Figure~\ref{void-generic-fig}; since in Java nearly all data is stored by reference, the Java approach to polymorphic data is to store pointers to arbitrary data and insert type-checked implicit casts at compile-time.
    191192This process of \emph{type erasure} has the benefit of allowing a single instantiation of polymorphic code, but relies heavily on Java's object model and garbage collector.
    192193To use this model, a more C-like language such as \CFA{} would be required to dynamically allocate internal storage for variables, track their lifetime, and properly clean them up afterward.
    193194
    194 \TODO{Talk about Go, maybe Rust, Swift, etc. as well; specifically mention ``fat pointer'' polymorphism}
    195 
    196 \TODO{Talk about Cyclone as well, and why my generics are more powerful}
     195Cyclone\cite{Grossman06} is another language extending C, and also provides capabilities for polymorphic functions and existential types, similar to \CFA{}'s !forall! functions and generic types.
     196Cyclone existential types can include function pointers in a construct similar to a virtual function table, but these pointers must be explicitly initialized at some point in the code, which is tedious and error-prone compared to \CFA{}'s implicit assertion satisfaction.
     197Furthermore, Cyclone's polymorphic functions and types are restricted to abstraction over types with the same layout and calling convention as !void*!, \ie{} only pointer types and !int!.
     198In the \CFA{} terminology discussed in Section~\ref{generic-impl-sec}, all Cyclone polymorphism must be dtype-static.
     199While the Cyclone polymorphism design provides the efficiency benefits discussed in Section~\ref{dtype-static-sec} for dtype-static polymorphism, it is more restrictive than the more general model of \CFA{}.
     200
     201Many other languages include some form of generic types.
     202As a brief survey, ML\cite{ML} was the first language to support parameteric polymorphism, but unlike \CFA{} does not support the use of assertions and traits to constrain type arguments.
     203Haskell\cite{Haskell10} combines ML-style polymorphism with the notion of type classes, similar to \CFA{} traits, but requiring an explicit association with their implementing types, unlike \CFA{}.
     204Objective-C\cite{obj-c-book} is an extension to C which has had some industrial success; however, it did not support type-checked generics until recently\cite{xcode7}, and it's garbage-collected, message-passing object-oriented model is a radical departure from C.
     205Go\cite{Go}, and Rust\cite{Rust} are modern compiled languages with abstraction features similar to \CFA{} traits, \emph{interfaces} in Go and \emph{traits} in Rust.
     206Go has implicit interface implementation and uses a ``fat pointer'' construct to pass polymorphic objects to functions, similar in principle to \CFA{}'s implicit forall paramters.
     207Go does not, however, allow user code to define generic types, restricting Go programmers to the small set of generic types defined by the compiler.
     208Rust has powerful abstractions for generic programming, including explicit implemenation of traits and options for both separately-compiled virtual dispatch and template-instantiated static dispatch in functions.
     209On the other hand, the safety guarantees of Rust's \emph{lifetime} abstraction and borrow checker impose a distinctly idiosyncratic programming style and steep learning curve; \CFA{}, with its more modest safety features, allows direct ports of C code while maintaining the idiomatic style of the original source.
    197210
    198211\subsection{\CFA{} Generics}
     
    212225
    213226In this example, !with_len! is defined at the same scope as !pair!, but it could be called from any context that can see the definition of !pair! and a declaration of !with_len!.
    214 If its return type was !pair(const char*, int)*!, callers of !with_len! would only need the declaration !forall(otype R, otype S) struct pair;! to call it, in accordance with the usual C rules for opaque types.
     227If its return type was !pair(const char*, int)*!, callers of !with_len! would only need the declaration !forall(otype R, otype S) struct pair! to call it, in accordance with the usual C rules for opaque types.
    215228
    216229!with_len! is itself a monomorphic function, returning a type that is structurally identical to !struct { const char* first; int second; }!, and as such could be called from C given an appropriate redeclaration and demangling flags.
     
    234247\end{cfa}
    235248
    236 \section{Implementation}
    237 
    238 % forall constraints on struct/union constrain default constructor (TODO check with Rob)
    239 
    240 % TODO discuss layout function algorithm, application to separate compilation
    241 % TODO put a static const field in for _n_fields for each generic, describe utility for separate compilation (actually no, you need to be able to see the type for it to be sized)
    242 
    243 % mention that tuples are implemented on top of a per-arity generic type
    244 
    245 \section{Performance Experiments}
    246 
    247 % TODO pull benchmarks from Moss et al.
     249\CFA{} generic types also support the type constraints from !forall! functions.
     250For example, the following declaration of a sorted set type ensures that the set key implements equality and relational comparison:
     251
     252\begin{cfa}
     253forall(otype Key | { int ?==?(Key, Key); int ?<?(Key, Key); }) struct sorted_set;
     254\end{cfa}
     255
     256These constraints are implemented by applying equivalent constraints to the compiler-generated constructors for this type.
     257
     258\section{Implementation} \label{generic-impl-sec}
     259
     260The ability to use generic types in polymorphic contexts means that the \CFA{} implementation in \CFACC{} must support a mechanism for accessing fields of generic types dynamically at runtime.
     261While \CFACC{} could in principle use this same mechanism for accessing fields of all generic types, such an approach would throw away compiler knowledge of static types and impose an unnecessary runtime cost, limiting the utility of the generic type design.
     262Instead, my design for generic type support in \CFACC{} distinguishes between \emph{concrete} generic types that have a fixed memory layout regardless of type parameters and \emph{dynamic} generic types that may vary in memory layout depending on their type parameters.
     263A \emph{dtype-static} type has polymorphic parameters but is still concrete.
     264Polymorphic pointers are an example of dtype-static types; given some type variable !T!, T is a polymorphic type, but !T*! has a fixed size and can therefore be represented by a !void*! in code generation.
     265In particular, generic types where all parameters are un-!sized! (\ie{} they do not conform to the built-in !sized! trait because the compiler does not know their size and alignment) are always concrete, as there is no possibility for their layout to vary based on type parameters of unknown size and alignment.
     266More precisely, a type is concrete if and only if all of its !sized! type parameters are concrete, and a concrete type is dtype-static if any of its type parameters are (possibly recursively) polymorphic.
     267To illustrate, the following code using the !pair! type from above \TODO{test this} has each use of !pair! commented with its class:
     268
     269\begin{cfa}
     270//dynamic, layout varies based on T
     271forall(otype T) T value( pair(const char*, T) p ) { return p.second; }
     272
     273// dtype-static, F* and T* are concrete but recursively polymorphic
     274forall(dtype F, otype T) T value( pair(F*, T*) ) { return *p.second; }
     275
     276pair(const char*, int) p = {"magic", 42}; $\C[2.5in]{// concrete}$
     277int i = value(p);
     278pair(void*, int*) q = {0, &p.second}; $\C[2.5in]{// concrete}$
     279i = value(q);
     280double d = 1.0;
     281pair(double*, double*) r = {&d, &d}; $\C[2.5in]{// concrete}$
     282d = value(r);
     283\end{cfa}
     284
     285\subsection{Concrete Generic Types}
     286
     287The \CFACC{} translator template expands concrete generic types into new structure types, affording maximal inlining.
     288To enable interoperation among equivalent instantiations of a generic type, \CFACC{} saves the set of instantiations currently in scope and reuses the generated structure declarations where appropriate.
     289In particular, tuple types are implemented as a single compiler-generated generic type definition per tuple arity, and can be instantiated and reused according to the usual rules for generic types.
     290A function declaration that accepts or returns a concrete generic type produces a declaration for the instantiated structure in the same scope, which all callers may reuse.
     291As an example, the concrete instantiation for !pair(const char*, int)! is\footnote{This omits the field name mangling performed by \CFACC{} for overloading purposes.\label{mangle-foot}}
     292
     293\begin{cfa}
     294struct _pair_conc0 { const char * first; int second; };
     295\end{cfa}
     296
     297A concrete generic type with dtype-static parameters is also expanded to a structure type, but this type is used for all matching instantiations.
     298In the example above, the !pair(F*, T*)! parameter to !value! is such a type; its expansion is below\footref{mangle-foot}, and it is used as the type of the variables !q! and !r! as well, with casts for member access where appropriate.
     299
     300\begin{cfa}
     301struct _pair_conc1 { void* first; void* second; };
     302\end{cfa}
     303
     304\subsection{Dynamic Generic Types}
     305
     306In addition to this efficient implementation of concrete generic types, \CFA{} also offers flexibility with powerful support for dynamic generic types.
     307In the pre-existing compiler design, !otype! (and all !sized!) type parameters come with implicit size and alignment parameters provided by the caller.
     308The design for generic types presented here adds an \emph{offset array} containing structure-member offsets for dynamic generic !struct! types.
     309A dynamic generic !union! needs no such offset array, as all members are at offset 0, but size and alignment are still necessary.
     310Access to members of a dynamic structure is provided at runtime via base displacement addressing the structure pointer and the member offset (similar to the !offsetof! macro), moving a compile-time offset calculation to runtime.
     311
     312the offset arrays are statically generated where possible.
     313If a dynamic generic type is passed or returned by value from a polymorphic function, \CFACC{} can safely assume that the generic type is complete (\ie{} has a known layout) at any call site, and the offset array is passed from the caller; if the generic type is concrete at the call site, the elements of this offset array can even be statically generated using the C !offsetof! macro.
     314As an example, the body of the second !value! function above is implemented as
     315
     316\begin{cfa}
     317_assign_T( _retval, p + _offsetof_pair[1] ); $\C[2in]{// return *p.second}$
     318\end{cfa}
     319
     320Here, !_assign_T! is passed in as an implicit parameter from !otype T! and takes two !T*! (!void*! in the generated code), a destination and a source, and !_retval! is the pointer to a caller-allocated buffer for the return value, the usual \CFA{} method to handle dynamically-sized return types.
     321!_offsetof_pair! is the offset array passed into !value!; this array is generated at the call site as
     322
     323\begin{cfa}
     324size_t _offsetof_pair[] = {offsetof(_pair_conc0, first),  offsetof(_pair_conc0, second)};
     325\end{cfa}
     326
     327\subsubsection{Layout Functions}
     328
     329In some cases, the offset arrays cannot be statically generated.
     330For instance, modularity is generally provided in C by including an opaque forward declaration of a structure and associated accessor and mutator functions in a header file, with the actual implementations in a separately-compiled \texttt{.c} file.
     331\CFA{} supports this pattern for generic types, implying that the caller of a polymorphic function may not know the actual layout or size of a dynamic generic type and only holds it by pointer.
     332\CFACC{} automatically generates \emph{layout functions} for cases where the size, alignment, and offset array of a generic struct cannot be passed into a function from that functions's caller.
     333These layout functions take as arguments pointers to size and alignment variables and a caller-allocated array of member offsets, as well as the size and alignment of all !sized! parameters to the generic structure.
     334Un!sized! parameters not passed because they are forbidden from being used in a context that affects layout by C's usual rules about incomplete types.
     335Similarly, the layout function can only safely be called from a context where the generic type definition is visible, because otherwise the caller will not know how large to allocate the array of member offsets.
     336
     337The C standard does not specify a memory layout for structs, but the POSIX ABI for x86\cit{} does; this memory layout is common for C implementations, but is a platform-specific issue for porting \CFA{}.
     338This algorithm, sketched below in pseudo-\CFA{}, is a straightforward mapping of consecutive fields into the first properly-aligned offset in the !struct! layout; layout functions for !union! types omit the offset array and simply calculate the maximum size and alignment over all union variants.
     339Since \CFACC{} generates a distinct layout function for each type, constant-folding and loop unrolling are applied.
     340
     341\begin{cfa}
     342forall(dtype T1, dtype T2, ... | sized(T1) | sized(T2) | ...)
     343void layout(size_t* size, size_t* align, size_t* offsets) {
     344        // initialize values
     345        *size = 0; *align = 1;
     346        // set up members
     347        for ( int i = 0; i < n_fields; ++i ) {
     348                // pad to alignment
     349                size_t off_align = *size % alignof(field[i]);
     350                if ( off_align != 0 ) { *size += alignof(field[i]) - off_align; }
     351                // mark member, increase size, and fix alignment
     352                offsets[i] = *size;
     353                *size += sizeof(field[i]);
     354                if ( *align < alignof(field[i]) ) { *align = alignof(field[i]); }
     355        }
     356        // final padding to alignment
     357        size_t off_align = *size % *align;
     358        if ( off_align != 0 ) { *size += *align - off_align; }
     359}
     360\end{cfa}
     361
     362Results of layout function calls are cached so that they are only computed once per type per function.
     363Layout functions also allow generic types to be used in a function definition without reflecting them in the function signature, an important implemenation-hiding constraint of the design.
     364For instance, a function that strips duplicate values from an unsorted !list(T)! likely has a reference to the list as its only explicit parameter, but uses some sort of !set(T)! internally to test for duplicate values.
     365This function could acquire the layout for !set(T)! by calling its layout function, providing as an argument the layout of !T! implicitly passed into that function.
     366
     367Whether a type is concrete, dtype-static, or dynamic is decided solely on the basis of the type arguments and !forall! clause type paramters.
     368This design allows opaque forward declarations of generic types, \eg{} !forall(otype T) struct Box;! like in C, all uses of $Box(T)$ can be separately compiled, and callers from other translation units know the proper calling conventions to use.
     369In an alternate design where the definition of a structure type is included in deciding whether a generic type is dynamic or concrete, some further types may be recognized as dtype-static --- \eg{} !Box! could be defined with a body !{ T* p; }!, and would thus not depend on !T! for its layout.
     370However, the existence of an !otype! parameter !T! means that !Box! \emph{could} depend on !T! for its layout if this definition is not visible, and we judged preserving separate compilation (and the associated C compatibility) in the implemented design to be an acceptable trade-off.
     371
     372\subsection{Applications of Dtype-static Types} \label{dtype-static-sec}
     373
     374The reuse of dtype-static structure instantiations enables useful programming patterns at zero runtime cost.
     375The most important such pattern is using !forall(dtype T) T*! as a type-checked replacement for !void*!, \eg{} creating a lexicographic comparison function for pairs of pointers.
     376
     377\begin{cfa}
     378forall(dtype T)
     379int lexcmp( pair(T*, T*)* a, pair(T*, T*)* b, int (*cmp)(T*, T*) ) {
     380        int c = cmp( a->first, b->first );
     381        return c ? c : cmp( a->second, b->second );
     382}
     383\end{cfa}
     384
     385Since !pair(T*, T*)! is a concrete type, there are no implicit parameters passed to !lexcmp!; hence, the generated code is identical to a function written in standard C using !void*!, yet the \CFA{} version is type-checked to ensure members of both pairs and arguments to the comparison function match in type.
     386
     387Another useful pattern enabled by reused dtype-static type instantiations is zero-cost \emph{tag structures}.
     388Sometimes, information is only used for type checking and can be omitted at runtime.
     389In the example below, !scalar! is a dtype-static type; hence, all uses have a single structure definition containing !unsigned long! and can share the same implementations of common functions like !?+?!.
     390These implementations may even be separately compiled, unlike \CC{} template functions.
     391However, the \CFA{} type checker ensures matching types are used by all calls to !?+?!, preventing nonsensical computations like adding a length to a volume.
     392
     393\begin{cfa}
     394forall(dtype Unit) struct scalar { unsigned long value; };
     395struct metres {};
     396struct litres {};
     397
     398forall(dtype U) scalar(U) ?+?(scalar(U) a, scalar(U) b) {
     399        return (scalar(U)){ a.value + b.value };
     400}
     401
     402scalar(metres) half_marathon = { 21098 };
     403scalar(litres) pool = { 2500000 };
     404scalar(metres) marathon = half_marathon + half_marathon;
     405`marathon + pool;` $\C[4in]{// compiler ERROR, mismatched types}$
     406\end{cfa}
     407
     408\section{Performance Experiments} \label{generic-performance-sec}
     409
     410To validate the practicality of this generic type design I have conducted microbenchmark-based tests against a number of comparable code designs in C and \CC{}, first published in \cite{Moss18}.
     411Since all these languages are compiled with the same compiler backend and share a subset essentially comprising standard C, maximal-performance benchmarks should show little runtime variance, differing only in length and clarity of source code.
     412A more illustrative comparison measures the costs of idiomatic usage of each language's features.
     413The code below shows the \CFA{} benchmark tests for a generic stack based on a singly-linked list; the test suite is equivalent for the other other languages.
     414The experiment uses element types !int! and !pair(short, char)! and pushes $N = 40M$ elements on a generic stack, copies the stack, clears one of the stacks, and finds the maximum value in the other stack.
     415
     416\begin{cfa}
     417int main() {
     418        int max = 0, val = 42;
     419        stack( int ) si, ti;
     420
     421        REPEAT_TIMED( "push_int", N, push( si, val ); )
     422        TIMED( "copy_int", ti{ si }; )
     423        TIMED( "clear_int", clear( si ); )
     424        REPEAT_TIMED( "pop_int", N, int x = pop( ti ); if ( x > max ) max = x; )
     425
     426        pair( short, char ) max = { 0h, '\0' }, val = { 42h, 'a' };
     427        stack( pair( short, char ) ) sp, tp;
     428
     429        REPEAT_TIMED( "push_pair", N, push( sp, val ); )
     430        TIMED( "copy_pair", tp{ sp }; )
     431        TIMED( "clear_pair", clear( sp ); )
     432        REPEAT_TIMED( "pop_pair", N, pair(short, char) x = pop( tp );
     433                if ( x > max ) max = x; )
     434}
     435\end{cfa}
     436
     437The four versions of the benchmark implemented are C with !void*!-based polymorphism, \CFA{} with parameteric polymorphism, \CC{} with templates, and \CC{} using only class inheritance for polymorphism, denoted \CCV{}.
     438The \CCV{} variant illustrates an alternative object-oriented idiom where all objects inherit from a base !object! class, mimicking a Java-like interface; in particular, runtime checks are necessary to safely downcast objects.
     439The most notable difference among the implementations is the memory layout of generic types: \CFA{} and \CC{} inline the stack and pair elements into corresponding list and pair nodes, while C and \CCV{} lack such capability and, instead, must store generic objects via pointers to separately allocated objects.
     440Note that the C benchmark uses unchecked casts as C has no runtime mechanism to perform such checks, whereas \CFA{} and \CC{} provide type safety statically.
     441
     442Figure~\ref{generic-eval-fig} and Table~\ref{generic-eval-table} show the results of running the described benchmark.
     443The graph plots the median of five consecutive runs of each program, with an initial warm-up run omitted.
     444All code is compiled at \texttt{-O2} by gcc or g++ 6.4.0, with all \CC{} code compiled as \CCfourteen{}.
     445The benchmarks are run on an Ubuntu 16.04 workstation with 16 GB of RAM and a 6-core AMD FX-6300 CPU with 3.5 GHz maximum clock frequency.
     446I conjecture that these results scale across most uses of generic types, given the constant underlying polymorphism implementation.
     447
     448\begin{figure}
     449\centering
     450\input{generic-timing}
     451\caption{Benchmark timing results (smaller is better)} \label{generic-eval-fig}
     452\end{figure}
     453
     454\begin{table}
     455\caption{Properties of benchmark code} \label{generic-eval-table}
     456\centering
     457\newcommand{\CT}[1]{\multicolumn{1}{c}{#1}}
     458\begin{tabular}{lrrrr}
     459                                                                        & \CT{C}        & \CT{\CFA}     & \CT{\CC}      & \CT{\CCV}             \\
     460maximum memory usage (MB)                       & 10\,001       & 2\,502        & 2\,503        & 11\,253               \\
     461source code size (lines)                        & 201           & 191           & 125           & 294                   \\
     462redundant type annotations (lines)      & 27            & 0                     & 2                     & 16                    \\
     463binary size (KB)                                        & 14            & 257           & 14            & 37                    \\
     464\end{tabular}
     465\end{table}
     466
     467The C and \CCV{} variants are generally the slowest and have the largest memory footprint, due to their less-efficient memory layout and the pointer indirection necessary to implement generic types in those languages; this inefficiency is exacerbated by the second level of generic types in the pair benchmarks.
     468By contrast, the \CFA{} and \CC{} variants run in roughly equivalent time for both the integer and pair because of the equivalent storage layout, with the inlined libraries (\ie{} no separate compilation) and greater maturity of the \CC{} compiler contributing to its lead.
     469\CCV{} is slower than C largely due to the cost of runtime type checking of downcasts (implemented with !dynamic_cast!); the outlier for \CFA{}, pop !pair!, results from the complexity of the generated-C polymorphic code.
     470The gcc compiler is unable to optimize some dead code and condense nested calls; a compiler designed for \CFA{} could more easily perform these optimizations.
     471Finally, the binary size for \CFA{} is larger because of static linking with \CFA{} libraries.
     472
     473\CFA{} is also competitive in terms of source code size, measured as a proxy for programmer effort.
     474The line counts in Table~\ref{generic-eval-table} include implementations of !pair! and !stack! types for all four languages for purposes of direct comparison, although it should be noted that \CFA{} and \CC{} have prewritten data structures in their standard libraries that programmers would generally use instead.
     475Use of these standard library types has minimal impact on the performance benchmarks, but shrinks the \CFA{} and \CC{} code to 39 and 42 lines, respectively.
     476The difference between the \CFA{} and \CC{} line counts is primarily declaration duplication to implement separate compilation; a header-only \CFA{} library is similar in length to the \CC{} version.
     477On the other hand, due to the language shortcomings mentioned at the beginning of the chapter, C does not have a generic collections library in its standard distribution, resulting in frequent reimplementation of such collection types by C programmers.
     478\CCV{} does not use the \CC{} standard template library by construction, and, in fact, includes the definition of !object! and wrapper classes for !char!, !short!, and !int! in its line count, which inflates this count somewhat, as an actual object-oriented language would include these in the standard library.
     479I justify the given line count by noting that many object-oriented languages do not allow implementing new interfaces on library types without subclassing or wrapper types, which may be similarly verbose.
     480
     481Line count is a fairly rough measure of code complexity; another important factor is how much type information the programmer must specify manually, especially where that information is not type-checked.
     482Such unchecked type information produces a heavier documentation burden and increased potential for runtime bugs and is much less common in \CFA{} than C, with its manually specified function pointer arguments and format codes, or \CCV{}, with its extensive use of un-type-checked downcasts, \eg{} !object! to !integer! when popping a stack.
     483To quantify this manual typing, the ``redundant type annotations'' line in Table~\ref{generic-eval-table} counts the number of lines on which the known type of a variable is respecified, either as a format specifier, explicit downcast, type-specific function, or by name in a !sizeof!, !struct! literal, or !new! expression.
     484The \CC{} benchmark uses two redundant type annotations to create new stack nodes, whereas the C and \CCV{} benchmarks have several such annotations spread throughout their code.
     485The \CFA{} benchmark is able to eliminate \emph{all} redundant type annotations through use of the return-type polymorphic !alloc! function in the \CFA{} standard library.
    248486
    249487\section{Future Work}
    250488
    251 % mention future work adding non-type generic parameters, like ints
    252 
    253 % taking advantage of generic layout functions to provide field assertions in forall qualifiers
    254 
    255 % mention packed generic layouts (significantly more complex layout function, but possible)
     489The generic types design presented here is already sufficiently expressive to implement a variety of useful library types.
     490However, some other features based on this design could further improve \CFA{}.
     491
     492The most pressing addition is the ability to have non-type generic parameters.
     493C already supports fixed-length array types, \eg{} !int[10]!; these types are essentially generic types with unsigned integer parameters, and allowing \CFA{} users the capability to build similar types is a requested feature.
     494More exotically, the ability to have these non-type parameters depend on dynamic runtime values rather than static compile-time constants opens up interesting opportunities for type-checking problematic code patterns.
     495For example, if a collection iterator was parameterized over the pointer to the collection it was drawn from, then a sufficiently powerful static analysis pass could ensure that that iterator was only used for that collection, eliminating one source of hard-to-find bugs.
     496
     497The implementation mechanisms behind this generic types design can also be used to add new features to \CFA{}.
     498One such potential feature would be to add \emph{field assertions} to the existing function and variable assertions on polymorphic type variables.
     499Implementation of these field assertions would be based on the same code that supports member access by dynamic offset calculation for dynamic generic types.
     500Simulating field access can already be done more flexibly in \CFA{} by declaring a trait containing an accessor function to be called from polymorphic code, but these accessor functions impose some overhead both to write and call, and directly providing field access via an implicit offset parameter would be both more concise and more efficient.
     501Of course, there are language design trade-offs to such an approach, notably that providing the two similar features of field and function assertions would impose a burden of choice on programmers writing traits, with field assertions more efficient, but function assertions more general; given this open design question we have deferred a decision on field assertions until we have more experience using \CFA{}.
     502If field assertions are included in the language, a natural extension would be to provide a structural inheritance mechanism for every !struct! type that simply turns the list of !struct! fields into a list of field assertions, allowing monomorphic functions over that type to be generalized to polymorphic functions over other similar types with added or reordered fields.
     503\CFA{} could also support a packed or otherwise size-optimized representation for generic types based on a similar mechanism --- the layout function would need to be re-written, but nothing in the use of the offset arrays implies that the field offsets need be monotonically increasing.
     504
     505With respect to the broader \CFA{} polymorphism design, the experimental results in Section~\ref{generic-performance-sec} demonstrate that though the runtime impact of \CFA{}'s dynamic virtual dispatch is low, it is not as low as the static dispatch of \CC{} template inlining.
     506However, rather than subject all \CFA{} users to the compile-time costs of ubiquitous template expansion, we are considering more targeted mechanisms for performance-sensitive code.
     507Two promising approaches are are an !inline! annotation at polymorphic function call sites to create a template specialization of the function (provided the code is visible) or placing a different !inline! annotation on polymorphic function definitions to instantiate a specialized version of the function for some set of types.
     508These approaches are not mutually exclusive and allow performance optimizations to be applied only when necessary, without suffering global code bloat.
     509In general, the \CFA{} team believes that separate compilation works well with loaded hardware caches by producing smaller code, which may offset the benefit of larger inlined code.
  • doc/theses/aaron_moss_PhD/phd/introduction.tex

    rff5caaf r95b8aa7  
    55
    66\begin{table}[h]
    7 \label{tiobe-table}
    8 \caption[TIOBE index over time]{Current top 5 places in the TIOBE index averaged over years}
     7\caption[TIOBE index over time]{Current top 5 places in the TIOBE index averaged over years} \label{tiobe-table}
    98
    109\centering
  • doc/theses/aaron_moss_PhD/phd/macros.tex

    rff5caaf r95b8aa7  
    1212\newcommand{\CCseventeen}{\textrm{C}\kern-.1em\hbox{+\kern-.25em+}17} % C++17 symbolic name
    1313\newcommand{\CCtwenty}{\textrm{C}\kern-.1em\hbox{+\kern-.25em+}20} % C++20 symbolic name
     14\newcommand{\CCV}{\rm C\kern-.1em\hbox{+\kern-.25em+}obj} % C++ virtual symbolic name
    1415\newcommand{\Csharp}{C\raisebox{-0.7ex}{\Large$^\sharp$}} % C# symbolic name
    1516
     
    1920\newcommand{\etal}{\textit{et~al.}}
    2021
     22\newcommand{\myset}[1]{\left\{#1\right\}}
     23
    2124\newcommand{\TODO}[1]{\textbf{TODO:} \textit{#1}}
    2225\newcommand{\cit}{\textsuperscript{[citation needed]}}
  • doc/theses/aaron_moss_PhD/phd/thesis.tex

    rff5caaf r95b8aa7  
    2121
    2222\usepackage{amsmath,amssymb,amstext} % Lots of math symbols and environments
    23 \usepackage[pdftex]{graphicx} % For including graphics N.B. pdftex graphics driver
     23% \usepackage[pdftex]{graphicx} % For including graphics N.B. pdftex graphics driver
     24\usepackage{graphicx}
     25
     26\usepackage{amsthm} % for theorem environment
     27\newtheorem{theorem}{Theorem}
     28
     29\usepackage{footmisc} % for double refs to the same footnote
    2430
    2531% Hyperlinks make it very easy to navigate an electronic document.
     
    2834% Use the "hyperref" package
    2935% N.B. HYPERREF MUST BE THE LAST PACKAGE LOADED; ADD ADDITIONAL PKGS ABOVE
    30 \usepackage[pdftex,pagebackref=false]{hyperref} % with basic options
     36%\usepackage[pdftex,pagebackref=false]{hyperref} % with basic options
     37\usepackage[pagebackref=false]{hyperref}
    3138% N.B. pagebackref=true provides links back from the References to the body text. This can cause trouble for printing.
    3239
     
    120127\input{background}
    121128\input{generic-types}
     129\input{resolution-heuristics}
    122130\input{type-environment}
    123 \input{resolution-heuristics}
    124131\input{conclusion}
    125132
  • doc/theses/aaron_moss_PhD/phd/type-environment.tex

    rff5caaf r95b8aa7  
    22\label{env-chap}
    33
    4 Talk about the type environment data structure. Pull from your presentation.
     4One key data structure for expression resolution is the \emph{type environment}.
     5As discussed in Chapter~\ref{resolution-chap}, being able to efficiently determine which type variables are bound to which concrete types or whether two type environments are compatible is a core requirement of the resolution algorithm.
     6Furthermore, expression resolution involves a search through many related possible solutions, so being able to re-use shared subsets of type environment data and to switch between environments quickly is desirable for performance.
     7In this chapter I discuss and empirically compare a number of type environment data structure variants, including some novel variations on the union-find\cite{Galler64} data structure introduced in this thesis.
     8
     9\section{Definitions} \label{env-defn-sec}
     10
     11For purposes of this chapter, a \emph{type environment} $T$ is a set of \emph{type classes} $\myset{T_1, T_2, \cdots, T_{|T|}}$.
     12Each type class $T_i$ contains a set of \emph{type variables} $\myset{v_{i,1}, v_{i,2}, \cdots, v_{i,|T_i|}}$; note that the sets of variables contained in two distinct classes in the same environment must be disjoint.
     13Each individual type class $T_i$ may also be associated with a \emph{bound}, $b_i$; this bound contains the \emph{bound type} which the variables in the type class are replaced with, but also includes other information in \CFACC{}, including whether type conversions are permissible on the bound type and what sort of type variables are contained in the class (data types, function types, or variadic tuples).
     14
     15\begin{table}
     16\caption[Type environment operation summary]{Summary of type environment operations.}
     17\label{env-op-table}
     18\centering
     19\begin{tabular}{r@{\hskip 0.25em}ll}
     20        $find(T, v_{i,j})$ & $\rightarrow T_i | \bot$           & Locate class for variable             \\
     21        $report(T_i)$ & $\rightarrow \{ v_{i,j} \cdots \}$      & List variables for class              \\
     22        $bound(T_i)$ & $\rightarrow b_i | \bot$                         & Get bound for class                   \\
     23        $insert(v_{i,1})$ &                                                                     & New single-variable class             \\
     24        $add(T_i, v_{i,j})$ &                                                           & Add variable to class                 \\
     25        $bind(T_i, b_i)$ &                                                                      & Set or update class bound             \\
     26        $unify(T, T_i, T_j)$ & $\rightarrow \top | \bot$        & Combine two type classes              \\
     27        $split(T, T_i)$ & $\rightarrow T'$                                      & Revert the last $unify$ operation on $T_i$            \\
     28        $combine(T, T')$ & $\rightarrow \top | \bot$            & Merge two environments                \\
     29        $save(T)$ & $\rightarrow H$                                                     & Get handle for current state  \\
     30        $backtrack(T, H)$ &                                                                     & Return to handle state
     31\end{tabular}
     32\end{table}
     33
     34Given this basic structure, type environments in \CFACC{} need to support eleven basic operations, summarized in Table~\ref{env-op-table}.
     35The first seven operations are straightforward queries and updates on these data structures:
     36The lookup operation $find(T, v_{i,j})$ produces $T_i$, the type class in $T$ which contains variable $v_{i,j}$, or an invalid sentinel value for no such class.
     37The other two query operations act on type classes, where $report(T_i)$ produces the set $\myset{v_{i,1}, v_{i,2}, \cdots, v_{i,|T_i|}}$ of all type variables in a class $T_i$ and $bound(T_i)$ produces the bound $b_i$ of that class, or a sentinel indicating no bound is set.
     38
     39The update operation $insert(T, v_{i,1})$ creates a new type class $T_i$ in $T$ that contains only the variable $v_{i,1}$ and no bound; due to the disjointness property $v_{i,1}$ cannot belong to any other type class in $T$.
     40The $add(T_i, v_{i,j})$ operation adds a new type variable $v_{i,j}$ to class $T_i$; again, $v_{i,j}$ cannot exist elsewhere in $T$.
     41$bind(T_i, b_i)$ mutates the bound for a type class, setting or updating the current bound.
     42
     43The $unify$ operation is the fundamental non-trivial operation a type environment data structure must support.
     44$unify(T, T_i, T_j)$ merges a type class $T_j$ into another $T_i$, producing a failure result and leaving $T$ in an invalid state if this merge fails.
     45It is always possible to unify the type variables of both classes by simply taking the union of both sets; given the disjointness property, no checks for set containment are required, and the variable sets can simply be concatenated if supported by the underlying data structure.
     46$unify$ depends on an internal $unifyBound$ operation which may fail.
     47In \CFACC{}, $unifyBound(b_i, b_j) \rightarrow b'_i|\bot$ checks that the type classes contain the same sort of variable, takes the tighter of the two conversion permissions, and checks if the bound types can be unified.
     48If the bound types cannot be unified (\eg{} !struct A! with !int*!), then $unifyBound$ fails, while other combinations of bound types may result in recursive calls.
     49For instance, unifying !R*! with !S*! for type variables !R! and !S! will result in a call to $unify(T, find($!R!$), find($!S!$))$, while unifying !R*! with !int*! will result in a call to $unifyBound$ on !int! and the bound type of the class containing !R!.
     50As such, a call to $unify(T, T_i, T_j)$ may touch every type class in $T$, not just $T_i$ and $T_j$, collapsing the entirety of $T$ into a single type class in extreme cases.
     51For more information on \CFA{} unification, see \cite{Bilson03}.
     52The inverse of $unify$ is $split(T, T_i)$, which produces a new environment $T'$ which is the same as $T$ except that $T_i$ has been replaced by two classes corresponding to the arguments to the previous call to $unify$ on $T_i$.
     53If there has been no call to $unify$ on $T_i$ (\ie{} $T_i$ is a single-element class) $T_i$ is absent in $T'$.
     54
     55Given the nature of the expression resolution problem as backtracking search, caching and concurrency are both useful tools to decrease runtime.
     56However, both of these approaches may produce multiple distinct descendants of the same initial type environment, which have possibly been mutated in incompatible ways.
     57As such, to effectively employ either concurrency or caching, the type environment data structure must support an efficient method to check if two type environments are compatible and merge them if so.
     58$combine(T,T')$ attempts to merge an environment $T'$ into another environment $T$, producing $\top$ if successful or leaving $T$ in an invalid state and producing $\bot$ otherwise.
     59The invalid state of $T$ on failure is not important, given that a combination failure will result in the resolution algorithm backtracking to a different environment.
     60$combine$ proceeds by calls to $insert$, $add$, and $unify$ as needed, and can be roughly thought of as calling $unify$ on every pair of classes in $T$ that have variables $v'_{i,j}$ and $v'_{i,k}$ in the same class $T'_i$ in $T'$.
     61Like $unify$, $combine$ can always find a mutually-consistent partition of type variables into classes (in the extreme case, all type variables from $T$ and $T'$ in a single type class), but may fail due to inconsistent bounds on merged type classes.
     62
     63Finally, the backtracking access patterns of the compiler can be exploited to reduce memory usage or runtime through use of an appropriately designed data structure.
     64The set of mutations to a type environment across the execution of the resolution algorithm produce an implicit tree of related environments, and the backtracking search typically focuses only on one leaf of the tree at once, or at most a small number of closely-related nodes as arguments to $combine$.
     65As such, the ability to save and restore particular type environment states is useful, and supported by the $save(T) \rightarrow H$ and $backtrack(T, H)$ operations, which produce a handle for the current environment state and mutate an environment back to a previous state, respectively.
     66These operations can be naively implemented by a deep copy of $T$ into $H$ and vice versa, but have more efficient implementations in persistency-aware data structures.
     67
     68\section{Approaches}
     69
     70\subsection{Na\"{\i}ve}
     71
     72The type environment data structure used in Bilson's\cite{Bilson03} original implementation of \CFACC{} is a straightforward translation of the definitions in Section~\ref{env-defn-sec} to \CC{} code; a !TypeEnvironment! contains a list of !EqvClass! type equivalence classes, each of which contains the type bound information and a tree-based sorted set of type variables.
     73This approach has the benefit of being easy to understand and not imposing life-cycle or inheritance constraints on its use, but, as can be seen in Table~\ref{env-bounds-table}, does not support many of the desired operations with any particular efficiency.
     74Some variations on this structure may improve performance somewhat; for instance, replacing the !EqvClass! variable storage with a hash-based set would reduce search and update times from $O(\log n)$ to amortized $O(1)$, while adding an index for the type variables in the entire environment would remove the need to check each type class individually to maintain the disjointness property.
     75These improvements do not change the fundamental issues with this data structure, however.
     76
     77\subsection{Incremental Inheritance}
     78
     79One more invasive modification to this data structure which I investigated is to support swifter combinations of closely-related environments in the backtracking tree by storing a reference to a \emph{parent} environment within each environment, and having that environment only store type classes which have been modified with respect to the parent.
     80This approach provides constant-time copying of environments, as a new environment simply consists of an empty list of type classes and a reference to its (logically identical) parent; since many type environments are no different than their parent, this speeds backtracking in this common case.
     81Since all mutations made to a child environment are by definition compatible with the parent environment, two descendants of a common ancestor environment can be combined by iteratively combining the changes made in one environment then that environment's parent until the common ancestor is reached, again re-using storage and reducing computation in many cases.
     82
     83For this environment I also employed a lazily-generated index of type variables to their containing class, which could be in either the current environment or an ancestor.
     84Any mutation of a type class in an ancestor environment would cause that class to be copied into the current environment before mutation, as well as added to the index, ensuring that all local changes to the type environment are listed in its index.
     85However, not adding type variables to the index until lookup or mutation preserves the constant-time environment copy operation in the common case in which the copy is not mutated from its parent during its life-cycle.
     86
     87This approach imposes some performance penalty on $combine$ if related environments are not properly linked together, as the entire environment needs to be combined rather than just the diff, but is correct as long as the ``null parent'' base case is properly handled.
     88The life-cycle issues are somewhat more complex, as many environments may descend from a common parent, and all of these need their parent to stay alive for purposes of lookup.
     89These issues can be solved by ``flattening'' parent nodes into their children before the parents leave scope, but given the tree structure of the inheritance graph it is more straightforward to store the parent nodes in reference-counted or otherwise automatically garbage-collected heap storage.
     90
     91\subsection{Union-Find} \label{env-union-find-approach}
     92
     93Given the nature of the classes of type variables as disjoint sets, another natural approach to implementing a type environment is the union-find disjoint set data structure\cite{Galler64}.
     94Union-find efficiently implements two operations over a partition of a collection of elements into disjoint sets; $find(x)$ locates the \emph{representative} of $x$, the element which canonically names its set, while $union(r, s)$ merges two sets represented by $r$ and $s$, respectively.
     95The union-find data structure is based on providing each element with a reference to its parent element, such that the root of a tree of elements is the representative of the set of elements contained in the tree.
     96$find$ is then implemented by a search up to the parent, generally combined with a \emph{path compression} step that links nodes more directly to their ancestors to speed up subsequent searches.
     97$union$ involves making the representative of one set a child of the representative of the other, generally employing a rank- or size-based heuristic to ensure that the tree remains somewhat balanced.
     98If both path compression and a balancing heuristic are employed, both $union$ and $find$ run in amortized $O(\alpha(n))$ worst-case time; this bound by the inverse Ackermann function is a small constant for all practical values of $n$.
     99
     100The union-find $find$ and $union$ operations have obvious applicability to the $find$ and $unify$ type environment operations in Table~\ref{env-op-table}, but the union-find data structure must be augmented to fully implement the type environment operations.
     101In particular, the type class bound cannot be easily included in the union-find data structure, as the requirement to make it the class representative breaks the balancing properties of $union$, and requires too-close integration of the type environment $unifyBound$ internal operation.
     102This issue can be solved by including a side map from class representatives to the type class bound.
     103If placeholder values are inserted in this map for type classes without bounds than this also has the useful property that the key set of the map provides an easily obtainable list of all the class representatives, a list which cannot be derived from the union-find data structure without a linear search for class representatives through all elements.
     104
     105\subsection{Union-Find with Classes} \label{env-union-find-classes-approach}
     106
     107Another type environment operation not supported directly by the union-find data structure is $report$, which lists the type variables in a given class, and similarly $split$, which reverts a $unify$ operation.
     108Since the union-find data structure stores only links from children to parents and not vice-versa, there is no way to reconstruct a class from one of its elements without a linear search over the entire data structure, with $find$ called on each element to check its membership in the class.
     109The situation is even worse for the $split$ operation, which would require extra information to maintain the order that each child was added to its parent node.
     110Unfortunately, the literature\cite{Tarjan84,Galil91,Patwary10} on union-find does not present a way to keep references to children without breaking the asymptotic time bounds of the algorithm; I have discovered a method to do so which, despite its simplicity, seems to be novel.
     111
     112\TODO{port figure from slideshow}
     113
     114The core idea of this ``union-find with classes'' data structure and algorithm is to keep the members of each class stored in a circularly-linked list.
     115Aho, Hopcroft, and Ullman also include a circularly-linked list in their 1974 textbook~\cite{Aho74}.
     116However, the algorithm presented by Aho~\etal{} has an entirely flat class hierarchy, where all elements are direct children of the representative, giving constant-time $find$ at the cost of linear-time $union$ operations.
     117In my version, the list data structure does not affect the layout of the union-find tree, maintaining the same asymptotic bounds as union-find.
     118In more detail, each element is given a !next! pointer to another element in the same class; this !next! pointer initially points to the element itself.
     119When two classes are unified, the !next! pointers of the representatives of those classes are swapped, splicing the two circularly-linked lists together.
     120Importantly, though this approach requires an extra pointer per element, it does maintain the linear space bound of union-find, and because it only requires updating the two root nodes in $union$ it does not asymptotically increase runtime either.
     121The basic approach is compatible with all path-compression techniques, and allows the members of any class to be retrieved in time linear in the size of the class simply by following the !next! pointers from any element.
     122
     123If the path-compression optimization is abandoned, union-find with classes also encodes a reversible history of all the $union$ operations applied to a given class.
     124Theorem~\ref{env-reverse-thm} demonstrates that the !next! pointer of the representative of a class always points to a leaf from the last-added subtree.
     125This property is sufficient to reverse the most-recent $union$ operation by finding the ancestor of that leaf that is an immediate child of the representative, breaking its parent link, and swapping the !next! pointers back\footnote{Union-by-size may be a more appropriate approach than union-by-rank in this instance, as adding two known sizes is a reversible operation, but the rank increment operation cannot be reliably reversed.}.
     126Once the $union$ operation has been reversed, Theorem~\ref{env-reverse-thm} still holds for the reduced class, and the process can be repeated recursively until the entire set is split into its component elements.
     127
     128\begin{theorem} \label{env-reverse-thm}
     129The !next! pointer of a class representative in the union-find with classes algorithm without path compression points to a leaf from the most-recently-added subtree.
     130\end{theorem}
     131
     132\begin{proof}
     133        By induction on the height of the tree. \\
     134        \emph{Base case:} A height 1 tree by definition includes only a single item. In such a case, the representative's !next! pointer points to itself by construction, and the representative is the most-recently-added (and only) leaf in the tree. \\
     135        \emph{Inductive case:} By construction, a tree $T$ of height greater than 1 has children of the root (representative) node that were representative nodes of classes merged by $union$. By definition, the most-recently-added subtree $T'$ has a smaller height than $T$, thus by the inductive hypothesis before the most-recent $union$ operation the !next! pointer of the root of $T'$ pointed to one of the leaf nodes of $T'$; by construction the !next! pointer of the root of $T$ points to this leaf after the $union$ operation.
     136\end{proof}
     137
     138On its own, union-find, like the na\"{\i}ve approach, has no special constraints on life-cycle or inheritance, but it can be used as a building block in more sophisticated type environment data structures.
     139
     140\subsection{Persistent Union-Find}
     141
     142Given the backtracking nature of the resolution algorithm discussed in Section~\ref{env-defn-sec}, the abilities to quickly switch between related versions of a type environment and to de-duplicate shared data between environments are both assets to performance.
     143Conchon and Filli\^{a}tre~\cite{Conchon07} present a persistent union-find data structure based on the persistent array of Baker~\cite{Baker78,Baker91}.
     144
     145\TODO{port figure from slideshow}
     146
     147In Baker's persistent array, an array reference contains either a pointer to the array or a pointer to an \emph{edit node}; these edit nodes contain an array index, the value in that index, and another array reference pointing either to the array or a different edit node.
     148In this manner, a tree of edits is formed, rooted at the actual array.
     149Read from the actual array at the root can be performed in constant time, as with a non-persistent array.
     150The persistent array can be mutated in constant time by directly modifying the underlying array, then replacing its array reference with an edit node containing the mutated index, the previous value at that index, and a reference to the mutated array. If the current array reference is not the root, mutation consists simply of constructing a new edit node encoding the change and referring to the current array reference. 
     151The mutation algorithm at the root is in some sense a special case of the key operation on persistent arrays, $reroot$.
     152
     153A rerooting operation takes any array reference and makes it the root node of the array.
     154This is accomplished by tracing the path from some edit node to the root node of the array (always the underlying array), recursively applying the edits to the underlying array and replacing each edit node's successor with the inverse edit.
     155In this way, any previous state of the persistent array can be restored in time proportional to the number of edits to the current state of the array.
     156While $reroot$ does maintain the same value mapping in every version of the persistent array, the internal mutations it performs means that it is not thread-safe, and must be used behind a lock in a concurrent context.
     157Also, the root node with the actual array may in principle be anywhere in the tree, and does not provide information to report its leaf nodes, so some form of automatic garbage collection is generally required for the data structure.
     158Since the graph of edit nodes is tree-structured, reference counting approaches suffice for garbage collection; Conchon and Filli\^{a}tre~\cite{Conchon07} also observe that if the only $reroot$ operations are for backtracking then the tail of inverse edit nodes may be elided, suggesting the possibility of stack-based memory management.
     159
     160While Conchon and Filli\^{a}tre~\cite{Conchon07} implement their persistent union-find data structure over a universe of integer elements in the fixed range $[1,N]$, the type environment problem needs more flexibility.
     161In particular, an arbitrary number of type variables must be added to the environment.
     162As such, a persistent hash table is a more suitable structure than a persistent array, providing the same expected asymptotic time bounds while allowing a dynamic number of elements.
     163Besides replacing the underlying array with a hash table, the other major change in this approach is to replace the two types of array references, !Array! and !Edit!, with four node types, !Table!,  !Edit!, !Add!, and !Remove!, where !Add! adds a new key-value pair, !Remove! removes a key, and !Edit! mutates an existing key-value pair.
     164In this variant of \CFACC{}, this persistent hash table is used as the side map discussed in Section~\ref{env-union-find-approach} for class bounds.
     165The actual union-find data structure is slightly modified from this approach, with a !Base! node containing the root union-find data structure, !Add! nodes adding new elements, !AddTo! nodes defining the union of two type classes, and !Remove! and !RemoveFrom! nodes as inverses of the previous two elements, for purposes of maintaining the edit list.
     166Making !AddTo! and !RemoveFrom! single nodes shortens the edit path for improved performance, while also providing semantic information missing from the raw array updates in Conchon and Filli\^{a}tre's data structure.
     167The single-node approach, does, however, break under most path-compression algorithms; !RemoveFrom! can be applied to the underlying data structure using the ``leaf of last union'' approach discussed in in Section~\ref{env-union-find-classes-approach}; this was judged an acceptable trade-off for the added semantic information and shortened paths.
     168
     169Maintaining explicit information on $union$ operations in the persistent union-find edit tree in the form of !AddTo! and !RemoveFrom! nodes exposes a new option for combining type environments.
     170If the type environments are part of the same edit tree, one environment $T'$ can be combined with another $T$ by only testing the edits on the path from $T'$ to $T$ in both the persistent union-find data structure describing the classes and the persistent hash table containing the class bounds.
     171This is generally more efficient than testing the compatibility of all type classes in $T'$, as only those that are actually different than those in $T$ must be considered.
     172
     173The procedure for $combine(T, T')$ based on edit paths is as follows:
     174The shared edit trees for classes and bindings are rerooted at $T$, and the path from $T'$ to $T$ is followed to create a list of actual edits.
     175By tracking the state of each element, redundant changes such as an !Edit! followed by an !Edit! can be reduced to their form in $T'$ by dropping the later (more like $T$) !Edit! for the same key; !Add! and !Remove! cancel similarly.
     176This procedure is repeated for both the class edit tree and the binding edit tree.
     177When the list of net changes to the environment has been produced, the additive changes are applied to $T$.
     178For example, if a type class exists in $T'$ but not $T$, the corresponding !Add! edit will be applied to $T$, but in the reverse situation the !Remove! edit will not be applied to $T$, as the intention is to produce a new environment representing the union of the two sets of type classes; similarly, !AddTo! edits are applied to unify type-classes in $T$ that are united in $T'$, but !RemoveFrom! edits that split type classes are not.
     179The new environment, $T''$ can always be constructed with a consistent partitioning of type variables; in the extreme case, all variables from both $T$ and $T'$ will be united in a single type class in $T''$.
     180Where $combine$ can fail is in unifying the bound types; if any class in $T'$ has a class bound which does not unify with the merged class in $T''$ than $combine$ fails.
     181
     182\section{Analysis}
     183
     184In this section I present asymptotic analyses of the various approaches to a type environment data structure discussed in the previous section.
     185
     186\begin{table}
     187\caption[Type environment operation bounds]{Worst-case analysis of type environment operations. $n$ is the number of type classes, $m$ the maximum size of a type class, and $p$ the edit distance between two environments or a single environment and the empty environment; $u(n)$ captures the recursive cost of class unification.}
     188\label{env-bounds-table}
     189\centering
     190\begin{tabular}{rllll}
     191        \hline
     192                                & \textbf{Na\"{\i}ve}   & \textbf{Incremental}  & \textbf{Union-Find}           & \textbf{U-F with Classes}             \\
     193        \hline
     194        $find$          & $O(n)$                                & $O(p)$                                & $O(\alpha(m))$                        & $O(\log m)$                                   \\
     195        $report$        & $O(m)$                                & $O(m)$                                & $O(n \log m)$                         & $O(m)$                                                \\
     196        $bound$         & $O(1)$                                & $O(1)$                                & $O(1)$                                        & $O(1)$                                                \\
     197        $insert$        & $O(1)$                                & $O(1)$                                & $O(1)$                                        & $O(1)$                                                \\
     198        $add$           & $O(1)$                                & $O(1)$                                & $O(1)$                                        & $O(1)$                                                \\
     199        $bind$          & $O(1)$                                & $O(1)$                                & $O(1)$                                        & $O(1)$                                                \\
     200        $unify$         & $O(m + u(n))$                 & $O(m + u(n))$                 & $O(\log m + u(n))$            & $O(\log m + u(n))$                    \\
     201        $split$         & ---                                   & ---                                   & ---                                           & $O(\log m)$                                   \\
     202        $combine$       & $O(nm \cdot u(n))$    & $O(pm \cdot u(n))$    & $O(n \log m \cdot u(n))$      & $O(p \log m \cdot u(n))$              \\
     203        $save$          & $O(nm)$                               & $O(1)$                                & $O(nm)$                                       & $O(1)$                                                \\
     204        $backtrack$     & $O(nm)$                               & $O(pm)$                               & $O(nm)$                                       & $O(p)$                                                \\
     205        \hline
     206\end{tabular}
     207\end{table}
     208
     209% Future work: design multi-threaded version of C&F persistent map --- core idea is some sort of thread-boundary edit node
  • doc/user/Makefile

    rff5caaf r95b8aa7  
    7979## Define the default recipes.
    8080
    81 ${Build}:
     81${Build} :
    8282        mkdir -p ${Build}
    8383
  • doc/user/user.tex

    rff5caaf r95b8aa7  
    1111%% Created On       : Wed Apr  6 14:53:29 2016
    1212%% Last Modified By : Peter A. Buhr
    13 %% Last Modified On : Fri Aug 31 07:54:50 2018
    14 %% Update Count     : 3396
     13%% Last Modified On : Tue Dec 11 23:19:26 2018
     14%% Update Count     : 3400
    1515%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1616
     
    178178int main( void ) {
    179179        int x = 0, y = 1, z = 2;
    180         ®sout | x | y | z | endl;®§\indexc{sout}§
     180        ®sout | x | y | z;®§\indexc{sout}§
    181181}
    182182\end{cfa}
     
    513513Floating exponentiation\index{exponentiation!floating} is performed using \Index{logarithm}s\index{exponentiation!logarithm}, so the base cannot be negative.
    514514\begin{cfa}
    515 sout | 2 ®\® 8u | 4 ®\® 3u | -4 ®\® 3u | 4 ®\® -3 | -4 ®\® -3 | 4.0 ®\® 2.1 | (1.0f+2.0fi) ®\® (3.0f+2.0fi) | endl;
     515sout | 2 ®\® 8u | 4 ®\® 3u | -4 ®\® 3u | 4 ®\® -3 | -4 ®\® -3 | 4.0 ®\® 2.1 | (1.0f+2.0fi) ®\® (3.0f+2.0fi);
    516516256 64 -64 0.015625 -0.015625 18.3791736799526 0.264715-1.1922i
    517517\end{cfa}
     
    547547
    548548
    549 %\subsection{\texorpdfstring{\protect\lstinline@for@ Statement}{for Statement}}
    550 \subsection{\texorpdfstring{\LstKeywordStyle{for} Statement}{for Statement}}
     549\subsection{Loop Control}
    551550
    552551The ©for©/©while©/©do-while© loop-control allows empty or simplified ranges.
     
    557556the down-to range ©-~=©\index{-~=@©-~=©} means inclusive range [N,M].
    558557©0© is the implicit start value;
    559 ©1© is the implicit increment value for an up-to range and ©-1© for an implicit down-to range.
     558©1© is the implicit increment value.
     559The up-to range uses ©+=© for increment;
     560the down-to range uses ©-=© for decrement.
    560561The loop index is polymorphic in the type of the start value or comparison value when start is implicitly ©0©.
    561562\begin{cquote}
    562563\begin{tabular}{@{}ll|l@{}}
    563 \multicolumn{2}{c|}{for control} & \multicolumn{1}{c}{output} \\
     564\multicolumn{2}{c|}{loop control} & \multicolumn{1}{c}{output} \\
    564565\hline
    565566\begin{cfa}
     
    571572for ( ®10® ) { sout | "A"; }
    572573for ( ®1 ~= 10 ~ 2® ) { sout | "B"; }
    573 for ( ®10 -~= 1 ~ -2® ) { sout | "C"; }
     574for ( ®10 -~= 1 ~ 2® ) { sout | "C"; }
    574575for ( ®0.5 ~ 5.5® ) { sout | "D"; }
    575576for ( ®5.5 -~ 0.5® ) { sout | "E"; }
    576577for ( ®i; 10® ) { sout | i; }
    577578for ( ®i; 1 ~= 10 ~ 2® ) { sout | i; }
    578 for ( ®i; 10 -~= 1 ~ -2® ) { sout | i; }
     579for ( ®i; 10 -~= 1 ~ 2® ) { sout | i; }
    579580for ( ®i; 0.5 ~ 5.5® ) { sout | i; }
    580581for ( ®i; 5.5 -~ 0.5® ) { sout | i; }
    581582for ( ®ui; 2u ~= 10u ~ 2u® ) { sout | ui; }
    582 for ( ®ui; 10u -~= 2u ~ -2u® ) { sout | ui; }
    583 int start = 3, comp = 10, inc = 2;
     583for ( ®ui; 10u -~= 2u ~ 2u® ) { sout | ui; }
     584enum { N = 10 };
     585for ( ®N® ) { sout | "N"; }
     586for ( ®i; N® ) { sout | i; }
     587for ( ®i; N -~ 0® ) { sout | i; }
     588const int start = 3, comp = 10, inc = 2;
    584589for ( ®i; start ~ comp ~ inc + 1® ) { sout | i; }
    585590\end{cfa}
    586591&
    587592\begin{cfa}
    588 sout | endl;
    589 sout | endl;
    590 sout | endl;
    591 sout | endl;
    592 sout | endl;
    593 sout | endl;
    594 sout | endl;
    595 sout | endl;
    596 sout | endl;
    597 sout | endl;
    598 sout | endl;
    599 sout | endl;
    600 sout | endl;
    601 sout | endl;
    602 sout | endl;
    603 sout | endl;
    604 sout | endl;
    605 
    606 sout | endl;
     593sout | nl;
     594sout | nl;
     595sout | nl;
     596sout | "zero" | nl;
     597sout | nl;
     598sout | nl;
     599sout | nl;
     600sout | nl;
     601sout | nl;
     602sout | nl;
     603sout | nl;
     604sout | nl;
     605sout | nl;
     606sout | nl;
     607sout | nl;
     608sout | nl;
     609sout | nl | nl;
     610
     611sout | nl;
     612sout | nl;
     613sout | nl | nl;
     614
     615sout | nl;
    607616\end{cfa}
    608617&
     
    611620empty
    612621empty
    613 
     622zero
    614623A
    615624A A A A A A A A A A
     
    6256342 4 6 8 10
    62663510 8 6 4 2
     636
     637N N N N N N N N N N
     6380 1 2 3 4 5 6 7 8 9
     63910 9 8 7 6 5 4 3 2 1
    627640
    6286413 6 9
     
    24462459        int bar( int p ) {
    24472460                ®i® += 1;                               §\C{// dependent on local variable}§
    2448                 sout | ®i® | endl;
     2461                sout | ®i®;
    24492462        }
    24502463        return bar;                                     §\C{// undefined because of local dependence}§
     
    24522465int main() {
    24532466        * [int]( int ) fp = foo();      §\C{// int (* fp)( int )}§
    2454         sout | fp( 3 ) | endl;
     2467        sout | fp( 3 );
    24552468}
    24562469\end{cfa}
     
    32183231\begin{cfa}
    32193232int x = 1, y = 2, z = 3;
    3220 sout | x ®|® y ®|® z | endl;
     3233sout | x ®|® y ®|® z;
    32213234\end{cfa}
    32223235&
     
    32393252\begin{cfa}
    32403253[int, [ int, int ] ] t1 = [ 1, [ 2, 3 ] ], t2 = [ 4, [ 5, 6 ] ];
    3241 sout | t1 | t2 | endl;                                  §\C{// print tuples}§
     3254sout | t1 | t2;                                         §\C{// print tuples}§
    32423255\end{cfa}
    32433256\begin{cfa}[showspaces=true,aboveskip=0pt]
     
    32513264&
    32523265\begin{cfa}
    3253 sout | x * 3 | y + 1 | z << 2 | x == y | (x | y) | (x || y) | (x > z ? 1 : 2) | endl;
     3266sout | x * 3 | y + 1 | z << 2 | x == y | (x | y) | (x || y) | (x > z ? 1 : 2);
    32543267\end{cfa}
    32553268\\
     
    32773290A separator does not appear at the start or end of a line.
    32783291\begin{cfa}[belowskip=0pt]
    3279 sout | 1 | 2 | 3 | endl;
     3292sout | 1 | 2 | 3;
    32803293\end{cfa}
    32813294\begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt]
     
    32863299A separator does not appear before or after a character literal or variable.
    32873300\begin{cfa}
    3288 sout | '1' | '2' | '3' | endl;
     3301sout | '1' | '2' | '3';
    32893302123
    32903303\end{cfa}
     
    32933306A separator does not appear before or after a null (empty) C string.
    32943307\begin{cfa}
    3295 sout | 1 | "" | 2 | "" | 3 | endl;
     3308sout | 1 | "" | 2 | "" | 3;
    32963309123
    32973310\end{cfa}
     
    33033316\begin{cfa}[mathescape=off]
    33043317sout | "x (" | 1 | "x [" | 2 | "x {" | 3 | "x =" | 4 | "x $" | 5 | "x £" | 6 | "x ¥"
    3305                 | 7 | "x ¡" | 8 | "x ¿" | 9 | "x «" | 10 | endl;
     3318                | 7 | "x ¡" | 8 | "x ¿" | 9 | "x «" | 10;
    33063319\end{cfa}
    33073320%$
     
    33173330\begin{cfa}[belowskip=0pt]
    33183331sout | 1 | ", x" | 2 | ". x" | 3 | "; x" | 4 | "! x" | 5 | "? x" | 6 | "% x"
    3319                 | 7 | "¢ x" | 8 | "» x" | 9 | ") x" | 10 | "] x" | 11 | "} x" | endl;
     3332                | 7 | "¢ x" | 8 | "» x" | 9 | ") x" | 10 | "] x" | 11 | "} x";
    33203333\end{cfa}
    33213334\begin{cfa}[basicstyle=\tt,showspaces=true,aboveskip=0pt,belowskip=0pt]
     
    33273340A seperator does not appear before or after a C string begining/ending with the \Index*{ASCII} quote or whitespace characters: \lstinline[basicstyle=\tt,showspaces=true]@`'": \t\v\f\r\n@
    33283341\begin{cfa}[belowskip=0pt]
    3329 sout | "x`" | 1 | "`x'" | 2 | "'x\"" | 3 | "\"x:" | 4 | ":x " | 5 | " x\t" | 6 | "\tx" | endl;
     3342sout | "x`" | 1 | "`x'" | 2 | "'x\"" | 3 | "\"x:" | 4 | ":x " | 5 | " x\t" | 6 | "\tx";
    33303343\end{cfa}
    33313344\begin{cfa}[basicstyle=\tt,showspaces=true,showtabs=true,aboveskip=0pt,belowskip=0pt]
     
    33363349If a space is desired before or after one of the special string start/end characters, simply insert a space.
    33373350\begin{cfa}[belowskip=0pt]
    3338 sout | "x (§\color{red}\texttt{\textvisiblespace}§" | 1 | "§\color{red}\texttt{\textvisiblespace}§) x" | 2 | "§\color{red}\texttt{\textvisiblespace}§, x" | 3 | "§\color{red}\texttt{\textvisiblespace}§:x:§\color{red}\texttt{\textvisiblespace}§" | 4 | endl;
     3351sout | "x (§\color{red}\texttt{\textvisiblespace}§" | 1 | "§\color{red}\texttt{\textvisiblespace}§) x" | 2 | "§\color{red}\texttt{\textvisiblespace}§, x" | 3 | "§\color{red}\texttt{\textvisiblespace}§:x:§\color{red}\texttt{\textvisiblespace}§" | 4;
    33393352\end{cfa}
    33403353\begin{cfa}[basicstyle=\tt,showspaces=true,showtabs=true,aboveskip=0pt,belowskip=0pt]
     
    33533366\begin{cfa}[mathescape=off,belowskip=0pt]
    33543367sepSet( sout, ", $" );                                          §\C{// set separator from " " to ", \$"}§
    3355 sout | 1 | 2 | 3 | " \"" | ®sep® | "\"" | endl;
     3368sout | 1 | 2 | 3 | " \"" | ®sep® | "\"";
    33563369\end{cfa}
    33573370%$
     
    33623375\begin{cfa}[belowskip=0pt]
    33633376sepSet( sout, " " );                                            §\C{// reset separator to " "}§
    3364 sout | 1 | 2 | 3 | " \"" | ®sepGet( sout )® | "\"" | endl;
     3377sout | 1 | 2 | 3 | " \"" | ®sepGet( sout )® | "\"";
    33653378\end{cfa}
    33663379\begin{cfa}[showspaces=true,aboveskip=0pt]
     
    33723385strcpy( store, sepGet( sout ) );                          §\C{// copy current separator}§
    33733386sepSet( sout, "_" );                                            §\C{// change separator to underscore}§
    3374 sout | 1 | 2 | 3 | endl;
     3387sout | 1 | 2 | 3;
    33753388\end{cfa}
    33763389\begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt]
     
    33793392\begin{cfa}[belowskip=0pt]
    33803393sepSet( sout, store );                                          §\C{// change separator back to original}§
    3381 sout | 1 | 2 | 3 | endl;
     3394sout | 1 | 2 | 3;
    33823395\end{cfa}
    33833396\begin{cfa}[showspaces=true,aboveskip=0pt]
     
    33903403\begin{cfa}[belowskip=0pt]
    33913404sepSetTuple( sout, " " );                                       §\C{// set tuple separator from ", " to " "}§
    3392 sout | t1 | t2 | " \"" | ®sepTuple® | "\"" | endl;
     3405sout | t1 | t2 | " \"" | ®sepTuple® | "\"";
    33933406\end{cfa}
    33943407\begin{cfa}[showspaces=true,aboveskip=0pt]
     
    33973410\begin{cfa}[belowskip=0pt]
    33983411sepSetTuple( sout, ", " );                                      §\C{// reset tuple separator to ", "}§
    3399 sout | t1 | t2 | " \"" | ®sepGetTuple( sout )® | "\"" | endl;
     3412sout | t1 | t2 | " \"" | ®sepGetTuple( sout )® | "\"";
    34003413\end{cfa}
    34013414\begin{cfa}[showspaces=true,aboveskip=0pt]
     
    34073420Manipulators \Indexc{sepDisable}\index{manipulator!sepDisable@©sepDisable©} and \Indexc{sepEnable}\index{manipulator!sepEnable@©sepEnable©} \emph{globally} toggle printing the separator, \ie the seperator is adjusted with respect to all subsequent printed items.
    34083421\begin{cfa}[belowskip=0pt]
    3409 sout | sepDisable | 1 | 2 | 3 | endl;           §\C{// globally turn off implicit separator}§
     3422sout | sepDisable | 1 | 2 | 3                §\C{// globally turn off implicit separator}§
    34103423\end{cfa}
    34113424\begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt]
     
    34133426\end{cfa}
    34143427\begin{cfa}[belowskip=0pt]
    3415 sout | sepEnable | 1 | 2 | 3 | endl;            §\C{// globally turn on implicit separator}§
     3428sout | sepEnable | 1 | 2 | 3;           §\C{// globally turn on implicit separator}§
    34163429\end{cfa}
    34173430\begin{cfa}[mathescape=off,showspaces=true,aboveskip=0pt,belowskip=0pt]
     
    34223435Manipulators \Indexc{sepOn}\index{manipulator!sepOn@©sepOn©} and \Indexc{sepOff}\index{manipulator!sepOff@©sepOff©} \emph{locally} toggle printing the separator, \ie the seperator is adjusted only with respect to the next printed item.
    34233436\begin{cfa}[belowskip=0pt]
    3424 sout | 1 | sepOff | 2 | 3 | endl;                       §\C{// locally turn off implicit separator}§
     3437sout | 1 | sepOff | 2 | 3;                      §\C{// locally turn off implicit separator}§
    34253438\end{cfa}
    34263439\begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt]
     
    34283441\end{cfa}
    34293442\begin{cfa}[belowskip=0pt]
    3430 sout | sepDisable | 1 | sepOn | 2 | 3 | endl; §\C{// locally turn on implicit separator}§
     3443sout | sepDisable | 1 | sepOn | 2 | 3; §\C{// locally turn on implicit separator}§
    34313444\end{cfa}
    34323445\begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt]
     
    34353448The tuple separator also responses to being turned on and off.
    34363449\begin{cfa}[belowskip=0pt]
    3437 sout | t1 | sepOff | t2 | endl;                         §\C{// locally turn on/off implicit separator}§
     3450sout | t1 | sepOff | t2;                                §\C{// locally turn on/off implicit separator}§
    34383451\end{cfa}
    34393452\begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt]
     
    34433456use ©sep© to accomplish this functionality.
    34443457\begin{cfa}[belowskip=0pt]
    3445 sout | sepOn | 1 | 2 | 3 | sepOn | endl ;       §\C{// sepOn does nothing at start/end of line}§
     3458sout | sepOn | 1 | 2 | 3 | sepOn;       §\C{// sepOn does nothing at start/end of line}§
    34463459\end{cfa}
    34473460\begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt]
     
    34493462\end{cfa}
    34503463\begin{cfa}[belowskip=0pt]
    3451 sout | sep | 1 | 2 | 3 | sep | endl ;           §\C{// use sep to print separator at start/end of line}§
     3464sout | sep | 1 | 2 | 3 | sep ;          §\C{// use sep to print separator at start/end of line}§
    34523465\end{cfa}
    34533466\begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt]
     
    34623475int main( void ) {
    34633476        int x = 1, y = 2, z = 3;
    3464         sout | x | y | z | endl;
     3477        sout | x | y | z;
    34653478        [int, [ int, int ] ] t1 = [ 1, [ 2, 3 ] ], t2 = [ 4, [ 5, 6 ] ];
    3466         sout | t1 | t2 | endl;                                          // print tuples
    3467         sout | x * 3 | y + 1 | z << 2 | x == y | (x | y) | (x || y) | (x > z ? 1 : 2) | endl;
    3468         sout | 1 | 2 | 3 | endl;
    3469         sout | '1' | '2' | '3' | endl;
    3470         sout | 1 | "" | 2 | "" | 3 | endl;
     3479        sout | t1 | t2;                                         // print tuples
     3480        sout | x * 3 | y + 1 | z << 2 | x == y | (x | y) | (x || y) | (x > z ? 1 : 2);
     3481        sout | 1 | 2 | 3;
     3482        sout | '1' | '2' | '3';
     3483        sout | 1 | "" | 2 | "" | 3;
    34713484        sout | "x (" | 1 | "x [" | 2 | "x {" | 3 | "x =" | 4 | "x $" | 5 | "x £" | 6 | "x ¥"
    3472                 | 7 | "x ¡" | 8 | "x ¿" | 9 | "x «" | 10 | endl;
     3485                | 7 | "x ¡" | 8 | "x ¿" | 9 | "x «" | 10;
    34733486        sout | 1 | ", x" | 2 | ". x" | 3 | "; x" | 4 | "! x" | 5 | "? x" | 6 | "% x"
    3474                 | 7 | "¢ x" | 8 | "» x" | 9 | ") x" | 10 | "] x" | 11 | "} x" | endl;
    3475         sout | "x`" | 1 | "`x'" | 2 | "'x\"" | 3 | "\"x:" | 4 | ":x " | 5 | " x\t" | 6 | "\tx" | endl;
    3476         sout | "x ( " | 1 | " ) x" | 2 | " , x" | 3 | " :x: " | 4 | endl;
     3487                | 7 | "¢ x" | 8 | "» x" | 9 | ") x" | 10 | "] x" | 11 | "} x";
     3488        sout | "x`" | 1 | "`x'" | 2 | "'x\"" | 3 | "\"x:" | 4 | ":x " | 5 | " x\t" | 6 | "\tx";
     3489        sout | "x ( " | 1 | " ) x" | 2 | " , x" | 3 | " :x: " | 4;
    34773490
    34783491        sepSet( sout, ", $" );                                          // set separator from " " to ", $"
    3479         sout | 1 | 2 | 3 | " \"" | sep | "\"" | endl;
     3492        sout | 1 | 2 | 3 | " \"" | sep | "\"";
    34803493        sepSet( sout, " " );                                            // reset separator to " "
    3481         sout | 1 | 2 | 3 | " \"" | sepGet( sout ) | "\"" | endl;
     3494        sout | 1 | 2 | 3 | " \"" | sepGet( sout ) | "\"";
    34823495
    34833496        char store[sepSize];
    34843497        strcpy( store, sepGet( sout ) );
    34853498        sepSet( sout, "_" );
    3486         sout | 1 | 2 | 3 | endl;
     3499        sout | 1 | 2 | 3;
    34873500        sepSet( sout, store );
    3488         sout | 1 | 2 | 3 | endl;
     3501        sout | 1 | 2 | 3;
    34893502
    34903503        sepSetTuple( sout, " " );                                       // set tuple separator from ", " to " "
    3491         sout | t1 | t2 | " \"" | sepTuple | "\"" | endl;
     3504        sout | t1 | t2 | " \"" | sepTuple | "\"";
    34923505        sepSetTuple( sout, ", " );                                      // reset tuple separator to ", "
    3493         sout | t1 | t2 | " \"" | sepGetTuple( sout ) | "\"" | endl;
    3494 
    3495         sout | sepDisable | 1 | 2 | 3 | endl;           // globally turn off implicit separator
    3496         sout | sepEnable | 1 | 2 | 3 | endl;            // globally turn on implicit separator
    3497 
    3498         sout | 1 | sepOff | 2 | 3 | endl;                       // locally turn on implicit separator
    3499         sout | sepDisable | 1 | sepOn | 2 | 3 | endl; // globally turn off implicit separator
     3506        sout | t1 | t2 | " \"" | sepGetTuple( sout ) | "\"";
     3507
     3508        sout | sepDisable | 1 | 2 | 3;          // globally turn off implicit separator
     3509        sout | sepEnable | 1 | 2 | 3;           // globally turn on implicit separator
     3510
     3511        sout | 1 | sepOff | 2 | 3;                      // locally turn on implicit separator
     3512        sout | sepDisable | 1 | sepOn | 2 | 3; // globally turn off implicit separator
    35003513        sout | sepEnable;
    3501         sout | t1 | sepOff | t2 | endl;                         // locally turn on/off implicit separator
    3502 
    3503         sout | sepOn | 1 | 2 | 3 | sepOn | endl ;       // sepOn does nothing at start/end of line
    3504         sout | sep | 1 | 2 | 3 | sep | endl ;           // use sep to print separator at start/end of line
     3514        sout | t1 | sepOff | t2;                                // locally turn on/off implicit separator
     3515
     3516        sout | sepOn | 1 | 2 | 3 | sepOn ;      // sepOn does nothing at start/end of line
     3517        sout | sep | 1 | 2 | 3 | sep ;          // use sep to print separator at start/end of line
    35053518}
    35063519
     
    41674180        Fibonacci f1, f2;
    41684181        for ( int i = 1; i <= 10; i += 1 ) {
    4169                 sout | next( &f1 ) | ' ' | next( &f2 ) | endl;
     4182                sout | next( &f1 ) | ' ' | next( &f2 );
    41704183        } // for
    41714184}
     
    42334246                MyThread f[4];
    42344247        }
    4235         sout | global.value | endl;
     4248        sout | global.value;
    42364249}
    42374250\end{cfa}
     
    43114324void main( First * this ) {
    43124325        for ( int i = 0; i < 10; i += 1 ) {
    4313                 sout | "First : Suspend No." | i + 1 | endl;
     4326                sout | "First : Suspend No." | i + 1;
    43144327                yield();
    43154328        }
     
    43204333        wait( this->lock );
    43214334        for ( int i = 0; i < 10; i += 1 ) {
    4322                 sout | "Second : Suspend No." | i + 1 | endl;
     4335                sout | "Second : Suspend No." | i + 1;
    43234336                yield();
    43244337        }
     
    43274340int main( void ) {
    43284341        signal_once lock;
    4329         sout | "User main begin" | endl;
     4342        sout | "User main begin";
    43304343        {
    43314344                processor p;
     
    43354348                }
    43364349        }
    4337         sout | "User main end" | endl;
     4350        sout | "User main end";
    43384351}
    43394352\end{cfa}
     
    50325045void ?{}( Line * l ) {
    50335046        l->lnth = 0.0;
    5034         sout | "default" | endl;
     5047        sout | "default";
    50355048}
    50365049
     
    50395052void ?{}( Line * l, float lnth ) {
    50405053        l->lnth = lnth;
    5041         sout | "lnth" | l->lnth | endl;
     5054        sout | "lnth" | l->lnth;
    50425055
    50435056}
     
    50455058// destructor
    50465059void ^?() {
    5047         sout | "destroyed" | endl;
     5060        sout | "destroyed";
    50485061        l.lnth = 0.0;
    50495062}
     
    57915804In particular, output of ©char© variable now print a character rather than the decimal ASCII value of the character.
    57925805\begin{cfa}
    5793 sout | 'x' | " " | (int)'x' | endl;
     5806sout | 'x' | " " | (int)'x';
    57945807x 120
    57955808\end{cfa}
     
    70217034#include <gmp>§\indexc{gmp}§
    70227035int main( void ) {
    7023         sout | "Factorial Numbers" | endl;
     7036        sout | "Factorial Numbers";
    70247037        Int fact = 1;
    70257038
    7026         sout | 0 | fact | endl;
     7039        sout | 0 | fact;
    70277040        for ( unsigned int i = 1; i <= 40; i += 1 ) {
    70287041                fact *= i;
    7029                 sout | i | fact | endl;
     7042                sout | i | fact;
    70307043        }
    70317044}
  • driver/Makefile.am

    rff5caaf r95b8aa7  
    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

    rff5caaf r95b8aa7  
    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@
    181195AUTOMAKE = @AUTOMAKE@
    182196AWK = @AWK@
    183 BACKEND_CC = @BACKEND_CC@
    184197BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@
    185198CC = @CC@
     
    201214CPPFLAGS = @CPPFLAGS@
    202215CXX = @CXX@
     216CXXCPP = @CXXCPP@
    203217CXXDEPMODE = @CXXDEPMODE@
    204218CXXFLAGS = @CXXFLAGS@
     
    206220DEFS = @DEFS@
    207221DEPDIR = @DEPDIR@
     222DLLTOOL = @DLLTOOL@
    208223DRIVER_DIR = @DRIVER_DIR@
     224DSYMUTIL = @DSYMUTIL@
     225DUMPBIN = @DUMPBIN@
    209226ECHO_C = @ECHO_C@
    210227ECHO_N = @ECHO_N@
     
    212229EGREP = @EGREP@
    213230EXEEXT = @EXEEXT@
     231FGREP = @FGREP@
    214232GREP = @GREP@
    215233HOST_FLAGS = @HOST_FLAGS@
     
    219237INSTALL_SCRIPT = @INSTALL_SCRIPT@
    220238INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     239LD = @LD@
    221240LDFLAGS = @LDFLAGS@
    222241LEX = @LEX@
     
    227246LIBOBJS = @LIBOBJS@
    228247LIBS = @LIBS@
     248LIBTOOL = @LIBTOOL@
     249LIPO = @LIPO@
     250LN_S = @LN_S@
    229251LTLIBOBJS = @LTLIBOBJS@
     252LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    230253MAKEINFO = @MAKEINFO@
     254MANIFEST_TOOL = @MANIFEST_TOOL@
    231255MKDIR_P = @MKDIR_P@
     256NM = @NM@
     257NMEDIT = @NMEDIT@
     258OBJDUMP = @OBJDUMP@
    232259OBJEXT = @OBJEXT@
     260OTOOL = @OTOOL@
     261OTOOL64 = @OTOOL64@
    233262PACKAGE = @PACKAGE@
    234263PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    240269PATH_SEPARATOR = @PATH_SEPARATOR@
    241270RANLIB = @RANLIB@
     271SED = @SED@
    242272SET_MAKE = @SET_MAKE@
    243273SHELL = @SHELL@
     
    251281abs_top_builddir = @abs_top_builddir@
    252282abs_top_srcdir = @abs_top_srcdir@
     283ac_ct_AR = @ac_ct_AR@
    253284ac_ct_CC = @ac_ct_CC@
    254285ac_ct_CXX = @ac_ct_CXX@
     286ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    255287am__include = @am__include@
    256288am__leading_dot = @am__leading_dot@
     
    300332top_srcdir = @top_srcdir@
    301333AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     334ACLOCAL_AMFLAGS = -I automake
    302335
    303336# applies to both programs
     
    313346
    314347.SUFFIXES:
    315 .SUFFIXES: .cc .o .obj
     348.SUFFIXES: .cc .lo .o .obj
    316349$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
    317350        @for dep in $?; do \
     
    353386        sed 's/$(EXEEXT)$$//' | \
    354387        while read p p1; do if test -f $$p \
     388         || test -f $$p1 \
    355389          ; then echo "$$p"; echo "$$p"; else :; fi; \
    356390        done | \
     
    367401            if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
    368402            test -z "$$files" || { \
    369               echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cc1libdir)$$dir'"; \
    370               $(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 $$?; \
    371405            } \
    372406        ; done
     
    384418
    385419clean-cc1libPROGRAMS:
    386         -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
    387427
    388428clean-noinstPROGRAMS:
    389         -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
    390436
    391437as$(EXEEXT): $(as_OBJECTS) $(as_DEPENDENCIES) $(EXTRA_as_DEPENDENCIES)
     
    426472@AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    427473@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
    428488
    429489ID: $(am__tagged_files)
     
    549609clean: clean-am
    550610
    551 clean-am: clean-cc1libPROGRAMS clean-generic clean-noinstPROGRAMS \
    552         mostlyclean-am
     611clean-am: clean-cc1libPROGRAMS clean-generic clean-libtool \
     612        clean-noinstPROGRAMS mostlyclean-am
    553613
    554614distclean: distclean-am
     
    606666mostlyclean: mostlyclean-am
    607667
    608 mostlyclean-am: mostlyclean-compile mostlyclean-generic
     668mostlyclean-am: mostlyclean-compile mostlyclean-generic \
     669        mostlyclean-libtool
    609670
    610671pdf: pdf-am
     
    622683
    623684.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
    624         clean-cc1libPROGRAMS clean-generic clean-noinstPROGRAMS \
    625         cscopelist-am ctags ctags-am distclean distclean-compile \
    626         distclean-generic distclean-tags distdir dvi dvi-am html \
    627         html-am info info-am install install-am install-cc1libPROGRAMS \
    628         install-data install-data-am install-dvi install-dvi-am \
    629         install-exec install-exec-am install-exec-hook install-html \
    630         install-html-am install-info install-info-am install-man \
    631         install-pdf install-pdf-am install-ps install-ps-am \
    632         install-strip installcheck installcheck-am installdirs \
    633         maintainer-clean maintainer-clean-generic mostlyclean \
    634         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 \
    635697        tags tags-am uninstall uninstall-am uninstall-cc1libPROGRAMS \
    636698        uninstall-hook
  • driver/as.cc

    rff5caaf r95b8aa7  
    1 // 
     1//
    22// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    33//
    44// The contents of this file are covered under the licence agreement in the
    55// file "LICENCE" distributed with Cforall.
    6 // 
     6//
    77// as.c -- map assembler file, scan for debug information. If found, expand file by one character and insert Cforall
    88//         language code on the N line from the start of the debug information.
    9 // 
     9//
    1010// Author           : Peter A. Buhr
    1111// Created On       : Wed Aug  1 10:49:42 2018
     
    1313// Last Modified On : Sat Sep  8 08:40:16 2018
    1414// Update Count     : 97
    15 // 
     15//
    1616
    1717#include <cstdio>                                                                               // perror
     
    4545
    4646        if ( size ) {                                                                           // cannot map 0 sized file
    47                 char * start = (char *)mmap( NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0 );
     47                char * start = (char *)mmap( NULL, size + 2, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0 );
    4848                if ( start == (void *)-1 ) { perror( "mmap" ); exit( EXIT_FAILURE ); };
    4949
     
    6565                } // if
    6666
    67                 if ( munmap( start, size ) ) { perror( "munmap" ); exit( EXIT_FAILURE ); }; // update on disk
     67                if ( munmap( start, size + 2 ) ) { perror( "munmap" ); exit( EXIT_FAILURE ); }; // update on disk
    6868        } // if
    6969
  • driver/cfa.cc

    rff5caaf r95b8aa7  
    403403
    404404                // include the cfa library in case it's needed
    405                 args[nargs] = ( *new string( string("-L" ) + libdir + (intree ? "/src" : "")) ).c_str();
     405                args[nargs] = ( *new string( string("-L" ) + libdir + (intree ? "/src/.libs" : "")) ).c_str();
     406                nargs += 1;
     407                args[nargs] = ( *new string( string("-Wl,-rpath," ) + libdir + (intree ? "/src/.libs" : "")) ).c_str();
    406408                nargs += 1;
    407409                args[nargs] = "-lcfa";
  • examples/ArrayN.c

    rff5caaf r95b8aa7  
    77
    88forall(otype index_t)
    9 index_t offset_to_index(unsigned offset, index_t size)
    10 {
     9index_t offset_to_index(unsigned offset, index_t size) {
    1110    return [offset / size.0, offset % size.1];
    1211}
    1312
    14 int main(int argc, char* argv[])
    15 {
     13int main(int argc, char* argv[]) {
    1614    unsigned x = 0, y = 0, i = 0;
    1715    unsigned sx = 4, sy = 4;
     
    2018    [x, y] = offset_to_index(6, [sx, sy]);
    2119
    22     sout | x | ' ' | y | endl;
     20    sout | x | ' ' | y;
    2321
    2422    return 0;
  • examples/gc_no_raii/src/internal/collector.c

    rff5caaf r95b8aa7  
    3838void* gc_allocate(size_t target_size)
    3939{
    40         // sout | "Allocating " | target_size | " bytes" | endl;
     40        // sout | "Allocating " | target_size | " bytes";
    4141
    4242        size_t size = gc_compute_size(target_size + sizeof(gc_object_header));
    4343
    44         // sout | "Object header size: " | sizeof(gc_object_header) | " bytes" | endl;
    45         // sout | "Actual allocation size: " | size | " bytes" | endl;
     44        // sout | "Object header size: " | sizeof(gc_object_header) | " bytes";
     45        // sout | "Actual allocation size: " | size | " bytes";
    4646
    4747        check(size < POOL_SIZE_BYTES);
  • examples/gc_no_raii/src/internal/state.h

    rff5caaf r95b8aa7  
    3838static inline bool gc_needs_collect(gc_state* state)
    3939{
    40         // sout | "Used Space: " | state->used_space | " bytes" | endl;
     40        // sout | "Used Space: " | state->used_space | " bytes";
    4141        return state->used_space * 2 > state->total_space;
    4242}
  • examples/gc_no_raii/src/tools/print.h

    rff5caaf r95b8aa7  
    55// #include <fstream.hfa>
    66//
    7 // #define DEBUG_OUT(x) sout | x | endl;
     7// #define DEBUG_OUT(x) sout | x;
    88//
    99// #else
  • examples/multicore.c

    rff5caaf r95b8aa7  
    1515
    1616int main(int argc, char* argv[]) {
    17         // sout | "User main begin" | endl;
     17        // sout | "User main begin";
    1818        {
    1919                processor p;
     
    2222                }
    2323        }
    24         // sout | "User main end" | endl;
     24        // sout | "User main end";
    2525}
  • examples/prolog.c

    rff5caaf r95b8aa7  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Mar  8 22:09:39 2016
    13 // Update Count     : 5
     12// Last Modified On : Tue Dec 11 23:27:19 2018
     13// Update Count     : 6
    1414//
    1515
    1616#include <fstream.hfa>
    1717
    18 void printResult( int x ) { sout | "int" | endl; }
    19 void printResult( double x ) { sout | "double" | endl; }
    20 void printResult( char * x ) { sout | "char*" | endl; }
     18void printResult( int x ) { sout | "int"; }
     19void printResult( double x ) { sout | "double"; }
     20void printResult( char * x ) { sout | "char*"; }
    2121
    2222void is_arithmetic( int x ) {}
  • examples/quad.c

    rff5caaf r95b8aa7  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Mar  8 22:07:02 2016
    13 // Update Count     : 8
     12// Last Modified On : Tue Dec 11 23:26:58 2018
     13// Update Count     : 9
    1414//
    1515
     
    2828int main() {
    2929        int N = 2;
    30         sout | "result of quad of" | N | "is" | quad( N ) | endl;
     30        sout | "result of quad of" | N | "is" | quad( N );
    3131}
    3232
  • examples/square.c

    rff5caaf r95b8aa7  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Mar  8 22:05:48 2016
    13 // Update Count     : 27
     12// Last Modified On : Tue Dec 11 23:28:24 2018
     13// Update Count     : 28
    1414//
    1515
     
    2323int main() {
    2424#if 0
    25         sout | "result of squaring 9 is " | endl;
     25        sout | "result of squaring 9 is ";
    2626
    2727        // char does not have multiplication.
     
    3030        } // ?*?
    3131        char c = 9;
    32         sout | "char\t\t\t" | square( c ) | endl;
     32        sout | "char\t\t\t" | square( c );
    3333
    34         sout | square( s ) | endl;
     34        sout | square( s );
    3535#endif
    3636        short s = 9;
     
    3838#if 0
    3939        signed int i = 9;
    40         sout | "signed int\t\t" | square( i ) | endl;
     40        sout | "signed int\t\t" | square( i );
    4141
    4242        unsigned int ui = 9;
    43         sout | "unsigned int\t\t" | square( ui ) | endl;
     43        sout | "unsigned int\t\t" | square( ui );
    4444
    4545        long int li = 9;
    46         sout | "signed long int\t\t" | square( li ) | endl;
     46        sout | "signed long int\t\t" | square( li );
    4747
    4848        unsigned long int uli = 9;
    49         sout | "unsigned long int\t" | square( uli ) | endl;
     49        sout | "unsigned long int\t" | square( uli );
    5050
    5151        signed long long int lli = 9;
    52         sout | "signed long long int\t" | square( lli ) | endl;
     52        sout | "signed long long int\t" | square( lli );
    5353
    5454        unsigned long long int ulli = 9;
    55         sout | "unsigned long long int\t" | square( ulli ) | endl;
     55        sout | "unsigned long long int\t" | square( ulli );
    5656
    5757        float f = 9.0;
    58         sout | "float\t\t\t" | square( f ) | endl;
     58        sout | "float\t\t\t" | square( f );
    5959
    6060        double d = 9.0;
    61         sout | "double\t\t\t" | square( d ) | endl;
     61        sout | "double\t\t\t" | square( d );
    6262
    6363        long double ld = 9.0;
    64         sout | "long double\t\t" | square( ld ) | endl;
     64        sout | "long double\t\t" | square( ld );
    6565#endif
    6666} // main
  • examples/twice.c

    rff5caaf r95b8aa7  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Oct 19 21:52:57 2017
    13 // Update Count     : 46
     12// Last Modified On : Tue Dec 11 23:28:08 2018
     13// Update Count     : 47
    1414//
    1515
     
    2828
    2929int main( void ) {
    30         sout | twice( ' ' ) | ' ' | twice( (signed char)0 ) | twice( (int)1 ) | twice( 3.2 ) | endl;
     30        sout | twice( ' ' ) | ' ' | twice( (signed char)0 ) | twice( (int)1 ) | twice( 3.2 );
    3131}
    3232
  • examples/wrapper/src/main.c

    rff5caaf r95b8aa7  
    11#include "pointer.h"
    22
    3 wrapper_t make_copy(wrapper_t copy)
    4 {
     3wrapper_t make_copy(wrapper_t copy) {
    54        return copy;
    65}
    76
    8 int main(int argc, char const *argv[])
    9 {
     7int main(int argc, char const *argv[]) {
    108        wrapper_t p = wrap(6);
    11 
    12         sout | endl | "test started" | endl;
    13 
     9        sout | nl | "test started";
    1410        wrapper_t p2 = p;
    15 
    1611        clear(&p);
    17 
    1812        p = p2;
    19 
    2013        wrapper_t p3 = make_copy(p2);
    21 
    22         sout | endl | "test ended" | endl;
    23 
     14        sout | nl | "test ended";
    2415        return 0;
    2516}
  • examples/wrapper/src/pointer.h

    rff5caaf r95b8aa7  
    3434void ?{}(content_t* this)
    3535{
    36         sout | "Constructing content" | endl;
     36        sout | "Constructing content";
    3737        this->count = 0;
    3838}
     
    4040void ^?{}(content_t* this)
    4141{
    42         sout | "Destroying content" | endl;
     42        sout | "Destroying content";
    4343}
    4444
     
    5353void ?{}(wrapper_t* this)
    5454{
    55         sout | "Constructing empty ref pointer" | endl | endl;
     55        sout | "Constructing empty ref pointer" | nl;
    5656        this->ptr = NULL;
    5757}
     
    5959void ?{}(wrapper_t* this, wrapper_t rhs)
    6060{
    61         sout | "Constructing ref pointer from copy" | endl;
     61        sout | "Constructing ref pointer from copy";
    6262        this->ptr = rhs.ptr;
    6363        this->ptr->count++;
    64         sout | "Reference is " | this->ptr->count | endl | endl;
     64        sout | "Reference is " | this->ptr->count | nl;
    6565}
    6666
     
    6969        if(this->ptr)
    7070        {
    71                 sout | "Destroying ref pointer" | endl;
     71                sout | "Destroying ref pointer";
    7272                this->ptr->count--;
    73                 sout | "Reference is " | this->ptr->count | endl | endl;
     73                sout | "Reference is " | this->ptr->count | nl;
    7474                if(!this->ptr->count) delete(this->ptr);
    7575        }
    7676        else
    7777        {
    78                 sout | "Destroying empty ref pointer" | endl | endl;
     78                sout | "Destroying empty ref pointer" | nl;
    7979        }
    8080}
     
    8282wrapper_t ?=?(wrapper_t* this, wrapper_t rhs)
    8383{
    84         sout | "Setting ref pointer" | endl;
     84        sout | "Setting ref pointer";
    8585        if(this->ptr)
    8686        {
    8787                this->ptr->count--;
    88                 sout | "Reference is " | this->ptr->count | endl | endl;
     88                sout | "Reference is " | this->ptr->count | nl;
    8989                if(!this->ptr->count) delete(this->ptr);
    9090        }
    9191        this->ptr = rhs.ptr;
    9292        this->ptr->count++;
    93         sout | "Reference is " | this->ptr->count | endl | endl;
     93        sout | "Reference is " | this->ptr->count | nl;
    9494}
    9595
     
    9898        this->ptr = c;
    9999        this->ptr->count++;
    100         sout | "Setting ref pointer" | endl;
    101         sout | "Reference is " | this->ptr->count | endl | endl;
     100        sout | "Setting ref pointer";
     101        sout | "Reference is " | this->ptr->count | nl;
    102102}
    103103
    104104void clear(wrapper_t* this)
    105105{
    106         sout | "Clearing ref pointer" | endl;
     106        sout | "Clearing ref pointer";
    107107        this->ptr->count--;
    108         sout | "Reference is " | this->ptr->count | endl | endl;
     108        sout | "Reference is " | this->ptr->count | nl;
    109109        if(!this->ptr->count) delete(this->ptr);
    110110        this->ptr = NULL;
  • examples/zero_one.c

    rff5caaf r95b8aa7  
    33void foo(zero_t o)
    44{
    5         sout | "It's a Zero!" | endl;
     5        sout | "It's a Zero!";
    66}
    77
    88void foo(one_t o)
    99{
    10         sout | "It's a One!" | endl;
     10        sout | "It's a One!";
    1111}
    1212
    1313void foo(int o)
    1414{
    15         sout | "It's a Number!" | endl;
     15        sout | "It's a Number!";
    1616}
    1717
  • libcfa/Makefile.am

    rff5caaf r95b8aa7  
    1616
    1717AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names
     18ACLOCAL_AMFLAGS  = -I automake
    1819SUBDIRS = prelude src      # order important
  • libcfa/Makefile.in

    rff5caaf r95b8aa7  
    8989PRE_UNINSTALL = :
    9090POST_UNINSTALL = :
     91build_triplet = @build@
     92host_triplet = @host@
    9193subdir = .
    9294ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    93 am__aclocal_m4_deps = $(top_srcdir)/../automake/cfa.m4 \
    94         $(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
    95101am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    96102        $(ACLOCAL_M4)
     
    158164CSCOPE = cscope
    159165DIST_SUBDIRS = $(SUBDIRS)
    160 am__DIST_COMMON = $(srcdir)/Makefile.in \
    161         $(top_srcdir)/./automake/compile \
    162         $(top_srcdir)/./automake/install-sh \
    163         $(top_srcdir)/./automake/missing ./automake/compile \
    164         ./automake/config.guess ./automake/config.sub \
    165         ./automake/depcomp ./automake/install-sh ./automake/missing
     166am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/automake/compile \
     167        $(top_srcdir)/automake/config.guess \
     168        $(top_srcdir)/automake/config.sub \
     169        $(top_srcdir)/automake/install-sh \
     170        $(top_srcdir)/automake/ltmain.sh \
     171        $(top_srcdir)/automake/missing automake/compile \
     172        automake/config.guess automake/config.sub automake/depcomp \
     173        automake/install-sh automake/ltmain.sh automake/missing
    166174DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
    167175distdir = $(PACKAGE)-$(VERSION)
     
    209217AMTAR = @AMTAR@
    210218AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
     219AR = @AR@
    211220ARCHITECTURE = @ARCHITECTURE@
    212221ARCH_FLAGS = @ARCH_FLAGS@
     
    227236CFA_NAME = @CFA_NAME@
    228237CFA_PREFIX = @CFA_PREFIX@
     238CFA_VERSION = @CFA_VERSION@
    229239CFLAGS = @CFLAGS@
    230240CONFIGURATION = @CONFIGURATION@
     
    232242CONFIG_CFAFLAGS = @CONFIG_CFAFLAGS@
    233243CONFIG_CFLAGS = @CONFIG_CFLAGS@
     244CPP = @CPP@
    234245CPPFLAGS = @CPPFLAGS@
    235246CXX = @CXX@
     247CXXCPP = @CXXCPP@
    236248CXXDEPMODE = @CXXDEPMODE@
    237249CXXFLAGS = @CXXFLAGS@
     
    239251DEFS = @DEFS@
    240252DEPDIR = @DEPDIR@
     253DLLTOOL = @DLLTOOL@
    241254DRIVER_DIR = @DRIVER_DIR@
     255DSYMUTIL = @DSYMUTIL@
     256DUMPBIN = @DUMPBIN@
    242257ECHO_C = @ECHO_C@
    243258ECHO_N = @ECHO_N@
    244259ECHO_T = @ECHO_T@
     260EGREP = @EGREP@
    245261EXEEXT = @EXEEXT@
     262FGREP = @FGREP@
     263GREP = @GREP@
    246264INSTALL = @INSTALL@
    247265INSTALL_DATA = @INSTALL_DATA@
     
    249267INSTALL_SCRIPT = @INSTALL_SCRIPT@
    250268INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     269LD = @LD@
    251270LDFLAGS = @LDFLAGS@
    252271LIBOBJS = @LIBOBJS@
    253272LIBS = @LIBS@
     273LIBTOOL = @LIBTOOL@
     274LIPO = @LIPO@
     275LN_S = @LN_S@
    254276LTLIBOBJS = @LTLIBOBJS@
     277LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    255278MAKEINFO = @MAKEINFO@
     279MANIFEST_TOOL = @MANIFEST_TOOL@
    256280MKDIR_P = @MKDIR_P@
     281NM = @NM@
     282NMEDIT = @NMEDIT@
     283OBJDUMP = @OBJDUMP@
    257284OBJEXT = @OBJEXT@
     285OTOOL = @OTOOL@
     286OTOOL64 = @OTOOL64@
    258287PACKAGE = @PACKAGE@
    259288PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    265294PATH_SEPARATOR = @PATH_SEPARATOR@
    266295RANLIB = @RANLIB@
     296SED = @SED@
    267297SET_MAKE = @SET_MAKE@
    268298SHELL = @SHELL@
     
    273303abs_top_builddir = @abs_top_builddir@
    274304abs_top_srcdir = @abs_top_srcdir@
     305ac_ct_AR = @ac_ct_AR@
    275306ac_ct_CC = @ac_ct_CC@
    276307ac_ct_CXX = @ac_ct_CXX@
     308ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    277309am__include = @am__include@
    278310am__leading_dot = @am__leading_dot@
     
    281313am__untar = @am__untar@
    282314bindir = @bindir@
     315build = @build@
    283316build_alias = @build_alias@
     317build_cpu = @build_cpu@
     318build_os = @build_os@
     319build_vendor = @build_vendor@
    284320builddir = @builddir@
    285321datadir = @datadir@
     
    288324dvidir = @dvidir@
    289325exec_prefix = @exec_prefix@
     326host = @host@
    290327host_alias = @host_alias@
     328host_cpu = @host_cpu@
     329host_os = @host_os@
     330host_vendor = @host_vendor@
    291331htmldir = @htmldir@
    292332includedir = @includedir@
     
    314354top_srcdir = @top_srcdir@
    315355AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names
     356ACLOCAL_AMFLAGS = -I automake
    316357SUBDIRS = prelude src      # order important
    317358all: all-recursive
     
    351392        $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
    352393$(am__aclocal_m4_deps):
     394
     395mostlyclean-libtool:
     396        -rm -f *.lo
     397
     398clean-libtool:
     399        -rm -rf .libs _libs
     400
     401distclean-libtool:
     402        -rm -f libtool config.lt
    353403
    354404# This directory's subdirectories are mostly independent; you can cd
     
    683733clean: clean-recursive
    684734
    685 clean-am: clean-generic mostlyclean-am
     735clean-am: clean-generic clean-libtool mostlyclean-am
    686736
    687737distclean: distclean-recursive
    688738        -rm -f $(am__CONFIG_DISTCLEAN_FILES)
    689739        -rm -f Makefile
    690 distclean-am: clean-am distclean-generic distclean-tags
     740distclean-am: clean-am distclean-generic distclean-libtool \
     741        distclean-tags
    691742
    692743dvi: dvi-recursive
     
    738789mostlyclean: mostlyclean-recursive
    739790
    740 mostlyclean-am: mostlyclean-generic
     791mostlyclean-am: mostlyclean-generic mostlyclean-libtool
    741792
    742793pdf: pdf-recursive
     
    754805.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
    755806        am--refresh check check-am clean clean-cscope clean-generic \
    756         cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
    757         dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
    758         distcheck distclean distclean-generic distclean-tags \
    759         distcleancheck distdir distuninstallcheck dvi dvi-am html \
    760         html-am info info-am install install-am install-data \
    761         install-data-am install-dvi install-dvi-am install-exec \
    762         install-exec-am install-html install-html-am install-info \
    763         install-info-am install-man install-pdf install-pdf-am \
    764         install-ps install-ps-am install-strip installcheck \
    765         installcheck-am installdirs installdirs-am maintainer-clean \
    766         maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
    767         pdf-am ps ps-am tags tags-am uninstall uninstall-am
     807        clean-libtool cscope cscopelist-am ctags ctags-am dist \
     808        dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
     809        dist-xz dist-zip distcheck distclean distclean-generic \
     810        distclean-libtool distclean-tags distcleancheck distdir \
     811        distuninstallcheck dvi dvi-am html html-am info info-am \
     812        install install-am install-data install-data-am install-dvi \
     813        install-dvi-am install-exec install-exec-am install-html \
     814        install-html-am install-info install-info-am install-man \
     815        install-pdf install-pdf-am install-ps install-ps-am \
     816        install-strip installcheck installcheck-am installdirs \
     817        installdirs-am maintainer-clean maintainer-clean-generic \
     818        mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
     819        ps ps-am tags tags-am uninstall uninstall-am
    768820
    769821.PRECIOUS: Makefile
  • libcfa/aclocal.m4

    rff5caaf r95b8aa7  
    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])
  • libcfa/configure

    rff5caaf r95b8aa7  
    198198  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
    199199  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
    200   test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
     200  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
     209test \$(( 1 + 1 )) = 2 || exit 1"
    201210  if (eval "$as_required") 2>/dev/null; then :
    202211  as_have_required=yes
     
    556565as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
    557566
     567SHELL=${CONFIG_SHELL-/bin/sh}
     568
    558569
    559570test -n "$DJDIR" || exec 7<&0 </dev/null
     
    585596PACKAGE_URL=''
    586597
     598# Factoring default headers for most tests.
     599ac_includes_default="\
     600#include <stdio.h>
     601#ifdef HAVE_SYS_TYPES_H
     602# include <sys/types.h>
     603#endif
     604#ifdef HAVE_SYS_STAT_H
     605# include <sys/stat.h>
     606#endif
     607#ifdef STDC_HEADERS
     608# include <stdlib.h>
     609# include <stddef.h>
     610#else
     611# ifdef HAVE_STDLIB_H
     612#  include <stdlib.h>
     613# endif
     614#endif
     615#ifdef HAVE_STRING_H
     616# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
     617#  include <memory.h>
     618# endif
     619# include <string.h>
     620#endif
     621#ifdef HAVE_STRINGS_H
     622# include <strings.h>
     623#endif
     624#ifdef HAVE_INTTYPES_H
     625# include <inttypes.h>
     626#endif
     627#ifdef HAVE_STDINT_H
     628# include <stdint.h>
     629#endif
     630#ifdef HAVE_UNISTD_H
     631# include <unistd.h>
     632#endif"
     633
    587634ac_subst_vars='am__EXEEXT_FALSE
    588635am__EXEEXT_TRUE
    589636LTLIBOBJS
    590637LIBOBJS
    591 RANLIB
    592638am__fastdepCCAS_FALSE
    593639am__fastdepCCAS_TRUE
     
    595641CCASFLAGS
    596642CCAS
     643CXXCPP
     644am__fastdepCXX_FALSE
     645am__fastdepCXX_TRUE
     646CXXDEPMODE
     647ac_ct_CXX
     648CXXFLAGS
     649CXX
     650CPP
     651LT_SYS_LIBRARY_PATH
     652OTOOL64
     653OTOOL
     654LIPO
     655NMEDIT
     656DSYMUTIL
     657MANIFEST_TOOL
     658RANLIB
     659ac_ct_AR
     660AR
     661DLLTOOL
     662OBJDUMP
     663LN_S
     664NM
     665ac_ct_DUMPBIN
     666DUMPBIN
     667LD
     668FGREP
     669EGREP
     670GREP
     671SED
    597672am__fastdepCC_FALSE
    598673am__fastdepCC_TRUE
    599674CCDEPMODE
    600 ac_ct_CC
    601 CFLAGS
    602 CC
    603 am__fastdepCXX_FALSE
    604 am__fastdepCXX_TRUE
    605 CXXDEPMODE
    606675am__nodep
    607676AMDEPBACKSLASH
     
    613682OBJEXT
    614683EXEEXT
    615 ac_ct_CXX
     684ac_ct_CC
    616685CPPFLAGS
    617686LDFLAGS
    618 CXXFLAGS
    619 CXX
     687CFLAGS
     688CC
     689host_os
     690host_vendor
     691host_cpu
     692host
     693build_os
     694build_vendor
     695build_cpu
     696build
     697LIBTOOL
    620698CFA_LIBDIR
    621699CFA_BINDIR
     
    631709CFACPP
    632710CFACC
     711CFA_VERSION
    633712DRIVER_DIR
    634713CONFIGURATION
     
    705784enable_silent_rules
    706785with_cfa_name
     786enable_shared
     787enable_static
     788with_pic
     789enable_fast_install
     790with_aix_soname
    707791enable_dependency_tracking
     792with_gnu_ld
     793with_sysroot
     794enable_libtool_lock
    708795'
    709796      ac_precious_vars='build_alias
     
    713800CONFIGURATION
    714801DRIVER_DIR
    715 CXX
    716 CXXFLAGS
     802CFA_VERSION
     803CC
     804CFLAGS
    717805LDFLAGS
    718806LIBS
    719807CPPFLAGS
     808LT_SYS_LIBRARY_PATH
     809CPP
     810CXX
     811CXXFLAGS
    720812CCC
    721 CC
    722 CFLAGS
     813CXXCPP
    723814CCAS
    724815CCASFLAGS'
     
    13351426  --program-suffix=SUFFIX            append SUFFIX to installed program names
    13361427  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
     1428
     1429System types:
     1430  --build=BUILD     configure for building on BUILD [guessed]
     1431  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
    13371432_ACEOF
    13381433fi
     
    13501445  --enable-silent-rules   less verbose build output (undo: "make V=1")
    13511446  --disable-silent-rules  verbose build output (undo: "make V=0")
     1447  --enable-shared[=PKGS]  build shared libraries [default=yes]
     1448  --enable-static[=PKGS]  build static libraries [default=yes]
     1449  --enable-fast-install[=PKGS]
     1450                          optimize for fast installation [default=yes]
    13521451  --enable-dependency-tracking
    13531452                          do not reject slow dependency extractors
    13541453  --disable-dependency-tracking
    13551454                          speeds up one-time build
     1455  --disable-libtool-lock  avoid locking (might break parallel builds)
    13561456
    13571457Optional Packages:
     
    13591459  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
    13601460  --with-cfa-name=NAME     NAME too which cfa will be installed
     1461  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
     1462                          both]
     1463  --with-aix-soname=aix|svr4|both
     1464                          shared library versioning (aka "SONAME") variant to
     1465                          provide on AIX, [default=aix].
     1466  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
     1467  --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
     1468                          compiler's sysroot if not specified).
    13611469
    13621470Some influential environment variables:
     
    13671475              deubg, nodebug, nolib (prelude-only)
    13681476  DRIVER_DIR  The path to the cforall driver directory
    1369   CXX         C++ compiler command
    1370   CXXFLAGS    C++ compiler flags
     1477  CFA_VERSION The long version of cfa
     1478  CC          C compiler command
     1479  CFLAGS      C compiler flags
    13711480  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
    13721481              nonstandard directory <lib dir>
     
    13741483  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
    13751484              you have headers in a nonstandard directory <include dir>
    1376   CC          C compiler command
    1377   CFLAGS      C compiler flags
     1485  LT_SYS_LIBRARY_PATH
     1486              User-defined run-time library search path.
     1487  CPP         C preprocessor
     1488  CXX         C++ compiler command
     1489  CXXFLAGS    C++ compiler flags
     1490  CXXCPP      C++ preprocessor
    13781491  CCAS        assembler compiler command (defaults to CC)
    13791492  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
     
    14581571## Autoconf initialization. ##
    14591572## ------------------------ ##
     1573
     1574# ac_fn_c_try_compile LINENO
     1575# --------------------------
     1576# Try to compile conftest.$ac_ext, and return whether this succeeded.
     1577ac_fn_c_try_compile ()
     1578{
     1579  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
     1580  rm -f conftest.$ac_objext
     1581  if { { ac_try="$ac_compile"
     1582case "(($ac_try" in
     1583  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
     1584  *) ac_try_echo=$ac_try;;
     1585esac
     1586eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
     1587$as_echo "$ac_try_echo"; } >&5
     1588  (eval "$ac_compile") 2>conftest.err
     1589  ac_status=$?
     1590  if test -s conftest.err; then
     1591    grep -v '^ *+' conftest.err >conftest.er1
     1592    cat conftest.er1 >&5
     1593    mv -f conftest.er1 conftest.err
     1594  fi
     1595  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     1596  test $ac_status = 0; } && {
     1597         test -z "$ac_c_werror_flag" ||
     1598         test ! -s conftest.err
     1599       } && test -s conftest.$ac_objext; then :
     1600  ac_retval=0
     1601else
     1602  $as_echo "$as_me: failed program was:" >&5
     1603sed 's/^/| /' conftest.$ac_ext >&5
     1604
     1605        ac_retval=1
     1606fi
     1607  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
     1608  as_fn_set_status $ac_retval
     1609
     1610} # ac_fn_c_try_compile
     1611
     1612# ac_fn_c_try_link LINENO
     1613# -----------------------
     1614# Try to link conftest.$ac_ext, and return whether this succeeded.
     1615ac_fn_c_try_link ()
     1616{
     1617  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
     1618  rm -f conftest.$ac_objext conftest$ac_exeext
     1619  if { { ac_try="$ac_link"
     1620case "(($ac_try" in
     1621  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
     1622  *) ac_try_echo=$ac_try;;
     1623esac
     1624eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
     1625$as_echo "$ac_try_echo"; } >&5
     1626  (eval "$ac_link") 2>conftest.err
     1627  ac_status=$?
     1628  if test -s conftest.err; then
     1629    grep -v '^ *+' conftest.err >conftest.er1
     1630    cat conftest.er1 >&5
     1631    mv -f conftest.er1 conftest.err
     1632  fi
     1633  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     1634  test $ac_status = 0; } && {
     1635         test -z "$ac_c_werror_flag" ||
     1636         test ! -s conftest.err
     1637       } && test -s conftest$ac_exeext && {
     1638         test "$cross_compiling" = yes ||
     1639         test -x conftest$ac_exeext
     1640       }; then :
     1641  ac_retval=0
     1642else
     1643  $as_echo "$as_me: failed program was:" >&5
     1644sed 's/^/| /' conftest.$ac_ext >&5
     1645
     1646        ac_retval=1
     1647fi
     1648  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
     1649  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
     1650  # interfere with the next link command; also delete a directory that is
     1651  # left behind by Apple's compiler.  We do this before executing the actions.
     1652  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
     1653  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
     1654  as_fn_set_status $ac_retval
     1655
     1656} # ac_fn_c_try_link
     1657
     1658# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
     1659# -------------------------------------------------------
     1660# Tests whether HEADER exists and can be compiled using the include files in
     1661# INCLUDES, setting the cache variable VAR accordingly.
     1662ac_fn_c_check_header_compile ()
     1663{
     1664  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
     1665  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
     1666$as_echo_n "checking for $2... " >&6; }
     1667if eval \${$3+:} false; then :
     1668  $as_echo_n "(cached) " >&6
     1669else
     1670  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     1671/* end confdefs.h.  */
     1672$4
     1673#include <$2>
     1674_ACEOF
     1675if ac_fn_c_try_compile "$LINENO"; then :
     1676  eval "$3=yes"
     1677else
     1678  eval "$3=no"
     1679fi
     1680rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     1681fi
     1682eval ac_res=\$$3
     1683               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
     1684$as_echo "$ac_res" >&6; }
     1685  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
     1686
     1687} # ac_fn_c_check_header_compile
     1688
     1689# ac_fn_c_try_cpp LINENO
     1690# ----------------------
     1691# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
     1692ac_fn_c_try_cpp ()
     1693{
     1694  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
     1695  if { { ac_try="$ac_cpp conftest.$ac_ext"
     1696case "(($ac_try" in
     1697  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
     1698  *) ac_try_echo=$ac_try;;
     1699esac
     1700eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
     1701$as_echo "$ac_try_echo"; } >&5
     1702  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
     1703  ac_status=$?
     1704  if test -s conftest.err; then
     1705    grep -v '^ *+' conftest.err >conftest.er1
     1706    cat conftest.er1 >&5
     1707    mv -f conftest.er1 conftest.err
     1708  fi
     1709  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     1710  test $ac_status = 0; } > conftest.i && {
     1711         test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
     1712         test ! -s conftest.err
     1713       }; then :
     1714  ac_retval=0
     1715else
     1716  $as_echo "$as_me: failed program was:" >&5
     1717sed 's/^/| /' conftest.$ac_ext >&5
     1718
     1719    ac_retval=1
     1720fi
     1721  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
     1722  as_fn_set_status $ac_retval
     1723
     1724} # ac_fn_c_try_cpp
     1725
     1726# ac_fn_c_try_run LINENO
     1727# ----------------------
     1728# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
     1729# that executables *can* be run.
     1730ac_fn_c_try_run ()
     1731{
     1732  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
     1733  if { { ac_try="$ac_link"
     1734case "(($ac_try" in
     1735  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
     1736  *) ac_try_echo=$ac_try;;
     1737esac
     1738eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
     1739$as_echo "$ac_try_echo"; } >&5
     1740  (eval "$ac_link") 2>&5
     1741  ac_status=$?
     1742  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     1743  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
     1744  { { case "(($ac_try" in
     1745  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
     1746  *) ac_try_echo=$ac_try;;
     1747esac
     1748eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
     1749$as_echo "$ac_try_echo"; } >&5
     1750  (eval "$ac_try") 2>&5
     1751  ac_status=$?
     1752  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     1753  test $ac_status = 0; }; }; then :
     1754  ac_retval=0
     1755else
     1756  $as_echo "$as_me: program exited with status $ac_status" >&5
     1757       $as_echo "$as_me: failed program was:" >&5
     1758sed 's/^/| /' conftest.$ac_ext >&5
     1759
     1760       ac_retval=$ac_status
     1761fi
     1762  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
     1763  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
     1764  as_fn_set_status $ac_retval
     1765
     1766} # ac_fn_c_try_run
     1767
     1768# ac_fn_c_check_func LINENO FUNC VAR
     1769# ----------------------------------
     1770# Tests whether FUNC exists, setting the cache variable VAR accordingly
     1771ac_fn_c_check_func ()
     1772{
     1773  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
     1774  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
     1775$as_echo_n "checking for $2... " >&6; }
     1776if eval \${$3+:} false; then :
     1777  $as_echo_n "(cached) " >&6
     1778else
     1779  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     1780/* end confdefs.h.  */
     1781/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
     1782   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
     1783#define $2 innocuous_$2
     1784
     1785/* System header to define __stub macros and hopefully few prototypes,
     1786    which can conflict with char $2 (); below.
     1787    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     1788    <limits.h> exists even on freestanding compilers.  */
     1789
     1790#ifdef __STDC__
     1791# include <limits.h>
     1792#else
     1793# include <assert.h>
     1794#endif
     1795
     1796#undef $2
     1797
     1798/* Override any GCC internal prototype to avoid an error.
     1799   Use char because int might match the return type of a GCC
     1800   builtin and then its argument prototype would still apply.  */
     1801#ifdef __cplusplus
     1802extern "C"
     1803#endif
     1804char $2 ();
     1805/* The GNU C library defines this for functions which it implements
     1806    to always fail with ENOSYS.  Some functions are actually named
     1807    something starting with __ and the normal name is an alias.  */
     1808#if defined __stub_$2 || defined __stub___$2
     1809choke me
     1810#endif
     1811
     1812int
     1813main ()
     1814{
     1815return $2 ();
     1816  ;
     1817  return 0;
     1818}
     1819_ACEOF
     1820if ac_fn_c_try_link "$LINENO"; then :
     1821  eval "$3=yes"
     1822else
     1823  eval "$3=no"
     1824fi
     1825rm -f core conftest.err conftest.$ac_objext \
     1826    conftest$ac_exeext conftest.$ac_ext
     1827fi
     1828eval ac_res=\$$3
     1829               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
     1830$as_echo "$ac_res" >&6; }
     1831  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
     1832
     1833} # ac_fn_c_check_func
    14601834
    14611835# ac_fn_cxx_try_compile LINENO
     
    14971871} # ac_fn_cxx_try_compile
    14981872
    1499 # ac_fn_c_try_compile LINENO
    1500 # --------------------------
    1501 # Try to compile conftest.$ac_ext, and return whether this succeeded.
    1502 ac_fn_c_try_compile ()
     1873# ac_fn_cxx_try_cpp LINENO
     1874# ------------------------
     1875# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
     1876ac_fn_cxx_try_cpp ()
    15031877{
    15041878  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    1505   rm -f conftest.$ac_objext
    1506   if { { ac_try="$ac_compile"
     1879  if { { ac_try="$ac_cpp conftest.$ac_ext"
    15071880case "(($ac_try" in
    15081881  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
     
    15111884eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
    15121885$as_echo "$ac_try_echo"; } >&5
    1513   (eval "$ac_compile") 2>conftest.err
     1886  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
     1887  ac_status=$?
     1888  if test -s conftest.err; then
     1889    grep -v '^ *+' conftest.err >conftest.er1
     1890    cat conftest.er1 >&5
     1891    mv -f conftest.er1 conftest.err
     1892  fi
     1893  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     1894  test $ac_status = 0; } > conftest.i && {
     1895         test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
     1896         test ! -s conftest.err
     1897       }; then :
     1898  ac_retval=0
     1899else
     1900  $as_echo "$as_me: failed program was:" >&5
     1901sed 's/^/| /' conftest.$ac_ext >&5
     1902
     1903    ac_retval=1
     1904fi
     1905  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
     1906  as_fn_set_status $ac_retval
     1907
     1908} # ac_fn_cxx_try_cpp
     1909
     1910# ac_fn_cxx_try_link LINENO
     1911# -------------------------
     1912# Try to link conftest.$ac_ext, and return whether this succeeded.
     1913ac_fn_cxx_try_link ()
     1914{
     1915  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
     1916  rm -f conftest.$ac_objext conftest$ac_exeext
     1917  if { { ac_try="$ac_link"
     1918case "(($ac_try" in
     1919  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
     1920  *) ac_try_echo=$ac_try;;
     1921esac
     1922eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
     1923$as_echo "$ac_try_echo"; } >&5
     1924  (eval "$ac_link") 2>conftest.err
    15141925  ac_status=$?
    15151926  if test -s conftest.err; then
     
    15201931  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
    15211932  test $ac_status = 0; } && {
    1522          test -z "$ac_c_werror_flag" ||
     1933         test -z "$ac_cxx_werror_flag" ||
    15231934         test ! -s conftest.err
    1524        } && test -s conftest.$ac_objext; then :
     1935       } && test -s conftest$ac_exeext && {
     1936         test "$cross_compiling" = yes ||
     1937         test -x conftest$ac_exeext
     1938       }; then :
    15251939  ac_retval=0
    15261940else
     
    15301944        ac_retval=1
    15311945fi
     1946  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
     1947  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
     1948  # interfere with the next link command; also delete a directory that is
     1949  # left behind by Apple's compiler.  We do this before executing the actions.
     1950  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
    15321951  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
    15331952  as_fn_set_status $ac_retval
    15341953
    1535 } # ac_fn_c_try_compile
     1954} # ac_fn_cxx_try_link
    15361955cat >config.log <<_ACEOF
    15371956This file contains any messages produced by compilers while
     
    18872306
    18882307ac_aux_dir=
    1889 for ac_dir in ./automake "$srcdir"/./automake; do
     2308for ac_dir in automake "$srcdir"/automake; do
    18902309  if test -f "$ac_dir/install-sh"; then
    18912310    ac_aux_dir=$ac_dir
     
    19032322done
    19042323if test -z "$ac_aux_dir"; then
    1905   as_fn_error $? "cannot find install-sh, install.sh, or shtool in ./automake \"$srcdir\"/./automake" "$LINENO" 5
     2324  as_fn_error $? "cannot find install-sh, install.sh, or shtool in automake \"$srcdir\"/automake" "$LINENO" 5
    19062325fi
    19072326
     
    19132332ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
    19142333ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
     2334
    19152335
    19162336
     
    25072927: ${CFLAGS=""}
    25082928
     2929# define this to override
     2930AR_FLAGS="cr"
     2931
    25092932# Allow program name tansformation
    25102933# will fill program_transform_name with appropriate sed regex
     
    25152938
    25162939
     2940
    25172941CFACC=${DRIVER_DIR}cfa
    25182942CFACPP=${DRIVER_DIR}cfa-cpp
     2943
    25192944
    25202945
     
    25462971                CONFIG_BUILDLIB="no"
    25472972        ;;
     2973        *)
     2974        as_fn_error $? "'Invalid value $CONFIGURATION for \$CONFIGURATION'" "$LINENO" 5
     2975        ;;
    25482976esac
    25492977
     
    26483076
    26493077# Checks for programs.
    2650 ac_ext=cpp
    2651 ac_cpp='$CXXCPP $CPPFLAGS'
    2652 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
    2653 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
    2654 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
    2655 if test -z "$CXX"; then
    2656   if test -n "$CCC"; then
    2657     CXX=$CCC
    2658   else
    2659     if test -n "$ac_tool_prefix"; then
    2660   for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
    2661   do
    2662     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
    2663 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
     3078case `pwd` in
     3079  *\ * | *\     *)
     3080    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
     3081$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
     3082esac
     3083
     3084
     3085
     3086macro_version='2.4.6'
     3087macro_revision='2.4.6'
     3088
     3089
     3090
     3091
     3092
     3093
     3094
     3095
     3096
     3097
     3098
     3099
     3100
     3101ltmain=$ac_aux_dir/ltmain.sh
     3102
     3103# Make sure we can run config.sub.
     3104$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
     3105  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
     3106
     3107{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
     3108$as_echo_n "checking build system type... " >&6; }
     3109if ${ac_cv_build+:} false; then :
     3110  $as_echo_n "(cached) " >&6
     3111else
     3112  ac_build_alias=$build_alias
     3113test "x$ac_build_alias" = x &&
     3114  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
     3115test "x$ac_build_alias" = x &&
     3116  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
     3117ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
     3118  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
     3119
     3120fi
     3121{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
     3122$as_echo "$ac_cv_build" >&6; }
     3123case $ac_cv_build in
     3124*-*-*) ;;
     3125*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
     3126esac
     3127build=$ac_cv_build
     3128ac_save_IFS=$IFS; IFS='-'
     3129set x $ac_cv_build
     3130shift
     3131build_cpu=$1
     3132build_vendor=$2
     3133shift; shift
     3134# Remember, the first character of IFS is used to create $*,
     3135# except with old shells:
     3136build_os=$*
     3137IFS=$ac_save_IFS
     3138case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
     3139
     3140
     3141{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
     3142$as_echo_n "checking host system type... " >&6; }
     3143if ${ac_cv_host+:} false; then :
     3144  $as_echo_n "(cached) " >&6
     3145else
     3146  if test "x$host_alias" = x; then
     3147  ac_cv_host=$ac_cv_build
     3148else
     3149  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
     3150    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
     3151fi
     3152
     3153fi
     3154{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
     3155$as_echo "$ac_cv_host" >&6; }
     3156case $ac_cv_host in
     3157*-*-*) ;;
     3158*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
     3159esac
     3160host=$ac_cv_host
     3161ac_save_IFS=$IFS; IFS='-'
     3162set x $ac_cv_host
     3163shift
     3164host_cpu=$1
     3165host_vendor=$2
     3166shift; shift
     3167# Remember, the first character of IFS is used to create $*,
     3168# except with old shells:
     3169host_os=$*
     3170IFS=$ac_save_IFS
     3171case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
     3172
     3173
     3174# Backslashify metacharacters that are still active within
     3175# double-quoted strings.
     3176sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
     3177
     3178# Same as above, but do not quote variable references.
     3179double_quote_subst='s/\(["`\\]\)/\\\1/g'
     3180
     3181# Sed substitution to delay expansion of an escaped shell variable in a
     3182# double_quote_subst'ed string.
     3183delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
     3184
     3185# Sed substitution to delay expansion of an escaped single quote.
     3186delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
     3187
     3188# Sed substitution to avoid accidental globbing in evaled expressions
     3189no_glob_subst='s/\*/\\\*/g'
     3190
     3191ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
     3192ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
     3193ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
     3194
     3195{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
     3196$as_echo_n "checking how to print strings... " >&6; }
     3197# Test print first, because it will be a builtin if present.
     3198if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
     3199   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
     3200  ECHO='print -r --'
     3201elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
     3202  ECHO='printf %s\n'
     3203else
     3204  # Use this function as a fallback that always works.
     3205  func_fallback_echo ()
     3206  {
     3207    eval 'cat <<_LTECHO_EOF
     3208$1
     3209_LTECHO_EOF'
     3210  }
     3211  ECHO='func_fallback_echo'
     3212fi
     3213
     3214# func_echo_all arg...
     3215# Invoke $ECHO with all args, space-separated.
     3216func_echo_all ()
     3217{
     3218    $ECHO ""
     3219}
     3220
     3221case $ECHO in
     3222  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
     3223$as_echo "printf" >&6; } ;;
     3224  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
     3225$as_echo "print -r" >&6; } ;;
     3226  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
     3227$as_echo "cat" >&6; } ;;
     3228esac
     3229
     3230
     3231
     3232
     3233
     3234
     3235
     3236
     3237
     3238
     3239
     3240
     3241
     3242
     3243DEPDIR="${am__leading_dot}deps"
     3244
     3245ac_config_commands="$ac_config_commands depfiles"
     3246
     3247
     3248am_make=${MAKE-make}
     3249cat > confinc << 'END'
     3250am__doit:
     3251        @echo this is the am__doit target
     3252.PHONY: am__doit
     3253END
     3254# If we don't find an include directive, just comment out the code.
     3255{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
     3256$as_echo_n "checking for style of include used by $am_make... " >&6; }
     3257am__include="#"
     3258am__quote=
     3259_am_result=none
     3260# First try GNU make style include.
     3261echo "include confinc" > confmf
     3262# Ignore all kinds of additional output from 'make'.
     3263case `$am_make -s -f confmf 2> /dev/null` in #(
     3264*the\ am__doit\ target*)
     3265  am__include=include
     3266  am__quote=
     3267  _am_result=GNU
     3268  ;;
     3269esac
     3270# Now try BSD make style include.
     3271if test "$am__include" = "#"; then
     3272   echo '.include "confinc"' > confmf
     3273   case `$am_make -s -f confmf 2> /dev/null` in #(
     3274   *the\ am__doit\ target*)
     3275     am__include=.include
     3276     am__quote="\""
     3277     _am_result=BSD
     3278     ;;
     3279   esac
     3280fi
     3281
     3282
     3283{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
     3284$as_echo "$_am_result" >&6; }
     3285rm -f confinc confmf
     3286
     3287# Check whether --enable-dependency-tracking was given.
     3288if test "${enable_dependency_tracking+set}" = set; then :
     3289  enableval=$enable_dependency_tracking;
     3290fi
     3291
     3292if test "x$enable_dependency_tracking" != xno; then
     3293  am_depcomp="$ac_aux_dir/depcomp"
     3294  AMDEPBACKSLASH='\'
     3295  am__nodep='_no'
     3296fi
     3297 if test "x$enable_dependency_tracking" != xno; then
     3298  AMDEP_TRUE=
     3299  AMDEP_FALSE='#'
     3300else
     3301  AMDEP_TRUE='#'
     3302  AMDEP_FALSE=
     3303fi
     3304
     3305
     3306ac_ext=c
     3307ac_cpp='$CPP $CPPFLAGS'
     3308ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     3309ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     3310ac_compiler_gnu=$ac_cv_c_compiler_gnu
     3311if test -n "$ac_tool_prefix"; then
     3312  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
     3313set dummy ${ac_tool_prefix}gcc; ac_word=$2
    26643314{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
    26653315$as_echo_n "checking for $ac_word... " >&6; }
    2666 if ${ac_cv_prog_CXX+:} false; then :
     3316if ${ac_cv_prog_CC+:} false; then :
    26673317  $as_echo_n "(cached) " >&6
    26683318else
    2669   if test -n "$CXX"; then
    2670   ac_cv_prog_CXX="$CXX" # Let the user override the test.
     3319  if test -n "$CC"; then
     3320  ac_cv_prog_CC="$CC" # Let the user override the test.
    26713321else
    26723322as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     
    26773327    for ac_exec_ext in '' $ac_executable_extensions; do
    26783328  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    2679     ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
     3329    ac_cv_prog_CC="${ac_tool_prefix}gcc"
    26803330    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    26813331    break 2
     
    26873337fi
    26883338fi
    2689 CXX=$ac_cv_prog_CXX
    2690 if test -n "$CXX"; then
    2691   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
    2692 $as_echo "$CXX" >&6; }
     3339CC=$ac_cv_prog_CC
     3340if test -n "$CC"; then
     3341  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
     3342$as_echo "$CC" >&6; }
    26933343else
    26943344  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     
    26973347
    26983348
    2699     test -n "$CXX" && break
    2700   done
    2701 fi
    2702 if test -z "$CXX"; then
    2703   ac_ct_CXX=$CXX
    2704   for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
    2705 do
    2706   # Extract the first word of "$ac_prog", so it can be a program name with args.
    2707 set dummy $ac_prog; ac_word=$2
     3349fi
     3350if test -z "$ac_cv_prog_CC"; then
     3351  ac_ct_CC=$CC
     3352  # Extract the first word of "gcc", so it can be a program name with args.
     3353set dummy gcc; ac_word=$2
    27083354{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
    27093355$as_echo_n "checking for $ac_word... " >&6; }
    2710 if ${ac_cv_prog_ac_ct_CXX+:} false; then :
     3356if ${ac_cv_prog_ac_ct_CC+:} false; then :
    27113357  $as_echo_n "(cached) " >&6
    27123358else
    2713   if test -n "$ac_ct_CXX"; then
    2714   ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
     3359  if test -n "$ac_ct_CC"; then
     3360  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
    27153361else
    27163362as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     
    27213367    for ac_exec_ext in '' $ac_executable_extensions; do
    27223368  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    2723     ac_cv_prog_ac_ct_CXX="$ac_prog"
     3369    ac_cv_prog_ac_ct_CC="gcc"
    27243370    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    27253371    break 2
     
    27313377fi
    27323378fi
    2733 ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
    2734 if test -n "$ac_ct_CXX"; then
    2735   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
    2736 $as_echo "$ac_ct_CXX" >&6; }
     3379ac_ct_CC=$ac_cv_prog_ac_ct_CC
     3380if test -n "$ac_ct_CC"; then
     3381  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
     3382$as_echo "$ac_ct_CC" >&6; }
    27373383else
    27383384  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     
    27403386fi
    27413387
    2742 
    2743   test -n "$ac_ct_CXX" && break
    2744 done
    2745 
    2746   if test "x$ac_ct_CXX" = x; then
    2747     CXX="g++"
     3388  if test "x$ac_ct_CC" = x; then
     3389    CC=""
    27483390  else
    27493391    case $cross_compiling:$ac_tool_warned in
     
    27533395ac_tool_warned=yes ;;
    27543396esac
    2755     CXX=$ac_ct_CXX
     3397    CC=$ac_ct_CC
    27563398  fi
    2757 fi
    2758 
     3399else
     3400  CC="$ac_cv_prog_CC"
     3401fi
     3402
     3403if test -z "$CC"; then
     3404          if test -n "$ac_tool_prefix"; then
     3405    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
     3406set dummy ${ac_tool_prefix}cc; ac_word=$2
     3407{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     3408$as_echo_n "checking for $ac_word... " >&6; }
     3409if ${ac_cv_prog_CC+:} false; then :
     3410  $as_echo_n "(cached) " >&6
     3411else
     3412  if test -n "$CC"; then
     3413  ac_cv_prog_CC="$CC" # Let the user override the test.
     3414else
     3415as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     3416for as_dir in $PATH
     3417do
     3418  IFS=$as_save_IFS
     3419  test -z "$as_dir" && as_dir=.
     3420    for ac_exec_ext in '' $ac_executable_extensions; do
     3421  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     3422    ac_cv_prog_CC="${ac_tool_prefix}cc"
     3423    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     3424    break 2
    27593425  fi
    2760 fi
     3426done
     3427  done
     3428IFS=$as_save_IFS
     3429
     3430fi
     3431fi
     3432CC=$ac_cv_prog_CC
     3433if test -n "$CC"; then
     3434  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
     3435$as_echo "$CC" >&6; }
     3436else
     3437  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     3438$as_echo "no" >&6; }
     3439fi
     3440
     3441
     3442  fi
     3443fi
     3444if test -z "$CC"; then
     3445  # Extract the first word of "cc", so it can be a program name with args.
     3446set dummy cc; ac_word=$2
     3447{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     3448$as_echo_n "checking for $ac_word... " >&6; }
     3449if ${ac_cv_prog_CC+:} false; then :
     3450  $as_echo_n "(cached) " >&6
     3451else
     3452  if test -n "$CC"; then
     3453  ac_cv_prog_CC="$CC" # Let the user override the test.
     3454else
     3455  ac_prog_rejected=no
     3456as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     3457for as_dir in $PATH
     3458do
     3459  IFS=$as_save_IFS
     3460  test -z "$as_dir" && as_dir=.
     3461    for ac_exec_ext in '' $ac_executable_extensions; do
     3462  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     3463    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
     3464       ac_prog_rejected=yes
     3465       continue
     3466     fi
     3467    ac_cv_prog_CC="cc"
     3468    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     3469    break 2
     3470  fi
     3471done
     3472  done
     3473IFS=$as_save_IFS
     3474
     3475if test $ac_prog_rejected = yes; then
     3476  # We found a bogon in the path, so make sure we never use it.
     3477  set dummy $ac_cv_prog_CC
     3478  shift
     3479  if test $# != 0; then
     3480    # We chose a different compiler from the bogus one.
     3481    # However, it has the same basename, so the bogon will be chosen
     3482    # first if we set CC to just the basename; use the full file name.
     3483    shift
     3484    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
     3485  fi
     3486fi
     3487fi
     3488fi
     3489CC=$ac_cv_prog_CC
     3490if test -n "$CC"; then
     3491  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
     3492$as_echo "$CC" >&6; }
     3493else
     3494  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     3495$as_echo "no" >&6; }
     3496fi
     3497
     3498
     3499fi
     3500if test -z "$CC"; then
     3501  if test -n "$ac_tool_prefix"; then
     3502  for ac_prog in cl.exe
     3503  do
     3504    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
     3505set dummy $ac_tool_prefix$ac_prog; ac_word=$2
     3506{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     3507$as_echo_n "checking for $ac_word... " >&6; }
     3508if ${ac_cv_prog_CC+:} false; then :
     3509  $as_echo_n "(cached) " >&6
     3510else
     3511  if test -n "$CC"; then
     3512  ac_cv_prog_CC="$CC" # Let the user override the test.
     3513else
     3514as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     3515for as_dir in $PATH
     3516do
     3517  IFS=$as_save_IFS
     3518  test -z "$as_dir" && as_dir=.
     3519    for ac_exec_ext in '' $ac_executable_extensions; do
     3520  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     3521    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     3522    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     3523    break 2
     3524  fi
     3525done
     3526  done
     3527IFS=$as_save_IFS
     3528
     3529fi
     3530fi
     3531CC=$ac_cv_prog_CC
     3532if test -n "$CC"; then
     3533  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
     3534$as_echo "$CC" >&6; }
     3535else
     3536  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     3537$as_echo "no" >&6; }
     3538fi
     3539
     3540
     3541    test -n "$CC" && break
     3542  done
     3543fi
     3544if test -z "$CC"; then
     3545  ac_ct_CC=$CC
     3546  for ac_prog in cl.exe
     3547do
     3548  # Extract the first word of "$ac_prog", so it can be a program name with args.
     3549set dummy $ac_prog; ac_word=$2
     3550{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     3551$as_echo_n "checking for $ac_word... " >&6; }
     3552if ${ac_cv_prog_ac_ct_CC+:} false; then :
     3553  $as_echo_n "(cached) " >&6
     3554else
     3555  if test -n "$ac_ct_CC"; then
     3556  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
     3557else
     3558as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     3559for as_dir in $PATH
     3560do
     3561  IFS=$as_save_IFS
     3562  test -z "$as_dir" && as_dir=.
     3563    for ac_exec_ext in '' $ac_executable_extensions; do
     3564  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     3565    ac_cv_prog_ac_ct_CC="$ac_prog"
     3566    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     3567    break 2
     3568  fi
     3569done
     3570  done
     3571IFS=$as_save_IFS
     3572
     3573fi
     3574fi
     3575ac_ct_CC=$ac_cv_prog_ac_ct_CC
     3576if test -n "$ac_ct_CC"; then
     3577  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
     3578$as_echo "$ac_ct_CC" >&6; }
     3579else
     3580  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     3581$as_echo "no" >&6; }
     3582fi
     3583
     3584
     3585  test -n "$ac_ct_CC" && break
     3586done
     3587
     3588  if test "x$ac_ct_CC" = x; then
     3589    CC=""
     3590  else
     3591    case $cross_compiling:$ac_tool_warned in
     3592yes:)
     3593{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     3594$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     3595ac_tool_warned=yes ;;
     3596esac
     3597    CC=$ac_ct_CC
     3598  fi
     3599fi
     3600
     3601fi
     3602
     3603
     3604test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     3605$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     3606as_fn_error $? "no acceptable C compiler found in \$PATH
     3607See \`config.log' for more details" "$LINENO" 5; }
     3608
    27613609# Provide some information about the compiler.
    2762 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
     3610$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
    27633611set X $ac_compile
    27643612ac_compiler=$2
     
    28003648# It will help us diagnose broken compilers, and finding out an intuition
    28013649# of exeext.
    2802 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5
    2803 $as_echo_n "checking whether the C++ compiler works... " >&6; }
     3650{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
     3651$as_echo_n "checking whether the C compiler works... " >&6; }
    28043652ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
    28053653
     
    28713719{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
    28723720$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
    2873 as_fn_error 77 "C++ compiler cannot create executables
     3721as_fn_error 77 "C compiler cannot create executables
    28743722See \`config.log' for more details" "$LINENO" 5; }
    28753723else
     
    28773725$as_echo "yes" >&6; }
    28783726fi
    2879 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5
    2880 $as_echo_n "checking for C++ compiler default output file name... " >&6; }
     3727{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
     3728$as_echo_n "checking for C compiler default output file name... " >&6; }
    28813729{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
    28823730$as_echo "$ac_file" >&6; }
     
    29723820        { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
    29733821$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
    2974 as_fn_error $? "cannot run C++ compiled programs.
     3822as_fn_error $? "cannot run C compiled programs.
    29753823If you meant to cross compile, use \`--host'.
    29763824See \`config.log' for more details" "$LINENO" 5; }
     
    30343882OBJEXT=$ac_cv_objext
    30353883ac_objext=$OBJEXT
     3884{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
     3885$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
     3886if ${ac_cv_c_compiler_gnu+:} false; then :
     3887  $as_echo_n "(cached) " >&6
     3888else
     3889  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     3890/* end confdefs.h.  */
     3891
     3892int
     3893main ()
     3894{
     3895#ifndef __GNUC__
     3896       choke me
     3897#endif
     3898
     3899  ;
     3900  return 0;
     3901}
     3902_ACEOF
     3903if ac_fn_c_try_compile "$LINENO"; then :
     3904  ac_compiler_gnu=yes
     3905else
     3906  ac_compiler_gnu=no
     3907fi
     3908rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     3909ac_cv_c_compiler_gnu=$ac_compiler_gnu
     3910
     3911fi
     3912{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
     3913$as_echo "$ac_cv_c_compiler_gnu" >&6; }
     3914if test $ac_compiler_gnu = yes; then
     3915  GCC=yes
     3916else
     3917  GCC=
     3918fi
     3919ac_test_CFLAGS=${CFLAGS+set}
     3920ac_save_CFLAGS=$CFLAGS
     3921{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
     3922$as_echo_n "checking whether $CC accepts -g... " >&6; }
     3923if ${ac_cv_prog_cc_g+:} false; then :
     3924  $as_echo_n "(cached) " >&6
     3925else
     3926  ac_save_c_werror_flag=$ac_c_werror_flag
     3927   ac_c_werror_flag=yes
     3928   ac_cv_prog_cc_g=no
     3929   CFLAGS="-g"
     3930   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     3931/* end confdefs.h.  */
     3932
     3933int
     3934main ()
     3935{
     3936
     3937  ;
     3938  return 0;
     3939}
     3940_ACEOF
     3941if ac_fn_c_try_compile "$LINENO"; then :
     3942  ac_cv_prog_cc_g=yes
     3943else
     3944  CFLAGS=""
     3945      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     3946/* end confdefs.h.  */
     3947
     3948int
     3949main ()
     3950{
     3951
     3952  ;
     3953  return 0;
     3954}
     3955_ACEOF
     3956if ac_fn_c_try_compile "$LINENO"; then :
     3957
     3958else
     3959  ac_c_werror_flag=$ac_save_c_werror_flag
     3960         CFLAGS="-g"
     3961         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     3962/* end confdefs.h.  */
     3963
     3964int
     3965main ()
     3966{
     3967
     3968  ;
     3969  return 0;
     3970}
     3971_ACEOF
     3972if ac_fn_c_try_compile "$LINENO"; then :
     3973  ac_cv_prog_cc_g=yes
     3974fi
     3975rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     3976fi
     3977rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     3978fi
     3979rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     3980   ac_c_werror_flag=$ac_save_c_werror_flag
     3981fi
     3982{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
     3983$as_echo "$ac_cv_prog_cc_g" >&6; }
     3984if test "$ac_test_CFLAGS" = set; then
     3985  CFLAGS=$ac_save_CFLAGS
     3986elif test $ac_cv_prog_cc_g = yes; then
     3987  if test "$GCC" = yes; then
     3988    CFLAGS="-g -O2"
     3989  else
     3990    CFLAGS="-g"
     3991  fi
     3992else
     3993  if test "$GCC" = yes; then
     3994    CFLAGS="-O2"
     3995  else
     3996    CFLAGS=
     3997  fi
     3998fi
     3999{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
     4000$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
     4001if ${ac_cv_prog_cc_c89+:} false; then :
     4002  $as_echo_n "(cached) " >&6
     4003else
     4004  ac_cv_prog_cc_c89=no
     4005ac_save_CC=$CC
     4006cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     4007/* end confdefs.h.  */
     4008#include <stdarg.h>
     4009#include <stdio.h>
     4010struct stat;
     4011/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
     4012struct buf { int x; };
     4013FILE * (*rcsopen) (struct buf *, struct stat *, int);
     4014static char *e (p, i)
     4015     char **p;
     4016     int i;
     4017{
     4018  return p[i];
     4019}
     4020static char *f (char * (*g) (char **, int), char **p, ...)
     4021{
     4022  char *s;
     4023  va_list v;
     4024  va_start (v,p);
     4025  s = g (p, va_arg (v,int));
     4026  va_end (v);
     4027  return s;
     4028}
     4029
     4030/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
     4031   function prototypes and stuff, but not '\xHH' hex character constants.
     4032   These don't provoke an error unfortunately, instead are silently treated
     4033   as 'x'.  The following induces an error, until -std is added to get
     4034   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
     4035   array size at least.  It's necessary to write '\x00'==0 to get something
     4036   that's true only with -std.  */
     4037int osf4_cc_array ['\x00' == 0 ? 1 : -1];
     4038
     4039/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
     4040   inside strings and character constants.  */
     4041#define FOO(x) 'x'
     4042int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
     4043
     4044int test (int i, double x);
     4045struct s1 {int (*f) (int a);};
     4046struct s2 {int (*f) (double a);};
     4047int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
     4048int argc;
     4049char **argv;
     4050int
     4051main ()
     4052{
     4053return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
     4054  ;
     4055  return 0;
     4056}
     4057_ACEOF
     4058for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
     4059        -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
     4060do
     4061  CC="$ac_save_CC $ac_arg"
     4062  if ac_fn_c_try_compile "$LINENO"; then :
     4063  ac_cv_prog_cc_c89=$ac_arg
     4064fi
     4065rm -f core conftest.err conftest.$ac_objext
     4066  test "x$ac_cv_prog_cc_c89" != "xno" && break
     4067done
     4068rm -f conftest.$ac_ext
     4069CC=$ac_save_CC
     4070
     4071fi
     4072# AC_CACHE_VAL
     4073case "x$ac_cv_prog_cc_c89" in
     4074  x)
     4075    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
     4076$as_echo "none needed" >&6; } ;;
     4077  xno)
     4078    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
     4079$as_echo "unsupported" >&6; } ;;
     4080  *)
     4081    CC="$CC $ac_cv_prog_cc_c89"
     4082    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
     4083$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
     4084esac
     4085if test "x$ac_cv_prog_cc_c89" != xno; then :
     4086
     4087fi
     4088
     4089ac_ext=c
     4090ac_cpp='$CPP $CPPFLAGS'
     4091ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     4092ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     4093ac_compiler_gnu=$ac_cv_c_compiler_gnu
     4094
     4095ac_ext=c
     4096ac_cpp='$CPP $CPPFLAGS'
     4097ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     4098ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     4099ac_compiler_gnu=$ac_cv_c_compiler_gnu
     4100{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
     4101$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
     4102if ${am_cv_prog_cc_c_o+:} false; then :
     4103  $as_echo_n "(cached) " >&6
     4104else
     4105  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     4106/* end confdefs.h.  */
     4107
     4108int
     4109main ()
     4110{
     4111
     4112  ;
     4113  return 0;
     4114}
     4115_ACEOF
     4116  # Make sure it works both with $CC and with simple cc.
     4117  # Following AC_PROG_CC_C_O, we do the test twice because some
     4118  # compilers refuse to overwrite an existing .o file with -o,
     4119  # though they will create one.
     4120  am_cv_prog_cc_c_o=yes
     4121  for am_i in 1 2; do
     4122    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
     4123   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
     4124   ac_status=$?
     4125   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     4126   (exit $ac_status); } \
     4127         && test -f conftest2.$ac_objext; then
     4128      : OK
     4129    else
     4130      am_cv_prog_cc_c_o=no
     4131      break
     4132    fi
     4133  done
     4134  rm -f core conftest*
     4135  unset am_i
     4136fi
     4137{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
     4138$as_echo "$am_cv_prog_cc_c_o" >&6; }
     4139if test "$am_cv_prog_cc_c_o" != yes; then
     4140   # Losing compiler, so override with the script.
     4141   # FIXME: It is wrong to rewrite CC.
     4142   # But if we don't then we get into trouble of one sort or another.
     4143   # A longer-term fix would be to have automake use am__CC in this case,
     4144   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
     4145   CC="$am_aux_dir/compile $CC"
     4146fi
     4147ac_ext=c
     4148ac_cpp='$CPP $CPPFLAGS'
     4149ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     4150ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     4151ac_compiler_gnu=$ac_cv_c_compiler_gnu
     4152
     4153
     4154depcc="$CC"   am_compiler_list=
     4155
     4156{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
     4157$as_echo_n "checking dependency style of $depcc... " >&6; }
     4158if ${am_cv_CC_dependencies_compiler_type+:} false; then :
     4159  $as_echo_n "(cached) " >&6
     4160else
     4161  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
     4162  # We make a subdir and do the tests there.  Otherwise we can end up
     4163  # making bogus files that we don't know about and never remove.  For
     4164  # instance it was reported that on HP-UX the gcc test will end up
     4165  # making a dummy file named 'D' -- because '-MD' means "put the output
     4166  # in D".
     4167  rm -rf conftest.dir
     4168  mkdir conftest.dir
     4169  # Copy depcomp to subdir because otherwise we won't find it if we're
     4170  # using a relative directory.
     4171  cp "$am_depcomp" conftest.dir
     4172  cd conftest.dir
     4173  # We will build objects and dependencies in a subdirectory because
     4174  # it helps to detect inapplicable dependency modes.  For instance
     4175  # both Tru64's cc and ICC support -MD to output dependencies as a
     4176  # side effect of compilation, but ICC will put the dependencies in
     4177  # the current directory while Tru64 will put them in the object
     4178  # directory.
     4179  mkdir sub
     4180
     4181  am_cv_CC_dependencies_compiler_type=none
     4182  if test "$am_compiler_list" = ""; then
     4183     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
     4184  fi
     4185  am__universal=false
     4186  case " $depcc " in #(
     4187     *\ -arch\ *\ -arch\ *) am__universal=true ;;
     4188     esac
     4189
     4190  for depmode in $am_compiler_list; do
     4191    # Setup a source with many dependencies, because some compilers
     4192    # like to wrap large dependency lists on column 80 (with \), and
     4193    # we should not choose a depcomp mode which is confused by this.
     4194    #
     4195    # We need to recreate these files for each test, as the compiler may
     4196    # overwrite some of them when testing with obscure command lines.
     4197    # This happens at least with the AIX C compiler.
     4198    : > sub/conftest.c
     4199    for i in 1 2 3 4 5 6; do
     4200      echo '#include "conftst'$i'.h"' >> sub/conftest.c
     4201      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
     4202      # Solaris 10 /bin/sh.
     4203      echo '/* dummy */' > sub/conftst$i.h
     4204    done
     4205    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
     4206
     4207    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     4208    # mode.  It turns out that the SunPro C++ compiler does not properly
     4209    # handle '-M -o', and we need to detect this.  Also, some Intel
     4210    # versions had trouble with output in subdirs.
     4211    am__obj=sub/conftest.${OBJEXT-o}
     4212    am__minus_obj="-o $am__obj"
     4213    case $depmode in
     4214    gcc)
     4215      # This depmode causes a compiler race in universal mode.
     4216      test "$am__universal" = false || continue
     4217      ;;
     4218    nosideeffect)
     4219      # After this tag, mechanisms are not by side-effect, so they'll
     4220      # only be used when explicitly requested.
     4221      if test "x$enable_dependency_tracking" = xyes; then
     4222        continue
     4223      else
     4224        break
     4225      fi
     4226      ;;
     4227    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
     4228      # This compiler won't grok '-c -o', but also, the minuso test has
     4229      # not run yet.  These depmodes are late enough in the game, and
     4230      # so weak that their functioning should not be impacted.
     4231      am__obj=conftest.${OBJEXT-o}
     4232      am__minus_obj=
     4233      ;;
     4234    none) break ;;
     4235    esac
     4236    if depmode=$depmode \
     4237       source=sub/conftest.c object=$am__obj \
     4238       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
     4239       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
     4240         >/dev/null 2>conftest.err &&
     4241       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
     4242       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
     4243       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
     4244       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
     4245      # icc doesn't choke on unknown options, it will just issue warnings
     4246      # or remarks (even with -Werror).  So we grep stderr for any message
     4247      # that says an option was ignored or not supported.
     4248      # When given -MP, icc 7.0 and 7.1 complain thusly:
     4249      #   icc: Command line warning: ignoring option '-M'; no argument required
     4250      # The diagnosis changed in icc 8.0:
     4251      #   icc: Command line remark: option '-MP' not supported
     4252      if (grep 'ignoring option' conftest.err ||
     4253          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
     4254        am_cv_CC_dependencies_compiler_type=$depmode
     4255        break
     4256      fi
     4257    fi
     4258  done
     4259
     4260  cd ..
     4261  rm -rf conftest.dir
     4262else
     4263  am_cv_CC_dependencies_compiler_type=none
     4264fi
     4265
     4266fi
     4267{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
     4268$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
     4269CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
     4270
     4271 if
     4272  test "x$enable_dependency_tracking" != xno \
     4273  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
     4274  am__fastdepCC_TRUE=
     4275  am__fastdepCC_FALSE='#'
     4276else
     4277  am__fastdepCC_TRUE='#'
     4278  am__fastdepCC_FALSE=
     4279fi
     4280
     4281
     4282{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
     4283$as_echo_n "checking for a sed that does not truncate output... " >&6; }
     4284if ${ac_cv_path_SED+:} false; then :
     4285  $as_echo_n "(cached) " >&6
     4286else
     4287            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
     4288     for ac_i in 1 2 3 4 5 6 7; do
     4289       ac_script="$ac_script$as_nl$ac_script"
     4290     done
     4291     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
     4292     { ac_script=; unset ac_script;}
     4293     if test -z "$SED"; then
     4294  ac_path_SED_found=false
     4295  # Loop through the user's path and test for each of PROGNAME-LIST
     4296  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     4297for as_dir in $PATH
     4298do
     4299  IFS=$as_save_IFS
     4300  test -z "$as_dir" && as_dir=.
     4301    for ac_prog in sed gsed; do
     4302    for ac_exec_ext in '' $ac_executable_extensions; do
     4303      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
     4304      as_fn_executable_p "$ac_path_SED" || continue
     4305# Check for GNU ac_path_SED and select it if it is found.
     4306  # Check for GNU $ac_path_SED
     4307case `"$ac_path_SED" --version 2>&1` in
     4308*GNU*)
     4309  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
     4310*)
     4311  ac_count=0
     4312  $as_echo_n 0123456789 >"conftest.in"
     4313  while :
     4314  do
     4315    cat "conftest.in" "conftest.in" >"conftest.tmp"
     4316    mv "conftest.tmp" "conftest.in"
     4317    cp "conftest.in" "conftest.nl"
     4318    $as_echo '' >> "conftest.nl"
     4319    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
     4320    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     4321    as_fn_arith $ac_count + 1 && ac_count=$as_val
     4322    if test $ac_count -gt ${ac_path_SED_max-0}; then
     4323      # Best one so far, save it but keep looking for a better one
     4324      ac_cv_path_SED="$ac_path_SED"
     4325      ac_path_SED_max=$ac_count
     4326    fi
     4327    # 10*(2^10) chars as input seems more than enough
     4328    test $ac_count -gt 10 && break
     4329  done
     4330  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
     4331esac
     4332
     4333      $ac_path_SED_found && break 3
     4334    done
     4335  done
     4336  done
     4337IFS=$as_save_IFS
     4338  if test -z "$ac_cv_path_SED"; then
     4339    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
     4340  fi
     4341else
     4342  ac_cv_path_SED=$SED
     4343fi
     4344
     4345fi
     4346{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
     4347$as_echo "$ac_cv_path_SED" >&6; }
     4348 SED="$ac_cv_path_SED"
     4349  rm -f conftest.sed
     4350
     4351test -z "$SED" && SED=sed
     4352Xsed="$SED -e 1s/^X//"
     4353
     4354
     4355
     4356
     4357
     4358
     4359
     4360
     4361
     4362
     4363
     4364{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
     4365$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
     4366if ${ac_cv_path_GREP+:} false; then :
     4367  $as_echo_n "(cached) " >&6
     4368else
     4369  if test -z "$GREP"; then
     4370  ac_path_GREP_found=false
     4371  # Loop through the user's path and test for each of PROGNAME-LIST
     4372  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     4373for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
     4374do
     4375  IFS=$as_save_IFS
     4376  test -z "$as_dir" && as_dir=.
     4377    for ac_prog in grep ggrep; do
     4378    for ac_exec_ext in '' $ac_executable_extensions; do
     4379      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
     4380      as_fn_executable_p "$ac_path_GREP" || continue
     4381# Check for GNU ac_path_GREP and select it if it is found.
     4382  # Check for GNU $ac_path_GREP
     4383case `"$ac_path_GREP" --version 2>&1` in
     4384*GNU*)
     4385  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
     4386*)
     4387  ac_count=0
     4388  $as_echo_n 0123456789 >"conftest.in"
     4389  while :
     4390  do
     4391    cat "conftest.in" "conftest.in" >"conftest.tmp"
     4392    mv "conftest.tmp" "conftest.in"
     4393    cp "conftest.in" "conftest.nl"
     4394    $as_echo 'GREP' >> "conftest.nl"
     4395    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     4396    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     4397    as_fn_arith $ac_count + 1 && ac_count=$as_val
     4398    if test $ac_count -gt ${ac_path_GREP_max-0}; then
     4399      # Best one so far, save it but keep looking for a better one
     4400      ac_cv_path_GREP="$ac_path_GREP"
     4401      ac_path_GREP_max=$ac_count
     4402    fi
     4403    # 10*(2^10) chars as input seems more than enough
     4404    test $ac_count -gt 10 && break
     4405  done
     4406  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
     4407esac
     4408
     4409      $ac_path_GREP_found && break 3
     4410    done
     4411  done
     4412  done
     4413IFS=$as_save_IFS
     4414  if test -z "$ac_cv_path_GREP"; then
     4415    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
     4416  fi
     4417else
     4418  ac_cv_path_GREP=$GREP
     4419fi
     4420
     4421fi
     4422{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
     4423$as_echo "$ac_cv_path_GREP" >&6; }
     4424 GREP="$ac_cv_path_GREP"
     4425
     4426
     4427{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
     4428$as_echo_n "checking for egrep... " >&6; }
     4429if ${ac_cv_path_EGREP+:} false; then :
     4430  $as_echo_n "(cached) " >&6
     4431else
     4432  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
     4433   then ac_cv_path_EGREP="$GREP -E"
     4434   else
     4435     if test -z "$EGREP"; then
     4436  ac_path_EGREP_found=false
     4437  # Loop through the user's path and test for each of PROGNAME-LIST
     4438  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     4439for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
     4440do
     4441  IFS=$as_save_IFS
     4442  test -z "$as_dir" && as_dir=.
     4443    for ac_prog in egrep; do
     4444    for ac_exec_ext in '' $ac_executable_extensions; do
     4445      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
     4446      as_fn_executable_p "$ac_path_EGREP" || continue
     4447# Check for GNU ac_path_EGREP and select it if it is found.
     4448  # Check for GNU $ac_path_EGREP
     4449case `"$ac_path_EGREP" --version 2>&1` in
     4450*GNU*)
     4451  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
     4452*)
     4453  ac_count=0
     4454  $as_echo_n 0123456789 >"conftest.in"
     4455  while :
     4456  do
     4457    cat "conftest.in" "conftest.in" >"conftest.tmp"
     4458    mv "conftest.tmp" "conftest.in"
     4459    cp "conftest.in" "conftest.nl"
     4460    $as_echo 'EGREP' >> "conftest.nl"
     4461    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     4462    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     4463    as_fn_arith $ac_count + 1 && ac_count=$as_val
     4464    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
     4465      # Best one so far, save it but keep looking for a better one
     4466      ac_cv_path_EGREP="$ac_path_EGREP"
     4467      ac_path_EGREP_max=$ac_count
     4468    fi
     4469    # 10*(2^10) chars as input seems more than enough
     4470    test $ac_count -gt 10 && break
     4471  done
     4472  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
     4473esac
     4474
     4475      $ac_path_EGREP_found && break 3
     4476    done
     4477  done
     4478  done
     4479IFS=$as_save_IFS
     4480  if test -z "$ac_cv_path_EGREP"; then
     4481    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
     4482  fi
     4483else
     4484  ac_cv_path_EGREP=$EGREP
     4485fi
     4486
     4487   fi
     4488fi
     4489{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
     4490$as_echo "$ac_cv_path_EGREP" >&6; }
     4491 EGREP="$ac_cv_path_EGREP"
     4492
     4493
     4494{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
     4495$as_echo_n "checking for fgrep... " >&6; }
     4496if ${ac_cv_path_FGREP+:} false; then :
     4497  $as_echo_n "(cached) " >&6
     4498else
     4499  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
     4500   then ac_cv_path_FGREP="$GREP -F"
     4501   else
     4502     if test -z "$FGREP"; then
     4503  ac_path_FGREP_found=false
     4504  # Loop through the user's path and test for each of PROGNAME-LIST
     4505  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     4506for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
     4507do
     4508  IFS=$as_save_IFS
     4509  test -z "$as_dir" && as_dir=.
     4510    for ac_prog in fgrep; do
     4511    for ac_exec_ext in '' $ac_executable_extensions; do
     4512      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
     4513      as_fn_executable_p "$ac_path_FGREP" || continue
     4514# Check for GNU ac_path_FGREP and select it if it is found.
     4515  # Check for GNU $ac_path_FGREP
     4516case `"$ac_path_FGREP" --version 2>&1` in
     4517*GNU*)
     4518  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
     4519*)
     4520  ac_count=0
     4521  $as_echo_n 0123456789 >"conftest.in"
     4522  while :
     4523  do
     4524    cat "conftest.in" "conftest.in" >"conftest.tmp"
     4525    mv "conftest.tmp" "conftest.in"
     4526    cp "conftest.in" "conftest.nl"
     4527    $as_echo 'FGREP' >> "conftest.nl"
     4528    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
     4529    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     4530    as_fn_arith $ac_count + 1 && ac_count=$as_val
     4531    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
     4532      # Best one so far, save it but keep looking for a better one
     4533      ac_cv_path_FGREP="$ac_path_FGREP"
     4534      ac_path_FGREP_max=$ac_count
     4535    fi
     4536    # 10*(2^10) chars as input seems more than enough
     4537    test $ac_count -gt 10 && break
     4538  done
     4539  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
     4540esac
     4541
     4542      $ac_path_FGREP_found && break 3
     4543    done
     4544  done
     4545  done
     4546IFS=$as_save_IFS
     4547  if test -z "$ac_cv_path_FGREP"; then
     4548    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
     4549  fi
     4550else
     4551  ac_cv_path_FGREP=$FGREP
     4552fi
     4553
     4554   fi
     4555fi
     4556{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
     4557$as_echo "$ac_cv_path_FGREP" >&6; }
     4558 FGREP="$ac_cv_path_FGREP"
     4559
     4560
     4561test -z "$GREP" && GREP=grep
     4562
     4563
     4564
     4565
     4566
     4567
     4568
     4569
     4570
     4571
     4572
     4573
     4574
     4575
     4576
     4577
     4578
     4579
     4580
     4581# Check whether --with-gnu-ld was given.
     4582if test "${with_gnu_ld+set}" = set; then :
     4583  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
     4584else
     4585  with_gnu_ld=no
     4586fi
     4587
     4588ac_prog=ld
     4589if test yes = "$GCC"; then
     4590  # Check if gcc -print-prog-name=ld gives a path.
     4591  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
     4592$as_echo_n "checking for ld used by $CC... " >&6; }
     4593  case $host in
     4594  *-*-mingw*)
     4595    # gcc leaves a trailing carriage return, which upsets mingw
     4596    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
     4597  *)
     4598    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
     4599  esac
     4600  case $ac_prog in
     4601    # Accept absolute paths.
     4602    [\\/]* | ?:[\\/]*)
     4603      re_direlt='/[^/][^/]*/\.\./'
     4604      # Canonicalize the pathname of ld
     4605      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
     4606      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
     4607        ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
     4608      done
     4609      test -z "$LD" && LD=$ac_prog
     4610      ;;
     4611  "")
     4612    # If it fails, then pretend we aren't using GCC.
     4613    ac_prog=ld
     4614    ;;
     4615  *)
     4616    # If it is relative, then search for the first ld in PATH.
     4617    with_gnu_ld=unknown
     4618    ;;
     4619  esac
     4620elif test yes = "$with_gnu_ld"; then
     4621  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
     4622$as_echo_n "checking for GNU ld... " >&6; }
     4623else
     4624  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
     4625$as_echo_n "checking for non-GNU ld... " >&6; }
     4626fi
     4627if ${lt_cv_path_LD+:} false; then :
     4628  $as_echo_n "(cached) " >&6
     4629else
     4630  if test -z "$LD"; then
     4631  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     4632  for ac_dir in $PATH; do
     4633    IFS=$lt_save_ifs
     4634    test -z "$ac_dir" && ac_dir=.
     4635    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
     4636      lt_cv_path_LD=$ac_dir/$ac_prog
     4637      # Check to see if the program is GNU ld.  I'd rather use --version,
     4638      # but apparently some variants of GNU ld only accept -v.
     4639      # Break only if it was the GNU/non-GNU ld that we prefer.
     4640      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
     4641      *GNU* | *'with BFD'*)
     4642        test no != "$with_gnu_ld" && break
     4643        ;;
     4644      *)
     4645        test yes != "$with_gnu_ld" && break
     4646        ;;
     4647      esac
     4648    fi
     4649  done
     4650  IFS=$lt_save_ifs
     4651else
     4652  lt_cv_path_LD=$LD # Let the user override the test with a path.
     4653fi
     4654fi
     4655
     4656LD=$lt_cv_path_LD
     4657if test -n "$LD"; then
     4658  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
     4659$as_echo "$LD" >&6; }
     4660else
     4661  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     4662$as_echo "no" >&6; }
     4663fi
     4664test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
     4665{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
     4666$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
     4667if ${lt_cv_prog_gnu_ld+:} false; then :
     4668  $as_echo_n "(cached) " >&6
     4669else
     4670  # I'd rather use --version here, but apparently some GNU lds only accept -v.
     4671case `$LD -v 2>&1 </dev/null` in
     4672*GNU* | *'with BFD'*)
     4673  lt_cv_prog_gnu_ld=yes
     4674  ;;
     4675*)
     4676  lt_cv_prog_gnu_ld=no
     4677  ;;
     4678esac
     4679fi
     4680{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
     4681$as_echo "$lt_cv_prog_gnu_ld" >&6; }
     4682with_gnu_ld=$lt_cv_prog_gnu_ld
     4683
     4684
     4685
     4686
     4687
     4688
     4689
     4690
     4691
     4692{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
     4693$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
     4694if ${lt_cv_path_NM+:} false; then :
     4695  $as_echo_n "(cached) " >&6
     4696else
     4697  if test -n "$NM"; then
     4698  # Let the user override the test.
     4699  lt_cv_path_NM=$NM
     4700else
     4701  lt_nm_to_check=${ac_tool_prefix}nm
     4702  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
     4703    lt_nm_to_check="$lt_nm_to_check nm"
     4704  fi
     4705  for lt_tmp_nm in $lt_nm_to_check; do
     4706    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     4707    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
     4708      IFS=$lt_save_ifs
     4709      test -z "$ac_dir" && ac_dir=.
     4710      tmp_nm=$ac_dir/$lt_tmp_nm
     4711      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
     4712        # Check to see if the nm accepts a BSD-compat flag.
     4713        # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
     4714        #   nm: unknown option "B" ignored
     4715        # Tru64's nm complains that /dev/null is an invalid object file
     4716        # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
     4717        case $build_os in
     4718        mingw*) lt_bad_file=conftest.nm/nofile ;;
     4719        *) lt_bad_file=/dev/null ;;
     4720        esac
     4721        case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
     4722        *$lt_bad_file* | *'Invalid file or object type'*)
     4723          lt_cv_path_NM="$tmp_nm -B"
     4724          break 2
     4725          ;;
     4726        *)
     4727          case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
     4728          */dev/null*)
     4729            lt_cv_path_NM="$tmp_nm -p"
     4730            break 2
     4731            ;;
     4732          *)
     4733            lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
     4734            continue # so that we can try to find one that supports BSD flags
     4735            ;;
     4736          esac
     4737          ;;
     4738        esac
     4739      fi
     4740    done
     4741    IFS=$lt_save_ifs
     4742  done
     4743  : ${lt_cv_path_NM=no}
     4744fi
     4745fi
     4746{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
     4747$as_echo "$lt_cv_path_NM" >&6; }
     4748if test no != "$lt_cv_path_NM"; then
     4749  NM=$lt_cv_path_NM
     4750else
     4751  # Didn't find any BSD compatible name lister, look for dumpbin.
     4752  if test -n "$DUMPBIN"; then :
     4753    # Let the user override the test.
     4754  else
     4755    if test -n "$ac_tool_prefix"; then
     4756  for ac_prog in dumpbin "link -dump"
     4757  do
     4758    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
     4759set dummy $ac_tool_prefix$ac_prog; ac_word=$2
     4760{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     4761$as_echo_n "checking for $ac_word... " >&6; }
     4762if ${ac_cv_prog_DUMPBIN+:} false; then :
     4763  $as_echo_n "(cached) " >&6
     4764else
     4765  if test -n "$DUMPBIN"; then
     4766  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
     4767else
     4768as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     4769for as_dir in $PATH
     4770do
     4771  IFS=$as_save_IFS
     4772  test -z "$as_dir" && as_dir=.
     4773    for ac_exec_ext in '' $ac_executable_extensions; do
     4774  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     4775    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     4776    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     4777    break 2
     4778  fi
     4779done
     4780  done
     4781IFS=$as_save_IFS
     4782
     4783fi
     4784fi
     4785DUMPBIN=$ac_cv_prog_DUMPBIN
     4786if test -n "$DUMPBIN"; then
     4787  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
     4788$as_echo "$DUMPBIN" >&6; }
     4789else
     4790  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     4791$as_echo "no" >&6; }
     4792fi
     4793
     4794
     4795    test -n "$DUMPBIN" && break
     4796  done
     4797fi
     4798if test -z "$DUMPBIN"; then
     4799  ac_ct_DUMPBIN=$DUMPBIN
     4800  for ac_prog in dumpbin "link -dump"
     4801do
     4802  # Extract the first word of "$ac_prog", so it can be a program name with args.
     4803set dummy $ac_prog; ac_word=$2
     4804{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     4805$as_echo_n "checking for $ac_word... " >&6; }
     4806if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
     4807  $as_echo_n "(cached) " >&6
     4808else
     4809  if test -n "$ac_ct_DUMPBIN"; then
     4810  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
     4811else
     4812as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     4813for as_dir in $PATH
     4814do
     4815  IFS=$as_save_IFS
     4816  test -z "$as_dir" && as_dir=.
     4817    for ac_exec_ext in '' $ac_executable_extensions; do
     4818  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     4819    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     4820    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     4821    break 2
     4822  fi
     4823done
     4824  done
     4825IFS=$as_save_IFS
     4826
     4827fi
     4828fi
     4829ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
     4830if test -n "$ac_ct_DUMPBIN"; then
     4831  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
     4832$as_echo "$ac_ct_DUMPBIN" >&6; }
     4833else
     4834  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     4835$as_echo "no" >&6; }
     4836fi
     4837
     4838
     4839  test -n "$ac_ct_DUMPBIN" && break
     4840done
     4841
     4842  if test "x$ac_ct_DUMPBIN" = x; then
     4843    DUMPBIN=":"
     4844  else
     4845    case $cross_compiling:$ac_tool_warned in
     4846yes:)
     4847{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     4848$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     4849ac_tool_warned=yes ;;
     4850esac
     4851    DUMPBIN=$ac_ct_DUMPBIN
     4852  fi
     4853fi
     4854
     4855    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
     4856    *COFF*)
     4857      DUMPBIN="$DUMPBIN -symbols -headers"
     4858      ;;
     4859    *)
     4860      DUMPBIN=:
     4861      ;;
     4862    esac
     4863  fi
     4864
     4865  if test : != "$DUMPBIN"; then
     4866    NM=$DUMPBIN
     4867  fi
     4868fi
     4869test -z "$NM" && NM=nm
     4870
     4871
     4872
     4873
     4874
     4875
     4876{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
     4877$as_echo_n "checking the name lister ($NM) interface... " >&6; }
     4878if ${lt_cv_nm_interface+:} false; then :
     4879  $as_echo_n "(cached) " >&6
     4880else
     4881  lt_cv_nm_interface="BSD nm"
     4882  echo "int some_variable = 0;" > conftest.$ac_ext
     4883  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
     4884  (eval "$ac_compile" 2>conftest.err)
     4885  cat conftest.err >&5
     4886  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
     4887  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
     4888  cat conftest.err >&5
     4889  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
     4890  cat conftest.out >&5
     4891  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
     4892    lt_cv_nm_interface="MS dumpbin"
     4893  fi
     4894  rm -f conftest*
     4895fi
     4896{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
     4897$as_echo "$lt_cv_nm_interface" >&6; }
     4898
     4899{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
     4900$as_echo_n "checking whether ln -s works... " >&6; }
     4901LN_S=$as_ln_s
     4902if test "$LN_S" = "ln -s"; then
     4903  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
     4904$as_echo "yes" >&6; }
     4905else
     4906  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
     4907$as_echo "no, using $LN_S" >&6; }
     4908fi
     4909
     4910# find the maximum length of command line arguments
     4911{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
     4912$as_echo_n "checking the maximum length of command line arguments... " >&6; }
     4913if ${lt_cv_sys_max_cmd_len+:} false; then :
     4914  $as_echo_n "(cached) " >&6
     4915else
     4916    i=0
     4917  teststring=ABCD
     4918
     4919  case $build_os in
     4920  msdosdjgpp*)
     4921    # On DJGPP, this test can blow up pretty badly due to problems in libc
     4922    # (any single argument exceeding 2000 bytes causes a buffer overrun
     4923    # during glob expansion).  Even if it were fixed, the result of this
     4924    # check would be larger than it should be.
     4925    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
     4926    ;;
     4927
     4928  gnu*)
     4929    # Under GNU Hurd, this test is not required because there is
     4930    # no limit to the length of command line arguments.
     4931    # Libtool will interpret -1 as no limit whatsoever
     4932    lt_cv_sys_max_cmd_len=-1;
     4933    ;;
     4934
     4935  cygwin* | mingw* | cegcc*)
     4936    # On Win9x/ME, this test blows up -- it succeeds, but takes
     4937    # about 5 minutes as the teststring grows exponentially.
     4938    # Worse, since 9x/ME are not pre-emptively multitasking,
     4939    # you end up with a "frozen" computer, even though with patience
     4940    # the test eventually succeeds (with a max line length of 256k).
     4941    # Instead, let's just punt: use the minimum linelength reported by
     4942    # all of the supported platforms: 8192 (on NT/2K/XP).
     4943    lt_cv_sys_max_cmd_len=8192;
     4944    ;;
     4945
     4946  mint*)
     4947    # On MiNT this can take a long time and run out of memory.
     4948    lt_cv_sys_max_cmd_len=8192;
     4949    ;;
     4950
     4951  amigaos*)
     4952    # On AmigaOS with pdksh, this test takes hours, literally.
     4953    # So we just punt and use a minimum line length of 8192.
     4954    lt_cv_sys_max_cmd_len=8192;
     4955    ;;
     4956
     4957  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
     4958    # This has been around since 386BSD, at least.  Likely further.
     4959    if test -x /sbin/sysctl; then
     4960      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
     4961    elif test -x /usr/sbin/sysctl; then
     4962      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
     4963    else
     4964      lt_cv_sys_max_cmd_len=65536       # usable default for all BSDs
     4965    fi
     4966    # And add a safety zone
     4967    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
     4968    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     4969    ;;
     4970
     4971  interix*)
     4972    # We know the value 262144 and hardcode it with a safety zone (like BSD)
     4973    lt_cv_sys_max_cmd_len=196608
     4974    ;;
     4975
     4976  os2*)
     4977    # The test takes a long time on OS/2.
     4978    lt_cv_sys_max_cmd_len=8192
     4979    ;;
     4980
     4981  osf*)
     4982    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     4983    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
     4984    # nice to cause kernel panics so lets avoid the loop below.
     4985    # First set a reasonable default.
     4986    lt_cv_sys_max_cmd_len=16384
     4987    #
     4988    if test -x /sbin/sysconfig; then
     4989      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
     4990        *1*) lt_cv_sys_max_cmd_len=-1 ;;
     4991      esac
     4992    fi
     4993    ;;
     4994  sco3.2v5*)
     4995    lt_cv_sys_max_cmd_len=102400
     4996    ;;
     4997  sysv5* | sco5v6* | sysv4.2uw2*)
     4998    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
     4999    if test -n "$kargmax"; then
     5000      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[  ]//'`
     5001    else
     5002      lt_cv_sys_max_cmd_len=32768
     5003    fi
     5004    ;;
     5005  *)
     5006    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
     5007    if test -n "$lt_cv_sys_max_cmd_len" && \
     5008       test undefined != "$lt_cv_sys_max_cmd_len"; then
     5009      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
     5010      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     5011    else
     5012      # Make teststring a little bigger before we do anything with it.
     5013      # a 1K string should be a reasonable start.
     5014      for i in 1 2 3 4 5 6 7 8; do
     5015        teststring=$teststring$teststring
     5016      done
     5017      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
     5018      # If test is not a shell built-in, we'll probably end up computing a
     5019      # maximum length that is only half of the actual maximum length, but
     5020      # we can't tell.
     5021      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
     5022                 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
     5023              test 17 != "$i" # 1/2 MB should be enough
     5024      do
     5025        i=`expr $i + 1`
     5026        teststring=$teststring$teststring
     5027      done
     5028      # Only check the string length outside the loop.
     5029      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
     5030      teststring=
     5031      # Add a significant safety factor because C++ compilers can tack on
     5032      # massive amounts of additional arguments before passing them to the
     5033      # linker.  It appears as though 1/2 is a usable value.
     5034      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
     5035    fi
     5036    ;;
     5037  esac
     5038
     5039fi
     5040
     5041if test -n "$lt_cv_sys_max_cmd_len"; then
     5042  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
     5043$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
     5044else
     5045  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
     5046$as_echo "none" >&6; }
     5047fi
     5048max_cmd_len=$lt_cv_sys_max_cmd_len
     5049
     5050
     5051
     5052
     5053
     5054
     5055: ${CP="cp -f"}
     5056: ${MV="mv -f"}
     5057: ${RM="rm -f"}
     5058
     5059if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
     5060  lt_unset=unset
     5061else
     5062  lt_unset=false
     5063fi
     5064
     5065
     5066
     5067
     5068
     5069# test EBCDIC or ASCII
     5070case `echo X|tr X '\101'` in
     5071 A) # ASCII based system
     5072    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
     5073  lt_SP2NL='tr \040 \012'
     5074  lt_NL2SP='tr \015\012 \040\040'
     5075  ;;
     5076 *) # EBCDIC based system
     5077  lt_SP2NL='tr \100 \n'
     5078  lt_NL2SP='tr \r\n \100\100'
     5079  ;;
     5080esac
     5081
     5082
     5083
     5084
     5085
     5086
     5087
     5088
     5089
     5090{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
     5091$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
     5092if ${lt_cv_to_host_file_cmd+:} false; then :
     5093  $as_echo_n "(cached) " >&6
     5094else
     5095  case $host in
     5096  *-*-mingw* )
     5097    case $build in
     5098      *-*-mingw* ) # actually msys
     5099        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
     5100        ;;
     5101      *-*-cygwin* )
     5102        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
     5103        ;;
     5104      * ) # otherwise, assume *nix
     5105        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
     5106        ;;
     5107    esac
     5108    ;;
     5109  *-*-cygwin* )
     5110    case $build in
     5111      *-*-mingw* ) # actually msys
     5112        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
     5113        ;;
     5114      *-*-cygwin* )
     5115        lt_cv_to_host_file_cmd=func_convert_file_noop
     5116        ;;
     5117      * ) # otherwise, assume *nix
     5118        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
     5119        ;;
     5120    esac
     5121    ;;
     5122  * ) # unhandled hosts (and "normal" native builds)
     5123    lt_cv_to_host_file_cmd=func_convert_file_noop
     5124    ;;
     5125esac
     5126
     5127fi
     5128
     5129to_host_file_cmd=$lt_cv_to_host_file_cmd
     5130{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
     5131$as_echo "$lt_cv_to_host_file_cmd" >&6; }
     5132
     5133
     5134
     5135
     5136
     5137{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
     5138$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
     5139if ${lt_cv_to_tool_file_cmd+:} false; then :
     5140  $as_echo_n "(cached) " >&6
     5141else
     5142  #assume ordinary cross tools, or native build.
     5143lt_cv_to_tool_file_cmd=func_convert_file_noop
     5144case $host in
     5145  *-*-mingw* )
     5146    case $build in
     5147      *-*-mingw* ) # actually msys
     5148        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
     5149        ;;
     5150    esac
     5151    ;;
     5152esac
     5153
     5154fi
     5155
     5156to_tool_file_cmd=$lt_cv_to_tool_file_cmd
     5157{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
     5158$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
     5159
     5160
     5161
     5162
     5163
     5164{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
     5165$as_echo_n "checking for $LD option to reload object files... " >&6; }
     5166if ${lt_cv_ld_reload_flag+:} false; then :
     5167  $as_echo_n "(cached) " >&6
     5168else
     5169  lt_cv_ld_reload_flag='-r'
     5170fi
     5171{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
     5172$as_echo "$lt_cv_ld_reload_flag" >&6; }
     5173reload_flag=$lt_cv_ld_reload_flag
     5174case $reload_flag in
     5175"" | " "*) ;;
     5176*) reload_flag=" $reload_flag" ;;
     5177esac
     5178reload_cmds='$LD$reload_flag -o $output$reload_objs'
     5179case $host_os in
     5180  cygwin* | mingw* | pw32* | cegcc*)
     5181    if test yes != "$GCC"; then
     5182      reload_cmds=false
     5183    fi
     5184    ;;
     5185  darwin*)
     5186    if test yes = "$GCC"; then
     5187      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
     5188    else
     5189      reload_cmds='$LD$reload_flag -o $output$reload_objs'
     5190    fi
     5191    ;;
     5192esac
     5193
     5194
     5195
     5196
     5197
     5198
     5199
     5200
     5201
     5202if test -n "$ac_tool_prefix"; then
     5203  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
     5204set dummy ${ac_tool_prefix}objdump; ac_word=$2
     5205{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     5206$as_echo_n "checking for $ac_word... " >&6; }
     5207if ${ac_cv_prog_OBJDUMP+:} false; then :
     5208  $as_echo_n "(cached) " >&6
     5209else
     5210  if test -n "$OBJDUMP"; then
     5211  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
     5212else
     5213as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     5214for as_dir in $PATH
     5215do
     5216  IFS=$as_save_IFS
     5217  test -z "$as_dir" && as_dir=.
     5218    for ac_exec_ext in '' $ac_executable_extensions; do
     5219  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     5220    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     5221    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     5222    break 2
     5223  fi
     5224done
     5225  done
     5226IFS=$as_save_IFS
     5227
     5228fi
     5229fi
     5230OBJDUMP=$ac_cv_prog_OBJDUMP
     5231if test -n "$OBJDUMP"; then
     5232  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
     5233$as_echo "$OBJDUMP" >&6; }
     5234else
     5235  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     5236$as_echo "no" >&6; }
     5237fi
     5238
     5239
     5240fi
     5241if test -z "$ac_cv_prog_OBJDUMP"; then
     5242  ac_ct_OBJDUMP=$OBJDUMP
     5243  # Extract the first word of "objdump", so it can be a program name with args.
     5244set dummy objdump; ac_word=$2
     5245{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     5246$as_echo_n "checking for $ac_word... " >&6; }
     5247if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
     5248  $as_echo_n "(cached) " >&6
     5249else
     5250  if test -n "$ac_ct_OBJDUMP"; then
     5251  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
     5252else
     5253as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     5254for as_dir in $PATH
     5255do
     5256  IFS=$as_save_IFS
     5257  test -z "$as_dir" && as_dir=.
     5258    for ac_exec_ext in '' $ac_executable_extensions; do
     5259  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     5260    ac_cv_prog_ac_ct_OBJDUMP="objdump"
     5261    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     5262    break 2
     5263  fi
     5264done
     5265  done
     5266IFS=$as_save_IFS
     5267
     5268fi
     5269fi
     5270ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
     5271if test -n "$ac_ct_OBJDUMP"; then
     5272  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
     5273$as_echo "$ac_ct_OBJDUMP" >&6; }
     5274else
     5275  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     5276$as_echo "no" >&6; }
     5277fi
     5278
     5279  if test "x$ac_ct_OBJDUMP" = x; then
     5280    OBJDUMP="false"
     5281  else
     5282    case $cross_compiling:$ac_tool_warned in
     5283yes:)
     5284{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     5285$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     5286ac_tool_warned=yes ;;
     5287esac
     5288    OBJDUMP=$ac_ct_OBJDUMP
     5289  fi
     5290else
     5291  OBJDUMP="$ac_cv_prog_OBJDUMP"
     5292fi
     5293
     5294test -z "$OBJDUMP" && OBJDUMP=objdump
     5295
     5296
     5297
     5298
     5299
     5300
     5301
     5302
     5303
     5304{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
     5305$as_echo_n "checking how to recognize dependent libraries... " >&6; }
     5306if ${lt_cv_deplibs_check_method+:} false; then :
     5307  $as_echo_n "(cached) " >&6
     5308else
     5309  lt_cv_file_magic_cmd='$MAGIC_CMD'
     5310lt_cv_file_magic_test_file=
     5311lt_cv_deplibs_check_method='unknown'
     5312# Need to set the preceding variable on all platforms that support
     5313# interlibrary dependencies.
     5314# 'none' -- dependencies not supported.
     5315# 'unknown' -- same as none, but documents that we really don't know.
     5316# 'pass_all' -- all dependencies passed with no checks.
     5317# 'test_compile' -- check by making test program.
     5318# 'file_magic [[regex]]' -- check by looking for files in library path
     5319# that responds to the $file_magic_cmd with a given extended regex.
     5320# If you have 'file' or equivalent on your system and you're not sure
     5321# whether 'pass_all' will *always* work, you probably want this one.
     5322
     5323case $host_os in
     5324aix[4-9]*)
     5325  lt_cv_deplibs_check_method=pass_all
     5326  ;;
     5327
     5328beos*)
     5329  lt_cv_deplibs_check_method=pass_all
     5330  ;;
     5331
     5332bsdi[45]*)
     5333  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
     5334  lt_cv_file_magic_cmd='/usr/bin/file -L'
     5335  lt_cv_file_magic_test_file=/shlib/libc.so
     5336  ;;
     5337
     5338cygwin*)
     5339  # func_win32_libid is a shell function defined in ltmain.sh
     5340  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
     5341  lt_cv_file_magic_cmd='func_win32_libid'
     5342  ;;
     5343
     5344mingw* | pw32*)
     5345  # Base MSYS/MinGW do not provide the 'file' command needed by
     5346  # func_win32_libid shell function, so use a weaker test based on 'objdump',
     5347  # unless we find 'file', for example because we are cross-compiling.
     5348  if ( file / ) >/dev/null 2>&1; then
     5349    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
     5350    lt_cv_file_magic_cmd='func_win32_libid'
     5351  else
     5352    # Keep this pattern in sync with the one in func_win32_libid.
     5353    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
     5354    lt_cv_file_magic_cmd='$OBJDUMP -f'
     5355  fi
     5356  ;;
     5357
     5358cegcc*)
     5359  # use the weaker test based on 'objdump'. See mingw*.
     5360  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
     5361  lt_cv_file_magic_cmd='$OBJDUMP -f'
     5362  ;;
     5363
     5364darwin* | rhapsody*)
     5365  lt_cv_deplibs_check_method=pass_all
     5366  ;;
     5367
     5368freebsd* | dragonfly*)
     5369  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     5370    case $host_cpu in
     5371    i*86 )
     5372      # Not sure whether the presence of OpenBSD here was a mistake.
     5373      # Let's accept both of them until this is cleared up.
     5374      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
     5375      lt_cv_file_magic_cmd=/usr/bin/file
     5376      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
     5377      ;;
     5378    esac
     5379  else
     5380    lt_cv_deplibs_check_method=pass_all
     5381  fi
     5382  ;;
     5383
     5384haiku*)
     5385  lt_cv_deplibs_check_method=pass_all
     5386  ;;
     5387
     5388hpux10.20* | hpux11*)
     5389  lt_cv_file_magic_cmd=/usr/bin/file
     5390  case $host_cpu in
     5391  ia64*)
     5392    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
     5393    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
     5394    ;;
     5395  hppa*64*)
     5396    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]'
     5397    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
     5398    ;;
     5399  *)
     5400    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
     5401    lt_cv_file_magic_test_file=/usr/lib/libc.sl
     5402    ;;
     5403  esac
     5404  ;;
     5405
     5406interix[3-9]*)
     5407  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
     5408  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
     5409  ;;
     5410
     5411irix5* | irix6* | nonstopux*)
     5412  case $LD in
     5413  *-32|*"-32 ") libmagic=32-bit;;
     5414  *-n32|*"-n32 ") libmagic=N32;;
     5415  *-64|*"-64 ") libmagic=64-bit;;
     5416  *) libmagic=never-match;;
     5417  esac
     5418  lt_cv_deplibs_check_method=pass_all
     5419  ;;
     5420
     5421# This must be glibc/ELF.
     5422linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     5423  lt_cv_deplibs_check_method=pass_all
     5424  ;;
     5425
     5426netbsd* | netbsdelf*-gnu)
     5427  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     5428    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
     5429  else
     5430    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
     5431  fi
     5432  ;;
     5433
     5434newos6*)
     5435  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
     5436  lt_cv_file_magic_cmd=/usr/bin/file
     5437  lt_cv_file_magic_test_file=/usr/lib/libnls.so
     5438  ;;
     5439
     5440*nto* | *qnx*)
     5441  lt_cv_deplibs_check_method=pass_all
     5442  ;;
     5443
     5444openbsd* | bitrig*)
     5445  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
     5446    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
     5447  else
     5448    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
     5449  fi
     5450  ;;
     5451
     5452osf3* | osf4* | osf5*)
     5453  lt_cv_deplibs_check_method=pass_all
     5454  ;;
     5455
     5456rdos*)
     5457  lt_cv_deplibs_check_method=pass_all
     5458  ;;
     5459
     5460solaris*)
     5461  lt_cv_deplibs_check_method=pass_all
     5462  ;;
     5463
     5464sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
     5465  lt_cv_deplibs_check_method=pass_all
     5466  ;;
     5467
     5468sysv4 | sysv4.3*)
     5469  case $host_vendor in
     5470  motorola)
     5471    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]'
     5472    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
     5473    ;;
     5474  ncr)
     5475    lt_cv_deplibs_check_method=pass_all
     5476    ;;
     5477  sequent)
     5478    lt_cv_file_magic_cmd='/bin/file'
     5479    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
     5480    ;;
     5481  sni)
     5482    lt_cv_file_magic_cmd='/bin/file'
     5483    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
     5484    lt_cv_file_magic_test_file=/lib/libc.so
     5485    ;;
     5486  siemens)
     5487    lt_cv_deplibs_check_method=pass_all
     5488    ;;
     5489  pc)
     5490    lt_cv_deplibs_check_method=pass_all
     5491    ;;
     5492  esac
     5493  ;;
     5494
     5495tpf*)
     5496  lt_cv_deplibs_check_method=pass_all
     5497  ;;
     5498os2*)
     5499  lt_cv_deplibs_check_method=pass_all
     5500  ;;
     5501esac
     5502
     5503fi
     5504{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
     5505$as_echo "$lt_cv_deplibs_check_method" >&6; }
     5506
     5507file_magic_glob=
     5508want_nocaseglob=no
     5509if test "$build" = "$host"; then
     5510  case $host_os in
     5511  mingw* | pw32*)
     5512    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
     5513      want_nocaseglob=yes
     5514    else
     5515      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
     5516    fi
     5517    ;;
     5518  esac
     5519fi
     5520
     5521file_magic_cmd=$lt_cv_file_magic_cmd
     5522deplibs_check_method=$lt_cv_deplibs_check_method
     5523test -z "$deplibs_check_method" && deplibs_check_method=unknown
     5524
     5525
     5526
     5527
     5528
     5529
     5530
     5531
     5532
     5533
     5534
     5535
     5536
     5537
     5538
     5539
     5540
     5541
     5542
     5543
     5544
     5545
     5546if test -n "$ac_tool_prefix"; then
     5547  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
     5548set dummy ${ac_tool_prefix}dlltool; ac_word=$2
     5549{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     5550$as_echo_n "checking for $ac_word... " >&6; }
     5551if ${ac_cv_prog_DLLTOOL+:} false; then :
     5552  $as_echo_n "(cached) " >&6
     5553else
     5554  if test -n "$DLLTOOL"; then
     5555  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
     5556else
     5557as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     5558for as_dir in $PATH
     5559do
     5560  IFS=$as_save_IFS
     5561  test -z "$as_dir" && as_dir=.
     5562    for ac_exec_ext in '' $ac_executable_extensions; do
     5563  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     5564    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
     5565    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     5566    break 2
     5567  fi
     5568done
     5569  done
     5570IFS=$as_save_IFS
     5571
     5572fi
     5573fi
     5574DLLTOOL=$ac_cv_prog_DLLTOOL
     5575if test -n "$DLLTOOL"; then
     5576  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
     5577$as_echo "$DLLTOOL" >&6; }
     5578else
     5579  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     5580$as_echo "no" >&6; }
     5581fi
     5582
     5583
     5584fi
     5585if test -z "$ac_cv_prog_DLLTOOL"; then
     5586  ac_ct_DLLTOOL=$DLLTOOL
     5587  # Extract the first word of "dlltool", so it can be a program name with args.
     5588set dummy dlltool; ac_word=$2
     5589{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     5590$as_echo_n "checking for $ac_word... " >&6; }
     5591if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
     5592  $as_echo_n "(cached) " >&6
     5593else
     5594  if test -n "$ac_ct_DLLTOOL"; then
     5595  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
     5596else
     5597as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     5598for as_dir in $PATH
     5599do
     5600  IFS=$as_save_IFS
     5601  test -z "$as_dir" && as_dir=.
     5602    for ac_exec_ext in '' $ac_executable_extensions; do
     5603  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     5604    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
     5605    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     5606    break 2
     5607  fi
     5608done
     5609  done
     5610IFS=$as_save_IFS
     5611
     5612fi
     5613fi
     5614ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
     5615if test -n "$ac_ct_DLLTOOL"; then
     5616  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
     5617$as_echo "$ac_ct_DLLTOOL" >&6; }
     5618else
     5619  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     5620$as_echo "no" >&6; }
     5621fi
     5622
     5623  if test "x$ac_ct_DLLTOOL" = x; then
     5624    DLLTOOL="false"
     5625  else
     5626    case $cross_compiling:$ac_tool_warned in
     5627yes:)
     5628{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     5629$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     5630ac_tool_warned=yes ;;
     5631esac
     5632    DLLTOOL=$ac_ct_DLLTOOL
     5633  fi
     5634else
     5635  DLLTOOL="$ac_cv_prog_DLLTOOL"
     5636fi
     5637
     5638test -z "$DLLTOOL" && DLLTOOL=dlltool
     5639
     5640
     5641
     5642
     5643
     5644
     5645
     5646
     5647
     5648
     5649{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
     5650$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
     5651if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
     5652  $as_echo_n "(cached) " >&6
     5653else
     5654  lt_cv_sharedlib_from_linklib_cmd='unknown'
     5655
     5656case $host_os in
     5657cygwin* | mingw* | pw32* | cegcc*)
     5658  # two different shell functions defined in ltmain.sh;
     5659  # decide which one to use based on capabilities of $DLLTOOL
     5660  case `$DLLTOOL --help 2>&1` in
     5661  *--identify-strict*)
     5662    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
     5663    ;;
     5664  *)
     5665    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
     5666    ;;
     5667  esac
     5668  ;;
     5669*)
     5670  # fallback: assume linklib IS sharedlib
     5671  lt_cv_sharedlib_from_linklib_cmd=$ECHO
     5672  ;;
     5673esac
     5674
     5675fi
     5676{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
     5677$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
     5678sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
     5679test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
     5680
     5681
     5682
     5683
     5684
     5685
     5686
     5687
     5688if test -n "$ac_tool_prefix"; then
     5689  for ac_prog in ar
     5690  do
     5691    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
     5692set dummy $ac_tool_prefix$ac_prog; ac_word=$2
     5693{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     5694$as_echo_n "checking for $ac_word... " >&6; }
     5695if ${ac_cv_prog_AR+:} false; then :
     5696  $as_echo_n "(cached) " >&6
     5697else
     5698  if test -n "$AR"; then
     5699  ac_cv_prog_AR="$AR" # Let the user override the test.
     5700else
     5701as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     5702for as_dir in $PATH
     5703do
     5704  IFS=$as_save_IFS
     5705  test -z "$as_dir" && as_dir=.
     5706    for ac_exec_ext in '' $ac_executable_extensions; do
     5707  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     5708    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
     5709    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     5710    break 2
     5711  fi
     5712done
     5713  done
     5714IFS=$as_save_IFS
     5715
     5716fi
     5717fi
     5718AR=$ac_cv_prog_AR
     5719if test -n "$AR"; then
     5720  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
     5721$as_echo "$AR" >&6; }
     5722else
     5723  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     5724$as_echo "no" >&6; }
     5725fi
     5726
     5727
     5728    test -n "$AR" && break
     5729  done
     5730fi
     5731if test -z "$AR"; then
     5732  ac_ct_AR=$AR
     5733  for ac_prog in ar
     5734do
     5735  # Extract the first word of "$ac_prog", so it can be a program name with args.
     5736set dummy $ac_prog; ac_word=$2
     5737{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     5738$as_echo_n "checking for $ac_word... " >&6; }
     5739if ${ac_cv_prog_ac_ct_AR+:} false; then :
     5740  $as_echo_n "(cached) " >&6
     5741else
     5742  if test -n "$ac_ct_AR"; then
     5743  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
     5744else
     5745as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     5746for as_dir in $PATH
     5747do
     5748  IFS=$as_save_IFS
     5749  test -z "$as_dir" && as_dir=.
     5750    for ac_exec_ext in '' $ac_executable_extensions; do
     5751  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     5752    ac_cv_prog_ac_ct_AR="$ac_prog"
     5753    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     5754    break 2
     5755  fi
     5756done
     5757  done
     5758IFS=$as_save_IFS
     5759
     5760fi
     5761fi
     5762ac_ct_AR=$ac_cv_prog_ac_ct_AR
     5763if test -n "$ac_ct_AR"; then
     5764  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
     5765$as_echo "$ac_ct_AR" >&6; }
     5766else
     5767  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     5768$as_echo "no" >&6; }
     5769fi
     5770
     5771
     5772  test -n "$ac_ct_AR" && break
     5773done
     5774
     5775  if test "x$ac_ct_AR" = x; then
     5776    AR="false"
     5777  else
     5778    case $cross_compiling:$ac_tool_warned in
     5779yes:)
     5780{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     5781$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     5782ac_tool_warned=yes ;;
     5783esac
     5784    AR=$ac_ct_AR
     5785  fi
     5786fi
     5787
     5788: ${AR=ar}
     5789: ${AR_FLAGS=cru}
     5790
     5791
     5792
     5793
     5794
     5795
     5796
     5797
     5798
     5799
     5800
     5801{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
     5802$as_echo_n "checking for archiver @FILE support... " >&6; }
     5803if ${lt_cv_ar_at_file+:} false; then :
     5804  $as_echo_n "(cached) " >&6
     5805else
     5806  lt_cv_ar_at_file=no
     5807   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     5808/* end confdefs.h.  */
     5809
     5810int
     5811main ()
     5812{
     5813
     5814  ;
     5815  return 0;
     5816}
     5817_ACEOF
     5818if ac_fn_c_try_compile "$LINENO"; then :
     5819  echo conftest.$ac_objext > conftest.lst
     5820      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
     5821      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
     5822  (eval $lt_ar_try) 2>&5
     5823  ac_status=$?
     5824  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     5825  test $ac_status = 0; }
     5826      if test 0 -eq "$ac_status"; then
     5827        # Ensure the archiver fails upon bogus file names.
     5828        rm -f conftest.$ac_objext libconftest.a
     5829        { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
     5830  (eval $lt_ar_try) 2>&5
     5831  ac_status=$?
     5832  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     5833  test $ac_status = 0; }
     5834        if test 0 -ne "$ac_status"; then
     5835          lt_cv_ar_at_file=@
     5836        fi
     5837      fi
     5838      rm -f conftest.* libconftest.a
     5839
     5840fi
     5841rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     5842
     5843fi
     5844{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
     5845$as_echo "$lt_cv_ar_at_file" >&6; }
     5846
     5847if test no = "$lt_cv_ar_at_file"; then
     5848  archiver_list_spec=
     5849else
     5850  archiver_list_spec=$lt_cv_ar_at_file
     5851fi
     5852
     5853
     5854
     5855
     5856
     5857
     5858
     5859if test -n "$ac_tool_prefix"; then
     5860  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
     5861set dummy ${ac_tool_prefix}strip; ac_word=$2
     5862{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     5863$as_echo_n "checking for $ac_word... " >&6; }
     5864if ${ac_cv_prog_STRIP+:} false; then :
     5865  $as_echo_n "(cached) " >&6
     5866else
     5867  if test -n "$STRIP"; then
     5868  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
     5869else
     5870as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     5871for as_dir in $PATH
     5872do
     5873  IFS=$as_save_IFS
     5874  test -z "$as_dir" && as_dir=.
     5875    for ac_exec_ext in '' $ac_executable_extensions; do
     5876  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     5877    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     5878    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     5879    break 2
     5880  fi
     5881done
     5882  done
     5883IFS=$as_save_IFS
     5884
     5885fi
     5886fi
     5887STRIP=$ac_cv_prog_STRIP
     5888if test -n "$STRIP"; then
     5889  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
     5890$as_echo "$STRIP" >&6; }
     5891else
     5892  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     5893$as_echo "no" >&6; }
     5894fi
     5895
     5896
     5897fi
     5898if test -z "$ac_cv_prog_STRIP"; then
     5899  ac_ct_STRIP=$STRIP
     5900  # Extract the first word of "strip", so it can be a program name with args.
     5901set dummy strip; ac_word=$2
     5902{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     5903$as_echo_n "checking for $ac_word... " >&6; }
     5904if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
     5905  $as_echo_n "(cached) " >&6
     5906else
     5907  if test -n "$ac_ct_STRIP"; then
     5908  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
     5909else
     5910as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     5911for as_dir in $PATH
     5912do
     5913  IFS=$as_save_IFS
     5914  test -z "$as_dir" && as_dir=.
     5915    for ac_exec_ext in '' $ac_executable_extensions; do
     5916  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     5917    ac_cv_prog_ac_ct_STRIP="strip"
     5918    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     5919    break 2
     5920  fi
     5921done
     5922  done
     5923IFS=$as_save_IFS
     5924
     5925fi
     5926fi
     5927ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
     5928if test -n "$ac_ct_STRIP"; then
     5929  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
     5930$as_echo "$ac_ct_STRIP" >&6; }
     5931else
     5932  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     5933$as_echo "no" >&6; }
     5934fi
     5935
     5936  if test "x$ac_ct_STRIP" = x; then
     5937    STRIP=":"
     5938  else
     5939    case $cross_compiling:$ac_tool_warned in
     5940yes:)
     5941{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     5942$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     5943ac_tool_warned=yes ;;
     5944esac
     5945    STRIP=$ac_ct_STRIP
     5946  fi
     5947else
     5948  STRIP="$ac_cv_prog_STRIP"
     5949fi
     5950
     5951test -z "$STRIP" && STRIP=:
     5952
     5953
     5954
     5955
     5956
     5957
     5958if test -n "$ac_tool_prefix"; then
     5959  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
     5960set dummy ${ac_tool_prefix}ranlib; ac_word=$2
     5961{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     5962$as_echo_n "checking for $ac_word... " >&6; }
     5963if ${ac_cv_prog_RANLIB+:} false; then :
     5964  $as_echo_n "(cached) " >&6
     5965else
     5966  if test -n "$RANLIB"; then
     5967  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
     5968else
     5969as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     5970for as_dir in $PATH
     5971do
     5972  IFS=$as_save_IFS
     5973  test -z "$as_dir" && as_dir=.
     5974    for ac_exec_ext in '' $ac_executable_extensions; do
     5975  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     5976    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     5977    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     5978    break 2
     5979  fi
     5980done
     5981  done
     5982IFS=$as_save_IFS
     5983
     5984fi
     5985fi
     5986RANLIB=$ac_cv_prog_RANLIB
     5987if test -n "$RANLIB"; then
     5988  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
     5989$as_echo "$RANLIB" >&6; }
     5990else
     5991  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     5992$as_echo "no" >&6; }
     5993fi
     5994
     5995
     5996fi
     5997if test -z "$ac_cv_prog_RANLIB"; then
     5998  ac_ct_RANLIB=$RANLIB
     5999  # Extract the first word of "ranlib", so it can be a program name with args.
     6000set dummy ranlib; ac_word=$2
     6001{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6002$as_echo_n "checking for $ac_word... " >&6; }
     6003if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
     6004  $as_echo_n "(cached) " >&6
     6005else
     6006  if test -n "$ac_ct_RANLIB"; then
     6007  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
     6008else
     6009as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6010for as_dir in $PATH
     6011do
     6012  IFS=$as_save_IFS
     6013  test -z "$as_dir" && as_dir=.
     6014    for ac_exec_ext in '' $ac_executable_extensions; do
     6015  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6016    ac_cv_prog_ac_ct_RANLIB="ranlib"
     6017    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6018    break 2
     6019  fi
     6020done
     6021  done
     6022IFS=$as_save_IFS
     6023
     6024fi
     6025fi
     6026ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
     6027if test -n "$ac_ct_RANLIB"; then
     6028  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
     6029$as_echo "$ac_ct_RANLIB" >&6; }
     6030else
     6031  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6032$as_echo "no" >&6; }
     6033fi
     6034
     6035  if test "x$ac_ct_RANLIB" = x; then
     6036    RANLIB=":"
     6037  else
     6038    case $cross_compiling:$ac_tool_warned in
     6039yes:)
     6040{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     6041$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     6042ac_tool_warned=yes ;;
     6043esac
     6044    RANLIB=$ac_ct_RANLIB
     6045  fi
     6046else
     6047  RANLIB="$ac_cv_prog_RANLIB"
     6048fi
     6049
     6050test -z "$RANLIB" && RANLIB=:
     6051
     6052
     6053
     6054
     6055
     6056
     6057# Determine commands to create old-style static archives.
     6058old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
     6059old_postinstall_cmds='chmod 644 $oldlib'
     6060old_postuninstall_cmds=
     6061
     6062if test -n "$RANLIB"; then
     6063  case $host_os in
     6064  bitrig* | openbsd*)
     6065    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
     6066    ;;
     6067  *)
     6068    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
     6069    ;;
     6070  esac
     6071  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
     6072fi
     6073
     6074case $host_os in
     6075  darwin*)
     6076    lock_old_archive_extraction=yes ;;
     6077  *)
     6078    lock_old_archive_extraction=no ;;
     6079esac
     6080
     6081
     6082
     6083
     6084
     6085
     6086
     6087
     6088
     6089
     6090
     6091
     6092
     6093
     6094
     6095
     6096
     6097
     6098
     6099
     6100
     6101
     6102
     6103
     6104
     6105
     6106
     6107
     6108
     6109
     6110
     6111
     6112
     6113
     6114
     6115
     6116
     6117
     6118
     6119# If no C compiler was specified, use CC.
     6120LTCC=${LTCC-"$CC"}
     6121
     6122# If no C compiler flags were specified, use CFLAGS.
     6123LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
     6124
     6125# Allow CC to be a program name with arguments.
     6126compiler=$CC
     6127
     6128
     6129# Check for command to grab the raw symbol name followed by C symbol from nm.
     6130{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
     6131$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
     6132if ${lt_cv_sys_global_symbol_pipe+:} false; then :
     6133  $as_echo_n "(cached) " >&6
     6134else
     6135
     6136# These are sane defaults that work on at least a few old systems.
     6137# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
     6138
     6139# Character class describing NM global symbol codes.
     6140symcode='[BCDEGRST]'
     6141
     6142# Regexp to match symbols that can be accessed directly from C.
     6143sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
     6144
     6145# Define system-specific variables.
     6146case $host_os in
     6147aix*)
     6148  symcode='[BCDT]'
     6149  ;;
     6150cygwin* | mingw* | pw32* | cegcc*)
     6151  symcode='[ABCDGISTW]'
     6152  ;;
     6153hpux*)
     6154  if test ia64 = "$host_cpu"; then
     6155    symcode='[ABCDEGRST]'
     6156  fi
     6157  ;;
     6158irix* | nonstopux*)
     6159  symcode='[BCDEGRST]'
     6160  ;;
     6161osf*)
     6162  symcode='[BCDEGQRST]'
     6163  ;;
     6164solaris*)
     6165  symcode='[BDRT]'
     6166  ;;
     6167sco3.2v5*)
     6168  symcode='[DT]'
     6169  ;;
     6170sysv4.2uw2*)
     6171  symcode='[DT]'
     6172  ;;
     6173sysv5* | sco5v6* | unixware* | OpenUNIX*)
     6174  symcode='[ABDT]'
     6175  ;;
     6176sysv4)
     6177  symcode='[DFNSTU]'
     6178  ;;
     6179esac
     6180
     6181# If we're using GNU nm, then use its standard symbol codes.
     6182case `$NM -V 2>&1` in
     6183*GNU* | *'with BFD'*)
     6184  symcode='[ABCDGIRSTW]' ;;
     6185esac
     6186
     6187if test "$lt_cv_nm_interface" = "MS dumpbin"; then
     6188  # Gets list of data symbols to import.
     6189  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
     6190  # Adjust the below global symbol transforms to fixup imported variables.
     6191  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
     6192  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
     6193  lt_c_name_lib_hook="\
     6194  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
     6195  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
     6196else
     6197  # Disable hooks by default.
     6198  lt_cv_sys_global_symbol_to_import=
     6199  lt_cdecl_hook=
     6200  lt_c_name_hook=
     6201  lt_c_name_lib_hook=
     6202fi
     6203
     6204# Transform an extracted symbol line into a proper C declaration.
     6205# Some systems (esp. on ia64) link data and code symbols differently,
     6206# so use this general approach.
     6207lt_cv_sys_global_symbol_to_cdecl="sed -n"\
     6208$lt_cdecl_hook\
     6209" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
     6210" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
     6211
     6212# Transform an extracted symbol line into symbol name and symbol address
     6213lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
     6214$lt_c_name_hook\
     6215" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
     6216" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
     6217
     6218# Transform an extracted symbol line into symbol name with lib prefix and
     6219# symbol address.
     6220lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
     6221$lt_c_name_lib_hook\
     6222" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
     6223" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
     6224" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
     6225
     6226# Handle CRLF in mingw tool chain
     6227opt_cr=
     6228case $build_os in
     6229mingw*)
     6230  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
     6231  ;;
     6232esac
     6233
     6234# Try without a prefix underscore, then with it.
     6235for ac_symprfx in "" "_"; do
     6236
     6237  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
     6238  symxfrm="\\1 $ac_symprfx\\2 \\2"
     6239
     6240  # Write the raw and C identifiers.
     6241  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
     6242    # Fake it for dumpbin and say T for any non-static function,
     6243    # D for any global variable and I for any imported variable.
     6244    # Also find C++ and __fastcall symbols from MSVC++,
     6245    # which start with @ or ?.
     6246    lt_cv_sys_global_symbol_pipe="$AWK '"\
     6247"     {last_section=section; section=\$ 3};"\
     6248"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
     6249"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
     6250"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
     6251"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
     6252"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
     6253"     \$ 0!~/External *\|/{next};"\
     6254"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
     6255"     {if(hide[section]) next};"\
     6256"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
     6257"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
     6258"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
     6259"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
     6260"     ' prfx=^$ac_symprfx"
     6261  else
     6262    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[      ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
     6263  fi
     6264  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
     6265
     6266  # Check to see that the pipe works correctly.
     6267  pipe_works=no
     6268
     6269  rm -f conftest*
     6270  cat > conftest.$ac_ext <<_LT_EOF
     6271#ifdef __cplusplus
     6272extern "C" {
     6273#endif
     6274char nm_test_var;
     6275void nm_test_func(void);
     6276void nm_test_func(void){}
     6277#ifdef __cplusplus
     6278}
     6279#endif
     6280int main(){nm_test_var='a';nm_test_func();return(0);}
     6281_LT_EOF
     6282
     6283  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     6284  (eval $ac_compile) 2>&5
     6285  ac_status=$?
     6286  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     6287  test $ac_status = 0; }; then
     6288    # Now try to grab the symbols.
     6289    nlist=conftest.nm
     6290    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
     6291  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
     6292  ac_status=$?
     6293  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     6294  test $ac_status = 0; } && test -s "$nlist"; then
     6295      # Try sorting and uniquifying the output.
     6296      if sort "$nlist" | uniq > "$nlist"T; then
     6297        mv -f "$nlist"T "$nlist"
     6298      else
     6299        rm -f "$nlist"T
     6300      fi
     6301
     6302      # Make sure that we snagged all the symbols we need.
     6303      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
     6304        if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
     6305          cat <<_LT_EOF > conftest.$ac_ext
     6306/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
     6307#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
     6308/* DATA imports from DLLs on WIN32 can't be const, because runtime
     6309   relocations are performed -- see ld's documentation on pseudo-relocs.  */
     6310# define LT_DLSYM_CONST
     6311#elif defined __osf__
     6312/* This system does not cope well with relocations in const data.  */
     6313# define LT_DLSYM_CONST
     6314#else
     6315# define LT_DLSYM_CONST const
     6316#endif
     6317
     6318#ifdef __cplusplus
     6319extern "C" {
     6320#endif
     6321
     6322_LT_EOF
     6323          # Now generate the symbol file.
     6324          eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
     6325
     6326          cat <<_LT_EOF >> conftest.$ac_ext
     6327
     6328/* The mapping between symbol names and symbols.  */
     6329LT_DLSYM_CONST struct {
     6330  const char *name;
     6331  void       *address;
     6332}
     6333lt__PROGRAM__LTX_preloaded_symbols[] =
     6334{
     6335  { "@PROGRAM@", (void *) 0 },
     6336_LT_EOF
     6337          $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
     6338          cat <<\_LT_EOF >> conftest.$ac_ext
     6339  {0, (void *) 0}
     6340};
     6341
     6342/* This works around a problem in FreeBSD linker */
     6343#ifdef FREEBSD_WORKAROUND
     6344static const void *lt_preloaded_setup() {
     6345  return lt__PROGRAM__LTX_preloaded_symbols;
     6346}
     6347#endif
     6348
     6349#ifdef __cplusplus
     6350}
     6351#endif
     6352_LT_EOF
     6353          # Now try linking the two files.
     6354          mv conftest.$ac_objext conftstm.$ac_objext
     6355          lt_globsym_save_LIBS=$LIBS
     6356          lt_globsym_save_CFLAGS=$CFLAGS
     6357          LIBS=conftstm.$ac_objext
     6358          CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
     6359          if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
     6360  (eval $ac_link) 2>&5
     6361  ac_status=$?
     6362  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     6363  test $ac_status = 0; } && test -s conftest$ac_exeext; then
     6364            pipe_works=yes
     6365          fi
     6366          LIBS=$lt_globsym_save_LIBS
     6367          CFLAGS=$lt_globsym_save_CFLAGS
     6368        else
     6369          echo "cannot find nm_test_func in $nlist" >&5
     6370        fi
     6371      else
     6372        echo "cannot find nm_test_var in $nlist" >&5
     6373      fi
     6374    else
     6375      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
     6376    fi
     6377  else
     6378    echo "$progname: failed program was:" >&5
     6379    cat conftest.$ac_ext >&5
     6380  fi
     6381  rm -rf conftest* conftst*
     6382
     6383  # Do not use the global_symbol_pipe unless it works.
     6384  if test yes = "$pipe_works"; then
     6385    break
     6386  else
     6387    lt_cv_sys_global_symbol_pipe=
     6388  fi
     6389done
     6390
     6391fi
     6392
     6393if test -z "$lt_cv_sys_global_symbol_pipe"; then
     6394  lt_cv_sys_global_symbol_to_cdecl=
     6395fi
     6396if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
     6397  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
     6398$as_echo "failed" >&6; }
     6399else
     6400  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
     6401$as_echo "ok" >&6; }
     6402fi
     6403
     6404# Response file support.
     6405if test "$lt_cv_nm_interface" = "MS dumpbin"; then
     6406  nm_file_list_spec='@'
     6407elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
     6408  nm_file_list_spec='@'
     6409fi
     6410
     6411
     6412
     6413
     6414
     6415
     6416
     6417
     6418
     6419
     6420
     6421
     6422
     6423
     6424
     6425
     6426
     6427
     6428
     6429
     6430
     6431
     6432
     6433
     6434
     6435
     6436
     6437
     6438
     6439
     6440
     6441
     6442
     6443
     6444
     6445
     6446
     6447{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
     6448$as_echo_n "checking for sysroot... " >&6; }
     6449
     6450# Check whether --with-sysroot was given.
     6451if test "${with_sysroot+set}" = set; then :
     6452  withval=$with_sysroot;
     6453else
     6454  with_sysroot=no
     6455fi
     6456
     6457
     6458lt_sysroot=
     6459case $with_sysroot in #(
     6460 yes)
     6461   if test yes = "$GCC"; then
     6462     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
     6463   fi
     6464   ;; #(
     6465 /*)
     6466   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
     6467   ;; #(
     6468 no|'')
     6469   ;; #(
     6470 *)
     6471   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
     6472$as_echo "$with_sysroot" >&6; }
     6473   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
     6474   ;;
     6475esac
     6476
     6477 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
     6478$as_echo "${lt_sysroot:-no}" >&6; }
     6479
     6480
     6481
     6482
     6483
     6484{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
     6485$as_echo_n "checking for a working dd... " >&6; }
     6486if ${ac_cv_path_lt_DD+:} false; then :
     6487  $as_echo_n "(cached) " >&6
     6488else
     6489  printf 0123456789abcdef0123456789abcdef >conftest.i
     6490cat conftest.i conftest.i >conftest2.i
     6491: ${lt_DD:=$DD}
     6492if test -z "$lt_DD"; then
     6493  ac_path_lt_DD_found=false
     6494  # Loop through the user's path and test for each of PROGNAME-LIST
     6495  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6496for as_dir in $PATH
     6497do
     6498  IFS=$as_save_IFS
     6499  test -z "$as_dir" && as_dir=.
     6500    for ac_prog in dd; do
     6501    for ac_exec_ext in '' $ac_executable_extensions; do
     6502      ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
     6503      as_fn_executable_p "$ac_path_lt_DD" || continue
     6504if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
     6505  cmp -s conftest.i conftest.out \
     6506  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
     6507fi
     6508      $ac_path_lt_DD_found && break 3
     6509    done
     6510  done
     6511  done
     6512IFS=$as_save_IFS
     6513  if test -z "$ac_cv_path_lt_DD"; then
     6514    :
     6515  fi
     6516else
     6517  ac_cv_path_lt_DD=$lt_DD
     6518fi
     6519
     6520rm -f conftest.i conftest2.i conftest.out
     6521fi
     6522{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
     6523$as_echo "$ac_cv_path_lt_DD" >&6; }
     6524
     6525
     6526{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
     6527$as_echo_n "checking how to truncate binary pipes... " >&6; }
     6528if ${lt_cv_truncate_bin+:} false; then :
     6529  $as_echo_n "(cached) " >&6
     6530else
     6531  printf 0123456789abcdef0123456789abcdef >conftest.i
     6532cat conftest.i conftest.i >conftest2.i
     6533lt_cv_truncate_bin=
     6534if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
     6535  cmp -s conftest.i conftest.out \
     6536  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
     6537fi
     6538rm -f conftest.i conftest2.i conftest.out
     6539test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
     6540fi
     6541{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
     6542$as_echo "$lt_cv_truncate_bin" >&6; }
     6543
     6544
     6545
     6546
     6547
     6548
     6549
     6550# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
     6551func_cc_basename ()
     6552{
     6553    for cc_temp in $*""; do
     6554      case $cc_temp in
     6555        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
     6556        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
     6557        \-*) ;;
     6558        *) break;;
     6559      esac
     6560    done
     6561    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
     6562}
     6563
     6564# Check whether --enable-libtool-lock was given.
     6565if test "${enable_libtool_lock+set}" = set; then :
     6566  enableval=$enable_libtool_lock;
     6567fi
     6568
     6569test no = "$enable_libtool_lock" || enable_libtool_lock=yes
     6570
     6571# Some flags need to be propagated to the compiler or linker for good
     6572# libtool support.
     6573case $host in
     6574ia64-*-hpux*)
     6575  # Find out what ABI is being produced by ac_compile, and set mode
     6576  # options accordingly.
     6577  echo 'int i;' > conftest.$ac_ext
     6578  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     6579  (eval $ac_compile) 2>&5
     6580  ac_status=$?
     6581  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     6582  test $ac_status = 0; }; then
     6583    case `/usr/bin/file conftest.$ac_objext` in
     6584      *ELF-32*)
     6585        HPUX_IA64_MODE=32
     6586        ;;
     6587      *ELF-64*)
     6588        HPUX_IA64_MODE=64
     6589        ;;
     6590    esac
     6591  fi
     6592  rm -rf conftest*
     6593  ;;
     6594*-*-irix6*)
     6595  # Find out what ABI is being produced by ac_compile, and set linker
     6596  # options accordingly.
     6597  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
     6598  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     6599  (eval $ac_compile) 2>&5
     6600  ac_status=$?
     6601  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     6602  test $ac_status = 0; }; then
     6603    if test yes = "$lt_cv_prog_gnu_ld"; then
     6604      case `/usr/bin/file conftest.$ac_objext` in
     6605        *32-bit*)
     6606          LD="${LD-ld} -melf32bsmip"
     6607          ;;
     6608        *N32*)
     6609          LD="${LD-ld} -melf32bmipn32"
     6610          ;;
     6611        *64-bit*)
     6612          LD="${LD-ld} -melf64bmip"
     6613        ;;
     6614      esac
     6615    else
     6616      case `/usr/bin/file conftest.$ac_objext` in
     6617        *32-bit*)
     6618          LD="${LD-ld} -32"
     6619          ;;
     6620        *N32*)
     6621          LD="${LD-ld} -n32"
     6622          ;;
     6623        *64-bit*)
     6624          LD="${LD-ld} -64"
     6625          ;;
     6626      esac
     6627    fi
     6628  fi
     6629  rm -rf conftest*
     6630  ;;
     6631
     6632mips64*-*linux*)
     6633  # Find out what ABI is being produced by ac_compile, and set linker
     6634  # options accordingly.
     6635  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
     6636  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     6637  (eval $ac_compile) 2>&5
     6638  ac_status=$?
     6639  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     6640  test $ac_status = 0; }; then
     6641    emul=elf
     6642    case `/usr/bin/file conftest.$ac_objext` in
     6643      *32-bit*)
     6644        emul="${emul}32"
     6645        ;;
     6646      *64-bit*)
     6647        emul="${emul}64"
     6648        ;;
     6649    esac
     6650    case `/usr/bin/file conftest.$ac_objext` in
     6651      *MSB*)
     6652        emul="${emul}btsmip"
     6653        ;;
     6654      *LSB*)
     6655        emul="${emul}ltsmip"
     6656        ;;
     6657    esac
     6658    case `/usr/bin/file conftest.$ac_objext` in
     6659      *N32*)
     6660        emul="${emul}n32"
     6661        ;;
     6662    esac
     6663    LD="${LD-ld} -m $emul"
     6664  fi
     6665  rm -rf conftest*
     6666  ;;
     6667
     6668x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
     6669s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
     6670  # Find out what ABI is being produced by ac_compile, and set linker
     6671  # options accordingly.  Note that the listed cases only cover the
     6672  # situations where additional linker options are needed (such as when
     6673  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
     6674  # vice versa); the common cases where no linker options are needed do
     6675  # not appear in the list.
     6676  echo 'int i;' > conftest.$ac_ext
     6677  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     6678  (eval $ac_compile) 2>&5
     6679  ac_status=$?
     6680  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     6681  test $ac_status = 0; }; then
     6682    case `/usr/bin/file conftest.o` in
     6683      *32-bit*)
     6684        case $host in
     6685          x86_64-*kfreebsd*-gnu)
     6686            LD="${LD-ld} -m elf_i386_fbsd"
     6687            ;;
     6688          x86_64-*linux*)
     6689            case `/usr/bin/file conftest.o` in
     6690              *x86-64*)
     6691                LD="${LD-ld} -m elf32_x86_64"
     6692                ;;
     6693              *)
     6694                LD="${LD-ld} -m elf_i386"
     6695                ;;
     6696            esac
     6697            ;;
     6698          powerpc64le-*linux*)
     6699            LD="${LD-ld} -m elf32lppclinux"
     6700            ;;
     6701          powerpc64-*linux*)
     6702            LD="${LD-ld} -m elf32ppclinux"
     6703            ;;
     6704          s390x-*linux*)
     6705            LD="${LD-ld} -m elf_s390"
     6706            ;;
     6707          sparc64-*linux*)
     6708            LD="${LD-ld} -m elf32_sparc"
     6709            ;;
     6710        esac
     6711        ;;
     6712      *64-bit*)
     6713        case $host in
     6714          x86_64-*kfreebsd*-gnu)
     6715            LD="${LD-ld} -m elf_x86_64_fbsd"
     6716            ;;
     6717          x86_64-*linux*)
     6718            LD="${LD-ld} -m elf_x86_64"
     6719            ;;
     6720          powerpcle-*linux*)
     6721            LD="${LD-ld} -m elf64lppc"
     6722            ;;
     6723          powerpc-*linux*)
     6724            LD="${LD-ld} -m elf64ppc"
     6725            ;;
     6726          s390*-*linux*|s390*-*tpf*)
     6727            LD="${LD-ld} -m elf64_s390"
     6728            ;;
     6729          sparc*-*linux*)
     6730            LD="${LD-ld} -m elf64_sparc"
     6731            ;;
     6732        esac
     6733        ;;
     6734    esac
     6735  fi
     6736  rm -rf conftest*
     6737  ;;
     6738
     6739*-*-sco3.2v5*)
     6740  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
     6741  SAVE_CFLAGS=$CFLAGS
     6742  CFLAGS="$CFLAGS -belf"
     6743  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
     6744$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
     6745if ${lt_cv_cc_needs_belf+:} false; then :
     6746  $as_echo_n "(cached) " >&6
     6747else
     6748  ac_ext=c
     6749ac_cpp='$CPP $CPPFLAGS'
     6750ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     6751ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     6752ac_compiler_gnu=$ac_cv_c_compiler_gnu
     6753
     6754     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     6755/* end confdefs.h.  */
     6756
     6757int
     6758main ()
     6759{
     6760
     6761  ;
     6762  return 0;
     6763}
     6764_ACEOF
     6765if ac_fn_c_try_link "$LINENO"; then :
     6766  lt_cv_cc_needs_belf=yes
     6767else
     6768  lt_cv_cc_needs_belf=no
     6769fi
     6770rm -f core conftest.err conftest.$ac_objext \
     6771    conftest$ac_exeext conftest.$ac_ext
     6772     ac_ext=c
     6773ac_cpp='$CPP $CPPFLAGS'
     6774ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     6775ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     6776ac_compiler_gnu=$ac_cv_c_compiler_gnu
     6777
     6778fi
     6779{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
     6780$as_echo "$lt_cv_cc_needs_belf" >&6; }
     6781  if test yes != "$lt_cv_cc_needs_belf"; then
     6782    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
     6783    CFLAGS=$SAVE_CFLAGS
     6784  fi
     6785  ;;
     6786*-*solaris*)
     6787  # Find out what ABI is being produced by ac_compile, and set linker
     6788  # options accordingly.
     6789  echo 'int i;' > conftest.$ac_ext
     6790  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     6791  (eval $ac_compile) 2>&5
     6792  ac_status=$?
     6793  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     6794  test $ac_status = 0; }; then
     6795    case `/usr/bin/file conftest.o` in
     6796    *64-bit*)
     6797      case $lt_cv_prog_gnu_ld in
     6798      yes*)
     6799        case $host in
     6800        i?86-*-solaris*|x86_64-*-solaris*)
     6801          LD="${LD-ld} -m elf_x86_64"
     6802          ;;
     6803        sparc*-*-solaris*)
     6804          LD="${LD-ld} -m elf64_sparc"
     6805          ;;
     6806        esac
     6807        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
     6808        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
     6809          LD=${LD-ld}_sol2
     6810        fi
     6811        ;;
     6812      *)
     6813        if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
     6814          LD="${LD-ld} -64"
     6815        fi
     6816        ;;
     6817      esac
     6818      ;;
     6819    esac
     6820  fi
     6821  rm -rf conftest*
     6822  ;;
     6823esac
     6824
     6825need_locks=$enable_libtool_lock
     6826
     6827if test -n "$ac_tool_prefix"; then
     6828  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
     6829set dummy ${ac_tool_prefix}mt; ac_word=$2
     6830{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6831$as_echo_n "checking for $ac_word... " >&6; }
     6832if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
     6833  $as_echo_n "(cached) " >&6
     6834else
     6835  if test -n "$MANIFEST_TOOL"; then
     6836  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
     6837else
     6838as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6839for as_dir in $PATH
     6840do
     6841  IFS=$as_save_IFS
     6842  test -z "$as_dir" && as_dir=.
     6843    for ac_exec_ext in '' $ac_executable_extensions; do
     6844  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6845    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
     6846    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6847    break 2
     6848  fi
     6849done
     6850  done
     6851IFS=$as_save_IFS
     6852
     6853fi
     6854fi
     6855MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
     6856if test -n "$MANIFEST_TOOL"; then
     6857  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
     6858$as_echo "$MANIFEST_TOOL" >&6; }
     6859else
     6860  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6861$as_echo "no" >&6; }
     6862fi
     6863
     6864
     6865fi
     6866if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
     6867  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
     6868  # Extract the first word of "mt", so it can be a program name with args.
     6869set dummy mt; ac_word=$2
     6870{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6871$as_echo_n "checking for $ac_word... " >&6; }
     6872if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
     6873  $as_echo_n "(cached) " >&6
     6874else
     6875  if test -n "$ac_ct_MANIFEST_TOOL"; then
     6876  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
     6877else
     6878as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6879for as_dir in $PATH
     6880do
     6881  IFS=$as_save_IFS
     6882  test -z "$as_dir" && as_dir=.
     6883    for ac_exec_ext in '' $ac_executable_extensions; do
     6884  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6885    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
     6886    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6887    break 2
     6888  fi
     6889done
     6890  done
     6891IFS=$as_save_IFS
     6892
     6893fi
     6894fi
     6895ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
     6896if test -n "$ac_ct_MANIFEST_TOOL"; then
     6897  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
     6898$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
     6899else
     6900  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6901$as_echo "no" >&6; }
     6902fi
     6903
     6904  if test "x$ac_ct_MANIFEST_TOOL" = x; then
     6905    MANIFEST_TOOL=":"
     6906  else
     6907    case $cross_compiling:$ac_tool_warned in
     6908yes:)
     6909{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     6910$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     6911ac_tool_warned=yes ;;
     6912esac
     6913    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
     6914  fi
     6915else
     6916  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
     6917fi
     6918
     6919test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
     6920{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
     6921$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
     6922if ${lt_cv_path_mainfest_tool+:} false; then :
     6923  $as_echo_n "(cached) " >&6
     6924else
     6925  lt_cv_path_mainfest_tool=no
     6926  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
     6927  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
     6928  cat conftest.err >&5
     6929  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
     6930    lt_cv_path_mainfest_tool=yes
     6931  fi
     6932  rm -f conftest*
     6933fi
     6934{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
     6935$as_echo "$lt_cv_path_mainfest_tool" >&6; }
     6936if test yes != "$lt_cv_path_mainfest_tool"; then
     6937  MANIFEST_TOOL=:
     6938fi
     6939
     6940
     6941
     6942
     6943
     6944
     6945  case $host_os in
     6946    rhapsody* | darwin*)
     6947    if test -n "$ac_tool_prefix"; then
     6948  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
     6949set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
     6950{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6951$as_echo_n "checking for $ac_word... " >&6; }
     6952if ${ac_cv_prog_DSYMUTIL+:} false; then :
     6953  $as_echo_n "(cached) " >&6
     6954else
     6955  if test -n "$DSYMUTIL"; then
     6956  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
     6957else
     6958as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6959for as_dir in $PATH
     6960do
     6961  IFS=$as_save_IFS
     6962  test -z "$as_dir" && as_dir=.
     6963    for ac_exec_ext in '' $ac_executable_extensions; do
     6964  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6965    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     6966    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6967    break 2
     6968  fi
     6969done
     6970  done
     6971IFS=$as_save_IFS
     6972
     6973fi
     6974fi
     6975DSYMUTIL=$ac_cv_prog_DSYMUTIL
     6976if test -n "$DSYMUTIL"; then
     6977  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
     6978$as_echo "$DSYMUTIL" >&6; }
     6979else
     6980  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6981$as_echo "no" >&6; }
     6982fi
     6983
     6984
     6985fi
     6986if test -z "$ac_cv_prog_DSYMUTIL"; then
     6987  ac_ct_DSYMUTIL=$DSYMUTIL
     6988  # Extract the first word of "dsymutil", so it can be a program name with args.
     6989set dummy dsymutil; ac_word=$2
     6990{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6991$as_echo_n "checking for $ac_word... " >&6; }
     6992if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
     6993  $as_echo_n "(cached) " >&6
     6994else
     6995  if test -n "$ac_ct_DSYMUTIL"; then
     6996  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
     6997else
     6998as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6999for as_dir in $PATH
     7000do
     7001  IFS=$as_save_IFS
     7002  test -z "$as_dir" && as_dir=.
     7003    for ac_exec_ext in '' $ac_executable_extensions; do
     7004  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     7005    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     7006    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     7007    break 2
     7008  fi
     7009done
     7010  done
     7011IFS=$as_save_IFS
     7012
     7013fi
     7014fi
     7015ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
     7016if test -n "$ac_ct_DSYMUTIL"; then
     7017  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
     7018$as_echo "$ac_ct_DSYMUTIL" >&6; }
     7019else
     7020  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     7021$as_echo "no" >&6; }
     7022fi
     7023
     7024  if test "x$ac_ct_DSYMUTIL" = x; then
     7025    DSYMUTIL=":"
     7026  else
     7027    case $cross_compiling:$ac_tool_warned in
     7028yes:)
     7029{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     7030$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     7031ac_tool_warned=yes ;;
     7032esac
     7033    DSYMUTIL=$ac_ct_DSYMUTIL
     7034  fi
     7035else
     7036  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
     7037fi
     7038
     7039    if test -n "$ac_tool_prefix"; then
     7040  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
     7041set dummy ${ac_tool_prefix}nmedit; ac_word=$2
     7042{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     7043$as_echo_n "checking for $ac_word... " >&6; }
     7044if ${ac_cv_prog_NMEDIT+:} false; then :
     7045  $as_echo_n "(cached) " >&6
     7046else
     7047  if test -n "$NMEDIT"; then
     7048  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
     7049else
     7050as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7051for as_dir in $PATH
     7052do
     7053  IFS=$as_save_IFS
     7054  test -z "$as_dir" && as_dir=.
     7055    for ac_exec_ext in '' $ac_executable_extensions; do
     7056  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     7057    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     7058    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     7059    break 2
     7060  fi
     7061done
     7062  done
     7063IFS=$as_save_IFS
     7064
     7065fi
     7066fi
     7067NMEDIT=$ac_cv_prog_NMEDIT
     7068if test -n "$NMEDIT"; then
     7069  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
     7070$as_echo "$NMEDIT" >&6; }
     7071else
     7072  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     7073$as_echo "no" >&6; }
     7074fi
     7075
     7076
     7077fi
     7078if test -z "$ac_cv_prog_NMEDIT"; then
     7079  ac_ct_NMEDIT=$NMEDIT
     7080  # Extract the first word of "nmedit", so it can be a program name with args.
     7081set dummy nmedit; ac_word=$2
     7082{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     7083$as_echo_n "checking for $ac_word... " >&6; }
     7084if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
     7085  $as_echo_n "(cached) " >&6
     7086else
     7087  if test -n "$ac_ct_NMEDIT"; then
     7088  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
     7089else
     7090as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7091for as_dir in $PATH
     7092do
     7093  IFS=$as_save_IFS
     7094  test -z "$as_dir" && as_dir=.
     7095    for ac_exec_ext in '' $ac_executable_extensions; do
     7096  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     7097    ac_cv_prog_ac_ct_NMEDIT="nmedit"
     7098    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     7099    break 2
     7100  fi
     7101done
     7102  done
     7103IFS=$as_save_IFS
     7104
     7105fi
     7106fi
     7107ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
     7108if test -n "$ac_ct_NMEDIT"; then
     7109  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
     7110$as_echo "$ac_ct_NMEDIT" >&6; }
     7111else
     7112  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     7113$as_echo "no" >&6; }
     7114fi
     7115
     7116  if test "x$ac_ct_NMEDIT" = x; then
     7117    NMEDIT=":"
     7118  else
     7119    case $cross_compiling:$ac_tool_warned in
     7120yes:)
     7121{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     7122$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     7123ac_tool_warned=yes ;;
     7124esac
     7125    NMEDIT=$ac_ct_NMEDIT
     7126  fi
     7127else
     7128  NMEDIT="$ac_cv_prog_NMEDIT"
     7129fi
     7130
     7131    if test -n "$ac_tool_prefix"; then
     7132  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
     7133set dummy ${ac_tool_prefix}lipo; ac_word=$2
     7134{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     7135$as_echo_n "checking for $ac_word... " >&6; }
     7136if ${ac_cv_prog_LIPO+:} false; then :
     7137  $as_echo_n "(cached) " >&6
     7138else
     7139  if test -n "$LIPO"; then
     7140  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
     7141else
     7142as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7143for as_dir in $PATH
     7144do
     7145  IFS=$as_save_IFS
     7146  test -z "$as_dir" && as_dir=.
     7147    for ac_exec_ext in '' $ac_executable_extensions; do
     7148  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     7149    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     7150    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     7151    break 2
     7152  fi
     7153done
     7154  done
     7155IFS=$as_save_IFS
     7156
     7157fi
     7158fi
     7159LIPO=$ac_cv_prog_LIPO
     7160if test -n "$LIPO"; then
     7161  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
     7162$as_echo "$LIPO" >&6; }
     7163else
     7164  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     7165$as_echo "no" >&6; }
     7166fi
     7167
     7168
     7169fi
     7170if test -z "$ac_cv_prog_LIPO"; then
     7171  ac_ct_LIPO=$LIPO
     7172  # Extract the first word of "lipo", so it can be a program name with args.
     7173set dummy lipo; ac_word=$2
     7174{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     7175$as_echo_n "checking for $ac_word... " >&6; }
     7176if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
     7177  $as_echo_n "(cached) " >&6
     7178else
     7179  if test -n "$ac_ct_LIPO"; then
     7180  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
     7181else
     7182as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7183for as_dir in $PATH
     7184do
     7185  IFS=$as_save_IFS
     7186  test -z "$as_dir" && as_dir=.
     7187    for ac_exec_ext in '' $ac_executable_extensions; do
     7188  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     7189    ac_cv_prog_ac_ct_LIPO="lipo"
     7190    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     7191    break 2
     7192  fi
     7193done
     7194  done
     7195IFS=$as_save_IFS
     7196
     7197fi
     7198fi
     7199ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
     7200if test -n "$ac_ct_LIPO"; then
     7201  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
     7202$as_echo "$ac_ct_LIPO" >&6; }
     7203else
     7204  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     7205$as_echo "no" >&6; }
     7206fi
     7207
     7208  if test "x$ac_ct_LIPO" = x; then
     7209    LIPO=":"
     7210  else
     7211    case $cross_compiling:$ac_tool_warned in
     7212yes:)
     7213{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     7214$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     7215ac_tool_warned=yes ;;
     7216esac
     7217    LIPO=$ac_ct_LIPO
     7218  fi
     7219else
     7220  LIPO="$ac_cv_prog_LIPO"
     7221fi
     7222
     7223    if test -n "$ac_tool_prefix"; then
     7224  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
     7225set dummy ${ac_tool_prefix}otool; ac_word=$2
     7226{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     7227$as_echo_n "checking for $ac_word... " >&6; }
     7228if ${ac_cv_prog_OTOOL+:} false; then :
     7229  $as_echo_n "(cached) " >&6
     7230else
     7231  if test -n "$OTOOL"; then
     7232  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
     7233else
     7234as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7235for as_dir in $PATH
     7236do
     7237  IFS=$as_save_IFS
     7238  test -z "$as_dir" && as_dir=.
     7239    for ac_exec_ext in '' $ac_executable_extensions; do
     7240  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     7241    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     7242    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     7243    break 2
     7244  fi
     7245done
     7246  done
     7247IFS=$as_save_IFS
     7248
     7249fi
     7250fi
     7251OTOOL=$ac_cv_prog_OTOOL
     7252if test -n "$OTOOL"; then
     7253  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
     7254$as_echo "$OTOOL" >&6; }
     7255else
     7256  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     7257$as_echo "no" >&6; }
     7258fi
     7259
     7260
     7261fi
     7262if test -z "$ac_cv_prog_OTOOL"; then
     7263  ac_ct_OTOOL=$OTOOL
     7264  # Extract the first word of "otool", so it can be a program name with args.
     7265set dummy otool; ac_word=$2
     7266{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     7267$as_echo_n "checking for $ac_word... " >&6; }
     7268if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
     7269  $as_echo_n "(cached) " >&6
     7270else
     7271  if test -n "$ac_ct_OTOOL"; then
     7272  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
     7273else
     7274as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7275for as_dir in $PATH
     7276do
     7277  IFS=$as_save_IFS
     7278  test -z "$as_dir" && as_dir=.
     7279    for ac_exec_ext in '' $ac_executable_extensions; do
     7280  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     7281    ac_cv_prog_ac_ct_OTOOL="otool"
     7282    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     7283    break 2
     7284  fi
     7285done
     7286  done
     7287IFS=$as_save_IFS
     7288
     7289fi
     7290fi
     7291ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
     7292if test -n "$ac_ct_OTOOL"; then
     7293  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
     7294$as_echo "$ac_ct_OTOOL" >&6; }
     7295else
     7296  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     7297$as_echo "no" >&6; }
     7298fi
     7299
     7300  if test "x$ac_ct_OTOOL" = x; then
     7301    OTOOL=":"
     7302  else
     7303    case $cross_compiling:$ac_tool_warned in
     7304yes:)
     7305{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     7306$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     7307ac_tool_warned=yes ;;
     7308esac
     7309    OTOOL=$ac_ct_OTOOL
     7310  fi
     7311else
     7312  OTOOL="$ac_cv_prog_OTOOL"
     7313fi
     7314
     7315    if test -n "$ac_tool_prefix"; then
     7316  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
     7317set dummy ${ac_tool_prefix}otool64; ac_word=$2
     7318{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     7319$as_echo_n "checking for $ac_word... " >&6; }
     7320if ${ac_cv_prog_OTOOL64+:} false; then :
     7321  $as_echo_n "(cached) " >&6
     7322else
     7323  if test -n "$OTOOL64"; then
     7324  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
     7325else
     7326as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7327for as_dir in $PATH
     7328do
     7329  IFS=$as_save_IFS
     7330  test -z "$as_dir" && as_dir=.
     7331    for ac_exec_ext in '' $ac_executable_extensions; do
     7332  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     7333    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     7334    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     7335    break 2
     7336  fi
     7337done
     7338  done
     7339IFS=$as_save_IFS
     7340
     7341fi
     7342fi
     7343OTOOL64=$ac_cv_prog_OTOOL64
     7344if test -n "$OTOOL64"; then
     7345  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
     7346$as_echo "$OTOOL64" >&6; }
     7347else
     7348  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     7349$as_echo "no" >&6; }
     7350fi
     7351
     7352
     7353fi
     7354if test -z "$ac_cv_prog_OTOOL64"; then
     7355  ac_ct_OTOOL64=$OTOOL64
     7356  # Extract the first word of "otool64", so it can be a program name with args.
     7357set dummy otool64; ac_word=$2
     7358{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     7359$as_echo_n "checking for $ac_word... " >&6; }
     7360if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
     7361  $as_echo_n "(cached) " >&6
     7362else
     7363  if test -n "$ac_ct_OTOOL64"; then
     7364  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
     7365else
     7366as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7367for as_dir in $PATH
     7368do
     7369  IFS=$as_save_IFS
     7370  test -z "$as_dir" && as_dir=.
     7371    for ac_exec_ext in '' $ac_executable_extensions; do
     7372  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     7373    ac_cv_prog_ac_ct_OTOOL64="otool64"
     7374    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     7375    break 2
     7376  fi
     7377done
     7378  done
     7379IFS=$as_save_IFS
     7380
     7381fi
     7382fi
     7383ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
     7384if test -n "$ac_ct_OTOOL64"; then
     7385  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
     7386$as_echo "$ac_ct_OTOOL64" >&6; }
     7387else
     7388  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     7389$as_echo "no" >&6; }
     7390fi
     7391
     7392  if test "x$ac_ct_OTOOL64" = x; then
     7393    OTOOL64=":"
     7394  else
     7395    case $cross_compiling:$ac_tool_warned in
     7396yes:)
     7397{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     7398$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     7399ac_tool_warned=yes ;;
     7400esac
     7401    OTOOL64=$ac_ct_OTOOL64
     7402  fi
     7403else
     7404  OTOOL64="$ac_cv_prog_OTOOL64"
     7405fi
     7406
     7407
     7408
     7409
     7410
     7411
     7412
     7413
     7414
     7415
     7416
     7417
     7418
     7419
     7420
     7421
     7422
     7423
     7424
     7425
     7426
     7427
     7428
     7429
     7430
     7431
     7432
     7433    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
     7434$as_echo_n "checking for -single_module linker flag... " >&6; }
     7435if ${lt_cv_apple_cc_single_mod+:} false; then :
     7436  $as_echo_n "(cached) " >&6
     7437else
     7438  lt_cv_apple_cc_single_mod=no
     7439      if test -z "$LT_MULTI_MODULE"; then
     7440        # By default we will add the -single_module flag. You can override
     7441        # by either setting the environment variable LT_MULTI_MODULE
     7442        # non-empty at configure time, or by adding -multi_module to the
     7443        # link flags.
     7444        rm -rf libconftest.dylib*
     7445        echo "int foo(void){return 1;}" > conftest.c
     7446        echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
     7447-dynamiclib -Wl,-single_module conftest.c" >&5
     7448        $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
     7449          -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
     7450        _lt_result=$?
     7451        # If there is a non-empty error log, and "single_module"
     7452        # appears in it, assume the flag caused a linker warning
     7453        if test -s conftest.err && $GREP single_module conftest.err; then
     7454          cat conftest.err >&5
     7455        # Otherwise, if the output was created with a 0 exit code from
     7456        # the compiler, it worked.
     7457        elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
     7458          lt_cv_apple_cc_single_mod=yes
     7459        else
     7460          cat conftest.err >&5
     7461        fi
     7462        rm -rf libconftest.dylib*
     7463        rm -f conftest.*
     7464      fi
     7465fi
     7466{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
     7467$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     7468
     7469    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
     7470$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
     7471if ${lt_cv_ld_exported_symbols_list+:} false; then :
     7472  $as_echo_n "(cached) " >&6
     7473else
     7474  lt_cv_ld_exported_symbols_list=no
     7475      save_LDFLAGS=$LDFLAGS
     7476      echo "_main" > conftest.sym
     7477      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
     7478      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     7479/* end confdefs.h.  */
     7480
     7481int
     7482main ()
     7483{
     7484
     7485  ;
     7486  return 0;
     7487}
     7488_ACEOF
     7489if ac_fn_c_try_link "$LINENO"; then :
     7490  lt_cv_ld_exported_symbols_list=yes
     7491else
     7492  lt_cv_ld_exported_symbols_list=no
     7493fi
     7494rm -f core conftest.err conftest.$ac_objext \
     7495    conftest$ac_exeext conftest.$ac_ext
     7496        LDFLAGS=$save_LDFLAGS
     7497
     7498fi
     7499{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
     7500$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     7501
     7502    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
     7503$as_echo_n "checking for -force_load linker flag... " >&6; }
     7504if ${lt_cv_ld_force_load+:} false; then :
     7505  $as_echo_n "(cached) " >&6
     7506else
     7507  lt_cv_ld_force_load=no
     7508      cat > conftest.c << _LT_EOF
     7509int forced_loaded() { return 2;}
     7510_LT_EOF
     7511      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
     7512      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
     7513      echo "$AR cru libconftest.a conftest.o" >&5
     7514      $AR cru libconftest.a conftest.o 2>&5
     7515      echo "$RANLIB libconftest.a" >&5
     7516      $RANLIB libconftest.a 2>&5
     7517      cat > conftest.c << _LT_EOF
     7518int main() { return 0;}
     7519_LT_EOF
     7520      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
     7521      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
     7522      _lt_result=$?
     7523      if test -s conftest.err && $GREP force_load conftest.err; then
     7524        cat conftest.err >&5
     7525      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
     7526        lt_cv_ld_force_load=yes
     7527      else
     7528        cat conftest.err >&5
     7529      fi
     7530        rm -f conftest.err libconftest.a conftest conftest.c
     7531        rm -rf conftest.dSYM
     7532
     7533fi
     7534{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
     7535$as_echo "$lt_cv_ld_force_load" >&6; }
     7536    case $host_os in
     7537    rhapsody* | darwin1.[012])
     7538      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
     7539    darwin1.*)
     7540      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
     7541    darwin*) # darwin 5.x on
     7542      # if running on 10.5 or later, the deployment target defaults
     7543      # to the OS version, if on x86, and 10.4, the deployment
     7544      # target defaults to 10.4. Don't you love it?
     7545      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
     7546        10.0,*86*-darwin8*|10.0,*-darwin[91]*)
     7547          _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
     7548        10.[012][,.]*)
     7549          _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
     7550        10.*)
     7551          _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
     7552      esac
     7553    ;;
     7554  esac
     7555    if test yes = "$lt_cv_apple_cc_single_mod"; then
     7556      _lt_dar_single_mod='$single_module'
     7557    fi
     7558    if test yes = "$lt_cv_ld_exported_symbols_list"; then
     7559      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
     7560    else
     7561      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
     7562    fi
     7563    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
     7564      _lt_dsymutil='~$DSYMUTIL $lib || :'
     7565    else
     7566      _lt_dsymutil=
     7567    fi
     7568    ;;
     7569  esac
     7570
     7571# func_munge_path_list VARIABLE PATH
     7572# -----------------------------------
     7573# VARIABLE is name of variable containing _space_ separated list of
     7574# directories to be munged by the contents of PATH, which is string
     7575# having a format:
     7576# "DIR[:DIR]:"
     7577#       string "DIR[ DIR]" will be prepended to VARIABLE
     7578# ":DIR[:DIR]"
     7579#       string "DIR[ DIR]" will be appended to VARIABLE
     7580# "DIRP[:DIRP]::[DIRA:]DIRA"
     7581#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
     7582#       "DIRA[ DIRA]" will be appended to VARIABLE
     7583# "DIR[:DIR]"
     7584#       VARIABLE will be replaced by "DIR[ DIR]"
     7585func_munge_path_list ()
     7586{
     7587    case x$2 in
     7588    x)
     7589        ;;
     7590    *:)
     7591        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
     7592        ;;
     7593    x:*)
     7594        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
     7595        ;;
     7596    *::*)
     7597        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
     7598        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
     7599        ;;
     7600    *)
     7601        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
     7602        ;;
     7603    esac
     7604}
     7605
     7606ac_ext=c
     7607ac_cpp='$CPP $CPPFLAGS'
     7608ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     7609ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     7610ac_compiler_gnu=$ac_cv_c_compiler_gnu
     7611{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
     7612$as_echo_n "checking how to run the C preprocessor... " >&6; }
     7613# On Suns, sometimes $CPP names a directory.
     7614if test -n "$CPP" && test -d "$CPP"; then
     7615  CPP=
     7616fi
     7617if test -z "$CPP"; then
     7618  if ${ac_cv_prog_CPP+:} false; then :
     7619  $as_echo_n "(cached) " >&6
     7620else
     7621      # Double quotes because CPP needs to be expanded
     7622    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
     7623    do
     7624      ac_preproc_ok=false
     7625for ac_c_preproc_warn_flag in '' yes
     7626do
     7627  # Use a header file that comes with gcc, so configuring glibc
     7628  # with a fresh cross-compiler works.
     7629  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     7630  # <limits.h> exists even on freestanding compilers.
     7631  # On the NeXT, cc -E runs the code through the compiler's parser,
     7632  # not just through cpp. "Syntax error" is here to catch this case.
     7633  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     7634/* end confdefs.h.  */
     7635#ifdef __STDC__
     7636# include <limits.h>
     7637#else
     7638# include <assert.h>
     7639#endif
     7640                     Syntax error
     7641_ACEOF
     7642if ac_fn_c_try_cpp "$LINENO"; then :
     7643
     7644else
     7645  # Broken: fails on valid input.
     7646continue
     7647fi
     7648rm -f conftest.err conftest.i conftest.$ac_ext
     7649
     7650  # OK, works on sane cases.  Now check whether nonexistent headers
     7651  # can be detected and how.
     7652  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     7653/* end confdefs.h.  */
     7654#include <ac_nonexistent.h>
     7655_ACEOF
     7656if ac_fn_c_try_cpp "$LINENO"; then :
     7657  # Broken: success on invalid input.
     7658continue
     7659else
     7660  # Passes both tests.
     7661ac_preproc_ok=:
     7662break
     7663fi
     7664rm -f conftest.err conftest.i conftest.$ac_ext
     7665
     7666done
     7667# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
     7668rm -f conftest.i conftest.err conftest.$ac_ext
     7669if $ac_preproc_ok; then :
     7670  break
     7671fi
     7672
     7673    done
     7674    ac_cv_prog_CPP=$CPP
     7675
     7676fi
     7677  CPP=$ac_cv_prog_CPP
     7678else
     7679  ac_cv_prog_CPP=$CPP
     7680fi
     7681{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
     7682$as_echo "$CPP" >&6; }
     7683ac_preproc_ok=false
     7684for ac_c_preproc_warn_flag in '' yes
     7685do
     7686  # Use a header file that comes with gcc, so configuring glibc
     7687  # with a fresh cross-compiler works.
     7688  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     7689  # <limits.h> exists even on freestanding compilers.
     7690  # On the NeXT, cc -E runs the code through the compiler's parser,
     7691  # not just through cpp. "Syntax error" is here to catch this case.
     7692  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     7693/* end confdefs.h.  */
     7694#ifdef __STDC__
     7695# include <limits.h>
     7696#else
     7697# include <assert.h>
     7698#endif
     7699                     Syntax error
     7700_ACEOF
     7701if ac_fn_c_try_cpp "$LINENO"; then :
     7702
     7703else
     7704  # Broken: fails on valid input.
     7705continue
     7706fi
     7707rm -f conftest.err conftest.i conftest.$ac_ext
     7708
     7709  # OK, works on sane cases.  Now check whether nonexistent headers
     7710  # can be detected and how.
     7711  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     7712/* end confdefs.h.  */
     7713#include <ac_nonexistent.h>
     7714_ACEOF
     7715if ac_fn_c_try_cpp "$LINENO"; then :
     7716  # Broken: success on invalid input.
     7717continue
     7718else
     7719  # Passes both tests.
     7720ac_preproc_ok=:
     7721break
     7722fi
     7723rm -f conftest.err conftest.i conftest.$ac_ext
     7724
     7725done
     7726# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
     7727rm -f conftest.i conftest.err conftest.$ac_ext
     7728if $ac_preproc_ok; then :
     7729
     7730else
     7731  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     7732$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     7733as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
     7734See \`config.log' for more details" "$LINENO" 5; }
     7735fi
     7736
     7737ac_ext=c
     7738ac_cpp='$CPP $CPPFLAGS'
     7739ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     7740ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     7741ac_compiler_gnu=$ac_cv_c_compiler_gnu
     7742
     7743
     7744{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
     7745$as_echo_n "checking for ANSI C header files... " >&6; }
     7746if ${ac_cv_header_stdc+:} false; then :
     7747  $as_echo_n "(cached) " >&6
     7748else
     7749  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     7750/* end confdefs.h.  */
     7751#include <stdlib.h>
     7752#include <stdarg.h>
     7753#include <string.h>
     7754#include <float.h>
     7755
     7756int
     7757main ()
     7758{
     7759
     7760  ;
     7761  return 0;
     7762}
     7763_ACEOF
     7764if ac_fn_c_try_compile "$LINENO"; then :
     7765  ac_cv_header_stdc=yes
     7766else
     7767  ac_cv_header_stdc=no
     7768fi
     7769rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     7770
     7771if test $ac_cv_header_stdc = yes; then
     7772  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
     7773  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     7774/* end confdefs.h.  */
     7775#include <string.h>
     7776
     7777_ACEOF
     7778if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
     7779  $EGREP "memchr" >/dev/null 2>&1; then :
     7780
     7781else
     7782  ac_cv_header_stdc=no
     7783fi
     7784rm -f conftest*
     7785
     7786fi
     7787
     7788if test $ac_cv_header_stdc = yes; then
     7789  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
     7790  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     7791/* end confdefs.h.  */
     7792#include <stdlib.h>
     7793
     7794_ACEOF
     7795if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
     7796  $EGREP "free" >/dev/null 2>&1; then :
     7797
     7798else
     7799  ac_cv_header_stdc=no
     7800fi
     7801rm -f conftest*
     7802
     7803fi
     7804
     7805if test $ac_cv_header_stdc = yes; then
     7806  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
     7807  if test "$cross_compiling" = yes; then :
     7808  :
     7809else
     7810  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     7811/* end confdefs.h.  */
     7812#include <ctype.h>
     7813#include <stdlib.h>
     7814#if ((' ' & 0x0FF) == 0x020)
     7815# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
     7816# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
     7817#else
     7818# define ISLOWER(c) \
     7819                   (('a' <= (c) && (c) <= 'i') \
     7820                     || ('j' <= (c) && (c) <= 'r') \
     7821                     || ('s' <= (c) && (c) <= 'z'))
     7822# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
     7823#endif
     7824
     7825#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
     7826int
     7827main ()
     7828{
     7829  int i;
     7830  for (i = 0; i < 256; i++)
     7831    if (XOR (islower (i), ISLOWER (i))
     7832        || toupper (i) != TOUPPER (i))
     7833      return 2;
     7834  return 0;
     7835}
     7836_ACEOF
     7837if ac_fn_c_try_run "$LINENO"; then :
     7838
     7839else
     7840  ac_cv_header_stdc=no
     7841fi
     7842rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     7843  conftest.$ac_objext conftest.beam conftest.$ac_ext
     7844fi
     7845
     7846fi
     7847fi
     7848{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
     7849$as_echo "$ac_cv_header_stdc" >&6; }
     7850if test $ac_cv_header_stdc = yes; then
     7851
     7852$as_echo "#define STDC_HEADERS 1" >>confdefs.h
     7853
     7854fi
     7855
     7856# On IRIX 5.3, sys/types and inttypes.h are conflicting.
     7857for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
     7858                  inttypes.h stdint.h unistd.h
     7859do :
     7860  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
     7861ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
     7862"
     7863if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
     7864  cat >>confdefs.h <<_ACEOF
     7865#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
     7866_ACEOF
     7867
     7868fi
     7869
     7870done
     7871
     7872
     7873for ac_header in dlfcn.h
     7874do :
     7875  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
     7876"
     7877if test "x$ac_cv_header_dlfcn_h" = xyes; then :
     7878  cat >>confdefs.h <<_ACEOF
     7879#define HAVE_DLFCN_H 1
     7880_ACEOF
     7881
     7882fi
     7883
     7884done
     7885
     7886
     7887
     7888
     7889
     7890# Set options
     7891
     7892
     7893
     7894        enable_dlopen=no
     7895
     7896
     7897  enable_win32_dll=no
     7898
     7899
     7900            # Check whether --enable-shared was given.
     7901if test "${enable_shared+set}" = set; then :
     7902  enableval=$enable_shared; p=${PACKAGE-default}
     7903    case $enableval in
     7904    yes) enable_shared=yes ;;
     7905    no) enable_shared=no ;;
     7906    *)
     7907      enable_shared=no
     7908      # Look at the argument we got.  We use all the common list separators.
     7909      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
     7910      for pkg in $enableval; do
     7911        IFS=$lt_save_ifs
     7912        if test "X$pkg" = "X$p"; then
     7913          enable_shared=yes
     7914        fi
     7915      done
     7916      IFS=$lt_save_ifs
     7917      ;;
     7918    esac
     7919else
     7920  enable_shared=yes
     7921fi
     7922
     7923
     7924
     7925
     7926
     7927
     7928
     7929
     7930
     7931  # Check whether --enable-static was given.
     7932if test "${enable_static+set}" = set; then :
     7933  enableval=$enable_static; p=${PACKAGE-default}
     7934    case $enableval in
     7935    yes) enable_static=yes ;;
     7936    no) enable_static=no ;;
     7937    *)
     7938     enable_static=no
     7939      # Look at the argument we got.  We use all the common list separators.
     7940      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
     7941      for pkg in $enableval; do
     7942        IFS=$lt_save_ifs
     7943        if test "X$pkg" = "X$p"; then
     7944          enable_static=yes
     7945        fi
     7946      done
     7947      IFS=$lt_save_ifs
     7948      ;;
     7949    esac
     7950else
     7951  enable_static=yes
     7952fi
     7953
     7954
     7955
     7956
     7957
     7958
     7959
     7960
     7961
     7962
     7963# Check whether --with-pic was given.
     7964if test "${with_pic+set}" = set; then :
     7965  withval=$with_pic; lt_p=${PACKAGE-default}
     7966    case $withval in
     7967    yes|no) pic_mode=$withval ;;
     7968    *)
     7969      pic_mode=default
     7970      # Look at the argument we got.  We use all the common list separators.
     7971      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
     7972      for lt_pkg in $withval; do
     7973        IFS=$lt_save_ifs
     7974        if test "X$lt_pkg" = "X$lt_p"; then
     7975          pic_mode=yes
     7976        fi
     7977      done
     7978      IFS=$lt_save_ifs
     7979      ;;
     7980    esac
     7981else
     7982  pic_mode=default
     7983fi
     7984
     7985
     7986
     7987
     7988
     7989
     7990
     7991
     7992  # Check whether --enable-fast-install was given.
     7993if test "${enable_fast_install+set}" = set; then :
     7994  enableval=$enable_fast_install; p=${PACKAGE-default}
     7995    case $enableval in
     7996    yes) enable_fast_install=yes ;;
     7997    no) enable_fast_install=no ;;
     7998    *)
     7999      enable_fast_install=no
     8000      # Look at the argument we got.  We use all the common list separators.
     8001      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
     8002      for pkg in $enableval; do
     8003        IFS=$lt_save_ifs
     8004        if test "X$pkg" = "X$p"; then
     8005          enable_fast_install=yes
     8006        fi
     8007      done
     8008      IFS=$lt_save_ifs
     8009      ;;
     8010    esac
     8011else
     8012  enable_fast_install=yes
     8013fi
     8014
     8015
     8016
     8017
     8018
     8019
     8020
     8021
     8022  shared_archive_member_spec=
     8023case $host,$enable_shared in
     8024power*-*-aix[5-9]*,yes)
     8025  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
     8026$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
     8027
     8028# Check whether --with-aix-soname was given.
     8029if test "${with_aix_soname+set}" = set; then :
     8030  withval=$with_aix_soname; case $withval in
     8031    aix|svr4|both)
     8032      ;;
     8033    *)
     8034      as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
     8035      ;;
     8036    esac
     8037    lt_cv_with_aix_soname=$with_aix_soname
     8038else
     8039  if ${lt_cv_with_aix_soname+:} false; then :
     8040  $as_echo_n "(cached) " >&6
     8041else
     8042  lt_cv_with_aix_soname=aix
     8043fi
     8044
     8045    with_aix_soname=$lt_cv_with_aix_soname
     8046fi
     8047
     8048  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
     8049$as_echo "$with_aix_soname" >&6; }
     8050  if test aix != "$with_aix_soname"; then
     8051    # For the AIX way of multilib, we name the shared archive member
     8052    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
     8053    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
     8054    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
     8055    # the AIX toolchain works better with OBJECT_MODE set (default 32).
     8056    if test 64 = "${OBJECT_MODE-32}"; then
     8057      shared_archive_member_spec=shr_64
     8058    else
     8059      shared_archive_member_spec=shr
     8060    fi
     8061  fi
     8062  ;;
     8063*)
     8064  with_aix_soname=aix
     8065  ;;
     8066esac
     8067
     8068
     8069
     8070
     8071
     8072
     8073
     8074
     8075
     8076
     8077# This can be used to rebuild libtool when needed
     8078LIBTOOL_DEPS=$ltmain
     8079
     8080# Always use our own libtool.
     8081LIBTOOL='$(SHELL) $(top_builddir)/libtool'
     8082
     8083
     8084
     8085
     8086
     8087
     8088
     8089
     8090
     8091
     8092
     8093
     8094
     8095
     8096
     8097
     8098
     8099
     8100
     8101
     8102
     8103
     8104
     8105
     8106
     8107
     8108
     8109
     8110
     8111
     8112test -z "$LN_S" && LN_S="ln -s"
     8113
     8114
     8115
     8116
     8117
     8118
     8119
     8120
     8121
     8122
     8123
     8124
     8125
     8126
     8127if test -n "${ZSH_VERSION+set}"; then
     8128   setopt NO_GLOB_SUBST
     8129fi
     8130
     8131{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
     8132$as_echo_n "checking for objdir... " >&6; }
     8133if ${lt_cv_objdir+:} false; then :
     8134  $as_echo_n "(cached) " >&6
     8135else
     8136  rm -f .libs 2>/dev/null
     8137mkdir .libs 2>/dev/null
     8138if test -d .libs; then
     8139  lt_cv_objdir=.libs
     8140else
     8141  # MS-DOS does not allow filenames that begin with a dot.
     8142  lt_cv_objdir=_libs
     8143fi
     8144rmdir .libs 2>/dev/null
     8145fi
     8146{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
     8147$as_echo "$lt_cv_objdir" >&6; }
     8148objdir=$lt_cv_objdir
     8149
     8150
     8151
     8152
     8153
     8154cat >>confdefs.h <<_ACEOF
     8155#define LT_OBJDIR "$lt_cv_objdir/"
     8156_ACEOF
     8157
     8158
     8159
     8160
     8161case $host_os in
     8162aix3*)
     8163  # AIX sometimes has problems with the GCC collect2 program.  For some
     8164  # reason, if we set the COLLECT_NAMES environment variable, the problems
     8165  # vanish in a puff of smoke.
     8166  if test set != "${COLLECT_NAMES+set}"; then
     8167    COLLECT_NAMES=
     8168    export COLLECT_NAMES
     8169  fi
     8170  ;;
     8171esac
     8172
     8173# Global variables:
     8174ofile=libtool
     8175can_build_shared=yes
     8176
     8177# All known linkers require a '.a' archive for static linking (except MSVC,
     8178# which needs '.lib').
     8179libext=a
     8180
     8181with_gnu_ld=$lt_cv_prog_gnu_ld
     8182
     8183old_CC=$CC
     8184old_CFLAGS=$CFLAGS
     8185
     8186# Set sane defaults for various variables
     8187test -z "$CC" && CC=cc
     8188test -z "$LTCC" && LTCC=$CC
     8189test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
     8190test -z "$LD" && LD=ld
     8191test -z "$ac_objext" && ac_objext=o
     8192
     8193func_cc_basename $compiler
     8194cc_basename=$func_cc_basename_result
     8195
     8196
     8197# Only perform the check for file, if the check method requires it
     8198test -z "$MAGIC_CMD" && MAGIC_CMD=file
     8199case $deplibs_check_method in
     8200file_magic*)
     8201  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     8202    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
     8203$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
     8204if ${lt_cv_path_MAGIC_CMD+:} false; then :
     8205  $as_echo_n "(cached) " >&6
     8206else
     8207  case $MAGIC_CMD in
     8208[\\/*] |  ?:[\\/]*)
     8209  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
     8210  ;;
     8211*)
     8212  lt_save_MAGIC_CMD=$MAGIC_CMD
     8213  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     8214  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
     8215  for ac_dir in $ac_dummy; do
     8216    IFS=$lt_save_ifs
     8217    test -z "$ac_dir" && ac_dir=.
     8218    if test -f "$ac_dir/${ac_tool_prefix}file"; then
     8219      lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
     8220      if test -n "$file_magic_test_file"; then
     8221        case $deplibs_check_method in
     8222        "file_magic "*)
     8223          file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
     8224          MAGIC_CMD=$lt_cv_path_MAGIC_CMD
     8225          if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
     8226            $EGREP "$file_magic_regex" > /dev/null; then
     8227            :
     8228          else
     8229            cat <<_LT_EOF 1>&2
     8230
     8231*** Warning: the command libtool uses to detect shared libraries,
     8232*** $file_magic_cmd, produces output that libtool cannot recognize.
     8233*** The result is that libtool may fail to recognize shared libraries
     8234*** as such.  This will affect the creation of libtool libraries that
     8235*** depend on shared libraries, but programs linked with such libtool
     8236*** libraries will work regardless of this problem.  Nevertheless, you
     8237*** may want to report the problem to your system manager and/or to
     8238*** bug-libtool@gnu.org
     8239
     8240_LT_EOF
     8241          fi ;;
     8242        esac
     8243      fi
     8244      break
     8245    fi
     8246  done
     8247  IFS=$lt_save_ifs
     8248  MAGIC_CMD=$lt_save_MAGIC_CMD
     8249  ;;
     8250esac
     8251fi
     8252
     8253MAGIC_CMD=$lt_cv_path_MAGIC_CMD
     8254if test -n "$MAGIC_CMD"; then
     8255  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
     8256$as_echo "$MAGIC_CMD" >&6; }
     8257else
     8258  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8259$as_echo "no" >&6; }
     8260fi
     8261
     8262
     8263
     8264
     8265
     8266if test -z "$lt_cv_path_MAGIC_CMD"; then
     8267  if test -n "$ac_tool_prefix"; then
     8268    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
     8269$as_echo_n "checking for file... " >&6; }
     8270if ${lt_cv_path_MAGIC_CMD+:} false; then :
     8271  $as_echo_n "(cached) " >&6
     8272else
     8273  case $MAGIC_CMD in
     8274[\\/*] |  ?:[\\/]*)
     8275  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
     8276  ;;
     8277*)
     8278  lt_save_MAGIC_CMD=$MAGIC_CMD
     8279  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     8280  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
     8281  for ac_dir in $ac_dummy; do
     8282    IFS=$lt_save_ifs
     8283    test -z "$ac_dir" && ac_dir=.
     8284    if test -f "$ac_dir/file"; then
     8285      lt_cv_path_MAGIC_CMD=$ac_dir/"file"
     8286      if test -n "$file_magic_test_file"; then
     8287        case $deplibs_check_method in
     8288        "file_magic "*)
     8289          file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
     8290          MAGIC_CMD=$lt_cv_path_MAGIC_CMD
     8291          if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
     8292            $EGREP "$file_magic_regex" > /dev/null; then
     8293            :
     8294          else
     8295            cat <<_LT_EOF 1>&2
     8296
     8297*** Warning: the command libtool uses to detect shared libraries,
     8298*** $file_magic_cmd, produces output that libtool cannot recognize.
     8299*** The result is that libtool may fail to recognize shared libraries
     8300*** as such.  This will affect the creation of libtool libraries that
     8301*** depend on shared libraries, but programs linked with such libtool
     8302*** libraries will work regardless of this problem.  Nevertheless, you
     8303*** may want to report the problem to your system manager and/or to
     8304*** bug-libtool@gnu.org
     8305
     8306_LT_EOF
     8307          fi ;;
     8308        esac
     8309      fi
     8310      break
     8311    fi
     8312  done
     8313  IFS=$lt_save_ifs
     8314  MAGIC_CMD=$lt_save_MAGIC_CMD
     8315  ;;
     8316esac
     8317fi
     8318
     8319MAGIC_CMD=$lt_cv_path_MAGIC_CMD
     8320if test -n "$MAGIC_CMD"; then
     8321  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
     8322$as_echo "$MAGIC_CMD" >&6; }
     8323else
     8324  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8325$as_echo "no" >&6; }
     8326fi
     8327
     8328
     8329  else
     8330    MAGIC_CMD=:
     8331  fi
     8332fi
     8333
     8334  fi
     8335  ;;
     8336esac
     8337
     8338# Use C for the default configuration in the libtool script
     8339
     8340lt_save_CC=$CC
     8341ac_ext=c
     8342ac_cpp='$CPP $CPPFLAGS'
     8343ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     8344ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     8345ac_compiler_gnu=$ac_cv_c_compiler_gnu
     8346
     8347
     8348# Source file extension for C test sources.
     8349ac_ext=c
     8350
     8351# Object file extension for compiled C test sources.
     8352objext=o
     8353objext=$objext
     8354
     8355# Code to be used in simple compile tests
     8356lt_simple_compile_test_code="int some_variable = 0;"
     8357
     8358# Code to be used in simple link tests
     8359lt_simple_link_test_code='int main(){return(0);}'
     8360
     8361
     8362
     8363
     8364
     8365
     8366
     8367# If no C compiler was specified, use CC.
     8368LTCC=${LTCC-"$CC"}
     8369
     8370# If no C compiler flags were specified, use CFLAGS.
     8371LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
     8372
     8373# Allow CC to be a program name with arguments.
     8374compiler=$CC
     8375
     8376# Save the default compiler, since it gets overwritten when the other
     8377# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
     8378compiler_DEFAULT=$CC
     8379
     8380# save warnings/boilerplate of simple test code
     8381ac_outfile=conftest.$ac_objext
     8382echo "$lt_simple_compile_test_code" >conftest.$ac_ext
     8383eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
     8384_lt_compiler_boilerplate=`cat conftest.err`
     8385$RM conftest*
     8386
     8387ac_outfile=conftest.$ac_objext
     8388echo "$lt_simple_link_test_code" >conftest.$ac_ext
     8389eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
     8390_lt_linker_boilerplate=`cat conftest.err`
     8391$RM -r conftest*
     8392
     8393
     8394## CAVEAT EMPTOR:
     8395## There is no encapsulation within the following macros, do not change
     8396## the running order or otherwise move them around unless you know exactly
     8397## what you are doing...
     8398if test -n "$compiler"; then
     8399
     8400lt_prog_compiler_no_builtin_flag=
     8401
     8402if test yes = "$GCC"; then
     8403  case $cc_basename in
     8404  nvcc*)
     8405    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
     8406  *)
     8407    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
     8408  esac
     8409
     8410  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
     8411$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
     8412if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
     8413  $as_echo_n "(cached) " >&6
     8414else
     8415  lt_cv_prog_compiler_rtti_exceptions=no
     8416   ac_outfile=conftest.$ac_objext
     8417   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     8418   lt_compiler_flag="-fno-rtti -fno-exceptions"  ## exclude from sc_useless_quotes_in_assignment
     8419   # Insert the option either (1) after the last *FLAGS variable, or
     8420   # (2) before a word containing "conftest.", or (3) at the end.
     8421   # Note that $ac_compile itself does not contain backslashes and begins
     8422   # with a dollar sign (not a hyphen), so the echo should work correctly.
     8423   # The option is referenced via a variable to avoid confusing sed.
     8424   lt_compile=`echo "$ac_compile" | $SED \
     8425   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     8426   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     8427   -e 's:$: $lt_compiler_flag:'`
     8428   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     8429   (eval "$lt_compile" 2>conftest.err)
     8430   ac_status=$?
     8431   cat conftest.err >&5
     8432   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     8433   if (exit $ac_status) && test -s "$ac_outfile"; then
     8434     # The compiler can only warn and ignore the option if not recognized
     8435     # So say no if there are warnings other than the usual output.
     8436     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
     8437     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     8438     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
     8439       lt_cv_prog_compiler_rtti_exceptions=yes
     8440     fi
     8441   fi
     8442   $RM conftest*
     8443
     8444fi
     8445{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
     8446$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
     8447
     8448if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
     8449    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
     8450else
     8451    :
     8452fi
     8453
     8454fi
     8455
     8456
     8457
     8458
     8459
     8460
     8461  lt_prog_compiler_wl=
     8462lt_prog_compiler_pic=
     8463lt_prog_compiler_static=
     8464
     8465
     8466  if test yes = "$GCC"; then
     8467    lt_prog_compiler_wl='-Wl,'
     8468    lt_prog_compiler_static='-static'
     8469
     8470    case $host_os in
     8471      aix*)
     8472      # All AIX code is PIC.
     8473      if test ia64 = "$host_cpu"; then
     8474        # AIX 5 now supports IA64 processor
     8475        lt_prog_compiler_static='-Bstatic'
     8476      fi
     8477      lt_prog_compiler_pic='-fPIC'
     8478      ;;
     8479
     8480    amigaos*)
     8481      case $host_cpu in
     8482      powerpc)
     8483            # see comment about AmigaOS4 .so support
     8484            lt_prog_compiler_pic='-fPIC'
     8485        ;;
     8486      m68k)
     8487            # FIXME: we need at least 68020 code to build shared libraries, but
     8488            # adding the '-m68020' flag to GCC prevents building anything better,
     8489            # like '-m68040'.
     8490            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
     8491        ;;
     8492      esac
     8493      ;;
     8494
     8495    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
     8496      # PIC is the default for these OSes.
     8497      ;;
     8498
     8499    mingw* | cygwin* | pw32* | os2* | cegcc*)
     8500      # This hack is so that the source file can tell whether it is being
     8501      # built for inclusion in a dll (and should export symbols for example).
     8502      # Although the cygwin gcc ignores -fPIC, still need this for old-style
     8503      # (--disable-auto-import) libraries
     8504      lt_prog_compiler_pic='-DDLL_EXPORT'
     8505      case $host_os in
     8506      os2*)
     8507        lt_prog_compiler_static='$wl-static'
     8508        ;;
     8509      esac
     8510      ;;
     8511
     8512    darwin* | rhapsody*)
     8513      # PIC is the default on this platform
     8514      # Common symbols not allowed in MH_DYLIB files
     8515      lt_prog_compiler_pic='-fno-common'
     8516      ;;
     8517
     8518    haiku*)
     8519      # PIC is the default for Haiku.
     8520      # The "-static" flag exists, but is broken.
     8521      lt_prog_compiler_static=
     8522      ;;
     8523
     8524    hpux*)
     8525      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
     8526      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
     8527      # sets the default TLS model and affects inlining.
     8528      case $host_cpu in
     8529      hppa*64*)
     8530        # +Z the default
     8531        ;;
     8532      *)
     8533        lt_prog_compiler_pic='-fPIC'
     8534        ;;
     8535      esac
     8536      ;;
     8537
     8538    interix[3-9]*)
     8539      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
     8540      # Instead, we relocate shared libraries at runtime.
     8541      ;;
     8542
     8543    msdosdjgpp*)
     8544      # Just because we use GCC doesn't mean we suddenly get shared libraries
     8545      # on systems that don't support them.
     8546      lt_prog_compiler_can_build_shared=no
     8547      enable_shared=no
     8548      ;;
     8549
     8550    *nto* | *qnx*)
     8551      # QNX uses GNU C++, but need to define -shared option too, otherwise
     8552      # it will coredump.
     8553      lt_prog_compiler_pic='-fPIC -shared'
     8554      ;;
     8555
     8556    sysv4*MP*)
     8557      if test -d /usr/nec; then
     8558        lt_prog_compiler_pic=-Kconform_pic
     8559      fi
     8560      ;;
     8561
     8562    *)
     8563      lt_prog_compiler_pic='-fPIC'
     8564      ;;
     8565    esac
     8566
     8567    case $cc_basename in
     8568    nvcc*) # Cuda Compiler Driver 2.2
     8569      lt_prog_compiler_wl='-Xlinker '
     8570      if test -n "$lt_prog_compiler_pic"; then
     8571        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
     8572      fi
     8573      ;;
     8574    esac
     8575  else
     8576    # PORTME Check for flag to pass linker flags through the system compiler.
     8577    case $host_os in
     8578    aix*)
     8579      lt_prog_compiler_wl='-Wl,'
     8580      if test ia64 = "$host_cpu"; then
     8581        # AIX 5 now supports IA64 processor
     8582        lt_prog_compiler_static='-Bstatic'
     8583      else
     8584        lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
     8585      fi
     8586      ;;
     8587
     8588    darwin* | rhapsody*)
     8589      # PIC is the default on this platform
     8590      # Common symbols not allowed in MH_DYLIB files
     8591      lt_prog_compiler_pic='-fno-common'
     8592      case $cc_basename in
     8593      nagfor*)
     8594        # NAG Fortran compiler
     8595        lt_prog_compiler_wl='-Wl,-Wl,,'
     8596        lt_prog_compiler_pic='-PIC'
     8597        lt_prog_compiler_static='-Bstatic'
     8598        ;;
     8599      esac
     8600      ;;
     8601
     8602    mingw* | cygwin* | pw32* | os2* | cegcc*)
     8603      # This hack is so that the source file can tell whether it is being
     8604      # built for inclusion in a dll (and should export symbols for example).
     8605      lt_prog_compiler_pic='-DDLL_EXPORT'
     8606      case $host_os in
     8607      os2*)
     8608        lt_prog_compiler_static='$wl-static'
     8609        ;;
     8610      esac
     8611      ;;
     8612
     8613    hpux9* | hpux10* | hpux11*)
     8614      lt_prog_compiler_wl='-Wl,'
     8615      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
     8616      # not for PA HP-UX.
     8617      case $host_cpu in
     8618      hppa*64*|ia64*)
     8619        # +Z the default
     8620        ;;
     8621      *)
     8622        lt_prog_compiler_pic='+Z'
     8623        ;;
     8624      esac
     8625      # Is there a better lt_prog_compiler_static that works with the bundled CC?
     8626      lt_prog_compiler_static='$wl-a ${wl}archive'
     8627      ;;
     8628
     8629    irix5* | irix6* | nonstopux*)
     8630      lt_prog_compiler_wl='-Wl,'
     8631      # PIC (with -KPIC) is the default.
     8632      lt_prog_compiler_static='-non_shared'
     8633      ;;
     8634
     8635    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     8636      case $cc_basename in
     8637      # old Intel for x86_64, which still supported -KPIC.
     8638      ecc*)
     8639        lt_prog_compiler_wl='-Wl,'
     8640        lt_prog_compiler_pic='-KPIC'
     8641        lt_prog_compiler_static='-static'
     8642        ;;
     8643      # icc used to be incompatible with GCC.
     8644      # ICC 10 doesn't accept -KPIC any more.
     8645      icc* | ifort*)
     8646        lt_prog_compiler_wl='-Wl,'
     8647        lt_prog_compiler_pic='-fPIC'
     8648        lt_prog_compiler_static='-static'
     8649        ;;
     8650      # Lahey Fortran 8.1.
     8651      lf95*)
     8652        lt_prog_compiler_wl='-Wl,'
     8653        lt_prog_compiler_pic='--shared'
     8654        lt_prog_compiler_static='--static'
     8655        ;;
     8656      nagfor*)
     8657        # NAG Fortran compiler
     8658        lt_prog_compiler_wl='-Wl,-Wl,,'
     8659        lt_prog_compiler_pic='-PIC'
     8660        lt_prog_compiler_static='-Bstatic'
     8661        ;;
     8662      tcc*)
     8663        # Fabrice Bellard et al's Tiny C Compiler
     8664        lt_prog_compiler_wl='-Wl,'
     8665        lt_prog_compiler_pic='-fPIC'
     8666        lt_prog_compiler_static='-static'
     8667        ;;
     8668      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
     8669        # Portland Group compilers (*not* the Pentium gcc compiler,
     8670        # which looks to be a dead project)
     8671        lt_prog_compiler_wl='-Wl,'
     8672        lt_prog_compiler_pic='-fpic'
     8673        lt_prog_compiler_static='-Bstatic'
     8674        ;;
     8675      ccc*)
     8676        lt_prog_compiler_wl='-Wl,'
     8677        # All Alpha code is PIC.
     8678        lt_prog_compiler_static='-non_shared'
     8679        ;;
     8680      xl* | bgxl* | bgf* | mpixl*)
     8681        # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
     8682        lt_prog_compiler_wl='-Wl,'
     8683        lt_prog_compiler_pic='-qpic'
     8684        lt_prog_compiler_static='-qstaticlink'
     8685        ;;
     8686      *)
     8687        case `$CC -V 2>&1 | sed 5q` in
     8688        *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
     8689          # Sun Fortran 8.3 passes all unrecognized flags to the linker
     8690          lt_prog_compiler_pic='-KPIC'
     8691          lt_prog_compiler_static='-Bstatic'
     8692          lt_prog_compiler_wl=''
     8693          ;;
     8694        *Sun\ F* | *Sun*Fortran*)
     8695          lt_prog_compiler_pic='-KPIC'
     8696          lt_prog_compiler_static='-Bstatic'
     8697          lt_prog_compiler_wl='-Qoption ld '
     8698          ;;
     8699        *Sun\ C*)
     8700          # Sun C 5.9
     8701          lt_prog_compiler_pic='-KPIC'
     8702          lt_prog_compiler_static='-Bstatic'
     8703          lt_prog_compiler_wl='-Wl,'
     8704          ;;
     8705        *Intel*\ [CF]*Compiler*)
     8706          lt_prog_compiler_wl='-Wl,'
     8707          lt_prog_compiler_pic='-fPIC'
     8708          lt_prog_compiler_static='-static'
     8709          ;;
     8710        *Portland\ Group*)
     8711          lt_prog_compiler_wl='-Wl,'
     8712          lt_prog_compiler_pic='-fpic'
     8713          lt_prog_compiler_static='-Bstatic'
     8714          ;;
     8715        esac
     8716        ;;
     8717      esac
     8718      ;;
     8719
     8720    newsos6)
     8721      lt_prog_compiler_pic='-KPIC'
     8722      lt_prog_compiler_static='-Bstatic'
     8723      ;;
     8724
     8725    *nto* | *qnx*)
     8726      # QNX uses GNU C++, but need to define -shared option too, otherwise
     8727      # it will coredump.
     8728      lt_prog_compiler_pic='-fPIC -shared'
     8729      ;;
     8730
     8731    osf3* | osf4* | osf5*)
     8732      lt_prog_compiler_wl='-Wl,'
     8733      # All OSF/1 code is PIC.
     8734      lt_prog_compiler_static='-non_shared'
     8735      ;;
     8736
     8737    rdos*)
     8738      lt_prog_compiler_static='-non_shared'
     8739      ;;
     8740
     8741    solaris*)
     8742      lt_prog_compiler_pic='-KPIC'
     8743      lt_prog_compiler_static='-Bstatic'
     8744      case $cc_basename in
     8745      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
     8746        lt_prog_compiler_wl='-Qoption ld ';;
     8747      *)
     8748        lt_prog_compiler_wl='-Wl,';;
     8749      esac
     8750      ;;
     8751
     8752    sunos4*)
     8753      lt_prog_compiler_wl='-Qoption ld '
     8754      lt_prog_compiler_pic='-PIC'
     8755      lt_prog_compiler_static='-Bstatic'
     8756      ;;
     8757
     8758    sysv4 | sysv4.2uw2* | sysv4.3*)
     8759      lt_prog_compiler_wl='-Wl,'
     8760      lt_prog_compiler_pic='-KPIC'
     8761      lt_prog_compiler_static='-Bstatic'
     8762      ;;
     8763
     8764    sysv4*MP*)
     8765      if test -d /usr/nec; then
     8766        lt_prog_compiler_pic='-Kconform_pic'
     8767        lt_prog_compiler_static='-Bstatic'
     8768      fi
     8769      ;;
     8770
     8771    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
     8772      lt_prog_compiler_wl='-Wl,'
     8773      lt_prog_compiler_pic='-KPIC'
     8774      lt_prog_compiler_static='-Bstatic'
     8775      ;;
     8776
     8777    unicos*)
     8778      lt_prog_compiler_wl='-Wl,'
     8779      lt_prog_compiler_can_build_shared=no
     8780      ;;
     8781
     8782    uts4*)
     8783      lt_prog_compiler_pic='-pic'
     8784      lt_prog_compiler_static='-Bstatic'
     8785      ;;
     8786
     8787    *)
     8788      lt_prog_compiler_can_build_shared=no
     8789      ;;
     8790    esac
     8791  fi
     8792
     8793case $host_os in
     8794  # For platforms that do not support PIC, -DPIC is meaningless:
     8795  *djgpp*)
     8796    lt_prog_compiler_pic=
     8797    ;;
     8798  *)
     8799    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
     8800    ;;
     8801esac
     8802
     8803{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
     8804$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
     8805if ${lt_cv_prog_compiler_pic+:} false; then :
     8806  $as_echo_n "(cached) " >&6
     8807else
     8808  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
     8809fi
     8810{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
     8811$as_echo "$lt_cv_prog_compiler_pic" >&6; }
     8812lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
     8813
     8814#
     8815# Check to make sure the PIC flag actually works.
     8816#
     8817if test -n "$lt_prog_compiler_pic"; then
     8818  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
     8819$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
     8820if ${lt_cv_prog_compiler_pic_works+:} false; then :
     8821  $as_echo_n "(cached) " >&6
     8822else
     8823  lt_cv_prog_compiler_pic_works=no
     8824   ac_outfile=conftest.$ac_objext
     8825   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     8826   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"  ## exclude from sc_useless_quotes_in_assignment
     8827   # Insert the option either (1) after the last *FLAGS variable, or
     8828   # (2) before a word containing "conftest.", or (3) at the end.
     8829   # Note that $ac_compile itself does not contain backslashes and begins
     8830   # with a dollar sign (not a hyphen), so the echo should work correctly.
     8831   # The option is referenced via a variable to avoid confusing sed.
     8832   lt_compile=`echo "$ac_compile" | $SED \
     8833   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     8834   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     8835   -e 's:$: $lt_compiler_flag:'`
     8836   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     8837   (eval "$lt_compile" 2>conftest.err)
     8838   ac_status=$?
     8839   cat conftest.err >&5
     8840   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     8841   if (exit $ac_status) && test -s "$ac_outfile"; then
     8842     # The compiler can only warn and ignore the option if not recognized
     8843     # So say no if there are warnings other than the usual output.
     8844     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
     8845     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     8846     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
     8847       lt_cv_prog_compiler_pic_works=yes
     8848     fi
     8849   fi
     8850   $RM conftest*
     8851
     8852fi
     8853{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
     8854$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
     8855
     8856if test yes = "$lt_cv_prog_compiler_pic_works"; then
     8857    case $lt_prog_compiler_pic in
     8858     "" | " "*) ;;
     8859     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
     8860     esac
     8861else
     8862    lt_prog_compiler_pic=
     8863     lt_prog_compiler_can_build_shared=no
     8864fi
     8865
     8866fi
     8867
     8868
     8869
     8870
     8871
     8872
     8873
     8874
     8875
     8876
     8877
     8878#
     8879# Check to make sure the static flag actually works.
     8880#
     8881wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
     8882{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
     8883$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
     8884if ${lt_cv_prog_compiler_static_works+:} false; then :
     8885  $as_echo_n "(cached) " >&6
     8886else
     8887  lt_cv_prog_compiler_static_works=no
     8888   save_LDFLAGS=$LDFLAGS
     8889   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
     8890   echo "$lt_simple_link_test_code" > conftest.$ac_ext
     8891   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
     8892     # The linker can only warn and ignore the option if not recognized
     8893     # So say no if there are warnings
     8894     if test -s conftest.err; then
     8895       # Append any errors to the config.log.
     8896       cat conftest.err 1>&5
     8897       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
     8898       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     8899       if diff conftest.exp conftest.er2 >/dev/null; then
     8900         lt_cv_prog_compiler_static_works=yes
     8901       fi
     8902     else
     8903       lt_cv_prog_compiler_static_works=yes
     8904     fi
     8905   fi
     8906   $RM -r conftest*
     8907   LDFLAGS=$save_LDFLAGS
     8908
     8909fi
     8910{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
     8911$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
     8912
     8913if test yes = "$lt_cv_prog_compiler_static_works"; then
     8914    :
     8915else
     8916    lt_prog_compiler_static=
     8917fi
     8918
     8919
     8920
     8921
     8922
     8923
     8924
     8925  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
     8926$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
     8927if ${lt_cv_prog_compiler_c_o+:} false; then :
     8928  $as_echo_n "(cached) " >&6
     8929else
     8930  lt_cv_prog_compiler_c_o=no
     8931   $RM -r conftest 2>/dev/null
     8932   mkdir conftest
     8933   cd conftest
     8934   mkdir out
     8935   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     8936
     8937   lt_compiler_flag="-o out/conftest2.$ac_objext"
     8938   # Insert the option either (1) after the last *FLAGS variable, or
     8939   # (2) before a word containing "conftest.", or (3) at the end.
     8940   # Note that $ac_compile itself does not contain backslashes and begins
     8941   # with a dollar sign (not a hyphen), so the echo should work correctly.
     8942   lt_compile=`echo "$ac_compile" | $SED \
     8943   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     8944   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     8945   -e 's:$: $lt_compiler_flag:'`
     8946   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     8947   (eval "$lt_compile" 2>out/conftest.err)
     8948   ac_status=$?
     8949   cat out/conftest.err >&5
     8950   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     8951   if (exit $ac_status) && test -s out/conftest2.$ac_objext
     8952   then
     8953     # The compiler can only warn and ignore the option if not recognized
     8954     # So say no if there are warnings
     8955     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
     8956     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
     8957     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
     8958       lt_cv_prog_compiler_c_o=yes
     8959     fi
     8960   fi
     8961   chmod u+w . 2>&5
     8962   $RM conftest*
     8963   # SGI C++ compiler will create directory out/ii_files/ for
     8964   # template instantiation
     8965   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
     8966   $RM out/* && rmdir out
     8967   cd ..
     8968   $RM -r conftest
     8969   $RM conftest*
     8970
     8971fi
     8972{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
     8973$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
     8974
     8975
     8976
     8977
     8978
     8979
     8980  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
     8981$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
     8982if ${lt_cv_prog_compiler_c_o+:} false; then :
     8983  $as_echo_n "(cached) " >&6
     8984else
     8985  lt_cv_prog_compiler_c_o=no
     8986   $RM -r conftest 2>/dev/null
     8987   mkdir conftest
     8988   cd conftest
     8989   mkdir out
     8990   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     8991
     8992   lt_compiler_flag="-o out/conftest2.$ac_objext"
     8993   # Insert the option either (1) after the last *FLAGS variable, or
     8994   # (2) before a word containing "conftest.", or (3) at the end.
     8995   # Note that $ac_compile itself does not contain backslashes and begins
     8996   # with a dollar sign (not a hyphen), so the echo should work correctly.
     8997   lt_compile=`echo "$ac_compile" | $SED \
     8998   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     8999   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     9000   -e 's:$: $lt_compiler_flag:'`
     9001   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     9002   (eval "$lt_compile" 2>out/conftest.err)
     9003   ac_status=$?
     9004   cat out/conftest.err >&5
     9005   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     9006   if (exit $ac_status) && test -s out/conftest2.$ac_objext
     9007   then
     9008     # The compiler can only warn and ignore the option if not recognized
     9009     # So say no if there are warnings
     9010     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
     9011     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
     9012     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
     9013       lt_cv_prog_compiler_c_o=yes
     9014     fi
     9015   fi
     9016   chmod u+w . 2>&5
     9017   $RM conftest*
     9018   # SGI C++ compiler will create directory out/ii_files/ for
     9019   # template instantiation
     9020   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
     9021   $RM out/* && rmdir out
     9022   cd ..
     9023   $RM -r conftest
     9024   $RM conftest*
     9025
     9026fi
     9027{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
     9028$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
     9029
     9030
     9031
     9032
     9033hard_links=nottested
     9034if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
     9035  # do not overwrite the value of need_locks provided by the user
     9036  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
     9037$as_echo_n "checking if we can lock with hard links... " >&6; }
     9038  hard_links=yes
     9039  $RM conftest*
     9040  ln conftest.a conftest.b 2>/dev/null && hard_links=no
     9041  touch conftest.a
     9042  ln conftest.a conftest.b 2>&5 || hard_links=no
     9043  ln conftest.a conftest.b 2>/dev/null && hard_links=no
     9044  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
     9045$as_echo "$hard_links" >&6; }
     9046  if test no = "$hard_links"; then
     9047    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
     9048$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
     9049    need_locks=warn
     9050  fi
     9051else
     9052  need_locks=no
     9053fi
     9054
     9055
     9056
     9057
     9058
     9059
     9060  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
     9061$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
     9062
     9063  runpath_var=
     9064  allow_undefined_flag=
     9065  always_export_symbols=no
     9066  archive_cmds=
     9067  archive_expsym_cmds=
     9068  compiler_needs_object=no
     9069  enable_shared_with_static_runtimes=no
     9070  export_dynamic_flag_spec=
     9071  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     9072  hardcode_automatic=no
     9073  hardcode_direct=no
     9074  hardcode_direct_absolute=no
     9075  hardcode_libdir_flag_spec=
     9076  hardcode_libdir_separator=
     9077  hardcode_minus_L=no
     9078  hardcode_shlibpath_var=unsupported
     9079  inherit_rpath=no
     9080  link_all_deplibs=unknown
     9081  module_cmds=
     9082  module_expsym_cmds=
     9083  old_archive_from_new_cmds=
     9084  old_archive_from_expsyms_cmds=
     9085  thread_safe_flag_spec=
     9086  whole_archive_flag_spec=
     9087  # include_expsyms should be a list of space-separated symbols to be *always*
     9088  # included in the symbol list
     9089  include_expsyms=
     9090  # exclude_expsyms can be an extended regexp of symbols to exclude
     9091  # it will be wrapped by ' (' and ')$', so one must not match beginning or
     9092  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
     9093  # as well as any symbol that contains 'd'.
     9094  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
     9095  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
     9096  # platforms (ab)use it in PIC code, but their linkers get confused if
     9097  # the symbol is explicitly referenced.  Since portable code cannot
     9098  # rely on this symbol name, it's probably fine to never include it in
     9099  # preloaded symbol tables.
     9100  # Exclude shared library initialization/finalization symbols.
     9101  extract_expsyms_cmds=
     9102
     9103  case $host_os in
     9104  cygwin* | mingw* | pw32* | cegcc*)
     9105    # FIXME: the MSVC++ port hasn't been tested in a loooong time
     9106    # When not using gcc, we currently assume that we are using
     9107    # Microsoft Visual C++.
     9108    if test yes != "$GCC"; then
     9109      with_gnu_ld=no
     9110    fi
     9111    ;;
     9112  interix*)
     9113    # we just hope/assume this is gcc and not c89 (= MSVC++)
     9114    with_gnu_ld=yes
     9115    ;;
     9116  openbsd* | bitrig*)
     9117    with_gnu_ld=no
     9118    ;;
     9119  linux* | k*bsd*-gnu | gnu*)
     9120    link_all_deplibs=no
     9121    ;;
     9122  esac
     9123
     9124  ld_shlibs=yes
     9125
     9126  # On some targets, GNU ld is compatible enough with the native linker
     9127  # that we're better off using the native interface for both.
     9128  lt_use_gnu_ld_interface=no
     9129  if test yes = "$with_gnu_ld"; then
     9130    case $host_os in
     9131      aix*)
     9132        # The AIX port of GNU ld has always aspired to compatibility
     9133        # with the native linker.  However, as the warning in the GNU ld
     9134        # block says, versions before 2.19.5* couldn't really create working
     9135        # shared libraries, regardless of the interface used.
     9136        case `$LD -v 2>&1` in
     9137          *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
     9138          *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
     9139          *\ \(GNU\ Binutils\)\ [3-9]*) ;;
     9140          *)
     9141            lt_use_gnu_ld_interface=yes
     9142            ;;
     9143        esac
     9144        ;;
     9145      *)
     9146        lt_use_gnu_ld_interface=yes
     9147        ;;
     9148    esac
     9149  fi
     9150
     9151  if test yes = "$lt_use_gnu_ld_interface"; then
     9152    # If archive_cmds runs LD, not CC, wlarc should be empty
     9153    wlarc='$wl'
     9154
     9155    # Set some defaults for GNU ld with shared library support. These
     9156    # are reset later if shared libraries are not supported. Putting them
     9157    # here allows them to be overridden if necessary.
     9158    runpath_var=LD_RUN_PATH
     9159    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     9160    export_dynamic_flag_spec='$wl--export-dynamic'
     9161    # ancient GNU ld didn't support --whole-archive et. al.
     9162    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
     9163      whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
     9164    else
     9165      whole_archive_flag_spec=
     9166    fi
     9167    supports_anon_versioning=no
     9168    case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
     9169      *GNU\ gold*) supports_anon_versioning=yes ;;
     9170      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
     9171      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
     9172      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
     9173      *\ 2.11.*) ;; # other 2.11 versions
     9174      *) supports_anon_versioning=yes ;;
     9175    esac
     9176
     9177    # See if GNU ld supports shared libraries.
     9178    case $host_os in
     9179    aix[3-9]*)
     9180      # On AIX/PPC, the GNU linker is very broken
     9181      if test ia64 != "$host_cpu"; then
     9182        ld_shlibs=no
     9183        cat <<_LT_EOF 1>&2
     9184
     9185*** Warning: the GNU linker, at least up to release 2.19, is reported
     9186*** to be unable to reliably create shared libraries on AIX.
     9187*** Therefore, libtool is disabling shared libraries support.  If you
     9188*** really care for shared libraries, you may want to install binutils
     9189*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
     9190*** You will then need to restart the configuration process.
     9191
     9192_LT_EOF
     9193      fi
     9194      ;;
     9195
     9196    amigaos*)
     9197      case $host_cpu in
     9198      powerpc)
     9199            # see comment about AmigaOS4 .so support
     9200            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     9201            archive_expsym_cmds=''
     9202        ;;
     9203      m68k)
     9204            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)'
     9205            hardcode_libdir_flag_spec='-L$libdir'
     9206            hardcode_minus_L=yes
     9207        ;;
     9208      esac
     9209      ;;
     9210
     9211    beos*)
     9212      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
     9213        allow_undefined_flag=unsupported
     9214        # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
     9215        # support --undefined.  This deserves some investigation.  FIXME
     9216        archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     9217      else
     9218        ld_shlibs=no
     9219      fi
     9220      ;;
     9221
     9222    cygwin* | mingw* | pw32* | cegcc*)
     9223      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
     9224      # as there is no search path for DLLs.
     9225      hardcode_libdir_flag_spec='-L$libdir'
     9226      export_dynamic_flag_spec='$wl--export-all-symbols'
     9227      allow_undefined_flag=unsupported
     9228      always_export_symbols=no
     9229      enable_shared_with_static_runtimes=yes
     9230      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'
     9231      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
     9232
     9233      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
     9234        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
     9235        # If the export-symbols file already is a .def file, use it as
     9236        # is; otherwise, prepend EXPORTS...
     9237        archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[   ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
     9238          cp $export_symbols $output_objdir/$soname.def;
     9239        else
     9240          echo EXPORTS > $output_objdir/$soname.def;
     9241          cat $export_symbols >> $output_objdir/$soname.def;
     9242        fi~
     9243        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
     9244      else
     9245        ld_shlibs=no
     9246      fi
     9247      ;;
     9248
     9249    haiku*)
     9250      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     9251      link_all_deplibs=yes
     9252      ;;
     9253
     9254    os2*)
     9255      hardcode_libdir_flag_spec='-L$libdir'
     9256      hardcode_minus_L=yes
     9257      allow_undefined_flag=unsupported
     9258      shrext_cmds=.dll
     9259      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     9260        $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     9261        $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     9262        $ECHO EXPORTS >> $output_objdir/$libname.def~
     9263        emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
     9264        $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     9265        emximp -o $lib $output_objdir/$libname.def'
     9266      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     9267        $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     9268        $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     9269        $ECHO EXPORTS >> $output_objdir/$libname.def~
     9270        prefix_cmds="$SED"~
     9271        if test EXPORTS = "`$SED 1q $export_symbols`"; then
     9272          prefix_cmds="$prefix_cmds -e 1d";
     9273        fi~
     9274        prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
     9275        cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
     9276        $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     9277        emximp -o $lib $output_objdir/$libname.def'
     9278      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
     9279      enable_shared_with_static_runtimes=yes
     9280      ;;
     9281
     9282    interix[3-9]*)
     9283      hardcode_direct=no
     9284      hardcode_shlibpath_var=no
     9285      hardcode_libdir_flag_spec='$wl-rpath,$libdir'
     9286      export_dynamic_flag_spec='$wl-E'
     9287      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
     9288      # Instead, shared libraries are loaded at an image base (0x10000000 by
     9289      # default) and relocated if they conflict, which is a slow very memory
     9290      # consuming and fragmenting process.  To avoid this, we pick a random,
     9291      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
     9292      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
     9293      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
     9294      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'
     9295      ;;
     9296
     9297    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
     9298      tmp_diet=no
     9299      if test linux-dietlibc = "$host_os"; then
     9300        case $cc_basename in
     9301          diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
     9302        esac
     9303      fi
     9304      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
     9305         && test no = "$tmp_diet"
     9306      then
     9307        tmp_addflag=' $pic_flag'
     9308        tmp_sharedflag='-shared'
     9309        case $cc_basename,$host_cpu in
     9310        pgcc*)                          # Portland Group C compiler
     9311          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'
     9312          tmp_addflag=' $pic_flag'
     9313          ;;
     9314        pgf77* | pgf90* | pgf95* | pgfortran*)
     9315                                        # Portland Group f77 and f90 compilers
     9316          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'
     9317          tmp_addflag=' $pic_flag -Mnomain' ;;
     9318        ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
     9319          tmp_addflag=' -i_dynamic' ;;
     9320        efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
     9321          tmp_addflag=' -i_dynamic -nofor_main' ;;
     9322        ifc* | ifort*)                  # Intel Fortran compiler
     9323          tmp_addflag=' -nofor_main' ;;
     9324        lf95*)                          # Lahey Fortran 8.1
     9325          whole_archive_flag_spec=
     9326          tmp_sharedflag='--shared' ;;
     9327        nagfor*)                        # NAGFOR 5.3
     9328          tmp_sharedflag='-Wl,-shared' ;;
     9329        xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
     9330          tmp_sharedflag='-qmkshrobj'
     9331          tmp_addflag= ;;
     9332        nvcc*)  # Cuda Compiler Driver 2.2
     9333          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'
     9334          compiler_needs_object=yes
     9335          ;;
     9336        esac
     9337        case `$CC -V 2>&1 | sed 5q` in
     9338        *Sun\ C*)                       # Sun C 5.9
     9339          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'
     9340          compiler_needs_object=yes
     9341          tmp_sharedflag='-G' ;;
     9342        *Sun\ F*)                       # Sun Fortran 8.3
     9343          tmp_sharedflag='-G' ;;
     9344        esac
     9345        archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     9346
     9347        if test yes = "$supports_anon_versioning"; then
     9348          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
     9349            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
     9350            echo "local: *; };" >> $output_objdir/$libname.ver~
     9351            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
     9352        fi
     9353
     9354        case $cc_basename in
     9355        tcc*)
     9356          export_dynamic_flag_spec='-rdynamic'
     9357          ;;
     9358        xlf* | bgf* | bgxlf* | mpixlf*)
     9359          # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
     9360          whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
     9361          hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     9362          archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
     9363          if test yes = "$supports_anon_versioning"; then
     9364            archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
     9365              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
     9366              echo "local: *; };" >> $output_objdir/$libname.ver~
     9367              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
     9368          fi
     9369          ;;
     9370        esac
     9371      else
     9372        ld_shlibs=no
     9373      fi
     9374      ;;
     9375
     9376    netbsd* | netbsdelf*-gnu)
     9377      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
     9378        archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
     9379        wlarc=
     9380      else
     9381        archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     9382        archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
     9383      fi
     9384      ;;
     9385
     9386    solaris*)
     9387      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
     9388        ld_shlibs=no
     9389        cat <<_LT_EOF 1>&2
     9390
     9391*** Warning: The releases 2.8.* of the GNU linker cannot reliably
     9392*** create shared libraries on Solaris systems.  Therefore, libtool
     9393*** is disabling shared libraries support.  We urge you to upgrade GNU
     9394*** binutils to release 2.9.1 or newer.  Another option is to modify
     9395*** your PATH or compiler configuration so that the native linker is
     9396*** used, and then restart.
     9397
     9398_LT_EOF
     9399      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
     9400        archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     9401        archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
     9402      else
     9403        ld_shlibs=no
     9404      fi
     9405      ;;
     9406
     9407    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
     9408      case `$LD -v 2>&1` in
     9409        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
     9410        ld_shlibs=no
     9411        cat <<_LT_EOF 1>&2
     9412
     9413*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
     9414*** reliably create shared libraries on SCO systems.  Therefore, libtool
     9415*** is disabling shared libraries support.  We urge you to upgrade GNU
     9416*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
     9417*** your PATH or compiler configuration so that the native linker is
     9418*** used, and then restart.
     9419
     9420_LT_EOF
     9421        ;;
     9422        *)
     9423          # For security reasons, it is highly recommended that you always
     9424          # use absolute paths for naming shared libraries, and exclude the
     9425          # DT_RUNPATH tag from executables and libraries.  But doing so
     9426          # requires that you compile everything twice, which is a pain.
     9427          if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
     9428            hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     9429            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     9430            archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
     9431          else
     9432            ld_shlibs=no
     9433          fi
     9434        ;;
     9435      esac
     9436      ;;
     9437
     9438    sunos4*)
     9439      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
     9440      wlarc=
     9441      hardcode_direct=yes
     9442      hardcode_shlibpath_var=no
     9443      ;;
     9444
     9445    *)
     9446      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
     9447        archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     9448        archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
     9449      else
     9450        ld_shlibs=no
     9451      fi
     9452      ;;
     9453    esac
     9454
     9455    if test no = "$ld_shlibs"; then
     9456      runpath_var=
     9457      hardcode_libdir_flag_spec=
     9458      export_dynamic_flag_spec=
     9459      whole_archive_flag_spec=
     9460    fi
     9461  else
     9462    # PORTME fill in a description of your system's linker (not GNU ld)
     9463    case $host_os in
     9464    aix3*)
     9465      allow_undefined_flag=unsupported
     9466      always_export_symbols=yes
     9467      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'
     9468      # Note: this linker hardcodes the directories in LIBPATH if there
     9469      # are no directories specified by -L.
     9470      hardcode_minus_L=yes
     9471      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
     9472        # Neither direct hardcoding nor static linking is supported with a
     9473        # broken collect2.
     9474        hardcode_direct=unsupported
     9475      fi
     9476      ;;
     9477
     9478    aix[4-9]*)
     9479      if test ia64 = "$host_cpu"; then
     9480        # On IA64, the linker does run time linking by default, so we don't
     9481        # have to do anything special.
     9482        aix_use_runtimelinking=no
     9483        exp_sym_flag='-Bexport'
     9484        no_entry_flag=
     9485      else
     9486        # If we're using GNU nm, then we don't want the "-C" option.
     9487        # -C means demangle to GNU nm, but means don't demangle to AIX nm.
     9488        # Without the "-l" option, or with the "-B" option, AIX nm treats
     9489        # weak defined symbols like other global defined symbols, whereas
     9490        # GNU nm marks them as "W".
     9491        # While the 'weak' keyword is ignored in the Export File, we need
     9492        # it in the Import File for the 'aix-soname' feature, so we have
     9493        # to replace the "-B" option with "-P" for AIX nm.
     9494        if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
     9495          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'
     9496        else
     9497          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'
     9498        fi
     9499        aix_use_runtimelinking=no
     9500
     9501        # Test if we are trying to use run time linking or normal
     9502        # AIX style linking. If -brtl is somewhere in LDFLAGS, we
     9503        # have runtime linking enabled, and use it for executables.
     9504        # For shared libraries, we enable/disable runtime linking
     9505        # depending on the kind of the shared library created -
     9506        # when "with_aix_soname,aix_use_runtimelinking" is:
     9507        # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
     9508        # "aix,yes"  lib.so          shared, rtl:yes, for executables
     9509        #            lib.a           static archive
     9510        # "both,no"  lib.so.V(shr.o) shared, rtl:yes
     9511        #            lib.a(lib.so.V) shared, rtl:no,  for executables
     9512        # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
     9513        #            lib.a(lib.so.V) shared, rtl:no
     9514        # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
     9515        #            lib.a           static archive
     9516        case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
     9517          for ld_flag in $LDFLAGS; do
     9518          if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
     9519            aix_use_runtimelinking=yes
     9520            break
     9521          fi
     9522          done
     9523          if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
     9524            # With aix-soname=svr4, we create the lib.so.V shared archives only,
     9525            # so we don't have lib.a shared libs to link our executables.
     9526            # We have to force runtime linking in this case.
     9527            aix_use_runtimelinking=yes
     9528            LDFLAGS="$LDFLAGS -Wl,-brtl"
     9529          fi
     9530          ;;
     9531        esac
     9532
     9533        exp_sym_flag='-bexport'
     9534        no_entry_flag='-bnoentry'
     9535      fi
     9536
     9537      # When large executables or shared objects are built, AIX ld can
     9538      # have problems creating the table of contents.  If linking a library
     9539      # or program results in "error TOC overflow" add -mminimal-toc to
     9540      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
     9541      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
     9542
     9543      archive_cmds=''
     9544      hardcode_direct=yes
     9545      hardcode_direct_absolute=yes
     9546      hardcode_libdir_separator=':'
     9547      link_all_deplibs=yes
     9548      file_list_spec='$wl-f,'
     9549      case $with_aix_soname,$aix_use_runtimelinking in
     9550      aix,*) ;; # traditional, no import file
     9551      svr4,* | *,yes) # use import file
     9552        # The Import File defines what to hardcode.
     9553        hardcode_direct=no
     9554        hardcode_direct_absolute=no
     9555        ;;
     9556      esac
     9557
     9558      if test yes = "$GCC"; then
     9559        case $host_os in aix4.[012]|aix4.[012].*)
     9560        # We only want to do this on AIX 4.2 and lower, the check
     9561        # below for broken collect2 doesn't work under 4.3+
     9562          collect2name=`$CC -print-prog-name=collect2`
     9563          if test -f "$collect2name" &&
     9564           strings "$collect2name" | $GREP resolve_lib_name >/dev/null
     9565          then
     9566          # We have reworked collect2
     9567          :
     9568          else
     9569          # We have old collect2
     9570          hardcode_direct=unsupported
     9571          # It fails to find uninstalled libraries when the uninstalled
     9572          # path is not listed in the libpath.  Setting hardcode_minus_L
     9573          # to unsupported forces relinking
     9574          hardcode_minus_L=yes
     9575          hardcode_libdir_flag_spec='-L$libdir'
     9576          hardcode_libdir_separator=
     9577          fi
     9578          ;;
     9579        esac
     9580        shared_flag='-shared'
     9581        if test yes = "$aix_use_runtimelinking"; then
     9582          shared_flag="$shared_flag "'$wl-G'
     9583        fi
     9584        # Need to ensure runtime linking is disabled for the traditional
     9585        # shared library, or the linker may eventually find shared libraries
     9586        # /with/ Import File - we do not want to mix them.
     9587        shared_flag_aix='-shared'
     9588        shared_flag_svr4='-shared $wl-G'
     9589      else
     9590        # not using gcc
     9591        if test ia64 = "$host_cpu"; then
     9592        # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
     9593        # chokes on -Wl,-G. The following line is correct:
     9594          shared_flag='-G'
     9595        else
     9596          if test yes = "$aix_use_runtimelinking"; then
     9597            shared_flag='$wl-G'
     9598          else
     9599            shared_flag='$wl-bM:SRE'
     9600          fi
     9601          shared_flag_aix='$wl-bM:SRE'
     9602          shared_flag_svr4='$wl-G'
     9603        fi
     9604      fi
     9605
     9606      export_dynamic_flag_spec='$wl-bexpall'
     9607      # It seems that -bexpall does not export symbols beginning with
     9608      # underscore (_), so it is better to generate a list of symbols to export.
     9609      always_export_symbols=yes
     9610      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
     9611        # Warning - without using the other runtime loading flags (-brtl),
     9612        # -berok will link without error, but may produce a broken library.
     9613        allow_undefined_flag='-berok'
     9614        # Determine the default libpath from the value encoded in an
     9615        # empty executable.
     9616        if test set = "${lt_cv_aix_libpath+set}"; then
     9617  aix_libpath=$lt_cv_aix_libpath
     9618else
     9619  if ${lt_cv_aix_libpath_+:} false; then :
     9620  $as_echo_n "(cached) " >&6
     9621else
     9622  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     9623/* end confdefs.h.  */
     9624
     9625int
     9626main ()
     9627{
     9628
     9629  ;
     9630  return 0;
     9631}
     9632_ACEOF
     9633if ac_fn_c_try_link "$LINENO"; then :
     9634
     9635  lt_aix_libpath_sed='
     9636      /Import File Strings/,/^$/ {
     9637          /^0/ {
     9638              s/^0  *\([^ ]*\) *$/\1/
     9639              p
     9640          }
     9641      }'
     9642  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     9643  # Check for a 64-bit object if we didn't find anything.
     9644  if test -z "$lt_cv_aix_libpath_"; then
     9645    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     9646  fi
     9647fi
     9648rm -f core conftest.err conftest.$ac_objext \
     9649    conftest$ac_exeext conftest.$ac_ext
     9650  if test -z "$lt_cv_aix_libpath_"; then
     9651    lt_cv_aix_libpath_=/usr/lib:/lib
     9652  fi
     9653
     9654fi
     9655
     9656  aix_libpath=$lt_cv_aix_libpath_
     9657fi
     9658
     9659        hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
     9660        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
     9661      else
     9662        if test ia64 = "$host_cpu"; then
     9663          hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
     9664          allow_undefined_flag="-z nodefs"
     9665          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"
     9666        else
     9667         # Determine the default libpath from the value encoded in an
     9668         # empty executable.
     9669         if test set = "${lt_cv_aix_libpath+set}"; then
     9670  aix_libpath=$lt_cv_aix_libpath
     9671else
     9672  if ${lt_cv_aix_libpath_+:} false; then :
     9673  $as_echo_n "(cached) " >&6
     9674else
     9675  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     9676/* end confdefs.h.  */
     9677
     9678int
     9679main ()
     9680{
     9681
     9682  ;
     9683  return 0;
     9684}
     9685_ACEOF
     9686if ac_fn_c_try_link "$LINENO"; then :
     9687
     9688  lt_aix_libpath_sed='
     9689      /Import File Strings/,/^$/ {
     9690          /^0/ {
     9691              s/^0  *\([^ ]*\) *$/\1/
     9692              p
     9693          }
     9694      }'
     9695  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     9696  # Check for a 64-bit object if we didn't find anything.
     9697  if test -z "$lt_cv_aix_libpath_"; then
     9698    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     9699  fi
     9700fi
     9701rm -f core conftest.err conftest.$ac_objext \
     9702    conftest$ac_exeext conftest.$ac_ext
     9703  if test -z "$lt_cv_aix_libpath_"; then
     9704    lt_cv_aix_libpath_=/usr/lib:/lib
     9705  fi
     9706
     9707fi
     9708
     9709  aix_libpath=$lt_cv_aix_libpath_
     9710fi
     9711
     9712         hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
     9713          # Warning - without using the other run time loading flags,
     9714          # -berok will link without error, but may produce a broken library.
     9715          no_undefined_flag=' $wl-bernotok'
     9716          allow_undefined_flag=' $wl-berok'
     9717          if test yes = "$with_gnu_ld"; then
     9718            # We only use this code for GNU lds that support --whole-archive.
     9719            whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
     9720          else
     9721            # Exported symbols can be pulled into shared objects from archives
     9722            whole_archive_flag_spec='$convenience'
     9723          fi
     9724          archive_cmds_need_lc=yes
     9725          archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
     9726          # -brtl affects multiple linker settings, -berok does not and is overridden later
     9727          compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
     9728          if test svr4 != "$with_aix_soname"; then
     9729            # This is similar to how AIX traditionally builds its shared libraries.
     9730            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'
     9731          fi
     9732          if test aix != "$with_aix_soname"; then
     9733            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'
     9734          else
     9735            # used by -dlpreopen to get the symbols
     9736            archive_expsym_cmds="$archive_expsym_cmds"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
     9737          fi
     9738          archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
     9739        fi
     9740      fi
     9741      ;;
     9742
     9743    amigaos*)
     9744      case $host_cpu in
     9745      powerpc)
     9746            # see comment about AmigaOS4 .so support
     9747            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     9748            archive_expsym_cmds=''
     9749        ;;
     9750      m68k)
     9751            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)'
     9752            hardcode_libdir_flag_spec='-L$libdir'
     9753            hardcode_minus_L=yes
     9754        ;;
     9755      esac
     9756      ;;
     9757
     9758    bsdi[45]*)
     9759      export_dynamic_flag_spec=-rdynamic
     9760      ;;
     9761
     9762    cygwin* | mingw* | pw32* | cegcc*)
     9763      # When not using gcc, we currently assume that we are using
     9764      # Microsoft Visual C++.
     9765      # hardcode_libdir_flag_spec is actually meaningless, as there is
     9766      # no search path for DLLs.
     9767      case $cc_basename in
     9768      cl*)
     9769        # Native MSVC
     9770        hardcode_libdir_flag_spec=' '
     9771        allow_undefined_flag=unsupported
     9772        always_export_symbols=yes
     9773        file_list_spec='@'
     9774        # Tell ltmain to make .lib files, not .a files.
     9775        libext=lib
     9776        # Tell ltmain to make .dll files, not .so files.
     9777        shrext_cmds=.dll
     9778        # FIXME: Setting linknames here is a bad hack.
     9779        archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
     9780        archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[   ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
     9781            cp "$export_symbols" "$output_objdir/$soname.def";
     9782            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
     9783          else
     9784            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
     9785          fi~
     9786          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
     9787          linknames='
     9788        # The linker will not automatically build a static lib if we build a DLL.
     9789        # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
     9790        enable_shared_with_static_runtimes=yes
     9791        exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
     9792        export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
     9793        # Don't use ranlib
     9794        old_postinstall_cmds='chmod 644 $oldlib'
     9795        postlink_cmds='lt_outputfile="@OUTPUT@"~
     9796          lt_tool_outputfile="@TOOL_OUTPUT@"~
     9797          case $lt_outputfile in
     9798            *.exe|*.EXE) ;;
     9799            *)
     9800              lt_outputfile=$lt_outputfile.exe
     9801              lt_tool_outputfile=$lt_tool_outputfile.exe
     9802              ;;
     9803          esac~
     9804          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
     9805            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
     9806            $RM "$lt_outputfile.manifest";
     9807          fi'
     9808        ;;
     9809      *)
     9810        # Assume MSVC wrapper
     9811        hardcode_libdir_flag_spec=' '
     9812        allow_undefined_flag=unsupported
     9813        # Tell ltmain to make .lib files, not .a files.
     9814        libext=lib
     9815        # Tell ltmain to make .dll files, not .so files.
     9816        shrext_cmds=.dll
     9817        # FIXME: Setting linknames here is a bad hack.
     9818        archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
     9819        # The linker will automatically build a .lib file if we build a DLL.
     9820        old_archive_from_new_cmds='true'
     9821        # FIXME: Should let the user specify the lib program.
     9822        old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
     9823        enable_shared_with_static_runtimes=yes
     9824        ;;
     9825      esac
     9826      ;;
     9827
     9828    darwin* | rhapsody*)
     9829
     9830
     9831  archive_cmds_need_lc=no
     9832  hardcode_direct=no
     9833  hardcode_automatic=yes
     9834  hardcode_shlibpath_var=unsupported
     9835  if test yes = "$lt_cv_ld_force_load"; then
     9836    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\"`'
     9837
     9838  else
     9839    whole_archive_flag_spec=''
     9840  fi
     9841  link_all_deplibs=yes
     9842  allow_undefined_flag=$_lt_dar_allow_undefined
     9843  case $cc_basename in
     9844     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
     9845     *) _lt_dar_can_shared=$GCC ;;
     9846  esac
     9847  if test yes = "$_lt_dar_can_shared"; then
     9848    output_verbose_link_cmd=func_echo_all
     9849    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
     9850    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
     9851    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"
     9852    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"
     9853
     9854  else
     9855  ld_shlibs=no
     9856  fi
     9857
     9858      ;;
     9859
     9860    dgux*)
     9861      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     9862      hardcode_libdir_flag_spec='-L$libdir'
     9863      hardcode_shlibpath_var=no
     9864      ;;
     9865
     9866    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
     9867    # support.  Future versions do this automatically, but an explicit c++rt0.o
     9868    # does not break anything, and helps significantly (at the cost of a little
     9869    # extra space).
     9870    freebsd2.2*)
     9871      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
     9872      hardcode_libdir_flag_spec='-R$libdir'
     9873      hardcode_direct=yes
     9874      hardcode_shlibpath_var=no
     9875      ;;
     9876
     9877    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
     9878    freebsd2.*)
     9879      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
     9880      hardcode_direct=yes
     9881      hardcode_minus_L=yes
     9882      hardcode_shlibpath_var=no
     9883      ;;
     9884
     9885    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
     9886    freebsd* | dragonfly*)
     9887      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
     9888      hardcode_libdir_flag_spec='-R$libdir'
     9889      hardcode_direct=yes
     9890      hardcode_shlibpath_var=no
     9891      ;;
     9892
     9893    hpux9*)
     9894      if test yes = "$GCC"; then
     9895        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'
     9896      else
     9897        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'
     9898      fi
     9899      hardcode_libdir_flag_spec='$wl+b $wl$libdir'
     9900      hardcode_libdir_separator=:
     9901      hardcode_direct=yes
     9902
     9903      # hardcode_minus_L: Not really in the search PATH,
     9904      # but as the default location of the library.
     9905      hardcode_minus_L=yes
     9906      export_dynamic_flag_spec='$wl-E'
     9907      ;;
     9908
     9909    hpux10*)
     9910      if test yes,no = "$GCC,$with_gnu_ld"; then
     9911        archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
     9912      else
     9913        archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
     9914      fi
     9915      if test no = "$with_gnu_ld"; then
     9916        hardcode_libdir_flag_spec='$wl+b $wl$libdir'
     9917        hardcode_libdir_separator=:
     9918        hardcode_direct=yes
     9919        hardcode_direct_absolute=yes
     9920        export_dynamic_flag_spec='$wl-E'
     9921        # hardcode_minus_L: Not really in the search PATH,
     9922        # but as the default location of the library.
     9923        hardcode_minus_L=yes
     9924      fi
     9925      ;;
     9926
     9927    hpux11*)
     9928      if test yes,no = "$GCC,$with_gnu_ld"; then
     9929        case $host_cpu in
     9930        hppa*64*)
     9931          archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
     9932          ;;
     9933        ia64*)
     9934          archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
     9935          ;;
     9936        *)
     9937          archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
     9938          ;;
     9939        esac
     9940      else
     9941        case $host_cpu in
     9942        hppa*64*)
     9943          archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
     9944          ;;
     9945        ia64*)
     9946          archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
     9947          ;;
     9948        *)
     9949
     9950          # Older versions of the 11.00 compiler do not understand -b yet
     9951          # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
     9952          { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
     9953$as_echo_n "checking if $CC understands -b... " >&6; }
     9954if ${lt_cv_prog_compiler__b+:} false; then :
     9955  $as_echo_n "(cached) " >&6
     9956else
     9957  lt_cv_prog_compiler__b=no
     9958   save_LDFLAGS=$LDFLAGS
     9959   LDFLAGS="$LDFLAGS -b"
     9960   echo "$lt_simple_link_test_code" > conftest.$ac_ext
     9961   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
     9962     # The linker can only warn and ignore the option if not recognized
     9963     # So say no if there are warnings
     9964     if test -s conftest.err; then
     9965       # Append any errors to the config.log.
     9966       cat conftest.err 1>&5
     9967       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
     9968       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     9969       if diff conftest.exp conftest.er2 >/dev/null; then
     9970         lt_cv_prog_compiler__b=yes
     9971       fi
     9972     else
     9973       lt_cv_prog_compiler__b=yes
     9974     fi
     9975   fi
     9976   $RM -r conftest*
     9977   LDFLAGS=$save_LDFLAGS
     9978
     9979fi
     9980{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
     9981$as_echo "$lt_cv_prog_compiler__b" >&6; }
     9982
     9983if test yes = "$lt_cv_prog_compiler__b"; then
     9984    archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
     9985else
     9986    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
     9987fi
     9988
     9989          ;;
     9990        esac
     9991      fi
     9992      if test no = "$with_gnu_ld"; then
     9993        hardcode_libdir_flag_spec='$wl+b $wl$libdir'
     9994        hardcode_libdir_separator=:
     9995
     9996        case $host_cpu in
     9997        hppa*64*|ia64*)
     9998          hardcode_direct=no
     9999          hardcode_shlibpath_var=no
     10000          ;;
     10001        *)
     10002          hardcode_direct=yes
     10003          hardcode_direct_absolute=yes
     10004          export_dynamic_flag_spec='$wl-E'
     10005
     10006          # hardcode_minus_L: Not really in the search PATH,
     10007          # but as the default location of the library.
     10008          hardcode_minus_L=yes
     10009          ;;
     10010        esac
     10011      fi
     10012      ;;
     10013
     10014    irix5* | irix6* | nonstopux*)
     10015      if test yes = "$GCC"; then
     10016        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'
     10017        # Try to use the -exported_symbol ld option, if it does not
     10018        # work, assume that -exports_file does not work either and
     10019        # implicitly export all symbols.
     10020        # This should be the same for all languages, so no per-tag cache variable.
     10021        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
     10022$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
     10023if ${lt_cv_irix_exported_symbol+:} false; then :
     10024  $as_echo_n "(cached) " >&6
     10025else
     10026  save_LDFLAGS=$LDFLAGS
     10027           LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
     10028           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     10029/* end confdefs.h.  */
     10030int foo (void) { return 0; }
     10031_ACEOF
     10032if ac_fn_c_try_link "$LINENO"; then :
     10033  lt_cv_irix_exported_symbol=yes
     10034else
     10035  lt_cv_irix_exported_symbol=no
     10036fi
     10037rm -f core conftest.err conftest.$ac_objext \
     10038    conftest$ac_exeext conftest.$ac_ext
     10039           LDFLAGS=$save_LDFLAGS
     10040fi
     10041{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
     10042$as_echo "$lt_cv_irix_exported_symbol" >&6; }
     10043        if test yes = "$lt_cv_irix_exported_symbol"; then
     10044          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'
     10045        fi
     10046        link_all_deplibs=no
     10047      else
     10048        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'
     10049        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'
     10050      fi
     10051      archive_cmds_need_lc='no'
     10052      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     10053      hardcode_libdir_separator=:
     10054      inherit_rpath=yes
     10055      link_all_deplibs=yes
     10056      ;;
     10057
     10058    linux*)
     10059      case $cc_basename in
     10060      tcc*)
     10061        # Fabrice Bellard et al's Tiny C Compiler
     10062        ld_shlibs=yes
     10063        archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
     10064        ;;
     10065      esac
     10066      ;;
     10067
     10068    netbsd* | netbsdelf*-gnu)
     10069      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
     10070        archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
     10071      else
     10072        archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
     10073      fi
     10074      hardcode_libdir_flag_spec='-R$libdir'
     10075      hardcode_direct=yes
     10076      hardcode_shlibpath_var=no
     10077      ;;
     10078
     10079    newsos6)
     10080      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     10081      hardcode_direct=yes
     10082      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     10083      hardcode_libdir_separator=:
     10084      hardcode_shlibpath_var=no
     10085      ;;
     10086
     10087    *nto* | *qnx*)
     10088      ;;
     10089
     10090    openbsd* | bitrig*)
     10091      if test -f /usr/libexec/ld.so; then
     10092        hardcode_direct=yes
     10093        hardcode_shlibpath_var=no
     10094        hardcode_direct_absolute=yes
     10095        if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
     10096          archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
     10097          archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
     10098          hardcode_libdir_flag_spec='$wl-rpath,$libdir'
     10099          export_dynamic_flag_spec='$wl-E'
     10100        else
     10101          archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
     10102          hardcode_libdir_flag_spec='$wl-rpath,$libdir'
     10103        fi
     10104      else
     10105        ld_shlibs=no
     10106      fi
     10107      ;;
     10108
     10109    os2*)
     10110      hardcode_libdir_flag_spec='-L$libdir'
     10111      hardcode_minus_L=yes
     10112      allow_undefined_flag=unsupported
     10113      shrext_cmds=.dll
     10114      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     10115        $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     10116        $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     10117        $ECHO EXPORTS >> $output_objdir/$libname.def~
     10118        emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
     10119        $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     10120        emximp -o $lib $output_objdir/$libname.def'
     10121      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     10122        $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     10123        $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     10124        $ECHO EXPORTS >> $output_objdir/$libname.def~
     10125        prefix_cmds="$SED"~
     10126        if test EXPORTS = "`$SED 1q $export_symbols`"; then
     10127          prefix_cmds="$prefix_cmds -e 1d";
     10128        fi~
     10129        prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
     10130        cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
     10131        $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     10132        emximp -o $lib $output_objdir/$libname.def'
     10133      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
     10134      enable_shared_with_static_runtimes=yes
     10135      ;;
     10136
     10137    osf3*)
     10138      if test yes = "$GCC"; then
     10139        allow_undefined_flag=' $wl-expect_unresolved $wl\*'
     10140        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'
     10141      else
     10142        allow_undefined_flag=' -expect_unresolved \*'
     10143        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'
     10144      fi
     10145      archive_cmds_need_lc='no'
     10146      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     10147      hardcode_libdir_separator=:
     10148      ;;
     10149
     10150    osf4* | osf5*)      # as osf3* with the addition of -msym flag
     10151      if test yes = "$GCC"; then
     10152        allow_undefined_flag=' $wl-expect_unresolved $wl\*'
     10153        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'
     10154        hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     10155      else
     10156        allow_undefined_flag=' -expect_unresolved \*'
     10157        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'
     10158        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~
     10159          $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'
     10160
     10161        # Both c and cxx compiler support -rpath directly
     10162        hardcode_libdir_flag_spec='-rpath $libdir'
     10163      fi
     10164      archive_cmds_need_lc='no'
     10165      hardcode_libdir_separator=:
     10166      ;;
     10167
     10168    solaris*)
     10169      no_undefined_flag=' -z defs'
     10170      if test yes = "$GCC"; then
     10171        wlarc='$wl'
     10172        archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
     10173        archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     10174          $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'
     10175      else
     10176        case `$CC -V 2>&1` in
     10177        *"Compilers 5.0"*)
     10178          wlarc=''
     10179          archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
     10180          archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     10181            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
     10182          ;;
     10183        *)
     10184          wlarc='$wl'
     10185          archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
     10186          archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     10187            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
     10188          ;;
     10189        esac
     10190      fi
     10191      hardcode_libdir_flag_spec='-R$libdir'
     10192      hardcode_shlibpath_var=no
     10193      case $host_os in
     10194      solaris2.[0-5] | solaris2.[0-5].*) ;;
     10195      *)
     10196        # The compiler driver will combine and reorder linker options,
     10197        # but understands '-z linker_flag'.  GCC discards it without '$wl',
     10198        # but is careful enough not to reorder.
     10199        # Supported since Solaris 2.6 (maybe 2.5.1?)
     10200        if test yes = "$GCC"; then
     10201          whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
     10202        else
     10203          whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
     10204        fi
     10205        ;;
     10206      esac
     10207      link_all_deplibs=yes
     10208      ;;
     10209
     10210    sunos4*)
     10211      if test sequent = "$host_vendor"; then
     10212        # Use $CC to link under sequent, because it throws in some extra .o
     10213        # files that make .init and .fini sections work.
     10214        archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
     10215      else
     10216        archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
     10217      fi
     10218      hardcode_libdir_flag_spec='-L$libdir'
     10219      hardcode_direct=yes
     10220      hardcode_minus_L=yes
     10221      hardcode_shlibpath_var=no
     10222      ;;
     10223
     10224    sysv4)
     10225      case $host_vendor in
     10226        sni)
     10227          archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     10228          hardcode_direct=yes # is this really true???
     10229        ;;
     10230        siemens)
     10231          ## LD is ld it makes a PLAMLIB
     10232          ## CC just makes a GrossModule.
     10233          archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
     10234          reload_cmds='$CC -r -o $output$reload_objs'
     10235          hardcode_direct=no
     10236        ;;
     10237        motorola)
     10238          archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     10239          hardcode_direct=no #Motorola manual says yes, but my tests say they lie
     10240        ;;
     10241      esac
     10242      runpath_var='LD_RUN_PATH'
     10243      hardcode_shlibpath_var=no
     10244      ;;
     10245
     10246    sysv4.3*)
     10247      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     10248      hardcode_shlibpath_var=no
     10249      export_dynamic_flag_spec='-Bexport'
     10250      ;;
     10251
     10252    sysv4*MP*)
     10253      if test -d /usr/nec; then
     10254        archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     10255        hardcode_shlibpath_var=no
     10256        runpath_var=LD_RUN_PATH
     10257        hardcode_runpath_var=yes
     10258        ld_shlibs=yes
     10259      fi
     10260      ;;
     10261
     10262    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
     10263      no_undefined_flag='$wl-z,text'
     10264      archive_cmds_need_lc=no
     10265      hardcode_shlibpath_var=no
     10266      runpath_var='LD_RUN_PATH'
     10267
     10268      if test yes = "$GCC"; then
     10269        archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     10270        archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     10271      else
     10272        archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     10273        archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     10274      fi
     10275      ;;
     10276
     10277    sysv5* | sco3.2v5* | sco5v6*)
     10278      # Note: We CANNOT use -z defs as we might desire, because we do not
     10279      # link with -lc, and that would cause any symbols used from libc to
     10280      # always be unresolved, which means just about no library would
     10281      # ever link correctly.  If we're not using GNU ld we use -z text
     10282      # though, which does catch some bad symbols but isn't as heavy-handed
     10283      # as -z defs.
     10284      no_undefined_flag='$wl-z,text'
     10285      allow_undefined_flag='$wl-z,nodefs'
     10286      archive_cmds_need_lc=no
     10287      hardcode_shlibpath_var=no
     10288      hardcode_libdir_flag_spec='$wl-R,$libdir'
     10289      hardcode_libdir_separator=':'
     10290      link_all_deplibs=yes
     10291      export_dynamic_flag_spec='$wl-Bexport'
     10292      runpath_var='LD_RUN_PATH'
     10293
     10294      if test yes = "$GCC"; then
     10295        archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     10296        archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     10297      else
     10298        archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     10299        archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     10300      fi
     10301      ;;
     10302
     10303    uts4*)
     10304      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     10305      hardcode_libdir_flag_spec='-L$libdir'
     10306      hardcode_shlibpath_var=no
     10307      ;;
     10308
     10309    *)
     10310      ld_shlibs=no
     10311      ;;
     10312    esac
     10313
     10314    if test sni = "$host_vendor"; then
     10315      case $host in
     10316      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
     10317        export_dynamic_flag_spec='$wl-Blargedynsym'
     10318        ;;
     10319      esac
     10320    fi
     10321  fi
     10322
     10323{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
     10324$as_echo "$ld_shlibs" >&6; }
     10325test no = "$ld_shlibs" && can_build_shared=no
     10326
     10327with_gnu_ld=$with_gnu_ld
     10328
     10329
     10330
     10331
     10332
     10333
     10334
     10335
     10336
     10337
     10338
     10339
     10340
     10341
     10342
     10343#
     10344# Do we need to explicitly link libc?
     10345#
     10346case "x$archive_cmds_need_lc" in
     10347x|xyes)
     10348  # Assume -lc should be added
     10349  archive_cmds_need_lc=yes
     10350
     10351  if test yes,yes = "$GCC,$enable_shared"; then
     10352    case $archive_cmds in
     10353    *'~'*)
     10354      # FIXME: we may have to deal with multi-command sequences.
     10355      ;;
     10356    '$CC '*)
     10357      # Test whether the compiler implicitly links with -lc since on some
     10358      # systems, -lgcc has to come before -lc. If gcc already passes -lc
     10359      # to ld, don't add -lc before -lgcc.
     10360      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
     10361$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
     10362if ${lt_cv_archive_cmds_need_lc+:} false; then :
     10363  $as_echo_n "(cached) " >&6
     10364else
     10365  $RM conftest*
     10366        echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     10367
     10368        if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     10369  (eval $ac_compile) 2>&5
     10370  ac_status=$?
     10371  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     10372  test $ac_status = 0; } 2>conftest.err; then
     10373          soname=conftest
     10374          lib=conftest
     10375          libobjs=conftest.$ac_objext
     10376          deplibs=
     10377          wl=$lt_prog_compiler_wl
     10378          pic_flag=$lt_prog_compiler_pic
     10379          compiler_flags=-v
     10380          linker_flags=-v
     10381          verstring=
     10382          output_objdir=.
     10383          libname=conftest
     10384          lt_save_allow_undefined_flag=$allow_undefined_flag
     10385          allow_undefined_flag=
     10386          if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
     10387  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
     10388  ac_status=$?
     10389  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     10390  test $ac_status = 0; }
     10391          then
     10392            lt_cv_archive_cmds_need_lc=no
     10393          else
     10394            lt_cv_archive_cmds_need_lc=yes
     10395          fi
     10396          allow_undefined_flag=$lt_save_allow_undefined_flag
     10397        else
     10398          cat conftest.err 1>&5
     10399        fi
     10400        $RM conftest*
     10401
     10402fi
     10403{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
     10404$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
     10405      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
     10406      ;;
     10407    esac
     10408  fi
     10409  ;;
     10410esac
     10411
     10412
     10413
     10414
     10415
     10416
     10417
     10418
     10419
     10420
     10421
     10422
     10423
     10424
     10425
     10426
     10427
     10428
     10429
     10430
     10431
     10432
     10433
     10434
     10435
     10436
     10437
     10438
     10439
     10440
     10441
     10442
     10443
     10444
     10445
     10446
     10447
     10448
     10449
     10450
     10451
     10452
     10453
     10454
     10455
     10456
     10457
     10458
     10459
     10460
     10461
     10462
     10463
     10464
     10465
     10466
     10467
     10468
     10469
     10470
     10471
     10472
     10473
     10474
     10475
     10476
     10477
     10478
     10479
     10480
     10481
     10482
     10483
     10484
     10485
     10486
     10487
     10488
     10489
     10490
     10491
     10492
     10493
     10494
     10495
     10496
     10497
     10498
     10499
     10500
     10501
     10502
     10503
     10504
     10505
     10506
     10507
     10508
     10509
     10510
     10511
     10512
     10513
     10514
     10515
     10516
     10517
     10518
     10519
     10520
     10521
     10522
     10523
     10524
     10525
     10526
     10527
     10528
     10529
     10530
     10531
     10532
     10533
     10534
     10535
     10536
     10537
     10538
     10539
     10540
     10541
     10542
     10543
     10544
     10545
     10546
     10547
     10548
     10549
     10550
     10551
     10552
     10553
     10554
     10555
     10556
     10557
     10558
     10559
     10560
     10561
     10562
     10563  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
     10564$as_echo_n "checking dynamic linker characteristics... " >&6; }
     10565
     10566if test yes = "$GCC"; then
     10567  case $host_os in
     10568    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
     10569    *) lt_awk_arg='/^libraries:/' ;;
     10570  esac
     10571  case $host_os in
     10572    mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
     10573    *) lt_sed_strip_eq='s|=/|/|g' ;;
     10574  esac
     10575  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
     10576  case $lt_search_path_spec in
     10577  *\;*)
     10578    # if the path contains ";" then we assume it to be the separator
     10579    # otherwise default to the standard path separator (i.e. ":") - it is
     10580    # assumed that no part of a normal pathname contains ";" but that should
     10581    # okay in the real world where ";" in dirpaths is itself problematic.
     10582    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
     10583    ;;
     10584  *)
     10585    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
     10586    ;;
     10587  esac
     10588  # Ok, now we have the path, separated by spaces, we can step through it
     10589  # and add multilib dir if necessary...
     10590  lt_tmp_lt_search_path_spec=
     10591  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
     10592  # ...but if some path component already ends with the multilib dir we assume
     10593  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
     10594  case "$lt_multi_os_dir; $lt_search_path_spec " in
     10595  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
     10596    lt_multi_os_dir=
     10597    ;;
     10598  esac
     10599  for lt_sys_path in $lt_search_path_spec; do
     10600    if test -d "$lt_sys_path$lt_multi_os_dir"; then
     10601      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
     10602    elif test -n "$lt_multi_os_dir"; then
     10603      test -d "$lt_sys_path" && \
     10604        lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
     10605    fi
     10606  done
     10607  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
     10608BEGIN {RS = " "; FS = "/|\n";} {
     10609  lt_foo = "";
     10610  lt_count = 0;
     10611  for (lt_i = NF; lt_i > 0; lt_i--) {
     10612    if ($lt_i != "" && $lt_i != ".") {
     10613      if ($lt_i == "..") {
     10614        lt_count++;
     10615      } else {
     10616        if (lt_count == 0) {
     10617          lt_foo = "/" $lt_i lt_foo;
     10618        } else {
     10619          lt_count--;
     10620        }
     10621      }
     10622    }
     10623  }
     10624  if (lt_foo != "") { lt_freq[lt_foo]++; }
     10625  if (lt_freq[lt_foo] == 1) { print lt_foo; }
     10626}'`
     10627  # AWK program above erroneously prepends '/' to C:/dos/paths
     10628  # for these hosts.
     10629  case $host_os in
     10630    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
     10631      $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
     10632  esac
     10633  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
     10634else
     10635  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
     10636fi
     10637library_names_spec=
     10638libname_spec='lib$name'
     10639soname_spec=
     10640shrext_cmds=.so
     10641postinstall_cmds=
     10642postuninstall_cmds=
     10643finish_cmds=
     10644finish_eval=
     10645shlibpath_var=
     10646shlibpath_overrides_runpath=unknown
     10647version_type=none
     10648dynamic_linker="$host_os ld.so"
     10649sys_lib_dlsearch_path_spec="/lib /usr/lib"
     10650need_lib_prefix=unknown
     10651hardcode_into_libs=no
     10652
     10653# when you set need_version to no, make sure it does not cause -set_version
     10654# flags to be left without arguments
     10655need_version=unknown
     10656
     10657
     10658
     10659case $host_os in
     10660aix3*)
     10661  version_type=linux # correct to gnu/linux during the next big refactor
     10662  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
     10663  shlibpath_var=LIBPATH
     10664
     10665  # AIX 3 has no versioning support, so we append a major version to the name.
     10666  soname_spec='$libname$release$shared_ext$major'
     10667  ;;
     10668
     10669aix[4-9]*)
     10670  version_type=linux # correct to gnu/linux during the next big refactor
     10671  need_lib_prefix=no
     10672  need_version=no
     10673  hardcode_into_libs=yes
     10674  if test ia64 = "$host_cpu"; then
     10675    # AIX 5 supports IA64
     10676    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
     10677    shlibpath_var=LD_LIBRARY_PATH
     10678  else
     10679    # With GCC up to 2.95.x, collect2 would create an import file
     10680    # for dependence libraries.  The import file would start with
     10681    # the line '#! .'.  This would cause the generated library to
     10682    # depend on '.', always an invalid library.  This was fixed in
     10683    # development snapshots of GCC prior to 3.0.
     10684    case $host_os in
     10685      aix4 | aix4.[01] | aix4.[01].*)
     10686      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
     10687           echo ' yes '
     10688           echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
     10689        :
     10690      else
     10691        can_build_shared=no
     10692      fi
     10693      ;;
     10694    esac
     10695    # Using Import Files as archive members, it is possible to support
     10696    # filename-based versioning of shared library archives on AIX. While
     10697    # this would work for both with and without runtime linking, it will
     10698    # prevent static linking of such archives. So we do filename-based
     10699    # shared library versioning with .so extension only, which is used
     10700    # when both runtime linking and shared linking is enabled.
     10701    # Unfortunately, runtime linking may impact performance, so we do
     10702    # not want this to be the default eventually. Also, we use the
     10703    # versioned .so libs for executables only if there is the -brtl
     10704    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
     10705    # To allow for filename-based versioning support, we need to create
     10706    # libNAME.so.V as an archive file, containing:
     10707    # *) an Import File, referring to the versioned filename of the
     10708    #    archive as well as the shared archive member, telling the
     10709    #    bitwidth (32 or 64) of that shared object, and providing the
     10710    #    list of exported symbols of that shared object, eventually
     10711    #    decorated with the 'weak' keyword
     10712    # *) the shared object with the F_LOADONLY flag set, to really avoid
     10713    #    it being seen by the linker.
     10714    # At run time we better use the real file rather than another symlink,
     10715    # but for link time we create the symlink libNAME.so -> libNAME.so.V
     10716
     10717    case $with_aix_soname,$aix_use_runtimelinking in
     10718    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
     10719    # soname into executable. Probably we can add versioning support to
     10720    # collect2, so additional links can be useful in future.
     10721    aix,yes) # traditional libtool
     10722      dynamic_linker='AIX unversionable lib.so'
     10723      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
     10724      # instead of lib<name>.a to let people know that these are not
     10725      # typical AIX shared libraries.
     10726      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     10727      ;;
     10728    aix,no) # traditional AIX only
     10729      dynamic_linker='AIX lib.a(lib.so.V)'
     10730      # We preserve .a as extension for shared libraries through AIX4.2
     10731      # and later when we are not doing run time linking.
     10732      library_names_spec='$libname$release.a $libname.a'
     10733      soname_spec='$libname$release$shared_ext$major'
     10734      ;;
     10735    svr4,*) # full svr4 only
     10736      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
     10737      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
     10738      # We do not specify a path in Import Files, so LIBPATH fires.
     10739      shlibpath_overrides_runpath=yes
     10740      ;;
     10741    *,yes) # both, prefer svr4
     10742      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
     10743      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
     10744      # unpreferred sharedlib libNAME.a needs extra handling
     10745      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"'
     10746      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"'
     10747      # We do not specify a path in Import Files, so LIBPATH fires.
     10748      shlibpath_overrides_runpath=yes
     10749      ;;
     10750    *,no) # both, prefer aix
     10751      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
     10752      library_names_spec='$libname$release.a $libname.a'
     10753      soname_spec='$libname$release$shared_ext$major'
     10754      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
     10755      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)'
     10756      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"'
     10757      ;;
     10758    esac
     10759    shlibpath_var=LIBPATH
     10760  fi
     10761  ;;
     10762
     10763amigaos*)
     10764  case $host_cpu in
     10765  powerpc)
     10766    # Since July 2007 AmigaOS4 officially supports .so libraries.
     10767    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
     10768    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     10769    ;;
     10770  m68k)
     10771    library_names_spec='$libname.ixlibrary $libname.a'
     10772    # Create ${libname}_ixlibrary.a entries in /sys/libs.
     10773    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'
     10774    ;;
     10775  esac
     10776  ;;
     10777
     10778beos*)
     10779  library_names_spec='$libname$shared_ext'
     10780  dynamic_linker="$host_os ld.so"
     10781  shlibpath_var=LIBRARY_PATH
     10782  ;;
     10783
     10784bsdi[45]*)
     10785  version_type=linux # correct to gnu/linux during the next big refactor
     10786  need_version=no
     10787  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     10788  soname_spec='$libname$release$shared_ext$major'
     10789  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
     10790  shlibpath_var=LD_LIBRARY_PATH
     10791  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
     10792  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
     10793  # the default ld.so.conf also contains /usr/contrib/lib and
     10794  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
     10795  # libtool to hard-code these into programs
     10796  ;;
     10797
     10798cygwin* | mingw* | pw32* | cegcc*)
     10799  version_type=windows
     10800  shrext_cmds=.dll
     10801  need_version=no
     10802  need_lib_prefix=no
     10803
     10804  case $GCC,$cc_basename in
     10805  yes,*)
     10806    # gcc
     10807    library_names_spec='$libname.dll.a'
     10808    # DLL is installed to $(libdir)/../bin by postinstall_cmds
     10809    postinstall_cmds='base_file=`basename \$file`~
     10810      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
     10811      dldir=$destdir/`dirname \$dlpath`~
     10812      test -d \$dldir || mkdir -p \$dldir~
     10813      $install_prog $dir/$dlname \$dldir/$dlname~
     10814      chmod a+x \$dldir/$dlname~
     10815      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
     10816        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
     10817      fi'
     10818    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
     10819      dlpath=$dir/\$dldll~
     10820       $RM \$dlpath'
     10821    shlibpath_overrides_runpath=yes
     10822
     10823    case $host_os in
     10824    cygwin*)
     10825      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
     10826      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     10827
     10828      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
     10829      ;;
     10830    mingw* | cegcc*)
     10831      # MinGW DLLs use traditional 'lib' prefix
     10832      soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     10833      ;;
     10834    pw32*)
     10835      # pw32 DLLs use 'pw' prefix rather than 'lib'
     10836      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     10837      ;;
     10838    esac
     10839    dynamic_linker='Win32 ld.exe'
     10840    ;;
     10841
     10842  *,cl*)
     10843    # Native MSVC
     10844    libname_spec='$name'
     10845    soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     10846    library_names_spec='$libname.dll.lib'
     10847
     10848    case $build_os in
     10849    mingw*)
     10850      sys_lib_search_path_spec=
     10851      lt_save_ifs=$IFS
     10852      IFS=';'
     10853      for lt_path in $LIB
     10854      do
     10855        IFS=$lt_save_ifs
     10856        # Let DOS variable expansion print the short 8.3 style file name.
     10857        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
     10858        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
     10859      done
     10860      IFS=$lt_save_ifs
     10861      # Convert to MSYS style.
     10862      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
     10863      ;;
     10864    cygwin*)
     10865      # Convert to unix form, then to dos form, then back to unix form
     10866      # but this time dos style (no spaces!) so that the unix form looks
     10867      # like /cygdrive/c/PROGRA~1:/cygdr...
     10868      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
     10869      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
     10870      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
     10871      ;;
     10872    *)
     10873      sys_lib_search_path_spec=$LIB
     10874      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
     10875        # It is most probably a Windows format PATH.
     10876        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
     10877      else
     10878        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
     10879      fi
     10880      # FIXME: find the short name or the path components, as spaces are
     10881      # common. (e.g. "Program Files" -> "PROGRA~1")
     10882      ;;
     10883    esac
     10884
     10885    # DLL is installed to $(libdir)/../bin by postinstall_cmds
     10886    postinstall_cmds='base_file=`basename \$file`~
     10887      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
     10888      dldir=$destdir/`dirname \$dlpath`~
     10889      test -d \$dldir || mkdir -p \$dldir~
     10890      $install_prog $dir/$dlname \$dldir/$dlname'
     10891    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
     10892      dlpath=$dir/\$dldll~
     10893       $RM \$dlpath'
     10894    shlibpath_overrides_runpath=yes
     10895    dynamic_linker='Win32 link.exe'
     10896    ;;
     10897
     10898  *)
     10899    # Assume MSVC wrapper
     10900    library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
     10901    dynamic_linker='Win32 ld.exe'
     10902    ;;
     10903  esac
     10904  # FIXME: first we should search . and the directory the executable is in
     10905  shlibpath_var=PATH
     10906  ;;
     10907
     10908darwin* | rhapsody*)
     10909  dynamic_linker="$host_os dyld"
     10910  version_type=darwin
     10911  need_lib_prefix=no
     10912  need_version=no
     10913  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
     10914  soname_spec='$libname$release$major$shared_ext'
     10915  shlibpath_overrides_runpath=yes
     10916  shlibpath_var=DYLD_LIBRARY_PATH
     10917  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
     10918
     10919  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
     10920  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
     10921  ;;
     10922
     10923dgux*)
     10924  version_type=linux # correct to gnu/linux during the next big refactor
     10925  need_lib_prefix=no
     10926  need_version=no
     10927  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     10928  soname_spec='$libname$release$shared_ext$major'
     10929  shlibpath_var=LD_LIBRARY_PATH
     10930  ;;
     10931
     10932freebsd* | dragonfly*)
     10933  # DragonFly does not have aout.  When/if they implement a new
     10934  # versioning mechanism, adjust this.
     10935  if test -x /usr/bin/objformat; then
     10936    objformat=`/usr/bin/objformat`
     10937  else
     10938    case $host_os in
     10939    freebsd[23].*) objformat=aout ;;
     10940    *) objformat=elf ;;
     10941    esac
     10942  fi
     10943  version_type=freebsd-$objformat
     10944  case $version_type in
     10945    freebsd-elf*)
     10946      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     10947      soname_spec='$libname$release$shared_ext$major'
     10948      need_version=no
     10949      need_lib_prefix=no
     10950      ;;
     10951    freebsd-*)
     10952      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     10953      need_version=yes
     10954      ;;
     10955  esac
     10956  shlibpath_var=LD_LIBRARY_PATH
     10957  case $host_os in
     10958  freebsd2.*)
     10959    shlibpath_overrides_runpath=yes
     10960    ;;
     10961  freebsd3.[01]* | freebsdelf3.[01]*)
     10962    shlibpath_overrides_runpath=yes
     10963    hardcode_into_libs=yes
     10964    ;;
     10965  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
     10966  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
     10967    shlibpath_overrides_runpath=no
     10968    hardcode_into_libs=yes
     10969    ;;
     10970  *) # from 4.6 on, and DragonFly
     10971    shlibpath_overrides_runpath=yes
     10972    hardcode_into_libs=yes
     10973    ;;
     10974  esac
     10975  ;;
     10976
     10977haiku*)
     10978  version_type=linux # correct to gnu/linux during the next big refactor
     10979  need_lib_prefix=no
     10980  need_version=no
     10981  dynamic_linker="$host_os runtime_loader"
     10982  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     10983  soname_spec='$libname$release$shared_ext$major'
     10984  shlibpath_var=LIBRARY_PATH
     10985  shlibpath_overrides_runpath=no
     10986  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
     10987  hardcode_into_libs=yes
     10988  ;;
     10989
     10990hpux9* | hpux10* | hpux11*)
     10991  # Give a soname corresponding to the major version so that dld.sl refuses to
     10992  # link against other versions.
     10993  version_type=sunos
     10994  need_lib_prefix=no
     10995  need_version=no
     10996  case $host_cpu in
     10997  ia64*)
     10998    shrext_cmds='.so'
     10999    hardcode_into_libs=yes
     11000    dynamic_linker="$host_os dld.so"
     11001    shlibpath_var=LD_LIBRARY_PATH
     11002    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
     11003    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     11004    soname_spec='$libname$release$shared_ext$major'
     11005    if test 32 = "$HPUX_IA64_MODE"; then
     11006      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
     11007      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
     11008    else
     11009      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
     11010      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
     11011    fi
     11012    ;;
     11013  hppa*64*)
     11014    shrext_cmds='.sl'
     11015    hardcode_into_libs=yes
     11016    dynamic_linker="$host_os dld.sl"
     11017    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
     11018    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
     11019    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     11020    soname_spec='$libname$release$shared_ext$major'
     11021    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
     11022    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     11023    ;;
     11024  *)
     11025    shrext_cmds='.sl'
     11026    dynamic_linker="$host_os dld.sl"
     11027    shlibpath_var=SHLIB_PATH
     11028    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
     11029    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     11030    soname_spec='$libname$release$shared_ext$major'
     11031    ;;
     11032  esac
     11033  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
     11034  postinstall_cmds='chmod 555 $lib'
     11035  # or fails outright, so override atomically:
     11036  install_override_mode=555
     11037  ;;
     11038
     11039interix[3-9]*)
     11040  version_type=linux # correct to gnu/linux during the next big refactor
     11041  need_lib_prefix=no
     11042  need_version=no
     11043  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     11044  soname_spec='$libname$release$shared_ext$major'
     11045  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
     11046  shlibpath_var=LD_LIBRARY_PATH
     11047  shlibpath_overrides_runpath=no
     11048  hardcode_into_libs=yes
     11049  ;;
     11050
     11051irix5* | irix6* | nonstopux*)
     11052  case $host_os in
     11053    nonstopux*) version_type=nonstopux ;;
     11054    *)
     11055        if test yes = "$lt_cv_prog_gnu_ld"; then
     11056                version_type=linux # correct to gnu/linux during the next big refactor
     11057        else
     11058                version_type=irix
     11059        fi ;;
     11060  esac
     11061  need_lib_prefix=no
     11062  need_version=no
     11063  soname_spec='$libname$release$shared_ext$major'
     11064  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
     11065  case $host_os in
     11066  irix5* | nonstopux*)
     11067    libsuff= shlibsuff=
     11068    ;;
     11069  *)
     11070    case $LD in # libtool.m4 will add one of these switches to LD
     11071    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
     11072      libsuff= shlibsuff= libmagic=32-bit;;
     11073    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
     11074      libsuff=32 shlibsuff=N32 libmagic=N32;;
     11075    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
     11076      libsuff=64 shlibsuff=64 libmagic=64-bit;;
     11077    *) libsuff= shlibsuff= libmagic=never-match;;
     11078    esac
     11079    ;;
     11080  esac
     11081  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
     11082  shlibpath_overrides_runpath=no
     11083  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
     11084  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
     11085  hardcode_into_libs=yes
     11086  ;;
     11087
     11088# No shared lib support for Linux oldld, aout, or coff.
     11089linux*oldld* | linux*aout* | linux*coff*)
     11090  dynamic_linker=no
     11091  ;;
     11092
     11093linux*android*)
     11094  version_type=none # Android doesn't support versioned libraries.
     11095  need_lib_prefix=no
     11096  need_version=no
     11097  library_names_spec='$libname$release$shared_ext'
     11098  soname_spec='$libname$release$shared_ext'
     11099  finish_cmds=
     11100  shlibpath_var=LD_LIBRARY_PATH
     11101  shlibpath_overrides_runpath=yes
     11102
     11103  # This implies no fast_install, which is unacceptable.
     11104  # Some rework will be needed to allow for fast_install
     11105  # before this can be enabled.
     11106  hardcode_into_libs=yes
     11107
     11108  dynamic_linker='Android linker'
     11109  # Don't embed -rpath directories since the linker doesn't support them.
     11110  hardcode_libdir_flag_spec='-L$libdir'
     11111  ;;
     11112
     11113# This must be glibc/ELF.
     11114linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     11115  version_type=linux # correct to gnu/linux during the next big refactor
     11116  need_lib_prefix=no
     11117  need_version=no
     11118  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     11119  soname_spec='$libname$release$shared_ext$major'
     11120  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
     11121  shlibpath_var=LD_LIBRARY_PATH
     11122  shlibpath_overrides_runpath=no
     11123
     11124  # Some binutils ld are patched to set DT_RUNPATH
     11125  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
     11126  $as_echo_n "(cached) " >&6
     11127else
     11128  lt_cv_shlibpath_overrides_runpath=no
     11129    save_LDFLAGS=$LDFLAGS
     11130    save_libdir=$libdir
     11131    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
     11132         LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
     11133    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     11134/* end confdefs.h.  */
     11135
     11136int
     11137main ()
     11138{
     11139
     11140  ;
     11141  return 0;
     11142}
     11143_ACEOF
     11144if ac_fn_c_try_link "$LINENO"; then :
     11145  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
     11146  lt_cv_shlibpath_overrides_runpath=yes
     11147fi
     11148fi
     11149rm -f core conftest.err conftest.$ac_objext \
     11150    conftest$ac_exeext conftest.$ac_ext
     11151    LDFLAGS=$save_LDFLAGS
     11152    libdir=$save_libdir
     11153
     11154fi
     11155
     11156  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
     11157
     11158  # This implies no fast_install, which is unacceptable.
     11159  # Some rework will be needed to allow for fast_install
     11160  # before this can be enabled.
     11161  hardcode_into_libs=yes
     11162
     11163  # Ideally, we could use ldconfig to report *all* directores which are
     11164  # searched for libraries, however this is still not possible.  Aside from not
     11165  # being certain /sbin/ldconfig is available, command
     11166  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
     11167  # even though it is searched at run-time.  Try to do the best guess by
     11168  # appending ld.so.conf contents (and includes) to the search path.
     11169  if test -f /etc/ld.so.conf; then
     11170    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' ' '`
     11171    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
     11172  fi
     11173
     11174  # We used to test for /lib/ld.so.1 and disable shared libraries on
     11175  # powerpc, because MkLinux only supported shared libraries with the
     11176  # GNU dynamic linker.  Since this was broken with cross compilers,
     11177  # most powerpc-linux boxes support dynamic linking these days and
     11178  # people can always --disable-shared, the test was removed, and we
     11179  # assume the GNU/Linux dynamic linker is in use.
     11180  dynamic_linker='GNU/Linux ld.so'
     11181  ;;
     11182
     11183netbsdelf*-gnu)
     11184  version_type=linux
     11185  need_lib_prefix=no
     11186  need_version=no
     11187  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
     11188  soname_spec='${libname}${release}${shared_ext}$major'
     11189  shlibpath_var=LD_LIBRARY_PATH
     11190  shlibpath_overrides_runpath=no
     11191  hardcode_into_libs=yes
     11192  dynamic_linker='NetBSD ld.elf_so'
     11193  ;;
     11194
     11195netbsd*)
     11196  version_type=sunos
     11197  need_lib_prefix=no
     11198  need_version=no
     11199  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
     11200    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     11201    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     11202    dynamic_linker='NetBSD (a.out) ld.so'
     11203  else
     11204    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     11205    soname_spec='$libname$release$shared_ext$major'
     11206    dynamic_linker='NetBSD ld.elf_so'
     11207  fi
     11208  shlibpath_var=LD_LIBRARY_PATH
     11209  shlibpath_overrides_runpath=yes
     11210  hardcode_into_libs=yes
     11211  ;;
     11212
     11213newsos6)
     11214  version_type=linux # correct to gnu/linux during the next big refactor
     11215  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     11216  shlibpath_var=LD_LIBRARY_PATH
     11217  shlibpath_overrides_runpath=yes
     11218  ;;
     11219
     11220*nto* | *qnx*)
     11221  version_type=qnx
     11222  need_lib_prefix=no
     11223  need_version=no
     11224  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     11225  soname_spec='$libname$release$shared_ext$major'
     11226  shlibpath_var=LD_LIBRARY_PATH
     11227  shlibpath_overrides_runpath=no
     11228  hardcode_into_libs=yes
     11229  dynamic_linker='ldqnx.so'
     11230  ;;
     11231
     11232openbsd* | bitrig*)
     11233  version_type=sunos
     11234  sys_lib_dlsearch_path_spec=/usr/lib
     11235  need_lib_prefix=no
     11236  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
     11237    need_version=no
     11238  else
     11239    need_version=yes
     11240  fi
     11241  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     11242  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     11243  shlibpath_var=LD_LIBRARY_PATH
     11244  shlibpath_overrides_runpath=yes
     11245  ;;
     11246
     11247os2*)
     11248  libname_spec='$name'
     11249  version_type=windows
     11250  shrext_cmds=.dll
     11251  need_version=no
     11252  need_lib_prefix=no
     11253  # OS/2 can only load a DLL with a base name of 8 characters or less.
     11254  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
     11255    v=$($ECHO $release$versuffix | tr -d .-);
     11256    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
     11257    $ECHO $n$v`$shared_ext'
     11258  library_names_spec='${libname}_dll.$libext'
     11259  dynamic_linker='OS/2 ld.exe'
     11260  shlibpath_var=BEGINLIBPATH
     11261  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
     11262  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     11263  postinstall_cmds='base_file=`basename \$file`~
     11264    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
     11265    dldir=$destdir/`dirname \$dlpath`~
     11266    test -d \$dldir || mkdir -p \$dldir~
     11267    $install_prog $dir/$dlname \$dldir/$dlname~
     11268    chmod a+x \$dldir/$dlname~
     11269    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
     11270      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
     11271    fi'
     11272  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
     11273    dlpath=$dir/\$dldll~
     11274    $RM \$dlpath'
     11275  ;;
     11276
     11277osf3* | osf4* | osf5*)
     11278  version_type=osf
     11279  need_lib_prefix=no
     11280  need_version=no
     11281  soname_spec='$libname$release$shared_ext$major'
     11282  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     11283  shlibpath_var=LD_LIBRARY_PATH
     11284  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
     11285  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     11286  ;;
     11287
     11288rdos*)
     11289  dynamic_linker=no
     11290  ;;
     11291
     11292solaris*)
     11293  version_type=linux # correct to gnu/linux during the next big refactor
     11294  need_lib_prefix=no
     11295  need_version=no
     11296  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     11297  soname_spec='$libname$release$shared_ext$major'
     11298  shlibpath_var=LD_LIBRARY_PATH
     11299  shlibpath_overrides_runpath=yes
     11300  hardcode_into_libs=yes
     11301  # ldd complains unless libraries are executable
     11302  postinstall_cmds='chmod +x $lib'
     11303  ;;
     11304
     11305sunos4*)
     11306  version_type=sunos
     11307  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     11308  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
     11309  shlibpath_var=LD_LIBRARY_PATH
     11310  shlibpath_overrides_runpath=yes
     11311  if test yes = "$with_gnu_ld"; then
     11312    need_lib_prefix=no
     11313  fi
     11314  need_version=yes
     11315  ;;
     11316
     11317sysv4 | sysv4.3*)
     11318  version_type=linux # correct to gnu/linux during the next big refactor
     11319  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     11320  soname_spec='$libname$release$shared_ext$major'
     11321  shlibpath_var=LD_LIBRARY_PATH
     11322  case $host_vendor in
     11323    sni)
     11324      shlibpath_overrides_runpath=no
     11325      need_lib_prefix=no
     11326      runpath_var=LD_RUN_PATH
     11327      ;;
     11328    siemens)
     11329      need_lib_prefix=no
     11330      ;;
     11331    motorola)
     11332      need_lib_prefix=no
     11333      need_version=no
     11334      shlibpath_overrides_runpath=no
     11335      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
     11336      ;;
     11337  esac
     11338  ;;
     11339
     11340sysv4*MP*)
     11341  if test -d /usr/nec; then
     11342    version_type=linux # correct to gnu/linux during the next big refactor
     11343    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
     11344    soname_spec='$libname$shared_ext.$major'
     11345    shlibpath_var=LD_LIBRARY_PATH
     11346  fi
     11347  ;;
     11348
     11349sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
     11350  version_type=sco
     11351  need_lib_prefix=no
     11352  need_version=no
     11353  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
     11354  soname_spec='$libname$release$shared_ext$major'
     11355  shlibpath_var=LD_LIBRARY_PATH
     11356  shlibpath_overrides_runpath=yes
     11357  hardcode_into_libs=yes
     11358  if test yes = "$with_gnu_ld"; then
     11359    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
     11360  else
     11361    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
     11362    case $host_os in
     11363      sco3.2v5*)
     11364        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
     11365        ;;
     11366    esac
     11367  fi
     11368  sys_lib_dlsearch_path_spec='/usr/lib'
     11369  ;;
     11370
     11371tpf*)
     11372  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
     11373  version_type=linux # correct to gnu/linux during the next big refactor
     11374  need_lib_prefix=no
     11375  need_version=no
     11376  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     11377  shlibpath_var=LD_LIBRARY_PATH
     11378  shlibpath_overrides_runpath=no
     11379  hardcode_into_libs=yes
     11380  ;;
     11381
     11382uts4*)
     11383  version_type=linux # correct to gnu/linux during the next big refactor
     11384  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     11385  soname_spec='$libname$release$shared_ext$major'
     11386  shlibpath_var=LD_LIBRARY_PATH
     11387  ;;
     11388
     11389*)
     11390  dynamic_linker=no
     11391  ;;
     11392esac
     11393{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
     11394$as_echo "$dynamic_linker" >&6; }
     11395test no = "$dynamic_linker" && can_build_shared=no
     11396
     11397variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
     11398if test yes = "$GCC"; then
     11399  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
     11400fi
     11401
     11402if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
     11403  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
     11404fi
     11405
     11406if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
     11407  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
     11408fi
     11409
     11410# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
     11411configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
     11412
     11413# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
     11414func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
     11415
     11416# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
     11417configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
     11418
     11419
     11420
     11421
     11422
     11423
     11424
     11425
     11426
     11427
     11428
     11429
     11430
     11431
     11432
     11433
     11434
     11435
     11436
     11437
     11438
     11439
     11440
     11441
     11442
     11443
     11444
     11445
     11446
     11447
     11448
     11449
     11450
     11451
     11452
     11453
     11454
     11455
     11456
     11457
     11458
     11459
     11460
     11461
     11462
     11463
     11464
     11465
     11466
     11467
     11468
     11469
     11470
     11471
     11472
     11473
     11474
     11475
     11476
     11477
     11478
     11479
     11480
     11481
     11482
     11483
     11484
     11485
     11486
     11487
     11488
     11489
     11490
     11491
     11492
     11493
     11494
     11495
     11496
     11497
     11498
     11499
     11500
     11501
     11502
     11503
     11504
     11505
     11506
     11507
     11508
     11509
     11510
     11511
     11512
     11513
     11514
     11515  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
     11516$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
     11517hardcode_action=
     11518if test -n "$hardcode_libdir_flag_spec" ||
     11519   test -n "$runpath_var" ||
     11520   test yes = "$hardcode_automatic"; then
     11521
     11522  # We can hardcode non-existent directories.
     11523  if test no != "$hardcode_direct" &&
     11524     # If the only mechanism to avoid hardcoding is shlibpath_var, we
     11525     # have to relink, otherwise we might link with an installed library
     11526     # when we should be linking with a yet-to-be-installed one
     11527     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
     11528     test no != "$hardcode_minus_L"; then
     11529    # Linking always hardcodes the temporary library directory.
     11530    hardcode_action=relink
     11531  else
     11532    # We can link without hardcoding, and we can hardcode nonexisting dirs.
     11533    hardcode_action=immediate
     11534  fi
     11535else
     11536  # We cannot hardcode anything, or else we can only hardcode existing
     11537  # directories.
     11538  hardcode_action=unsupported
     11539fi
     11540{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
     11541$as_echo "$hardcode_action" >&6; }
     11542
     11543if test relink = "$hardcode_action" ||
     11544   test yes = "$inherit_rpath"; then
     11545  # Fast installation is not supported
     11546  enable_fast_install=no
     11547elif test yes = "$shlibpath_overrides_runpath" ||
     11548     test no = "$enable_shared"; then
     11549  # Fast installation is not necessary
     11550  enable_fast_install=needless
     11551fi
     11552
     11553
     11554
     11555
     11556
     11557
     11558  if test yes != "$enable_dlopen"; then
     11559  enable_dlopen=unknown
     11560  enable_dlopen_self=unknown
     11561  enable_dlopen_self_static=unknown
     11562else
     11563  lt_cv_dlopen=no
     11564  lt_cv_dlopen_libs=
     11565
     11566  case $host_os in
     11567  beos*)
     11568    lt_cv_dlopen=load_add_on
     11569    lt_cv_dlopen_libs=
     11570    lt_cv_dlopen_self=yes
     11571    ;;
     11572
     11573  mingw* | pw32* | cegcc*)
     11574    lt_cv_dlopen=LoadLibrary
     11575    lt_cv_dlopen_libs=
     11576    ;;
     11577
     11578  cygwin*)
     11579    lt_cv_dlopen=dlopen
     11580    lt_cv_dlopen_libs=
     11581    ;;
     11582
     11583  darwin*)
     11584    # if libdl is installed we need to link against it
     11585    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
     11586$as_echo_n "checking for dlopen in -ldl... " >&6; }
     11587if ${ac_cv_lib_dl_dlopen+:} false; then :
     11588  $as_echo_n "(cached) " >&6
     11589else
     11590  ac_check_lib_save_LIBS=$LIBS
     11591LIBS="-ldl  $LIBS"
     11592cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     11593/* end confdefs.h.  */
     11594
     11595/* Override any GCC internal prototype to avoid an error.
     11596   Use char because int might match the return type of a GCC
     11597   builtin and then its argument prototype would still apply.  */
     11598#ifdef __cplusplus
     11599extern "C"
     11600#endif
     11601char dlopen ();
     11602int
     11603main ()
     11604{
     11605return dlopen ();
     11606  ;
     11607  return 0;
     11608}
     11609_ACEOF
     11610if ac_fn_c_try_link "$LINENO"; then :
     11611  ac_cv_lib_dl_dlopen=yes
     11612else
     11613  ac_cv_lib_dl_dlopen=no
     11614fi
     11615rm -f core conftest.err conftest.$ac_objext \
     11616    conftest$ac_exeext conftest.$ac_ext
     11617LIBS=$ac_check_lib_save_LIBS
     11618fi
     11619{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
     11620$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
     11621if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
     11622  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
     11623else
     11624
     11625    lt_cv_dlopen=dyld
     11626    lt_cv_dlopen_libs=
     11627    lt_cv_dlopen_self=yes
     11628
     11629fi
     11630
     11631    ;;
     11632
     11633  tpf*)
     11634    # Don't try to run any link tests for TPF.  We know it's impossible
     11635    # because TPF is a cross-compiler, and we know how we open DSOs.
     11636    lt_cv_dlopen=dlopen
     11637    lt_cv_dlopen_libs=
     11638    lt_cv_dlopen_self=no
     11639    ;;
     11640
     11641  *)
     11642    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
     11643if test "x$ac_cv_func_shl_load" = xyes; then :
     11644  lt_cv_dlopen=shl_load
     11645else
     11646  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
     11647$as_echo_n "checking for shl_load in -ldld... " >&6; }
     11648if ${ac_cv_lib_dld_shl_load+:} false; then :
     11649  $as_echo_n "(cached) " >&6
     11650else
     11651  ac_check_lib_save_LIBS=$LIBS
     11652LIBS="-ldld  $LIBS"
     11653cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     11654/* end confdefs.h.  */
     11655
     11656/* Override any GCC internal prototype to avoid an error.
     11657   Use char because int might match the return type of a GCC
     11658   builtin and then its argument prototype would still apply.  */
     11659#ifdef __cplusplus
     11660extern "C"
     11661#endif
     11662char shl_load ();
     11663int
     11664main ()
     11665{
     11666return shl_load ();
     11667  ;
     11668  return 0;
     11669}
     11670_ACEOF
     11671if ac_fn_c_try_link "$LINENO"; then :
     11672  ac_cv_lib_dld_shl_load=yes
     11673else
     11674  ac_cv_lib_dld_shl_load=no
     11675fi
     11676rm -f core conftest.err conftest.$ac_objext \
     11677    conftest$ac_exeext conftest.$ac_ext
     11678LIBS=$ac_check_lib_save_LIBS
     11679fi
     11680{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
     11681$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
     11682if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
     11683  lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
     11684else
     11685  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
     11686if test "x$ac_cv_func_dlopen" = xyes; then :
     11687  lt_cv_dlopen=dlopen
     11688else
     11689  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
     11690$as_echo_n "checking for dlopen in -ldl... " >&6; }
     11691if ${ac_cv_lib_dl_dlopen+:} false; then :
     11692  $as_echo_n "(cached) " >&6
     11693else
     11694  ac_check_lib_save_LIBS=$LIBS
     11695LIBS="-ldl  $LIBS"
     11696cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     11697/* end confdefs.h.  */
     11698
     11699/* Override any GCC internal prototype to avoid an error.
     11700   Use char because int might match the return type of a GCC
     11701   builtin and then its argument prototype would still apply.  */
     11702#ifdef __cplusplus
     11703extern "C"
     11704#endif
     11705char dlopen ();
     11706int
     11707main ()
     11708{
     11709return dlopen ();
     11710  ;
     11711  return 0;
     11712}
     11713_ACEOF
     11714if ac_fn_c_try_link "$LINENO"; then :
     11715  ac_cv_lib_dl_dlopen=yes
     11716else
     11717  ac_cv_lib_dl_dlopen=no
     11718fi
     11719rm -f core conftest.err conftest.$ac_objext \
     11720    conftest$ac_exeext conftest.$ac_ext
     11721LIBS=$ac_check_lib_save_LIBS
     11722fi
     11723{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
     11724$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
     11725if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
     11726  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
     11727else
     11728  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
     11729$as_echo_n "checking for dlopen in -lsvld... " >&6; }
     11730if ${ac_cv_lib_svld_dlopen+:} false; then :
     11731  $as_echo_n "(cached) " >&6
     11732else
     11733  ac_check_lib_save_LIBS=$LIBS
     11734LIBS="-lsvld  $LIBS"
     11735cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     11736/* end confdefs.h.  */
     11737
     11738/* Override any GCC internal prototype to avoid an error.
     11739   Use char because int might match the return type of a GCC
     11740   builtin and then its argument prototype would still apply.  */
     11741#ifdef __cplusplus
     11742extern "C"
     11743#endif
     11744char dlopen ();
     11745int
     11746main ()
     11747{
     11748return dlopen ();
     11749  ;
     11750  return 0;
     11751}
     11752_ACEOF
     11753if ac_fn_c_try_link "$LINENO"; then :
     11754  ac_cv_lib_svld_dlopen=yes
     11755else
     11756  ac_cv_lib_svld_dlopen=no
     11757fi
     11758rm -f core conftest.err conftest.$ac_objext \
     11759    conftest$ac_exeext conftest.$ac_ext
     11760LIBS=$ac_check_lib_save_LIBS
     11761fi
     11762{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
     11763$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
     11764if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
     11765  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
     11766else
     11767  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
     11768$as_echo_n "checking for dld_link in -ldld... " >&6; }
     11769if ${ac_cv_lib_dld_dld_link+:} false; then :
     11770  $as_echo_n "(cached) " >&6
     11771else
     11772  ac_check_lib_save_LIBS=$LIBS
     11773LIBS="-ldld  $LIBS"
     11774cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     11775/* end confdefs.h.  */
     11776
     11777/* Override any GCC internal prototype to avoid an error.
     11778   Use char because int might match the return type of a GCC
     11779   builtin and then its argument prototype would still apply.  */
     11780#ifdef __cplusplus
     11781extern "C"
     11782#endif
     11783char dld_link ();
     11784int
     11785main ()
     11786{
     11787return dld_link ();
     11788  ;
     11789  return 0;
     11790}
     11791_ACEOF
     11792if ac_fn_c_try_link "$LINENO"; then :
     11793  ac_cv_lib_dld_dld_link=yes
     11794else
     11795  ac_cv_lib_dld_dld_link=no
     11796fi
     11797rm -f core conftest.err conftest.$ac_objext \
     11798    conftest$ac_exeext conftest.$ac_ext
     11799LIBS=$ac_check_lib_save_LIBS
     11800fi
     11801{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
     11802$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
     11803if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
     11804  lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
     11805fi
     11806
     11807
     11808fi
     11809
     11810
     11811fi
     11812
     11813
     11814fi
     11815
     11816
     11817fi
     11818
     11819
     11820fi
     11821
     11822    ;;
     11823  esac
     11824
     11825  if test no = "$lt_cv_dlopen"; then
     11826    enable_dlopen=no
     11827  else
     11828    enable_dlopen=yes
     11829  fi
     11830
     11831  case $lt_cv_dlopen in
     11832  dlopen)
     11833    save_CPPFLAGS=$CPPFLAGS
     11834    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
     11835
     11836    save_LDFLAGS=$LDFLAGS
     11837    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
     11838
     11839    save_LIBS=$LIBS
     11840    LIBS="$lt_cv_dlopen_libs $LIBS"
     11841
     11842    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
     11843$as_echo_n "checking whether a program can dlopen itself... " >&6; }
     11844if ${lt_cv_dlopen_self+:} false; then :
     11845  $as_echo_n "(cached) " >&6
     11846else
     11847          if test yes = "$cross_compiling"; then :
     11848  lt_cv_dlopen_self=cross
     11849else
     11850  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
     11851  lt_status=$lt_dlunknown
     11852  cat > conftest.$ac_ext <<_LT_EOF
     11853#line $LINENO "configure"
     11854#include "confdefs.h"
     11855
     11856#if HAVE_DLFCN_H
     11857#include <dlfcn.h>
     11858#endif
     11859
     11860#include <stdio.h>
     11861
     11862#ifdef RTLD_GLOBAL
     11863#  define LT_DLGLOBAL           RTLD_GLOBAL
     11864#else
     11865#  ifdef DL_GLOBAL
     11866#    define LT_DLGLOBAL         DL_GLOBAL
     11867#  else
     11868#    define LT_DLGLOBAL         0
     11869#  endif
     11870#endif
     11871
     11872/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
     11873   find out it does not work in some platform. */
     11874#ifndef LT_DLLAZY_OR_NOW
     11875#  ifdef RTLD_LAZY
     11876#    define LT_DLLAZY_OR_NOW            RTLD_LAZY
     11877#  else
     11878#    ifdef DL_LAZY
     11879#      define LT_DLLAZY_OR_NOW          DL_LAZY
     11880#    else
     11881#      ifdef RTLD_NOW
     11882#        define LT_DLLAZY_OR_NOW        RTLD_NOW
     11883#      else
     11884#        ifdef DL_NOW
     11885#          define LT_DLLAZY_OR_NOW      DL_NOW
     11886#        else
     11887#          define LT_DLLAZY_OR_NOW      0
     11888#        endif
     11889#      endif
     11890#    endif
     11891#  endif
     11892#endif
     11893
     11894/* When -fvisibility=hidden is used, assume the code has been annotated
     11895   correspondingly for the symbols needed.  */
     11896#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
     11897int fnord () __attribute__((visibility("default")));
     11898#endif
     11899
     11900int fnord () { return 42; }
     11901int main ()
     11902{
     11903  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
     11904  int status = $lt_dlunknown;
     11905
     11906  if (self)
     11907    {
     11908      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
     11909      else
     11910        {
     11911          if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
     11912          else puts (dlerror ());
     11913        }
     11914      /* dlclose (self); */
     11915    }
     11916  else
     11917    puts (dlerror ());
     11918
     11919  return status;
     11920}
     11921_LT_EOF
     11922  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
     11923  (eval $ac_link) 2>&5
     11924  ac_status=$?
     11925  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     11926  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
     11927    (./conftest; exit; ) >&5 2>/dev/null
     11928    lt_status=$?
     11929    case x$lt_status in
     11930      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
     11931      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
     11932      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
     11933    esac
     11934  else :
     11935    # compilation failed
     11936    lt_cv_dlopen_self=no
     11937  fi
     11938fi
     11939rm -fr conftest*
     11940
     11941
     11942fi
     11943{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
     11944$as_echo "$lt_cv_dlopen_self" >&6; }
     11945
     11946    if test yes = "$lt_cv_dlopen_self"; then
     11947      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
     11948      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
     11949$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
     11950if ${lt_cv_dlopen_self_static+:} false; then :
     11951  $as_echo_n "(cached) " >&6
     11952else
     11953          if test yes = "$cross_compiling"; then :
     11954  lt_cv_dlopen_self_static=cross
     11955else
     11956  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
     11957  lt_status=$lt_dlunknown
     11958  cat > conftest.$ac_ext <<_LT_EOF
     11959#line $LINENO "configure"
     11960#include "confdefs.h"
     11961
     11962#if HAVE_DLFCN_H
     11963#include <dlfcn.h>
     11964#endif
     11965
     11966#include <stdio.h>
     11967
     11968#ifdef RTLD_GLOBAL
     11969#  define LT_DLGLOBAL           RTLD_GLOBAL
     11970#else
     11971#  ifdef DL_GLOBAL
     11972#    define LT_DLGLOBAL         DL_GLOBAL
     11973#  else
     11974#    define LT_DLGLOBAL         0
     11975#  endif
     11976#endif
     11977
     11978/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
     11979   find out it does not work in some platform. */
     11980#ifndef LT_DLLAZY_OR_NOW
     11981#  ifdef RTLD_LAZY
     11982#    define LT_DLLAZY_OR_NOW            RTLD_LAZY
     11983#  else
     11984#    ifdef DL_LAZY
     11985#      define LT_DLLAZY_OR_NOW          DL_LAZY
     11986#    else
     11987#      ifdef RTLD_NOW
     11988#        define LT_DLLAZY_OR_NOW        RTLD_NOW
     11989#      else
     11990#        ifdef DL_NOW
     11991#          define LT_DLLAZY_OR_NOW      DL_NOW
     11992#        else
     11993#          define LT_DLLAZY_OR_NOW      0
     11994#        endif
     11995#      endif
     11996#    endif
     11997#  endif
     11998#endif
     11999
     12000/* When -fvisibility=hidden is used, assume the code has been annotated
     12001   correspondingly for the symbols needed.  */
     12002#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
     12003int fnord () __attribute__((visibility("default")));
     12004#endif
     12005
     12006int fnord () { return 42; }
     12007int main ()
     12008{
     12009  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
     12010  int status = $lt_dlunknown;
     12011
     12012  if (self)
     12013    {
     12014      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
     12015      else
     12016        {
     12017          if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
     12018          else puts (dlerror ());
     12019        }
     12020      /* dlclose (self); */
     12021    }
     12022  else
     12023    puts (dlerror ());
     12024
     12025  return status;
     12026}
     12027_LT_EOF
     12028  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
     12029  (eval $ac_link) 2>&5
     12030  ac_status=$?
     12031  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     12032  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
     12033    (./conftest; exit; ) >&5 2>/dev/null
     12034    lt_status=$?
     12035    case x$lt_status in
     12036      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
     12037      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
     12038      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
     12039    esac
     12040  else :
     12041    # compilation failed
     12042    lt_cv_dlopen_self_static=no
     12043  fi
     12044fi
     12045rm -fr conftest*
     12046
     12047
     12048fi
     12049{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
     12050$as_echo "$lt_cv_dlopen_self_static" >&6; }
     12051    fi
     12052
     12053    CPPFLAGS=$save_CPPFLAGS
     12054    LDFLAGS=$save_LDFLAGS
     12055    LIBS=$save_LIBS
     12056    ;;
     12057  esac
     12058
     12059  case $lt_cv_dlopen_self in
     12060  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
     12061  *) enable_dlopen_self=unknown ;;
     12062  esac
     12063
     12064  case $lt_cv_dlopen_self_static in
     12065  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
     12066  *) enable_dlopen_self_static=unknown ;;
     12067  esac
     12068fi
     12069
     12070
     12071
     12072
     12073
     12074
     12075
     12076
     12077
     12078
     12079
     12080
     12081
     12082
     12083
     12084
     12085
     12086striplib=
     12087old_striplib=
     12088{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
     12089$as_echo_n "checking whether stripping libraries is possible... " >&6; }
     12090if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
     12091  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
     12092  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
     12093  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
     12094$as_echo "yes" >&6; }
     12095else
     12096# FIXME - insert some real tests, host_os isn't really good enough
     12097  case $host_os in
     12098  darwin*)
     12099    if test -n "$STRIP"; then
     12100      striplib="$STRIP -x"
     12101      old_striplib="$STRIP -S"
     12102      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
     12103$as_echo "yes" >&6; }
     12104    else
     12105      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     12106$as_echo "no" >&6; }
     12107    fi
     12108    ;;
     12109  *)
     12110    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     12111$as_echo "no" >&6; }
     12112    ;;
     12113  esac
     12114fi
     12115
     12116
     12117
     12118
     12119
     12120
     12121
     12122
     12123
     12124
     12125
     12126
     12127  # Report what library types will actually be built
     12128  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
     12129$as_echo_n "checking if libtool supports shared libraries... " >&6; }
     12130  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
     12131$as_echo "$can_build_shared" >&6; }
     12132
     12133  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
     12134$as_echo_n "checking whether to build shared libraries... " >&6; }
     12135  test no = "$can_build_shared" && enable_shared=no
     12136
     12137  # On AIX, shared libraries and static libraries use the same namespace, and
     12138  # are all built from PIC.
     12139  case $host_os in
     12140  aix3*)
     12141    test yes = "$enable_shared" && enable_static=no
     12142    if test -n "$RANLIB"; then
     12143      archive_cmds="$archive_cmds~\$RANLIB \$lib"
     12144      postinstall_cmds='$RANLIB $lib'
     12145    fi
     12146    ;;
     12147
     12148  aix[4-9]*)
     12149    if test ia64 != "$host_cpu"; then
     12150      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
     12151      yes,aix,yes) ;;                   # shared object as lib.so file only
     12152      yes,svr4,*) ;;                    # shared object as lib.so archive member only
     12153      yes,*) enable_static=no ;;        # shared object in lib.a archive as well
     12154      esac
     12155    fi
     12156    ;;
     12157  esac
     12158  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
     12159$as_echo "$enable_shared" >&6; }
     12160
     12161  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
     12162$as_echo_n "checking whether to build static libraries... " >&6; }
     12163  # Make sure either enable_shared or enable_static is yes.
     12164  test yes = "$enable_shared" || enable_static=yes
     12165  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
     12166$as_echo "$enable_static" >&6; }
     12167
     12168
     12169
     12170
     12171fi
     12172ac_ext=c
     12173ac_cpp='$CPP $CPPFLAGS'
     12174ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     12175ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     12176ac_compiler_gnu=$ac_cv_c_compiler_gnu
     12177
     12178CC=$lt_save_CC
     12179
     12180
     12181
     12182
     12183
     12184
     12185
     12186
     12187
     12188
     12189
     12190
     12191
     12192
     12193
     12194        ac_config_commands="$ac_config_commands libtool"
     12195
     12196
     12197
     12198
     12199# Only expand once:
     12200
     12201
     12202
     12203ac_ext=cpp
     12204ac_cpp='$CXXCPP $CPPFLAGS'
     12205ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     12206ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     12207ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
     12208if test -z "$CXX"; then
     12209  if test -n "$CCC"; then
     12210    CXX=$CCC
     12211  else
     12212    if test -n "$ac_tool_prefix"; then
     12213  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
     12214  do
     12215    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
     12216set dummy $ac_tool_prefix$ac_prog; ac_word=$2
     12217{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     12218$as_echo_n "checking for $ac_word... " >&6; }
     12219if ${ac_cv_prog_CXX+:} false; then :
     12220  $as_echo_n "(cached) " >&6
     12221else
     12222  if test -n "$CXX"; then
     12223  ac_cv_prog_CXX="$CXX" # Let the user override the test.
     12224else
     12225as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     12226for as_dir in $PATH
     12227do
     12228  IFS=$as_save_IFS
     12229  test -z "$as_dir" && as_dir=.
     12230    for ac_exec_ext in '' $ac_executable_extensions; do
     12231  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     12232    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
     12233    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     12234    break 2
     12235  fi
     12236done
     12237  done
     12238IFS=$as_save_IFS
     12239
     12240fi
     12241fi
     12242CXX=$ac_cv_prog_CXX
     12243if test -n "$CXX"; then
     12244  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
     12245$as_echo "$CXX" >&6; }
     12246else
     12247  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     12248$as_echo "no" >&6; }
     12249fi
     12250
     12251
     12252    test -n "$CXX" && break
     12253  done
     12254fi
     12255if test -z "$CXX"; then
     12256  ac_ct_CXX=$CXX
     12257  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
     12258do
     12259  # Extract the first word of "$ac_prog", so it can be a program name with args.
     12260set dummy $ac_prog; ac_word=$2
     12261{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     12262$as_echo_n "checking for $ac_word... " >&6; }
     12263if ${ac_cv_prog_ac_ct_CXX+:} false; then :
     12264  $as_echo_n "(cached) " >&6
     12265else
     12266  if test -n "$ac_ct_CXX"; then
     12267  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
     12268else
     12269as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     12270for as_dir in $PATH
     12271do
     12272  IFS=$as_save_IFS
     12273  test -z "$as_dir" && as_dir=.
     12274    for ac_exec_ext in '' $ac_executable_extensions; do
     12275  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     12276    ac_cv_prog_ac_ct_CXX="$ac_prog"
     12277    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     12278    break 2
     12279  fi
     12280done
     12281  done
     12282IFS=$as_save_IFS
     12283
     12284fi
     12285fi
     12286ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
     12287if test -n "$ac_ct_CXX"; then
     12288  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
     12289$as_echo "$ac_ct_CXX" >&6; }
     12290else
     12291  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     12292$as_echo "no" >&6; }
     12293fi
     12294
     12295
     12296  test -n "$ac_ct_CXX" && break
     12297done
     12298
     12299  if test "x$ac_ct_CXX" = x; then
     12300    CXX="g++"
     12301  else
     12302    case $cross_compiling:$ac_tool_warned in
     12303yes:)
     12304{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     12305$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     12306ac_tool_warned=yes ;;
     12307esac
     12308    CXX=$ac_ct_CXX
     12309  fi
     12310fi
     12311
     12312  fi
     12313fi
     12314# Provide some information about the compiler.
     12315$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
     12316set X $ac_compile
     12317ac_compiler=$2
     12318for ac_option in --version -v -V -qversion; do
     12319  { { ac_try="$ac_compiler $ac_option >&5"
     12320case "(($ac_try" in
     12321  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
     12322  *) ac_try_echo=$ac_try;;
     12323esac
     12324eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
     12325$as_echo "$ac_try_echo"; } >&5
     12326  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
     12327  ac_status=$?
     12328  if test -s conftest.err; then
     12329    sed '10a\
     12330... rest of stderr output deleted ...
     12331         10q' conftest.err >conftest.er1
     12332    cat conftest.er1 >&5
     12333  fi
     12334  rm -f conftest.er1 conftest.err
     12335  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     12336  test $ac_status = 0; }
     12337done
     12338
    303612339{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
    303712340$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
     
    315412457ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
    315512458ac_compiler_gnu=$ac_cv_c_compiler_gnu
    3156 DEPDIR="${am__leading_dot}deps"
    3157 
    3158 ac_config_commands="$ac_config_commands depfiles"
    3159 
    3160 
    3161 am_make=${MAKE-make}
    3162 cat > confinc << 'END'
    3163 am__doit:
    3164         @echo this is the am__doit target
    3165 .PHONY: am__doit
    3166 END
    3167 # If we don't find an include directive, just comment out the code.
    3168 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
    3169 $as_echo_n "checking for style of include used by $am_make... " >&6; }
    3170 am__include="#"
    3171 am__quote=
    3172 _am_result=none
    3173 # First try GNU make style include.
    3174 echo "include confinc" > confmf
    3175 # Ignore all kinds of additional output from 'make'.
    3176 case `$am_make -s -f confmf 2> /dev/null` in #(
    3177 *the\ am__doit\ target*)
    3178   am__include=include
    3179   am__quote=
    3180   _am_result=GNU
    3181   ;;
    3182 esac
    3183 # Now try BSD make style include.
    3184 if test "$am__include" = "#"; then
    3185    echo '.include "confinc"' > confmf
    3186    case `$am_make -s -f confmf 2> /dev/null` in #(
    3187    *the\ am__doit\ target*)
    3188      am__include=.include
    3189      am__quote="\""
    3190      _am_result=BSD
    3191      ;;
    3192    esac
    3193 fi
    3194 
    3195 
    3196 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
    3197 $as_echo "$_am_result" >&6; }
    3198 rm -f confinc confmf
    3199 
    3200 # Check whether --enable-dependency-tracking was given.
    3201 if test "${enable_dependency_tracking+set}" = set; then :
    3202   enableval=$enable_dependency_tracking;
    3203 fi
    3204 
    3205 if test "x$enable_dependency_tracking" != xno; then
    3206   am_depcomp="$ac_aux_dir/depcomp"
    3207   AMDEPBACKSLASH='\'
    3208   am__nodep='_no'
    3209 fi
    3210  if test "x$enable_dependency_tracking" != xno; then
    3211   AMDEP_TRUE=
    3212   AMDEP_FALSE='#'
    3213 else
    3214   AMDEP_TRUE='#'
    3215   AMDEP_FALSE=
    3216 fi
    3217 
    3218 
    321912459
    322012460depcc="$CXX"  am_compiler_list=
     
    334612586
    334712587
     12588
     12589
     12590func_stripname_cnf ()
     12591{
     12592  case $2 in
     12593  .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;;
     12594  *)  func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;;
     12595  esac
     12596} # func_stripname_cnf
     12597
     12598      if test -n "$CXX" && ( test no != "$CXX" &&
     12599    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
     12600    (test g++ != "$CXX"))); then
     12601  ac_ext=cpp
     12602ac_cpp='$CXXCPP $CPPFLAGS'
     12603ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     12604ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     12605ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
     12606{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
     12607$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
     12608if test -z "$CXXCPP"; then
     12609  if ${ac_cv_prog_CXXCPP+:} false; then :
     12610  $as_echo_n "(cached) " >&6
     12611else
     12612      # Double quotes because CXXCPP needs to be expanded
     12613    for CXXCPP in "$CXX -E" "/lib/cpp"
     12614    do
     12615      ac_preproc_ok=false
     12616for ac_cxx_preproc_warn_flag in '' yes
     12617do
     12618  # Use a header file that comes with gcc, so configuring glibc
     12619  # with a fresh cross-compiler works.
     12620  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     12621  # <limits.h> exists even on freestanding compilers.
     12622  # On the NeXT, cc -E runs the code through the compiler's parser,
     12623  # not just through cpp. "Syntax error" is here to catch this case.
     12624  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     12625/* end confdefs.h.  */
     12626#ifdef __STDC__
     12627# include <limits.h>
     12628#else
     12629# include <assert.h>
     12630#endif
     12631                     Syntax error
     12632_ACEOF
     12633if ac_fn_cxx_try_cpp "$LINENO"; then :
     12634
     12635else
     12636  # Broken: fails on valid input.
     12637continue
     12638fi
     12639rm -f conftest.err conftest.i conftest.$ac_ext
     12640
     12641  # OK, works on sane cases.  Now check whether nonexistent headers
     12642  # can be detected and how.
     12643  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     12644/* end confdefs.h.  */
     12645#include <ac_nonexistent.h>
     12646_ACEOF
     12647if ac_fn_cxx_try_cpp "$LINENO"; then :
     12648  # Broken: success on invalid input.
     12649continue
     12650else
     12651  # Passes both tests.
     12652ac_preproc_ok=:
     12653break
     12654fi
     12655rm -f conftest.err conftest.i conftest.$ac_ext
     12656
     12657done
     12658# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
     12659rm -f conftest.i conftest.err conftest.$ac_ext
     12660if $ac_preproc_ok; then :
     12661  break
     12662fi
     12663
     12664    done
     12665    ac_cv_prog_CXXCPP=$CXXCPP
     12666
     12667fi
     12668  CXXCPP=$ac_cv_prog_CXXCPP
     12669else
     12670  ac_cv_prog_CXXCPP=$CXXCPP
     12671fi
     12672{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
     12673$as_echo "$CXXCPP" >&6; }
     12674ac_preproc_ok=false
     12675for ac_cxx_preproc_warn_flag in '' yes
     12676do
     12677  # Use a header file that comes with gcc, so configuring glibc
     12678  # with a fresh cross-compiler works.
     12679  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     12680  # <limits.h> exists even on freestanding compilers.
     12681  # On the NeXT, cc -E runs the code through the compiler's parser,
     12682  # not just through cpp. "Syntax error" is here to catch this case.
     12683  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     12684/* end confdefs.h.  */
     12685#ifdef __STDC__
     12686# include <limits.h>
     12687#else
     12688# include <assert.h>
     12689#endif
     12690                     Syntax error
     12691_ACEOF
     12692if ac_fn_cxx_try_cpp "$LINENO"; then :
     12693
     12694else
     12695  # Broken: fails on valid input.
     12696continue
     12697fi
     12698rm -f conftest.err conftest.i conftest.$ac_ext
     12699
     12700  # OK, works on sane cases.  Now check whether nonexistent headers
     12701  # can be detected and how.
     12702  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     12703/* end confdefs.h.  */
     12704#include <ac_nonexistent.h>
     12705_ACEOF
     12706if ac_fn_cxx_try_cpp "$LINENO"; then :
     12707  # Broken: success on invalid input.
     12708continue
     12709else
     12710  # Passes both tests.
     12711ac_preproc_ok=:
     12712break
     12713fi
     12714rm -f conftest.err conftest.i conftest.$ac_ext
     12715
     12716done
     12717# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
     12718rm -f conftest.i conftest.err conftest.$ac_ext
     12719if $ac_preproc_ok; then :
     12720
     12721else
     12722  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     12723$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     12724as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
     12725See \`config.log' for more details" "$LINENO" 5; }
     12726fi
     12727
     12728ac_ext=c
     12729ac_cpp='$CPP $CPPFLAGS'
     12730ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     12731ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     12732ac_compiler_gnu=$ac_cv_c_compiler_gnu
     12733
     12734else
     12735  _lt_caught_CXX_error=yes
     12736fi
     12737
     12738ac_ext=cpp
     12739ac_cpp='$CXXCPP $CPPFLAGS'
     12740ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     12741ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     12742ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
     12743
     12744archive_cmds_need_lc_CXX=no
     12745allow_undefined_flag_CXX=
     12746always_export_symbols_CXX=no
     12747archive_expsym_cmds_CXX=
     12748compiler_needs_object_CXX=no
     12749export_dynamic_flag_spec_CXX=
     12750hardcode_direct_CXX=no
     12751hardcode_direct_absolute_CXX=no
     12752hardcode_libdir_flag_spec_CXX=
     12753hardcode_libdir_separator_CXX=
     12754hardcode_minus_L_CXX=no
     12755hardcode_shlibpath_var_CXX=unsupported
     12756hardcode_automatic_CXX=no
     12757inherit_rpath_CXX=no
     12758module_cmds_CXX=
     12759module_expsym_cmds_CXX=
     12760link_all_deplibs_CXX=unknown
     12761old_archive_cmds_CXX=$old_archive_cmds
     12762reload_flag_CXX=$reload_flag
     12763reload_cmds_CXX=$reload_cmds
     12764no_undefined_flag_CXX=
     12765whole_archive_flag_spec_CXX=
     12766enable_shared_with_static_runtimes_CXX=no
     12767
     12768# Source file extension for C++ test sources.
     12769ac_ext=cpp
     12770
     12771# Object file extension for compiled C++ test sources.
     12772objext=o
     12773objext_CXX=$objext
     12774
     12775# No sense in running all these tests if we already determined that
     12776# the CXX compiler isn't working.  Some variables (like enable_shared)
     12777# are currently assumed to apply to all compilers on this platform,
     12778# and will be corrupted by setting them based on a non-working compiler.
     12779if test yes != "$_lt_caught_CXX_error"; then
     12780  # Code to be used in simple compile tests
     12781  lt_simple_compile_test_code="int some_variable = 0;"
     12782
     12783  # Code to be used in simple link tests
     12784  lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
     12785
     12786  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
     12787
     12788
     12789
     12790
     12791
     12792
     12793# If no C compiler was specified, use CC.
     12794LTCC=${LTCC-"$CC"}
     12795
     12796# If no C compiler flags were specified, use CFLAGS.
     12797LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
     12798
     12799# Allow CC to be a program name with arguments.
     12800compiler=$CC
     12801
     12802
     12803  # save warnings/boilerplate of simple test code
     12804  ac_outfile=conftest.$ac_objext
     12805echo "$lt_simple_compile_test_code" >conftest.$ac_ext
     12806eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
     12807_lt_compiler_boilerplate=`cat conftest.err`
     12808$RM conftest*
     12809
     12810  ac_outfile=conftest.$ac_objext
     12811echo "$lt_simple_link_test_code" >conftest.$ac_ext
     12812eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
     12813_lt_linker_boilerplate=`cat conftest.err`
     12814$RM -r conftest*
     12815
     12816
     12817  # Allow CC to be a program name with arguments.
     12818  lt_save_CC=$CC
     12819  lt_save_CFLAGS=$CFLAGS
     12820  lt_save_LD=$LD
     12821  lt_save_GCC=$GCC
     12822  GCC=$GXX
     12823  lt_save_with_gnu_ld=$with_gnu_ld
     12824  lt_save_path_LD=$lt_cv_path_LD
     12825  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
     12826    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
     12827  else
     12828    $as_unset lt_cv_prog_gnu_ld
     12829  fi
     12830  if test -n "${lt_cv_path_LDCXX+set}"; then
     12831    lt_cv_path_LD=$lt_cv_path_LDCXX
     12832  else
     12833    $as_unset lt_cv_path_LD
     12834  fi
     12835  test -z "${LDCXX+set}" || LD=$LDCXX
     12836  CC=${CXX-"c++"}
     12837  CFLAGS=$CXXFLAGS
     12838  compiler=$CC
     12839  compiler_CXX=$CC
     12840  func_cc_basename $compiler
     12841cc_basename=$func_cc_basename_result
     12842
     12843
     12844  if test -n "$compiler"; then
     12845    # We don't want -fno-exception when compiling C++ code, so set the
     12846    # no_builtin_flag separately
     12847    if test yes = "$GXX"; then
     12848      lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
     12849    else
     12850      lt_prog_compiler_no_builtin_flag_CXX=
     12851    fi
     12852
     12853    if test yes = "$GXX"; then
     12854      # Set up default GNU C++ configuration
     12855
     12856
     12857
     12858# Check whether --with-gnu-ld was given.
     12859if test "${with_gnu_ld+set}" = set; then :
     12860  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
     12861else
     12862  with_gnu_ld=no
     12863fi
     12864
     12865ac_prog=ld
     12866if test yes = "$GCC"; then
     12867  # Check if gcc -print-prog-name=ld gives a path.
     12868  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
     12869$as_echo_n "checking for ld used by $CC... " >&6; }
     12870  case $host in
     12871  *-*-mingw*)
     12872    # gcc leaves a trailing carriage return, which upsets mingw
     12873    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
     12874  *)
     12875    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
     12876  esac
     12877  case $ac_prog in
     12878    # Accept absolute paths.
     12879    [\\/]* | ?:[\\/]*)
     12880      re_direlt='/[^/][^/]*/\.\./'
     12881      # Canonicalize the pathname of ld
     12882      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
     12883      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
     12884        ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
     12885      done
     12886      test -z "$LD" && LD=$ac_prog
     12887      ;;
     12888  "")
     12889    # If it fails, then pretend we aren't using GCC.
     12890    ac_prog=ld
     12891    ;;
     12892  *)
     12893    # If it is relative, then search for the first ld in PATH.
     12894    with_gnu_ld=unknown
     12895    ;;
     12896  esac
     12897elif test yes = "$with_gnu_ld"; then
     12898  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
     12899$as_echo_n "checking for GNU ld... " >&6; }
     12900else
     12901  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
     12902$as_echo_n "checking for non-GNU ld... " >&6; }
     12903fi
     12904if ${lt_cv_path_LD+:} false; then :
     12905  $as_echo_n "(cached) " >&6
     12906else
     12907  if test -z "$LD"; then
     12908  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     12909  for ac_dir in $PATH; do
     12910    IFS=$lt_save_ifs
     12911    test -z "$ac_dir" && ac_dir=.
     12912    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
     12913      lt_cv_path_LD=$ac_dir/$ac_prog
     12914      # Check to see if the program is GNU ld.  I'd rather use --version,
     12915      # but apparently some variants of GNU ld only accept -v.
     12916      # Break only if it was the GNU/non-GNU ld that we prefer.
     12917      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
     12918      *GNU* | *'with BFD'*)
     12919        test no != "$with_gnu_ld" && break
     12920        ;;
     12921      *)
     12922        test yes != "$with_gnu_ld" && break
     12923        ;;
     12924      esac
     12925    fi
     12926  done
     12927  IFS=$lt_save_ifs
     12928else
     12929  lt_cv_path_LD=$LD # Let the user override the test with a path.
     12930fi
     12931fi
     12932
     12933LD=$lt_cv_path_LD
     12934if test -n "$LD"; then
     12935  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
     12936$as_echo "$LD" >&6; }
     12937else
     12938  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     12939$as_echo "no" >&6; }
     12940fi
     12941test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
     12942{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
     12943$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
     12944if ${lt_cv_prog_gnu_ld+:} false; then :
     12945  $as_echo_n "(cached) " >&6
     12946else
     12947  # I'd rather use --version here, but apparently some GNU lds only accept -v.
     12948case `$LD -v 2>&1 </dev/null` in
     12949*GNU* | *'with BFD'*)
     12950  lt_cv_prog_gnu_ld=yes
     12951  ;;
     12952*)
     12953  lt_cv_prog_gnu_ld=no
     12954  ;;
     12955esac
     12956fi
     12957{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
     12958$as_echo "$lt_cv_prog_gnu_ld" >&6; }
     12959with_gnu_ld=$lt_cv_prog_gnu_ld
     12960
     12961
     12962
     12963
     12964
     12965
     12966
     12967      # Check if GNU C++ uses GNU ld as the underlying linker, since the
     12968      # archiving commands below assume that GNU ld is being used.
     12969      if test yes = "$with_gnu_ld"; then
     12970        archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
     12971        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'
     12972
     12973        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
     12974        export_dynamic_flag_spec_CXX='$wl--export-dynamic'
     12975
     12976        # If archive_cmds runs LD, not CC, wlarc should be empty
     12977        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
     12978        #     investigate it a little bit more. (MM)
     12979        wlarc='$wl'
     12980
     12981        # ancient GNU ld didn't support --whole-archive et. al.
     12982        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
     12983          $GREP 'no-whole-archive' > /dev/null; then
     12984          whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
     12985        else
     12986          whole_archive_flag_spec_CXX=
     12987        fi
     12988      else
     12989        with_gnu_ld=no
     12990        wlarc=
     12991
     12992        # A generic and very simple default shared library creation
     12993        # command for GNU C++ for the case where it uses the native
     12994        # linker, instead of GNU ld.  If possible, this setting should
     12995        # overridden to take advantage of the native linker features on
     12996        # the platform it is being used on.
     12997        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
     12998      fi
     12999
     13000      # Commands to make compiler produce verbose output that lists
     13001      # what "hidden" libraries, object files and flags are used when
     13002      # linking a shared library.
     13003      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
     13004
     13005    else
     13006      GXX=no
     13007      with_gnu_ld=no
     13008      wlarc=
     13009    fi
     13010
     13011    # PORTME: fill in a description of your system's C++ link characteristics
     13012    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
     13013$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
     13014    ld_shlibs_CXX=yes
     13015    case $host_os in
     13016      aix3*)
     13017        # FIXME: insert proper C++ library support
     13018        ld_shlibs_CXX=no
     13019        ;;
     13020      aix[4-9]*)
     13021        if test ia64 = "$host_cpu"; then
     13022          # On IA64, the linker does run time linking by default, so we don't
     13023          # have to do anything special.
     13024          aix_use_runtimelinking=no
     13025          exp_sym_flag='-Bexport'
     13026          no_entry_flag=
     13027        else
     13028          aix_use_runtimelinking=no
     13029
     13030          # Test if we are trying to use run time linking or normal
     13031          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
     13032          # have runtime linking enabled, and use it for executables.
     13033          # For shared libraries, we enable/disable runtime linking
     13034          # depending on the kind of the shared library created -
     13035          # when "with_aix_soname,aix_use_runtimelinking" is:
     13036          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
     13037          # "aix,yes"  lib.so          shared, rtl:yes, for executables
     13038          #            lib.a           static archive
     13039          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
     13040          #            lib.a(lib.so.V) shared, rtl:no,  for executables
     13041          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
     13042          #            lib.a(lib.so.V) shared, rtl:no
     13043          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
     13044          #            lib.a           static archive
     13045          case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
     13046            for ld_flag in $LDFLAGS; do
     13047              case $ld_flag in
     13048              *-brtl*)
     13049                aix_use_runtimelinking=yes
     13050                break
     13051                ;;
     13052              esac
     13053            done
     13054            if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
     13055              # With aix-soname=svr4, we create the lib.so.V shared archives only,
     13056              # so we don't have lib.a shared libs to link our executables.
     13057              # We have to force runtime linking in this case.
     13058              aix_use_runtimelinking=yes
     13059              LDFLAGS="$LDFLAGS -Wl,-brtl"
     13060            fi
     13061            ;;
     13062          esac
     13063
     13064          exp_sym_flag='-bexport'
     13065          no_entry_flag='-bnoentry'
     13066        fi
     13067
     13068        # When large executables or shared objects are built, AIX ld can
     13069        # have problems creating the table of contents.  If linking a library
     13070        # or program results in "error TOC overflow" add -mminimal-toc to
     13071        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
     13072        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
     13073
     13074        archive_cmds_CXX=''
     13075        hardcode_direct_CXX=yes
     13076        hardcode_direct_absolute_CXX=yes
     13077        hardcode_libdir_separator_CXX=':'
     13078        link_all_deplibs_CXX=yes
     13079        file_list_spec_CXX='$wl-f,'
     13080        case $with_aix_soname,$aix_use_runtimelinking in
     13081        aix,*) ;;       # no import file
     13082        svr4,* | *,yes) # use import file
     13083          # The Import File defines what to hardcode.
     13084          hardcode_direct_CXX=no
     13085          hardcode_direct_absolute_CXX=no
     13086          ;;
     13087        esac
     13088
     13089        if test yes = "$GXX"; then
     13090          case $host_os in aix4.[012]|aix4.[012].*)
     13091          # We only want to do this on AIX 4.2 and lower, the check
     13092          # below for broken collect2 doesn't work under 4.3+
     13093          collect2name=`$CC -print-prog-name=collect2`
     13094          if test -f "$collect2name" &&
     13095             strings "$collect2name" | $GREP resolve_lib_name >/dev/null
     13096          then
     13097            # We have reworked collect2
     13098            :
     13099          else
     13100            # We have old collect2
     13101            hardcode_direct_CXX=unsupported
     13102            # It fails to find uninstalled libraries when the uninstalled
     13103            # path is not listed in the libpath.  Setting hardcode_minus_L
     13104            # to unsupported forces relinking
     13105            hardcode_minus_L_CXX=yes
     13106            hardcode_libdir_flag_spec_CXX='-L$libdir'
     13107            hardcode_libdir_separator_CXX=
     13108          fi
     13109          esac
     13110          shared_flag='-shared'
     13111          if test yes = "$aix_use_runtimelinking"; then
     13112            shared_flag=$shared_flag' $wl-G'
     13113          fi
     13114          # Need to ensure runtime linking is disabled for the traditional
     13115          # shared library, or the linker may eventually find shared libraries
     13116          # /with/ Import File - we do not want to mix them.
     13117          shared_flag_aix='-shared'
     13118          shared_flag_svr4='-shared $wl-G'
     13119        else
     13120          # not using gcc
     13121          if test ia64 = "$host_cpu"; then
     13122          # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
     13123          # chokes on -Wl,-G. The following line is correct:
     13124          shared_flag='-G'
     13125          else
     13126            if test yes = "$aix_use_runtimelinking"; then
     13127              shared_flag='$wl-G'
     13128            else
     13129              shared_flag='$wl-bM:SRE'
     13130            fi
     13131            shared_flag_aix='$wl-bM:SRE'
     13132            shared_flag_svr4='$wl-G'
     13133          fi
     13134        fi
     13135
     13136        export_dynamic_flag_spec_CXX='$wl-bexpall'
     13137        # It seems that -bexpall does not export symbols beginning with
     13138        # underscore (_), so it is better to generate a list of symbols to
     13139        # export.
     13140        always_export_symbols_CXX=yes
     13141        if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
     13142          # Warning - without using the other runtime loading flags (-brtl),
     13143          # -berok will link without error, but may produce a broken library.
     13144          # The "-G" linker flag allows undefined symbols.
     13145          no_undefined_flag_CXX='-bernotok'
     13146          # Determine the default libpath from the value encoded in an empty
     13147          # executable.
     13148          if test set = "${lt_cv_aix_libpath+set}"; then
     13149  aix_libpath=$lt_cv_aix_libpath
     13150else
     13151  if ${lt_cv_aix_libpath__CXX+:} false; then :
     13152  $as_echo_n "(cached) " >&6
     13153else
     13154  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     13155/* end confdefs.h.  */
     13156
     13157int
     13158main ()
     13159{
     13160
     13161  ;
     13162  return 0;
     13163}
     13164_ACEOF
     13165if ac_fn_cxx_try_link "$LINENO"; then :
     13166
     13167  lt_aix_libpath_sed='
     13168      /Import File Strings/,/^$/ {
     13169          /^0/ {
     13170              s/^0  *\([^ ]*\) *$/\1/
     13171              p
     13172          }
     13173      }'
     13174  lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     13175  # Check for a 64-bit object if we didn't find anything.
     13176  if test -z "$lt_cv_aix_libpath__CXX"; then
     13177    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     13178  fi
     13179fi
     13180rm -f core conftest.err conftest.$ac_objext \
     13181    conftest$ac_exeext conftest.$ac_ext
     13182  if test -z "$lt_cv_aix_libpath__CXX"; then
     13183    lt_cv_aix_libpath__CXX=/usr/lib:/lib
     13184  fi
     13185
     13186fi
     13187
     13188  aix_libpath=$lt_cv_aix_libpath__CXX
     13189fi
     13190
     13191          hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
     13192
     13193          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
     13194        else
     13195          if test ia64 = "$host_cpu"; then
     13196            hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib'
     13197            allow_undefined_flag_CXX="-z nodefs"
     13198            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"
     13199          else
     13200            # Determine the default libpath from the value encoded in an
     13201            # empty executable.
     13202            if test set = "${lt_cv_aix_libpath+set}"; then
     13203  aix_libpath=$lt_cv_aix_libpath
     13204else
     13205  if ${lt_cv_aix_libpath__CXX+:} false; then :
     13206  $as_echo_n "(cached) " >&6
     13207else
     13208  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     13209/* end confdefs.h.  */
     13210
     13211int
     13212main ()
     13213{
     13214
     13215  ;
     13216  return 0;
     13217}
     13218_ACEOF
     13219if ac_fn_cxx_try_link "$LINENO"; then :
     13220
     13221  lt_aix_libpath_sed='
     13222      /Import File Strings/,/^$/ {
     13223          /^0/ {
     13224              s/^0  *\([^ ]*\) *$/\1/
     13225              p
     13226          }
     13227      }'
     13228  lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     13229  # Check for a 64-bit object if we didn't find anything.
     13230  if test -z "$lt_cv_aix_libpath__CXX"; then
     13231    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     13232  fi
     13233fi
     13234rm -f core conftest.err conftest.$ac_objext \
     13235    conftest$ac_exeext conftest.$ac_ext
     13236  if test -z "$lt_cv_aix_libpath__CXX"; then
     13237    lt_cv_aix_libpath__CXX=/usr/lib:/lib
     13238  fi
     13239
     13240fi
     13241
     13242  aix_libpath=$lt_cv_aix_libpath__CXX
     13243fi
     13244
     13245            hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
     13246            # Warning - without using the other run time loading flags,
     13247            # -berok will link without error, but may produce a broken library.
     13248            no_undefined_flag_CXX=' $wl-bernotok'
     13249            allow_undefined_flag_CXX=' $wl-berok'
     13250            if test yes = "$with_gnu_ld"; then
     13251              # We only use this code for GNU lds that support --whole-archive.
     13252              whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
     13253            else
     13254              # Exported symbols can be pulled into shared objects from archives
     13255              whole_archive_flag_spec_CXX='$convenience'
     13256            fi
     13257            archive_cmds_need_lc_CXX=yes
     13258            archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
     13259            # -brtl affects multiple linker settings, -berok does not and is overridden later
     13260            compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
     13261            if test svr4 != "$with_aix_soname"; then
     13262              # This is similar to how AIX traditionally builds its shared
     13263              # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
     13264              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'
     13265            fi
     13266            if test aix != "$with_aix_soname"; then
     13267              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'
     13268            else
     13269              # used by -dlpreopen to get the symbols
     13270              archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
     13271            fi
     13272            archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d'
     13273          fi
     13274        fi
     13275        ;;
     13276
     13277      beos*)
     13278        if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
     13279          allow_undefined_flag_CXX=unsupported
     13280          # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
     13281          # support --undefined.  This deserves some investigation.  FIXME
     13282          archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     13283        else
     13284          ld_shlibs_CXX=no
     13285        fi
     13286        ;;
     13287
     13288      chorus*)
     13289        case $cc_basename in
     13290          *)
     13291          # FIXME: insert proper C++ library support
     13292          ld_shlibs_CXX=no
     13293          ;;
     13294        esac
     13295        ;;
     13296
     13297      cygwin* | mingw* | pw32* | cegcc*)
     13298        case $GXX,$cc_basename in
     13299        ,cl* | no,cl*)
     13300          # Native MSVC
     13301          # hardcode_libdir_flag_spec is actually meaningless, as there is
     13302          # no search path for DLLs.
     13303          hardcode_libdir_flag_spec_CXX=' '
     13304          allow_undefined_flag_CXX=unsupported
     13305          always_export_symbols_CXX=yes
     13306          file_list_spec_CXX='@'
     13307          # Tell ltmain to make .lib files, not .a files.
     13308          libext=lib
     13309          # Tell ltmain to make .dll files, not .so files.
     13310          shrext_cmds=.dll
     13311          # FIXME: Setting linknames here is a bad hack.
     13312          archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
     13313          archive_expsym_cmds_CXX='if   test DEF = "`$SED -n     -e '\''s/^[     ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
     13314              cp "$export_symbols" "$output_objdir/$soname.def";
     13315              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
     13316            else
     13317              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
     13318            fi~
     13319            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
     13320            linknames='
     13321          # The linker will not automatically build a static lib if we build a DLL.
     13322          # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
     13323          enable_shared_with_static_runtimes_CXX=yes
     13324          # Don't use ranlib
     13325          old_postinstall_cmds_CXX='chmod 644 $oldlib'
     13326          postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
     13327            lt_tool_outputfile="@TOOL_OUTPUT@"~
     13328            case $lt_outputfile in
     13329              *.exe|*.EXE) ;;
     13330              *)
     13331                lt_outputfile=$lt_outputfile.exe
     13332                lt_tool_outputfile=$lt_tool_outputfile.exe
     13333                ;;
     13334            esac~
     13335            func_to_tool_file "$lt_outputfile"~
     13336            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
     13337              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
     13338              $RM "$lt_outputfile.manifest";
     13339            fi'
     13340          ;;
     13341        *)
     13342          # g++
     13343          # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
     13344          # as there is no search path for DLLs.
     13345          hardcode_libdir_flag_spec_CXX='-L$libdir'
     13346          export_dynamic_flag_spec_CXX='$wl--export-all-symbols'
     13347          allow_undefined_flag_CXX=unsupported
     13348          always_export_symbols_CXX=no
     13349          enable_shared_with_static_runtimes_CXX=yes
     13350
     13351          if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
     13352            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'
     13353            # If the export-symbols file already is a .def file, use it as
     13354            # is; otherwise, prepend EXPORTS...
     13355            archive_expsym_cmds_CXX='if   test DEF = "`$SED -n     -e '\''s/^[   ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
     13356              cp $export_symbols $output_objdir/$soname.def;
     13357            else
     13358              echo EXPORTS > $output_objdir/$soname.def;
     13359              cat $export_symbols >> $output_objdir/$soname.def;
     13360            fi~
     13361            $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'
     13362          else
     13363            ld_shlibs_CXX=no
     13364          fi
     13365          ;;
     13366        esac
     13367        ;;
     13368      darwin* | rhapsody*)
     13369
     13370
     13371  archive_cmds_need_lc_CXX=no
     13372  hardcode_direct_CXX=no
     13373  hardcode_automatic_CXX=yes
     13374  hardcode_shlibpath_var_CXX=unsupported
     13375  if test yes = "$lt_cv_ld_force_load"; then
     13376    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\"`'
     13377
     13378  else
     13379    whole_archive_flag_spec_CXX=''
     13380  fi
     13381  link_all_deplibs_CXX=yes
     13382  allow_undefined_flag_CXX=$_lt_dar_allow_undefined
     13383  case $cc_basename in
     13384     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
     13385     *) _lt_dar_can_shared=$GCC ;;
     13386  esac
     13387  if test yes = "$_lt_dar_can_shared"; then
     13388    output_verbose_link_cmd=func_echo_all
     13389    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"
     13390    module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
     13391    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"
     13392    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"
     13393       if test yes != "$lt_cv_apple_cc_single_mod"; then
     13394      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"
     13395      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"
     13396    fi
     13397
     13398  else
     13399  ld_shlibs_CXX=no
     13400  fi
     13401
     13402        ;;
     13403
     13404      os2*)
     13405        hardcode_libdir_flag_spec_CXX='-L$libdir'
     13406        hardcode_minus_L_CXX=yes
     13407        allow_undefined_flag_CXX=unsupported
     13408        shrext_cmds=.dll
     13409        archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     13410          $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     13411          $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     13412          $ECHO EXPORTS >> $output_objdir/$libname.def~
     13413          emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
     13414          $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     13415          emximp -o $lib $output_objdir/$libname.def'
     13416        archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     13417          $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     13418          $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     13419          $ECHO EXPORTS >> $output_objdir/$libname.def~
     13420          prefix_cmds="$SED"~
     13421          if test EXPORTS = "`$SED 1q $export_symbols`"; then
     13422            prefix_cmds="$prefix_cmds -e 1d";
     13423          fi~
     13424          prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
     13425          cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
     13426          $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     13427          emximp -o $lib $output_objdir/$libname.def'
     13428        old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
     13429        enable_shared_with_static_runtimes_CXX=yes
     13430        ;;
     13431
     13432      dgux*)
     13433        case $cc_basename in
     13434          ec++*)
     13435            # FIXME: insert proper C++ library support
     13436            ld_shlibs_CXX=no
     13437            ;;
     13438          ghcx*)
     13439            # Green Hills C++ Compiler
     13440            # FIXME: insert proper C++ library support
     13441            ld_shlibs_CXX=no
     13442            ;;
     13443          *)
     13444            # FIXME: insert proper C++ library support
     13445            ld_shlibs_CXX=no
     13446            ;;
     13447        esac
     13448        ;;
     13449
     13450      freebsd2.*)
     13451        # C++ shared libraries reported to be fairly broken before
     13452        # switch to ELF
     13453        ld_shlibs_CXX=no
     13454        ;;
     13455
     13456      freebsd-elf*)
     13457        archive_cmds_need_lc_CXX=no
     13458        ;;
     13459
     13460      freebsd* | dragonfly*)
     13461        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
     13462        # conventions
     13463        ld_shlibs_CXX=yes
     13464        ;;
     13465
     13466      haiku*)
     13467        archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     13468        link_all_deplibs_CXX=yes
     13469        ;;
     13470
     13471      hpux9*)
     13472        hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
     13473        hardcode_libdir_separator_CXX=:
     13474        export_dynamic_flag_spec_CXX='$wl-E'
     13475        hardcode_direct_CXX=yes
     13476        hardcode_minus_L_CXX=yes # Not in the search PATH,
     13477                                             # but as the default
     13478                                             # location of the library.
     13479
     13480        case $cc_basename in
     13481          CC*)
     13482            # FIXME: insert proper C++ library support
     13483            ld_shlibs_CXX=no
     13484            ;;
     13485          aCC*)
     13486            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'
     13487            # Commands to make compiler produce verbose output that lists
     13488            # what "hidden" libraries, object files and flags are used when
     13489            # linking a shared library.
     13490            #
     13491            # There doesn't appear to be a way to prevent this compiler from
     13492            # explicitly linking system object files so we need to strip them
     13493            # from the output so that they don't get included in the library
     13494            # dependencies.
     13495            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"'
     13496            ;;
     13497          *)
     13498            if test yes = "$GXX"; then
     13499              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'
     13500            else
     13501              # FIXME: insert proper C++ library support
     13502              ld_shlibs_CXX=no
     13503            fi
     13504            ;;
     13505        esac
     13506        ;;
     13507
     13508      hpux10*|hpux11*)
     13509        if test no = "$with_gnu_ld"; then
     13510          hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
     13511          hardcode_libdir_separator_CXX=:
     13512
     13513          case $host_cpu in
     13514            hppa*64*|ia64*)
     13515              ;;
     13516            *)
     13517              export_dynamic_flag_spec_CXX='$wl-E'
     13518              ;;
     13519          esac
     13520        fi
     13521        case $host_cpu in
     13522          hppa*64*|ia64*)
     13523            hardcode_direct_CXX=no
     13524            hardcode_shlibpath_var_CXX=no
     13525            ;;
     13526          *)
     13527            hardcode_direct_CXX=yes
     13528            hardcode_direct_absolute_CXX=yes
     13529            hardcode_minus_L_CXX=yes # Not in the search PATH,
     13530                                                 # but as the default
     13531                                                 # location of the library.
     13532            ;;
     13533        esac
     13534
     13535        case $cc_basename in
     13536          CC*)
     13537            # FIXME: insert proper C++ library support
     13538            ld_shlibs_CXX=no
     13539            ;;
     13540          aCC*)
     13541            case $host_cpu in
     13542              hppa*64*)
     13543                archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     13544                ;;
     13545              ia64*)
     13546                archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     13547                ;;
     13548              *)
     13549                archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     13550                ;;
     13551            esac
     13552            # Commands to make compiler produce verbose output that lists
     13553            # what "hidden" libraries, object files and flags are used when
     13554            # linking a shared library.
     13555            #
     13556            # There doesn't appear to be a way to prevent this compiler from
     13557            # explicitly linking system object files so we need to strip them
     13558            # from the output so that they don't get included in the library
     13559            # dependencies.
     13560            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"'
     13561            ;;
     13562          *)
     13563            if test yes = "$GXX"; then
     13564              if test no = "$with_gnu_ld"; then
     13565                case $host_cpu in
     13566                  hppa*64*)
     13567                    archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     13568                    ;;
     13569                  ia64*)
     13570                    archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     13571                    ;;
     13572                  *)
     13573                    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'
     13574                    ;;
     13575                esac
     13576              fi
     13577            else
     13578              # FIXME: insert proper C++ library support
     13579              ld_shlibs_CXX=no
     13580            fi
     13581            ;;
     13582        esac
     13583        ;;
     13584
     13585      interix[3-9]*)
     13586        hardcode_direct_CXX=no
     13587        hardcode_shlibpath_var_CXX=no
     13588        hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
     13589        export_dynamic_flag_spec_CXX='$wl-E'
     13590        # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
     13591        # Instead, shared libraries are loaded at an image base (0x10000000 by
     13592        # default) and relocated if they conflict, which is a slow very memory
     13593        # consuming and fragmenting process.  To avoid this, we pick a random,
     13594        # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
     13595        # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
     13596        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'
     13597        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'
     13598        ;;
     13599      irix5* | irix6*)
     13600        case $cc_basename in
     13601          CC*)
     13602            # SGI C++
     13603            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'
     13604
     13605            # Archives containing C++ object files must be created using
     13606            # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
     13607            # necessary to make sure instantiated templates are included
     13608            # in the archive.
     13609            old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
     13610            ;;
     13611          *)
     13612            if test yes = "$GXX"; then
     13613              if test no = "$with_gnu_ld"; then
     13614                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'
     13615              else
     13616                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'
     13617              fi
     13618            fi
     13619            link_all_deplibs_CXX=yes
     13620            ;;
     13621        esac
     13622        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
     13623        hardcode_libdir_separator_CXX=:
     13624        inherit_rpath_CXX=yes
     13625        ;;
     13626
     13627      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     13628        case $cc_basename in
     13629          KCC*)
     13630            # Kuck and Associates, Inc. (KAI) C++ Compiler
     13631
     13632            # KCC will only create a shared library if the output file
     13633            # ends with ".so" (or ".sl" for HP-UX), so rename the library
     13634            # to its proper name (with version) after linking.
     13635            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'
     13636            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'
     13637            # Commands to make compiler produce verbose output that lists
     13638            # what "hidden" libraries, object files and flags are used when
     13639            # linking a shared library.
     13640            #
     13641            # There doesn't appear to be a way to prevent this compiler from
     13642            # explicitly linking system object files so we need to strip them
     13643            # from the output so that they don't get included in the library
     13644            # dependencies.
     13645            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"'
     13646
     13647            hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
     13648            export_dynamic_flag_spec_CXX='$wl--export-dynamic'
     13649
     13650            # Archives containing C++ object files must be created using
     13651            # "CC -Bstatic", where "CC" is the KAI C++ compiler.
     13652            old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
     13653            ;;
     13654          icpc* | ecpc* )
     13655            # Intel C++
     13656            with_gnu_ld=yes
     13657            # version 8.0 and above of icpc choke on multiply defined symbols
     13658            # if we add $predep_objects and $postdep_objects, however 7.1 and
     13659            # earlier do not add the objects themselves.
     13660            case `$CC -V 2>&1` in
     13661              *"Version 7."*)
     13662                archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
     13663                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'
     13664                ;;
     13665              *)  # Version 8.0 or newer
     13666                tmp_idyn=
     13667                case $host_cpu in
     13668                  ia64*) tmp_idyn=' -i_dynamic';;
     13669                esac
     13670                archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     13671                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'
     13672                ;;
     13673            esac
     13674            archive_cmds_need_lc_CXX=no
     13675            hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
     13676            export_dynamic_flag_spec_CXX='$wl--export-dynamic'
     13677            whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
     13678            ;;
     13679          pgCC* | pgcpp*)
     13680            # Portland Group C++ compiler
     13681            case `$CC -V` in
     13682            *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
     13683              prelink_cmds_CXX='tpldir=Template.dir~
     13684               rm -rf $tpldir~
     13685               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
     13686               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
     13687              old_archive_cmds_CXX='tpldir=Template.dir~
     13688                rm -rf $tpldir~
     13689                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
     13690                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
     13691                $RANLIB $oldlib'
     13692              archive_cmds_CXX='tpldir=Template.dir~
     13693                rm -rf $tpldir~
     13694                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
     13695                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
     13696              archive_expsym_cmds_CXX='tpldir=Template.dir~
     13697                rm -rf $tpldir~
     13698                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
     13699                $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'
     13700              ;;
     13701            *) # Version 6 and above use weak symbols
     13702              archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
     13703              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'
     13704              ;;
     13705            esac
     13706
     13707            hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir'
     13708            export_dynamic_flag_spec_CXX='$wl--export-dynamic'
     13709            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'
     13710            ;;
     13711          cxx*)
     13712            # Compaq C++
     13713            archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
     13714            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'
     13715
     13716            runpath_var=LD_RUN_PATH
     13717            hardcode_libdir_flag_spec_CXX='-rpath $libdir'
     13718            hardcode_libdir_separator_CXX=:
     13719
     13720            # Commands to make compiler produce verbose output that lists
     13721            # what "hidden" libraries, object files and flags are used when
     13722            # linking a shared library.
     13723            #
     13724            # There doesn't appear to be a way to prevent this compiler from
     13725            # explicitly linking system object files so we need to strip them
     13726            # from the output so that they don't get included in the library
     13727            # dependencies.
     13728            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'
     13729            ;;
     13730          xl* | mpixl* | bgxl*)
     13731            # IBM XL 8.0 on PPC, with GNU ld
     13732            hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
     13733            export_dynamic_flag_spec_CXX='$wl--export-dynamic'
     13734            archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     13735            if test yes = "$supports_anon_versioning"; then
     13736              archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
     13737                cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
     13738                echo "local: *; };" >> $output_objdir/$libname.ver~
     13739                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
     13740            fi
     13741            ;;
     13742          *)
     13743            case `$CC -V 2>&1 | sed 5q` in
     13744            *Sun\ C*)
     13745              # Sun C++ 5.9
     13746              no_undefined_flag_CXX=' -zdefs'
     13747              archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     13748              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'
     13749              hardcode_libdir_flag_spec_CXX='-R$libdir'
     13750              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'
     13751              compiler_needs_object_CXX=yes
     13752
     13753              # Not sure whether something based on
     13754              # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
     13755              # would be better.
     13756              output_verbose_link_cmd='func_echo_all'
     13757
     13758              # Archives containing C++ object files must be created using
     13759              # "CC -xar", where "CC" is the Sun C++ compiler.  This is
     13760              # necessary to make sure instantiated templates are included
     13761              # in the archive.
     13762              old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
     13763              ;;
     13764            esac
     13765            ;;
     13766        esac
     13767        ;;
     13768
     13769      lynxos*)
     13770        # FIXME: insert proper C++ library support
     13771        ld_shlibs_CXX=no
     13772        ;;
     13773
     13774      m88k*)
     13775        # FIXME: insert proper C++ library support
     13776        ld_shlibs_CXX=no
     13777        ;;
     13778
     13779      mvs*)
     13780        case $cc_basename in
     13781          cxx*)
     13782            # FIXME: insert proper C++ library support
     13783            ld_shlibs_CXX=no
     13784            ;;
     13785          *)
     13786            # FIXME: insert proper C++ library support
     13787            ld_shlibs_CXX=no
     13788            ;;
     13789        esac
     13790        ;;
     13791
     13792      netbsd*)
     13793        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
     13794          archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
     13795          wlarc=
     13796          hardcode_libdir_flag_spec_CXX='-R$libdir'
     13797          hardcode_direct_CXX=yes
     13798          hardcode_shlibpath_var_CXX=no
     13799        fi
     13800        # Workaround some broken pre-1.5 toolchains
     13801        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
     13802        ;;
     13803
     13804      *nto* | *qnx*)
     13805        ld_shlibs_CXX=yes
     13806        ;;
     13807
     13808      openbsd* | bitrig*)
     13809        if test -f /usr/libexec/ld.so; then
     13810          hardcode_direct_CXX=yes
     13811          hardcode_shlibpath_var_CXX=no
     13812          hardcode_direct_absolute_CXX=yes
     13813          archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
     13814          hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
     13815          if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
     13816            archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
     13817            export_dynamic_flag_spec_CXX='$wl-E'
     13818            whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
     13819          fi
     13820          output_verbose_link_cmd=func_echo_all
     13821        else
     13822          ld_shlibs_CXX=no
     13823        fi
     13824        ;;
     13825
     13826      osf3* | osf4* | osf5*)
     13827        case $cc_basename in
     13828          KCC*)
     13829            # Kuck and Associates, Inc. (KAI) C++ Compiler
     13830
     13831            # KCC will only create a shared library if the output file
     13832            # ends with ".so" (or ".sl" for HP-UX), so rename the library
     13833            # to its proper name (with version) after linking.
     13834            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'
     13835
     13836            hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
     13837            hardcode_libdir_separator_CXX=:
     13838
     13839            # Archives containing C++ object files must be created using
     13840            # the KAI C++ compiler.
     13841            case $host in
     13842              osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
     13843              *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
     13844            esac
     13845            ;;
     13846          RCC*)
     13847            # Rational C++ 2.4.1
     13848            # FIXME: insert proper C++ library support
     13849            ld_shlibs_CXX=no
     13850            ;;
     13851          cxx*)
     13852            case $host in
     13853              osf3*)
     13854                allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
     13855                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'
     13856                hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
     13857                ;;
     13858              *)
     13859                allow_undefined_flag_CXX=' -expect_unresolved \*'
     13860                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'
     13861                archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
     13862                  echo "-hidden">> $lib.exp~
     13863                  $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~
     13864                  $RM $lib.exp'
     13865                hardcode_libdir_flag_spec_CXX='-rpath $libdir'
     13866                ;;
     13867            esac
     13868
     13869            hardcode_libdir_separator_CXX=:
     13870
     13871            # Commands to make compiler produce verbose output that lists
     13872            # what "hidden" libraries, object files and flags are used when
     13873            # linking a shared library.
     13874            #
     13875            # There doesn't appear to be a way to prevent this compiler from
     13876            # explicitly linking system object files so we need to strip them
     13877            # from the output so that they don't get included in the library
     13878            # dependencies.
     13879            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"'
     13880            ;;
     13881          *)
     13882            if test yes,no = "$GXX,$with_gnu_ld"; then
     13883              allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
     13884              case $host in
     13885                osf3*)
     13886                  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'
     13887                  ;;
     13888                *)
     13889                  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'
     13890                  ;;
     13891              esac
     13892
     13893              hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
     13894              hardcode_libdir_separator_CXX=:
     13895
     13896              # Commands to make compiler produce verbose output that lists
     13897              # what "hidden" libraries, object files and flags are used when
     13898              # linking a shared library.
     13899              output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
     13900
     13901            else
     13902              # FIXME: insert proper C++ library support
     13903              ld_shlibs_CXX=no
     13904            fi
     13905            ;;
     13906        esac
     13907        ;;
     13908
     13909      psos*)
     13910        # FIXME: insert proper C++ library support
     13911        ld_shlibs_CXX=no
     13912        ;;
     13913
     13914      sunos4*)
     13915        case $cc_basename in
     13916          CC*)
     13917            # Sun C++ 4.x
     13918            # FIXME: insert proper C++ library support
     13919            ld_shlibs_CXX=no
     13920            ;;
     13921          lcc*)
     13922            # Lucid
     13923            # FIXME: insert proper C++ library support
     13924            ld_shlibs_CXX=no
     13925            ;;
     13926          *)
     13927            # FIXME: insert proper C++ library support
     13928            ld_shlibs_CXX=no
     13929            ;;
     13930        esac
     13931        ;;
     13932
     13933      solaris*)
     13934        case $cc_basename in
     13935          CC* | sunCC*)
     13936            # Sun C++ 4.2, 5.x and Centerline C++
     13937            archive_cmds_need_lc_CXX=yes
     13938            no_undefined_flag_CXX=' -zdefs'
     13939            archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     13940            archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     13941              $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'
     13942
     13943            hardcode_libdir_flag_spec_CXX='-R$libdir'
     13944            hardcode_shlibpath_var_CXX=no
     13945            case $host_os in
     13946              solaris2.[0-5] | solaris2.[0-5].*) ;;
     13947              *)
     13948                # The compiler driver will combine and reorder linker options,
     13949                # but understands '-z linker_flag'.
     13950                # Supported since Solaris 2.6 (maybe 2.5.1?)
     13951                whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
     13952                ;;
     13953            esac
     13954            link_all_deplibs_CXX=yes
     13955
     13956            output_verbose_link_cmd='func_echo_all'
     13957
     13958            # Archives containing C++ object files must be created using
     13959            # "CC -xar", where "CC" is the Sun C++ compiler.  This is
     13960            # necessary to make sure instantiated templates are included
     13961            # in the archive.
     13962            old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
     13963            ;;
     13964          gcx*)
     13965            # Green Hills C++ Compiler
     13966            archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
     13967
     13968            # The C++ compiler must be used to create the archive.
     13969            old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
     13970            ;;
     13971          *)
     13972            # GNU C++ compiler with Solaris linker
     13973            if test yes,no = "$GXX,$with_gnu_ld"; then
     13974              no_undefined_flag_CXX=' $wl-z ${wl}defs'
     13975              if $CC --version | $GREP -v '^2\.7' > /dev/null; then
     13976                archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
     13977                archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     13978                  $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'
     13979
     13980                # Commands to make compiler produce verbose output that lists
     13981                # what "hidden" libraries, object files and flags are used when
     13982                # linking a shared library.
     13983                output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
     13984              else
     13985                # g++ 2.7 appears to require '-G' NOT '-shared' on this
     13986                # platform.
     13987                archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
     13988                archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     13989                  $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'
     13990
     13991                # Commands to make compiler produce verbose output that lists
     13992                # what "hidden" libraries, object files and flags are used when
     13993                # linking a shared library.
     13994                output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
     13995              fi
     13996
     13997              hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir'
     13998              case $host_os in
     13999                solaris2.[0-5] | solaris2.[0-5].*) ;;
     14000                *)
     14001                  whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
     14002                  ;;
     14003              esac
     14004            fi
     14005            ;;
     14006        esac
     14007        ;;
     14008
     14009    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
     14010      no_undefined_flag_CXX='$wl-z,text'
     14011      archive_cmds_need_lc_CXX=no
     14012      hardcode_shlibpath_var_CXX=no
     14013      runpath_var='LD_RUN_PATH'
     14014
     14015      case $cc_basename in
     14016        CC*)
     14017          archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14018          archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14019          ;;
     14020        *)
     14021          archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14022          archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14023          ;;
     14024      esac
     14025      ;;
     14026
     14027      sysv5* | sco3.2v5* | sco5v6*)
     14028        # Note: We CANNOT use -z defs as we might desire, because we do not
     14029        # link with -lc, and that would cause any symbols used from libc to
     14030        # always be unresolved, which means just about no library would
     14031        # ever link correctly.  If we're not using GNU ld we use -z text
     14032        # though, which does catch some bad symbols but isn't as heavy-handed
     14033        # as -z defs.
     14034        no_undefined_flag_CXX='$wl-z,text'
     14035        allow_undefined_flag_CXX='$wl-z,nodefs'
     14036        archive_cmds_need_lc_CXX=no
     14037        hardcode_shlibpath_var_CXX=no
     14038        hardcode_libdir_flag_spec_CXX='$wl-R,$libdir'
     14039        hardcode_libdir_separator_CXX=':'
     14040        link_all_deplibs_CXX=yes
     14041        export_dynamic_flag_spec_CXX='$wl-Bexport'
     14042        runpath_var='LD_RUN_PATH'
     14043
     14044        case $cc_basename in
     14045          CC*)
     14046            archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14047            archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14048            old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
     14049              '"$old_archive_cmds_CXX"
     14050            reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
     14051              '"$reload_cmds_CXX"
     14052            ;;
     14053          *)
     14054            archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14055            archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14056            ;;
     14057        esac
     14058      ;;
     14059
     14060      tandem*)
     14061        case $cc_basename in
     14062          NCC*)
     14063            # NonStop-UX NCC 3.20
     14064            # FIXME: insert proper C++ library support
     14065            ld_shlibs_CXX=no
     14066            ;;
     14067          *)
     14068            # FIXME: insert proper C++ library support
     14069            ld_shlibs_CXX=no
     14070            ;;
     14071        esac
     14072        ;;
     14073
     14074      vxworks*)
     14075        # FIXME: insert proper C++ library support
     14076        ld_shlibs_CXX=no
     14077        ;;
     14078
     14079      *)
     14080        # FIXME: insert proper C++ library support
     14081        ld_shlibs_CXX=no
     14082        ;;
     14083    esac
     14084
     14085    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
     14086$as_echo "$ld_shlibs_CXX" >&6; }
     14087    test no = "$ld_shlibs_CXX" && can_build_shared=no
     14088
     14089    GCC_CXX=$GXX
     14090    LD_CXX=$LD
     14091
     14092    ## CAVEAT EMPTOR:
     14093    ## There is no encapsulation within the following macros, do not change
     14094    ## the running order or otherwise move them around unless you know exactly
     14095    ## what you are doing...
     14096    # Dependencies to place before and after the object being linked:
     14097predep_objects_CXX=
     14098postdep_objects_CXX=
     14099predeps_CXX=
     14100postdeps_CXX=
     14101compiler_lib_search_path_CXX=
     14102
     14103cat > conftest.$ac_ext <<_LT_EOF
     14104class Foo
     14105{
     14106public:
     14107  Foo (void) { a = 0; }
     14108private:
     14109  int a;
     14110};
     14111_LT_EOF
     14112
     14113
     14114_lt_libdeps_save_CFLAGS=$CFLAGS
     14115case "$CC $CFLAGS " in #(
     14116*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
     14117*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
     14118*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
     14119esac
     14120
     14121if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     14122  (eval $ac_compile) 2>&5
     14123  ac_status=$?
     14124  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     14125  test $ac_status = 0; }; then
     14126  # Parse the compiler output and extract the necessary
     14127  # objects, libraries and library flags.
     14128
     14129  # Sentinel used to keep track of whether or not we are before
     14130  # the conftest object file.
     14131  pre_test_object_deps_done=no
     14132
     14133  for p in `eval "$output_verbose_link_cmd"`; do
     14134    case $prev$p in
     14135
     14136    -L* | -R* | -l*)
     14137       # Some compilers place space between "-{L,R}" and the path.
     14138       # Remove the space.
     14139       if test x-L = "$p" ||
     14140          test x-R = "$p"; then
     14141         prev=$p
     14142         continue
     14143       fi
     14144
     14145       # Expand the sysroot to ease extracting the directories later.
     14146       if test -z "$prev"; then
     14147         case $p in
     14148         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
     14149         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
     14150         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
     14151         esac
     14152       fi
     14153       case $p in
     14154       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
     14155       esac
     14156       if test no = "$pre_test_object_deps_done"; then
     14157         case $prev in
     14158         -L | -R)
     14159           # Internal compiler library paths should come after those
     14160           # provided the user.  The postdeps already come after the
     14161           # user supplied libs so there is no need to process them.
     14162           if test -z "$compiler_lib_search_path_CXX"; then
     14163             compiler_lib_search_path_CXX=$prev$p
     14164           else
     14165             compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p"
     14166           fi
     14167           ;;
     14168         # The "-l" case would never come before the object being
     14169         # linked, so don't bother handling this case.
     14170         esac
     14171       else
     14172         if test -z "$postdeps_CXX"; then
     14173           postdeps_CXX=$prev$p
     14174         else
     14175           postdeps_CXX="${postdeps_CXX} $prev$p"
     14176         fi
     14177       fi
     14178       prev=
     14179       ;;
     14180
     14181    *.lto.$objext) ;; # Ignore GCC LTO objects
     14182    *.$objext)
     14183       # This assumes that the test object file only shows up
     14184       # once in the compiler output.
     14185       if test "$p" = "conftest.$objext"; then
     14186         pre_test_object_deps_done=yes
     14187         continue
     14188       fi
     14189
     14190       if test no = "$pre_test_object_deps_done"; then
     14191         if test -z "$predep_objects_CXX"; then
     14192           predep_objects_CXX=$p
     14193         else
     14194           predep_objects_CXX="$predep_objects_CXX $p"
     14195         fi
     14196       else
     14197         if test -z "$postdep_objects_CXX"; then
     14198           postdep_objects_CXX=$p
     14199         else
     14200           postdep_objects_CXX="$postdep_objects_CXX $p"
     14201         fi
     14202       fi
     14203       ;;
     14204
     14205    *) ;; # Ignore the rest.
     14206
     14207    esac
     14208  done
     14209
     14210  # Clean up.
     14211  rm -f a.out a.exe
     14212else
     14213  echo "libtool.m4: error: problem compiling CXX test program"
     14214fi
     14215
     14216$RM -f confest.$objext
     14217CFLAGS=$_lt_libdeps_save_CFLAGS
     14218
     14219# PORTME: override above test on systems where it is broken
     14220case $host_os in
     14221interix[3-9]*)
     14222  # Interix 3.5 installs completely hosed .la files for C++, so rather than
     14223  # hack all around it, let's just trust "g++" to DTRT.
     14224  predep_objects_CXX=
     14225  postdep_objects_CXX=
     14226  postdeps_CXX=
     14227  ;;
     14228esac
     14229
     14230
     14231case " $postdeps_CXX " in
     14232*" -lc "*) archive_cmds_need_lc_CXX=no ;;
     14233esac
     14234 compiler_lib_search_dirs_CXX=
     14235if test -n "${compiler_lib_search_path_CXX}"; then
     14236 compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'`
     14237fi
     14238
     14239
     14240
     14241
     14242
     14243
     14244
     14245
     14246
     14247
     14248
     14249
     14250
     14251
     14252
     14253
     14254
     14255
     14256
     14257
     14258
     14259
     14260
     14261
     14262
     14263
     14264
     14265
     14266
     14267
     14268
     14269    lt_prog_compiler_wl_CXX=
     14270lt_prog_compiler_pic_CXX=
     14271lt_prog_compiler_static_CXX=
     14272
     14273
     14274  # C++ specific cases for pic, static, wl, etc.
     14275  if test yes = "$GXX"; then
     14276    lt_prog_compiler_wl_CXX='-Wl,'
     14277    lt_prog_compiler_static_CXX='-static'
     14278
     14279    case $host_os in
     14280    aix*)
     14281      # All AIX code is PIC.
     14282      if test ia64 = "$host_cpu"; then
     14283        # AIX 5 now supports IA64 processor
     14284        lt_prog_compiler_static_CXX='-Bstatic'
     14285      fi
     14286      lt_prog_compiler_pic_CXX='-fPIC'
     14287      ;;
     14288
     14289    amigaos*)
     14290      case $host_cpu in
     14291      powerpc)
     14292            # see comment about AmigaOS4 .so support
     14293            lt_prog_compiler_pic_CXX='-fPIC'
     14294        ;;
     14295      m68k)
     14296            # FIXME: we need at least 68020 code to build shared libraries, but
     14297            # adding the '-m68020' flag to GCC prevents building anything better,
     14298            # like '-m68040'.
     14299            lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
     14300        ;;
     14301      esac
     14302      ;;
     14303
     14304    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
     14305      # PIC is the default for these OSes.
     14306      ;;
     14307    mingw* | cygwin* | os2* | pw32* | cegcc*)
     14308      # This hack is so that the source file can tell whether it is being
     14309      # built for inclusion in a dll (and should export symbols for example).
     14310      # Although the cygwin gcc ignores -fPIC, still need this for old-style
     14311      # (--disable-auto-import) libraries
     14312      lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
     14313      case $host_os in
     14314      os2*)
     14315        lt_prog_compiler_static_CXX='$wl-static'
     14316        ;;
     14317      esac
     14318      ;;
     14319    darwin* | rhapsody*)
     14320      # PIC is the default on this platform
     14321      # Common symbols not allowed in MH_DYLIB files
     14322      lt_prog_compiler_pic_CXX='-fno-common'
     14323      ;;
     14324    *djgpp*)
     14325      # DJGPP does not support shared libraries at all
     14326      lt_prog_compiler_pic_CXX=
     14327      ;;
     14328    haiku*)
     14329      # PIC is the default for Haiku.
     14330      # The "-static" flag exists, but is broken.
     14331      lt_prog_compiler_static_CXX=
     14332      ;;
     14333    interix[3-9]*)
     14334      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
     14335      # Instead, we relocate shared libraries at runtime.
     14336      ;;
     14337    sysv4*MP*)
     14338      if test -d /usr/nec; then
     14339        lt_prog_compiler_pic_CXX=-Kconform_pic
     14340      fi
     14341      ;;
     14342    hpux*)
     14343      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
     14344      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
     14345      # sets the default TLS model and affects inlining.
     14346      case $host_cpu in
     14347      hppa*64*)
     14348        ;;
     14349      *)
     14350        lt_prog_compiler_pic_CXX='-fPIC'
     14351        ;;
     14352      esac
     14353      ;;
     14354    *qnx* | *nto*)
     14355      # QNX uses GNU C++, but need to define -shared option too, otherwise
     14356      # it will coredump.
     14357      lt_prog_compiler_pic_CXX='-fPIC -shared'
     14358      ;;
     14359    *)
     14360      lt_prog_compiler_pic_CXX='-fPIC'
     14361      ;;
     14362    esac
     14363  else
     14364    case $host_os in
     14365      aix[4-9]*)
     14366        # All AIX code is PIC.
     14367        if test ia64 = "$host_cpu"; then
     14368          # AIX 5 now supports IA64 processor
     14369          lt_prog_compiler_static_CXX='-Bstatic'
     14370        else
     14371          lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
     14372        fi
     14373        ;;
     14374      chorus*)
     14375        case $cc_basename in
     14376        cxch68*)
     14377          # Green Hills C++ Compiler
     14378          # _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"
     14379          ;;
     14380        esac
     14381        ;;
     14382      mingw* | cygwin* | os2* | pw32* | cegcc*)
     14383        # This hack is so that the source file can tell whether it is being
     14384        # built for inclusion in a dll (and should export symbols for example).
     14385        lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
     14386        ;;
     14387      dgux*)
     14388        case $cc_basename in
     14389          ec++*)
     14390            lt_prog_compiler_pic_CXX='-KPIC'
     14391            ;;
     14392          ghcx*)
     14393            # Green Hills C++ Compiler
     14394            lt_prog_compiler_pic_CXX='-pic'
     14395            ;;
     14396          *)
     14397            ;;
     14398        esac
     14399        ;;
     14400      freebsd* | dragonfly*)
     14401        # FreeBSD uses GNU C++
     14402        ;;
     14403      hpux9* | hpux10* | hpux11*)
     14404        case $cc_basename in
     14405          CC*)
     14406            lt_prog_compiler_wl_CXX='-Wl,'
     14407            lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
     14408            if test ia64 != "$host_cpu"; then
     14409              lt_prog_compiler_pic_CXX='+Z'
     14410            fi
     14411            ;;
     14412          aCC*)
     14413            lt_prog_compiler_wl_CXX='-Wl,'
     14414            lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
     14415            case $host_cpu in
     14416            hppa*64*|ia64*)
     14417              # +Z the default
     14418              ;;
     14419            *)
     14420              lt_prog_compiler_pic_CXX='+Z'
     14421              ;;
     14422            esac
     14423            ;;
     14424          *)
     14425            ;;
     14426        esac
     14427        ;;
     14428      interix*)
     14429        # This is c89, which is MS Visual C++ (no shared libs)
     14430        # Anyone wants to do a port?
     14431        ;;
     14432      irix5* | irix6* | nonstopux*)
     14433        case $cc_basename in
     14434          CC*)
     14435            lt_prog_compiler_wl_CXX='-Wl,'
     14436            lt_prog_compiler_static_CXX='-non_shared'
     14437            # CC pic flag -KPIC is the default.
     14438            ;;
     14439          *)
     14440            ;;
     14441        esac
     14442        ;;
     14443      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     14444        case $cc_basename in
     14445          KCC*)
     14446            # KAI C++ Compiler
     14447            lt_prog_compiler_wl_CXX='--backend -Wl,'
     14448            lt_prog_compiler_pic_CXX='-fPIC'
     14449            ;;
     14450          ecpc* )
     14451            # old Intel C++ for x86_64, which still supported -KPIC.
     14452            lt_prog_compiler_wl_CXX='-Wl,'
     14453            lt_prog_compiler_pic_CXX='-KPIC'
     14454            lt_prog_compiler_static_CXX='-static'
     14455            ;;
     14456          icpc* )
     14457            # Intel C++, used to be incompatible with GCC.
     14458            # ICC 10 doesn't accept -KPIC any more.
     14459            lt_prog_compiler_wl_CXX='-Wl,'
     14460            lt_prog_compiler_pic_CXX='-fPIC'
     14461            lt_prog_compiler_static_CXX='-static'
     14462            ;;
     14463          pgCC* | pgcpp*)
     14464            # Portland Group C++ compiler
     14465            lt_prog_compiler_wl_CXX='-Wl,'
     14466            lt_prog_compiler_pic_CXX='-fpic'
     14467            lt_prog_compiler_static_CXX='-Bstatic'
     14468            ;;
     14469          cxx*)
     14470            # Compaq C++
     14471            # Make sure the PIC flag is empty.  It appears that all Alpha
     14472            # Linux and Compaq Tru64 Unix objects are PIC.
     14473            lt_prog_compiler_pic_CXX=
     14474            lt_prog_compiler_static_CXX='-non_shared'
     14475            ;;
     14476          xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
     14477            # IBM XL 8.0, 9.0 on PPC and BlueGene
     14478            lt_prog_compiler_wl_CXX='-Wl,'
     14479            lt_prog_compiler_pic_CXX='-qpic'
     14480            lt_prog_compiler_static_CXX='-qstaticlink'
     14481            ;;
     14482          *)
     14483            case `$CC -V 2>&1 | sed 5q` in
     14484            *Sun\ C*)
     14485              # Sun C++ 5.9
     14486              lt_prog_compiler_pic_CXX='-KPIC'
     14487              lt_prog_compiler_static_CXX='-Bstatic'
     14488              lt_prog_compiler_wl_CXX='-Qoption ld '
     14489              ;;
     14490            esac
     14491            ;;
     14492        esac
     14493        ;;
     14494      lynxos*)
     14495        ;;
     14496      m88k*)
     14497        ;;
     14498      mvs*)
     14499        case $cc_basename in
     14500          cxx*)
     14501            lt_prog_compiler_pic_CXX='-W c,exportall'
     14502            ;;
     14503          *)
     14504            ;;
     14505        esac
     14506        ;;
     14507      netbsd* | netbsdelf*-gnu)
     14508        ;;
     14509      *qnx* | *nto*)
     14510        # QNX uses GNU C++, but need to define -shared option too, otherwise
     14511        # it will coredump.
     14512        lt_prog_compiler_pic_CXX='-fPIC -shared'
     14513        ;;
     14514      osf3* | osf4* | osf5*)
     14515        case $cc_basename in
     14516          KCC*)
     14517            lt_prog_compiler_wl_CXX='--backend -Wl,'
     14518            ;;
     14519          RCC*)
     14520            # Rational C++ 2.4.1
     14521            lt_prog_compiler_pic_CXX='-pic'
     14522            ;;
     14523          cxx*)
     14524            # Digital/Compaq C++
     14525            lt_prog_compiler_wl_CXX='-Wl,'
     14526            # Make sure the PIC flag is empty.  It appears that all Alpha
     14527            # Linux and Compaq Tru64 Unix objects are PIC.
     14528            lt_prog_compiler_pic_CXX=
     14529            lt_prog_compiler_static_CXX='-non_shared'
     14530            ;;
     14531          *)
     14532            ;;
     14533        esac
     14534        ;;
     14535      psos*)
     14536        ;;
     14537      solaris*)
     14538        case $cc_basename in
     14539          CC* | sunCC*)
     14540            # Sun C++ 4.2, 5.x and Centerline C++
     14541            lt_prog_compiler_pic_CXX='-KPIC'
     14542            lt_prog_compiler_static_CXX='-Bstatic'
     14543            lt_prog_compiler_wl_CXX='-Qoption ld '
     14544            ;;
     14545          gcx*)
     14546            # Green Hills C++ Compiler
     14547            lt_prog_compiler_pic_CXX='-PIC'
     14548            ;;
     14549          *)
     14550            ;;
     14551        esac
     14552        ;;
     14553      sunos4*)
     14554        case $cc_basename in
     14555          CC*)
     14556            # Sun C++ 4.x
     14557            lt_prog_compiler_pic_CXX='-pic'
     14558            lt_prog_compiler_static_CXX='-Bstatic'
     14559            ;;
     14560          lcc*)
     14561            # Lucid
     14562            lt_prog_compiler_pic_CXX='-pic'
     14563            ;;
     14564          *)
     14565            ;;
     14566        esac
     14567        ;;
     14568      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
     14569        case $cc_basename in
     14570          CC*)
     14571            lt_prog_compiler_wl_CXX='-Wl,'
     14572            lt_prog_compiler_pic_CXX='-KPIC'
     14573            lt_prog_compiler_static_CXX='-Bstatic'
     14574            ;;
     14575        esac
     14576        ;;
     14577      tandem*)
     14578        case $cc_basename in
     14579          NCC*)
     14580            # NonStop-UX NCC 3.20
     14581            lt_prog_compiler_pic_CXX='-KPIC'
     14582            ;;
     14583          *)
     14584            ;;
     14585        esac
     14586        ;;
     14587      vxworks*)
     14588        ;;
     14589      *)
     14590        lt_prog_compiler_can_build_shared_CXX=no
     14591        ;;
     14592    esac
     14593  fi
     14594
     14595case $host_os in
     14596  # For platforms that do not support PIC, -DPIC is meaningless:
     14597  *djgpp*)
     14598    lt_prog_compiler_pic_CXX=
     14599    ;;
     14600  *)
     14601    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
     14602    ;;
     14603esac
     14604
     14605{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
     14606$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
     14607if ${lt_cv_prog_compiler_pic_CXX+:} false; then :
     14608  $as_echo_n "(cached) " >&6
     14609else
     14610  lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
     14611fi
     14612{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5
     14613$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; }
     14614lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX
     14615
     14616#
     14617# Check to make sure the PIC flag actually works.
     14618#
     14619if test -n "$lt_prog_compiler_pic_CXX"; then
     14620  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
     14621$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
     14622if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then :
     14623  $as_echo_n "(cached) " >&6
     14624else
     14625  lt_cv_prog_compiler_pic_works_CXX=no
     14626   ac_outfile=conftest.$ac_objext
     14627   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     14628   lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"  ## exclude from sc_useless_quotes_in_assignment
     14629   # Insert the option either (1) after the last *FLAGS variable, or
     14630   # (2) before a word containing "conftest.", or (3) at the end.
     14631   # Note that $ac_compile itself does not contain backslashes and begins
     14632   # with a dollar sign (not a hyphen), so the echo should work correctly.
     14633   # The option is referenced via a variable to avoid confusing sed.
     14634   lt_compile=`echo "$ac_compile" | $SED \
     14635   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     14636   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     14637   -e 's:$: $lt_compiler_flag:'`
     14638   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     14639   (eval "$lt_compile" 2>conftest.err)
     14640   ac_status=$?
     14641   cat conftest.err >&5
     14642   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     14643   if (exit $ac_status) && test -s "$ac_outfile"; then
     14644     # The compiler can only warn and ignore the option if not recognized
     14645     # So say no if there are warnings other than the usual output.
     14646     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
     14647     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     14648     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
     14649       lt_cv_prog_compiler_pic_works_CXX=yes
     14650     fi
     14651   fi
     14652   $RM conftest*
     14653
     14654fi
     14655{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
     14656$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
     14657
     14658if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then
     14659    case $lt_prog_compiler_pic_CXX in
     14660     "" | " "*) ;;
     14661     *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
     14662     esac
     14663else
     14664    lt_prog_compiler_pic_CXX=
     14665     lt_prog_compiler_can_build_shared_CXX=no
     14666fi
     14667
     14668fi
     14669
     14670
     14671
     14672
     14673
     14674#
     14675# Check to make sure the static flag actually works.
     14676#
     14677wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
     14678{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
     14679$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
     14680if ${lt_cv_prog_compiler_static_works_CXX+:} false; then :
     14681  $as_echo_n "(cached) " >&6
     14682else
     14683  lt_cv_prog_compiler_static_works_CXX=no
     14684   save_LDFLAGS=$LDFLAGS
     14685   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
     14686   echo "$lt_simple_link_test_code" > conftest.$ac_ext
     14687   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
     14688     # The linker can only warn and ignore the option if not recognized
     14689     # So say no if there are warnings
     14690     if test -s conftest.err; then
     14691       # Append any errors to the config.log.
     14692       cat conftest.err 1>&5
     14693       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
     14694       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     14695       if diff conftest.exp conftest.er2 >/dev/null; then
     14696         lt_cv_prog_compiler_static_works_CXX=yes
     14697       fi
     14698     else
     14699       lt_cv_prog_compiler_static_works_CXX=yes
     14700     fi
     14701   fi
     14702   $RM -r conftest*
     14703   LDFLAGS=$save_LDFLAGS
     14704
     14705fi
     14706{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
     14707$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
     14708
     14709if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then
     14710    :
     14711else
     14712    lt_prog_compiler_static_CXX=
     14713fi
     14714
     14715
     14716
     14717
     14718    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
     14719$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
     14720if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
     14721  $as_echo_n "(cached) " >&6
     14722else
     14723  lt_cv_prog_compiler_c_o_CXX=no
     14724   $RM -r conftest 2>/dev/null
     14725   mkdir conftest
     14726   cd conftest
     14727   mkdir out
     14728   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     14729
     14730   lt_compiler_flag="-o out/conftest2.$ac_objext"
     14731   # Insert the option either (1) after the last *FLAGS variable, or
     14732   # (2) before a word containing "conftest.", or (3) at the end.
     14733   # Note that $ac_compile itself does not contain backslashes and begins
     14734   # with a dollar sign (not a hyphen), so the echo should work correctly.
     14735   lt_compile=`echo "$ac_compile" | $SED \
     14736   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     14737   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     14738   -e 's:$: $lt_compiler_flag:'`
     14739   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     14740   (eval "$lt_compile" 2>out/conftest.err)
     14741   ac_status=$?
     14742   cat out/conftest.err >&5
     14743   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     14744   if (exit $ac_status) && test -s out/conftest2.$ac_objext
     14745   then
     14746     # The compiler can only warn and ignore the option if not recognized
     14747     # So say no if there are warnings
     14748     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
     14749     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
     14750     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
     14751       lt_cv_prog_compiler_c_o_CXX=yes
     14752     fi
     14753   fi
     14754   chmod u+w . 2>&5
     14755   $RM conftest*
     14756   # SGI C++ compiler will create directory out/ii_files/ for
     14757   # template instantiation
     14758   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
     14759   $RM out/* && rmdir out
     14760   cd ..
     14761   $RM -r conftest
     14762   $RM conftest*
     14763
     14764fi
     14765{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
     14766$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
     14767
     14768
     14769
     14770    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
     14771$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
     14772if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
     14773  $as_echo_n "(cached) " >&6
     14774else
     14775  lt_cv_prog_compiler_c_o_CXX=no
     14776   $RM -r conftest 2>/dev/null
     14777   mkdir conftest
     14778   cd conftest
     14779   mkdir out
     14780   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     14781
     14782   lt_compiler_flag="-o out/conftest2.$ac_objext"
     14783   # Insert the option either (1) after the last *FLAGS variable, or
     14784   # (2) before a word containing "conftest.", or (3) at the end.
     14785   # Note that $ac_compile itself does not contain backslashes and begins
     14786   # with a dollar sign (not a hyphen), so the echo should work correctly.
     14787   lt_compile=`echo "$ac_compile" | $SED \
     14788   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     14789   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     14790   -e 's:$: $lt_compiler_flag:'`
     14791   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     14792   (eval "$lt_compile" 2>out/conftest.err)
     14793   ac_status=$?
     14794   cat out/conftest.err >&5
     14795   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     14796   if (exit $ac_status) && test -s out/conftest2.$ac_objext
     14797   then
     14798     # The compiler can only warn and ignore the option if not recognized
     14799     # So say no if there are warnings
     14800     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
     14801     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
     14802     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
     14803       lt_cv_prog_compiler_c_o_CXX=yes
     14804     fi
     14805   fi
     14806   chmod u+w . 2>&5
     14807   $RM conftest*
     14808   # SGI C++ compiler will create directory out/ii_files/ for
     14809   # template instantiation
     14810   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
     14811   $RM out/* && rmdir out
     14812   cd ..
     14813   $RM -r conftest
     14814   $RM conftest*
     14815
     14816fi
     14817{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
     14818$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
     14819
     14820
     14821
     14822
     14823hard_links=nottested
     14824if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then
     14825  # do not overwrite the value of need_locks provided by the user
     14826  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
     14827$as_echo_n "checking if we can lock with hard links... " >&6; }
     14828  hard_links=yes
     14829  $RM conftest*
     14830  ln conftest.a conftest.b 2>/dev/null && hard_links=no
     14831  touch conftest.a
     14832  ln conftest.a conftest.b 2>&5 || hard_links=no
     14833  ln conftest.a conftest.b 2>/dev/null && hard_links=no
     14834  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
     14835$as_echo "$hard_links" >&6; }
     14836  if test no = "$hard_links"; then
     14837    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
     14838$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
     14839    need_locks=warn
     14840  fi
     14841else
     14842  need_locks=no
     14843fi
     14844
     14845
     14846
     14847    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
     14848$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
     14849
     14850  export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     14851  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
     14852  case $host_os in
     14853  aix[4-9]*)
     14854    # If we're using GNU nm, then we don't want the "-C" option.
     14855    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
     14856    # Without the "-l" option, or with the "-B" option, AIX nm treats
     14857    # weak defined symbols like other global defined symbols, whereas
     14858    # GNU nm marks them as "W".
     14859    # While the 'weak' keyword is ignored in the Export File, we need
     14860    # it in the Import File for the 'aix-soname' feature, so we have
     14861    # to replace the "-B" option with "-P" for AIX nm.
     14862    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
     14863      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'
     14864    else
     14865      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'
     14866    fi
     14867    ;;
     14868  pw32*)
     14869    export_symbols_cmds_CXX=$ltdll_cmds
     14870    ;;
     14871  cygwin* | mingw* | cegcc*)
     14872    case $cc_basename in
     14873    cl*)
     14874      exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
     14875      ;;
     14876    *)
     14877      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'
     14878      exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
     14879      ;;
     14880    esac
     14881    ;;
     14882  linux* | k*bsd*-gnu | gnu*)
     14883    link_all_deplibs_CXX=no
     14884    ;;
     14885  *)
     14886    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     14887    ;;
     14888  esac
     14889
     14890{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
     14891$as_echo "$ld_shlibs_CXX" >&6; }
     14892test no = "$ld_shlibs_CXX" && can_build_shared=no
     14893
     14894with_gnu_ld_CXX=$with_gnu_ld
     14895
     14896
     14897
     14898
     14899
     14900
     14901#
     14902# Do we need to explicitly link libc?
     14903#
     14904case "x$archive_cmds_need_lc_CXX" in
     14905x|xyes)
     14906  # Assume -lc should be added
     14907  archive_cmds_need_lc_CXX=yes
     14908
     14909  if test yes,yes = "$GCC,$enable_shared"; then
     14910    case $archive_cmds_CXX in
     14911    *'~'*)
     14912      # FIXME: we may have to deal with multi-command sequences.
     14913      ;;
     14914    '$CC '*)
     14915      # Test whether the compiler implicitly links with -lc since on some
     14916      # systems, -lgcc has to come before -lc. If gcc already passes -lc
     14917      # to ld, don't add -lc before -lgcc.
     14918      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
     14919$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
     14920if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then :
     14921  $as_echo_n "(cached) " >&6
     14922else
     14923  $RM conftest*
     14924        echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     14925
     14926        if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     14927  (eval $ac_compile) 2>&5
     14928  ac_status=$?
     14929  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     14930  test $ac_status = 0; } 2>conftest.err; then
     14931          soname=conftest
     14932          lib=conftest
     14933          libobjs=conftest.$ac_objext
     14934          deplibs=
     14935          wl=$lt_prog_compiler_wl_CXX
     14936          pic_flag=$lt_prog_compiler_pic_CXX
     14937          compiler_flags=-v
     14938          linker_flags=-v
     14939          verstring=
     14940          output_objdir=.
     14941          libname=conftest
     14942          lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
     14943          allow_undefined_flag_CXX=
     14944          if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
     14945  (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
     14946  ac_status=$?
     14947  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     14948  test $ac_status = 0; }
     14949          then
     14950            lt_cv_archive_cmds_need_lc_CXX=no
     14951          else
     14952            lt_cv_archive_cmds_need_lc_CXX=yes
     14953          fi
     14954          allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
     14955        else
     14956          cat conftest.err 1>&5
     14957        fi
     14958        $RM conftest*
     14959
     14960fi
     14961{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
     14962$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
     14963      archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
     14964      ;;
     14965    esac
     14966  fi
     14967  ;;
     14968esac
     14969
     14970
     14971
     14972
     14973
     14974
     14975
     14976
     14977
     14978
     14979
     14980
     14981
     14982
     14983
     14984
     14985
     14986
     14987
     14988
     14989
     14990
     14991
     14992
     14993
     14994
     14995
     14996
     14997
     14998
     14999
     15000
     15001
     15002
     15003
     15004
     15005
     15006
     15007
     15008
     15009
     15010
     15011
     15012
     15013
     15014
     15015
     15016
     15017
     15018
     15019
     15020
     15021
     15022
     15023
     15024
     15025
     15026
     15027
     15028
     15029
     15030
     15031    { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
     15032$as_echo_n "checking dynamic linker characteristics... " >&6; }
     15033
     15034library_names_spec=
     15035libname_spec='lib$name'
     15036soname_spec=
     15037shrext_cmds=.so
     15038postinstall_cmds=
     15039postuninstall_cmds=
     15040finish_cmds=
     15041finish_eval=
     15042shlibpath_var=
     15043shlibpath_overrides_runpath=unknown
     15044version_type=none
     15045dynamic_linker="$host_os ld.so"
     15046sys_lib_dlsearch_path_spec="/lib /usr/lib"
     15047need_lib_prefix=unknown
     15048hardcode_into_libs=no
     15049
     15050# when you set need_version to no, make sure it does not cause -set_version
     15051# flags to be left without arguments
     15052need_version=unknown
     15053
     15054
     15055
     15056case $host_os in
     15057aix3*)
     15058  version_type=linux # correct to gnu/linux during the next big refactor
     15059  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
     15060  shlibpath_var=LIBPATH
     15061
     15062  # AIX 3 has no versioning support, so we append a major version to the name.
     15063  soname_spec='$libname$release$shared_ext$major'
     15064  ;;
     15065
     15066aix[4-9]*)
     15067  version_type=linux # correct to gnu/linux during the next big refactor
     15068  need_lib_prefix=no
     15069  need_version=no
     15070  hardcode_into_libs=yes
     15071  if test ia64 = "$host_cpu"; then
     15072    # AIX 5 supports IA64
     15073    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
     15074    shlibpath_var=LD_LIBRARY_PATH
     15075  else
     15076    # With GCC up to 2.95.x, collect2 would create an import file
     15077    # for dependence libraries.  The import file would start with
     15078    # the line '#! .'.  This would cause the generated library to
     15079    # depend on '.', always an invalid library.  This was fixed in
     15080    # development snapshots of GCC prior to 3.0.
     15081    case $host_os in
     15082      aix4 | aix4.[01] | aix4.[01].*)
     15083      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
     15084           echo ' yes '
     15085           echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
     15086        :
     15087      else
     15088        can_build_shared=no
     15089      fi
     15090      ;;
     15091    esac
     15092    # Using Import Files as archive members, it is possible to support
     15093    # filename-based versioning of shared library archives on AIX. While
     15094    # this would work for both with and without runtime linking, it will
     15095    # prevent static linking of such archives. So we do filename-based
     15096    # shared library versioning with .so extension only, which is used
     15097    # when both runtime linking and shared linking is enabled.
     15098    # Unfortunately, runtime linking may impact performance, so we do
     15099    # not want this to be the default eventually. Also, we use the
     15100    # versioned .so libs for executables only if there is the -brtl
     15101    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
     15102    # To allow for filename-based versioning support, we need to create
     15103    # libNAME.so.V as an archive file, containing:
     15104    # *) an Import File, referring to the versioned filename of the
     15105    #    archive as well as the shared archive member, telling the
     15106    #    bitwidth (32 or 64) of that shared object, and providing the
     15107    #    list of exported symbols of that shared object, eventually
     15108    #    decorated with the 'weak' keyword
     15109    # *) the shared object with the F_LOADONLY flag set, to really avoid
     15110    #    it being seen by the linker.
     15111    # At run time we better use the real file rather than another symlink,
     15112    # but for link time we create the symlink libNAME.so -> libNAME.so.V
     15113
     15114    case $with_aix_soname,$aix_use_runtimelinking in
     15115    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
     15116    # soname into executable. Probably we can add versioning support to
     15117    # collect2, so additional links can be useful in future.
     15118    aix,yes) # traditional libtool
     15119      dynamic_linker='AIX unversionable lib.so'
     15120      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
     15121      # instead of lib<name>.a to let people know that these are not
     15122      # typical AIX shared libraries.
     15123      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15124      ;;
     15125    aix,no) # traditional AIX only
     15126      dynamic_linker='AIX lib.a(lib.so.V)'
     15127      # We preserve .a as extension for shared libraries through AIX4.2
     15128      # and later when we are not doing run time linking.
     15129      library_names_spec='$libname$release.a $libname.a'
     15130      soname_spec='$libname$release$shared_ext$major'
     15131      ;;
     15132    svr4,*) # full svr4 only
     15133      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
     15134      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
     15135      # We do not specify a path in Import Files, so LIBPATH fires.
     15136      shlibpath_overrides_runpath=yes
     15137      ;;
     15138    *,yes) # both, prefer svr4
     15139      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
     15140      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
     15141      # unpreferred sharedlib libNAME.a needs extra handling
     15142      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"'
     15143      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"'
     15144      # We do not specify a path in Import Files, so LIBPATH fires.
     15145      shlibpath_overrides_runpath=yes
     15146      ;;
     15147    *,no) # both, prefer aix
     15148      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
     15149      library_names_spec='$libname$release.a $libname.a'
     15150      soname_spec='$libname$release$shared_ext$major'
     15151      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
     15152      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)'
     15153      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"'
     15154      ;;
     15155    esac
     15156    shlibpath_var=LIBPATH
     15157  fi
     15158  ;;
     15159
     15160amigaos*)
     15161  case $host_cpu in
     15162  powerpc)
     15163    # Since July 2007 AmigaOS4 officially supports .so libraries.
     15164    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
     15165    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15166    ;;
     15167  m68k)
     15168    library_names_spec='$libname.ixlibrary $libname.a'
     15169    # Create ${libname}_ixlibrary.a entries in /sys/libs.
     15170    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'
     15171    ;;
     15172  esac
     15173  ;;
     15174
     15175beos*)
     15176  library_names_spec='$libname$shared_ext'
     15177  dynamic_linker="$host_os ld.so"
     15178  shlibpath_var=LIBRARY_PATH
     15179  ;;
     15180
     15181bsdi[45]*)
     15182  version_type=linux # correct to gnu/linux during the next big refactor
     15183  need_version=no
     15184  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15185  soname_spec='$libname$release$shared_ext$major'
     15186  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
     15187  shlibpath_var=LD_LIBRARY_PATH
     15188  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
     15189  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
     15190  # the default ld.so.conf also contains /usr/contrib/lib and
     15191  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
     15192  # libtool to hard-code these into programs
     15193  ;;
     15194
     15195cygwin* | mingw* | pw32* | cegcc*)
     15196  version_type=windows
     15197  shrext_cmds=.dll
     15198  need_version=no
     15199  need_lib_prefix=no
     15200
     15201  case $GCC,$cc_basename in
     15202  yes,*)
     15203    # gcc
     15204    library_names_spec='$libname.dll.a'
     15205    # DLL is installed to $(libdir)/../bin by postinstall_cmds
     15206    postinstall_cmds='base_file=`basename \$file`~
     15207      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
     15208      dldir=$destdir/`dirname \$dlpath`~
     15209      test -d \$dldir || mkdir -p \$dldir~
     15210      $install_prog $dir/$dlname \$dldir/$dlname~
     15211      chmod a+x \$dldir/$dlname~
     15212      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
     15213        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
     15214      fi'
     15215    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
     15216      dlpath=$dir/\$dldll~
     15217       $RM \$dlpath'
     15218    shlibpath_overrides_runpath=yes
     15219
     15220    case $host_os in
     15221    cygwin*)
     15222      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
     15223      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     15224
     15225      ;;
     15226    mingw* | cegcc*)
     15227      # MinGW DLLs use traditional 'lib' prefix
     15228      soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     15229      ;;
     15230    pw32*)
     15231      # pw32 DLLs use 'pw' prefix rather than 'lib'
     15232      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     15233      ;;
     15234    esac
     15235    dynamic_linker='Win32 ld.exe'
     15236    ;;
     15237
     15238  *,cl*)
     15239    # Native MSVC
     15240    libname_spec='$name'
     15241    soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     15242    library_names_spec='$libname.dll.lib'
     15243
     15244    case $build_os in
     15245    mingw*)
     15246      sys_lib_search_path_spec=
     15247      lt_save_ifs=$IFS
     15248      IFS=';'
     15249      for lt_path in $LIB
     15250      do
     15251        IFS=$lt_save_ifs
     15252        # Let DOS variable expansion print the short 8.3 style file name.
     15253        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
     15254        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
     15255      done
     15256      IFS=$lt_save_ifs
     15257      # Convert to MSYS style.
     15258      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
     15259      ;;
     15260    cygwin*)
     15261      # Convert to unix form, then to dos form, then back to unix form
     15262      # but this time dos style (no spaces!) so that the unix form looks
     15263      # like /cygdrive/c/PROGRA~1:/cygdr...
     15264      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
     15265      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
     15266      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
     15267      ;;
     15268    *)
     15269      sys_lib_search_path_spec=$LIB
     15270      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
     15271        # It is most probably a Windows format PATH.
     15272        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
     15273      else
     15274        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
     15275      fi
     15276      # FIXME: find the short name or the path components, as spaces are
     15277      # common. (e.g. "Program Files" -> "PROGRA~1")
     15278      ;;
     15279    esac
     15280
     15281    # DLL is installed to $(libdir)/../bin by postinstall_cmds
     15282    postinstall_cmds='base_file=`basename \$file`~
     15283      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
     15284      dldir=$destdir/`dirname \$dlpath`~
     15285      test -d \$dldir || mkdir -p \$dldir~
     15286      $install_prog $dir/$dlname \$dldir/$dlname'
     15287    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
     15288      dlpath=$dir/\$dldll~
     15289       $RM \$dlpath'
     15290    shlibpath_overrides_runpath=yes
     15291    dynamic_linker='Win32 link.exe'
     15292    ;;
     15293
     15294  *)
     15295    # Assume MSVC wrapper
     15296    library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
     15297    dynamic_linker='Win32 ld.exe'
     15298    ;;
     15299  esac
     15300  # FIXME: first we should search . and the directory the executable is in
     15301  shlibpath_var=PATH
     15302  ;;
     15303
     15304darwin* | rhapsody*)
     15305  dynamic_linker="$host_os dyld"
     15306  version_type=darwin
     15307  need_lib_prefix=no
     15308  need_version=no
     15309  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
     15310  soname_spec='$libname$release$major$shared_ext'
     15311  shlibpath_overrides_runpath=yes
     15312  shlibpath_var=DYLD_LIBRARY_PATH
     15313  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
     15314
     15315  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
     15316  ;;
     15317
     15318dgux*)
     15319  version_type=linux # correct to gnu/linux during the next big refactor
     15320  need_lib_prefix=no
     15321  need_version=no
     15322  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15323  soname_spec='$libname$release$shared_ext$major'
     15324  shlibpath_var=LD_LIBRARY_PATH
     15325  ;;
     15326
     15327freebsd* | dragonfly*)
     15328  # DragonFly does not have aout.  When/if they implement a new
     15329  # versioning mechanism, adjust this.
     15330  if test -x /usr/bin/objformat; then
     15331    objformat=`/usr/bin/objformat`
     15332  else
     15333    case $host_os in
     15334    freebsd[23].*) objformat=aout ;;
     15335    *) objformat=elf ;;
     15336    esac
     15337  fi
     15338  version_type=freebsd-$objformat
     15339  case $version_type in
     15340    freebsd-elf*)
     15341      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15342      soname_spec='$libname$release$shared_ext$major'
     15343      need_version=no
     15344      need_lib_prefix=no
     15345      ;;
     15346    freebsd-*)
     15347      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     15348      need_version=yes
     15349      ;;
     15350  esac
     15351  shlibpath_var=LD_LIBRARY_PATH
     15352  case $host_os in
     15353  freebsd2.*)
     15354    shlibpath_overrides_runpath=yes
     15355    ;;
     15356  freebsd3.[01]* | freebsdelf3.[01]*)
     15357    shlibpath_overrides_runpath=yes
     15358    hardcode_into_libs=yes
     15359    ;;
     15360  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
     15361  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
     15362    shlibpath_overrides_runpath=no
     15363    hardcode_into_libs=yes
     15364    ;;
     15365  *) # from 4.6 on, and DragonFly
     15366    shlibpath_overrides_runpath=yes
     15367    hardcode_into_libs=yes
     15368    ;;
     15369  esac
     15370  ;;
     15371
     15372haiku*)
     15373  version_type=linux # correct to gnu/linux during the next big refactor
     15374  need_lib_prefix=no
     15375  need_version=no
     15376  dynamic_linker="$host_os runtime_loader"
     15377  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15378  soname_spec='$libname$release$shared_ext$major'
     15379  shlibpath_var=LIBRARY_PATH
     15380  shlibpath_overrides_runpath=no
     15381  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
     15382  hardcode_into_libs=yes
     15383  ;;
     15384
     15385hpux9* | hpux10* | hpux11*)
     15386  # Give a soname corresponding to the major version so that dld.sl refuses to
     15387  # link against other versions.
     15388  version_type=sunos
     15389  need_lib_prefix=no
     15390  need_version=no
     15391  case $host_cpu in
     15392  ia64*)
     15393    shrext_cmds='.so'
     15394    hardcode_into_libs=yes
     15395    dynamic_linker="$host_os dld.so"
     15396    shlibpath_var=LD_LIBRARY_PATH
     15397    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
     15398    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15399    soname_spec='$libname$release$shared_ext$major'
     15400    if test 32 = "$HPUX_IA64_MODE"; then
     15401      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
     15402      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
     15403    else
     15404      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
     15405      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
     15406    fi
     15407    ;;
     15408  hppa*64*)
     15409    shrext_cmds='.sl'
     15410    hardcode_into_libs=yes
     15411    dynamic_linker="$host_os dld.sl"
     15412    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
     15413    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
     15414    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15415    soname_spec='$libname$release$shared_ext$major'
     15416    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
     15417    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     15418    ;;
     15419  *)
     15420    shrext_cmds='.sl'
     15421    dynamic_linker="$host_os dld.sl"
     15422    shlibpath_var=SHLIB_PATH
     15423    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
     15424    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15425    soname_spec='$libname$release$shared_ext$major'
     15426    ;;
     15427  esac
     15428  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
     15429  postinstall_cmds='chmod 555 $lib'
     15430  # or fails outright, so override atomically:
     15431  install_override_mode=555
     15432  ;;
     15433
     15434interix[3-9]*)
     15435  version_type=linux # correct to gnu/linux during the next big refactor
     15436  need_lib_prefix=no
     15437  need_version=no
     15438  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15439  soname_spec='$libname$release$shared_ext$major'
     15440  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
     15441  shlibpath_var=LD_LIBRARY_PATH
     15442  shlibpath_overrides_runpath=no
     15443  hardcode_into_libs=yes
     15444  ;;
     15445
     15446irix5* | irix6* | nonstopux*)
     15447  case $host_os in
     15448    nonstopux*) version_type=nonstopux ;;
     15449    *)
     15450        if test yes = "$lt_cv_prog_gnu_ld"; then
     15451                version_type=linux # correct to gnu/linux during the next big refactor
     15452        else
     15453                version_type=irix
     15454        fi ;;
     15455  esac
     15456  need_lib_prefix=no
     15457  need_version=no
     15458  soname_spec='$libname$release$shared_ext$major'
     15459  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
     15460  case $host_os in
     15461  irix5* | nonstopux*)
     15462    libsuff= shlibsuff=
     15463    ;;
     15464  *)
     15465    case $LD in # libtool.m4 will add one of these switches to LD
     15466    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
     15467      libsuff= shlibsuff= libmagic=32-bit;;
     15468    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
     15469      libsuff=32 shlibsuff=N32 libmagic=N32;;
     15470    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
     15471      libsuff=64 shlibsuff=64 libmagic=64-bit;;
     15472    *) libsuff= shlibsuff= libmagic=never-match;;
     15473    esac
     15474    ;;
     15475  esac
     15476  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
     15477  shlibpath_overrides_runpath=no
     15478  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
     15479  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
     15480  hardcode_into_libs=yes
     15481  ;;
     15482
     15483# No shared lib support for Linux oldld, aout, or coff.
     15484linux*oldld* | linux*aout* | linux*coff*)
     15485  dynamic_linker=no
     15486  ;;
     15487
     15488linux*android*)
     15489  version_type=none # Android doesn't support versioned libraries.
     15490  need_lib_prefix=no
     15491  need_version=no
     15492  library_names_spec='$libname$release$shared_ext'
     15493  soname_spec='$libname$release$shared_ext'
     15494  finish_cmds=
     15495  shlibpath_var=LD_LIBRARY_PATH
     15496  shlibpath_overrides_runpath=yes
     15497
     15498  # This implies no fast_install, which is unacceptable.
     15499  # Some rework will be needed to allow for fast_install
     15500  # before this can be enabled.
     15501  hardcode_into_libs=yes
     15502
     15503  dynamic_linker='Android linker'
     15504  # Don't embed -rpath directories since the linker doesn't support them.
     15505  hardcode_libdir_flag_spec_CXX='-L$libdir'
     15506  ;;
     15507
     15508# This must be glibc/ELF.
     15509linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     15510  version_type=linux # correct to gnu/linux during the next big refactor
     15511  need_lib_prefix=no
     15512  need_version=no
     15513  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15514  soname_spec='$libname$release$shared_ext$major'
     15515  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
     15516  shlibpath_var=LD_LIBRARY_PATH
     15517  shlibpath_overrides_runpath=no
     15518
     15519  # Some binutils ld are patched to set DT_RUNPATH
     15520  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
     15521  $as_echo_n "(cached) " >&6
     15522else
     15523  lt_cv_shlibpath_overrides_runpath=no
     15524    save_LDFLAGS=$LDFLAGS
     15525    save_libdir=$libdir
     15526    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
     15527         LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
     15528    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     15529/* end confdefs.h.  */
     15530
     15531int
     15532main ()
     15533{
     15534
     15535  ;
     15536  return 0;
     15537}
     15538_ACEOF
     15539if ac_fn_cxx_try_link "$LINENO"; then :
     15540  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
     15541  lt_cv_shlibpath_overrides_runpath=yes
     15542fi
     15543fi
     15544rm -f core conftest.err conftest.$ac_objext \
     15545    conftest$ac_exeext conftest.$ac_ext
     15546    LDFLAGS=$save_LDFLAGS
     15547    libdir=$save_libdir
     15548
     15549fi
     15550
     15551  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
     15552
     15553  # This implies no fast_install, which is unacceptable.
     15554  # Some rework will be needed to allow for fast_install
     15555  # before this can be enabled.
     15556  hardcode_into_libs=yes
     15557
     15558  # Ideally, we could use ldconfig to report *all* directores which are
     15559  # searched for libraries, however this is still not possible.  Aside from not
     15560  # being certain /sbin/ldconfig is available, command
     15561  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
     15562  # even though it is searched at run-time.  Try to do the best guess by
     15563  # appending ld.so.conf contents (and includes) to the search path.
     15564  if test -f /etc/ld.so.conf; then
     15565    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' ' '`
     15566    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
     15567  fi
     15568
     15569  # We used to test for /lib/ld.so.1 and disable shared libraries on
     15570  # powerpc, because MkLinux only supported shared libraries with the
     15571  # GNU dynamic linker.  Since this was broken with cross compilers,
     15572  # most powerpc-linux boxes support dynamic linking these days and
     15573  # people can always --disable-shared, the test was removed, and we
     15574  # assume the GNU/Linux dynamic linker is in use.
     15575  dynamic_linker='GNU/Linux ld.so'
     15576  ;;
     15577
     15578netbsdelf*-gnu)
     15579  version_type=linux
     15580  need_lib_prefix=no
     15581  need_version=no
     15582  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
     15583  soname_spec='${libname}${release}${shared_ext}$major'
     15584  shlibpath_var=LD_LIBRARY_PATH
     15585  shlibpath_overrides_runpath=no
     15586  hardcode_into_libs=yes
     15587  dynamic_linker='NetBSD ld.elf_so'
     15588  ;;
     15589
     15590netbsd*)
     15591  version_type=sunos
     15592  need_lib_prefix=no
     15593  need_version=no
     15594  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
     15595    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     15596    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     15597    dynamic_linker='NetBSD (a.out) ld.so'
     15598  else
     15599    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15600    soname_spec='$libname$release$shared_ext$major'
     15601    dynamic_linker='NetBSD ld.elf_so'
     15602  fi
     15603  shlibpath_var=LD_LIBRARY_PATH
     15604  shlibpath_overrides_runpath=yes
     15605  hardcode_into_libs=yes
     15606  ;;
     15607
     15608newsos6)
     15609  version_type=linux # correct to gnu/linux during the next big refactor
     15610  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15611  shlibpath_var=LD_LIBRARY_PATH
     15612  shlibpath_overrides_runpath=yes
     15613  ;;
     15614
     15615*nto* | *qnx*)
     15616  version_type=qnx
     15617  need_lib_prefix=no
     15618  need_version=no
     15619  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15620  soname_spec='$libname$release$shared_ext$major'
     15621  shlibpath_var=LD_LIBRARY_PATH
     15622  shlibpath_overrides_runpath=no
     15623  hardcode_into_libs=yes
     15624  dynamic_linker='ldqnx.so'
     15625  ;;
     15626
     15627openbsd* | bitrig*)
     15628  version_type=sunos
     15629  sys_lib_dlsearch_path_spec=/usr/lib
     15630  need_lib_prefix=no
     15631  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
     15632    need_version=no
     15633  else
     15634    need_version=yes
     15635  fi
     15636  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     15637  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     15638  shlibpath_var=LD_LIBRARY_PATH
     15639  shlibpath_overrides_runpath=yes
     15640  ;;
     15641
     15642os2*)
     15643  libname_spec='$name'
     15644  version_type=windows
     15645  shrext_cmds=.dll
     15646  need_version=no
     15647  need_lib_prefix=no
     15648  # OS/2 can only load a DLL with a base name of 8 characters or less.
     15649  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
     15650    v=$($ECHO $release$versuffix | tr -d .-);
     15651    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
     15652    $ECHO $n$v`$shared_ext'
     15653  library_names_spec='${libname}_dll.$libext'
     15654  dynamic_linker='OS/2 ld.exe'
     15655  shlibpath_var=BEGINLIBPATH
     15656  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
     15657  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     15658  postinstall_cmds='base_file=`basename \$file`~
     15659    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
     15660    dldir=$destdir/`dirname \$dlpath`~
     15661    test -d \$dldir || mkdir -p \$dldir~
     15662    $install_prog $dir/$dlname \$dldir/$dlname~
     15663    chmod a+x \$dldir/$dlname~
     15664    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
     15665      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
     15666    fi'
     15667  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
     15668    dlpath=$dir/\$dldll~
     15669    $RM \$dlpath'
     15670  ;;
     15671
     15672osf3* | osf4* | osf5*)
     15673  version_type=osf
     15674  need_lib_prefix=no
     15675  need_version=no
     15676  soname_spec='$libname$release$shared_ext$major'
     15677  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15678  shlibpath_var=LD_LIBRARY_PATH
     15679  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
     15680  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     15681  ;;
     15682
     15683rdos*)
     15684  dynamic_linker=no
     15685  ;;
     15686
     15687solaris*)
     15688  version_type=linux # correct to gnu/linux during the next big refactor
     15689  need_lib_prefix=no
     15690  need_version=no
     15691  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15692  soname_spec='$libname$release$shared_ext$major'
     15693  shlibpath_var=LD_LIBRARY_PATH
     15694  shlibpath_overrides_runpath=yes
     15695  hardcode_into_libs=yes
     15696  # ldd complains unless libraries are executable
     15697  postinstall_cmds='chmod +x $lib'
     15698  ;;
     15699
     15700sunos4*)
     15701  version_type=sunos
     15702  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     15703  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
     15704  shlibpath_var=LD_LIBRARY_PATH
     15705  shlibpath_overrides_runpath=yes
     15706  if test yes = "$with_gnu_ld"; then
     15707    need_lib_prefix=no
     15708  fi
     15709  need_version=yes
     15710  ;;
     15711
     15712sysv4 | sysv4.3*)
     15713  version_type=linux # correct to gnu/linux during the next big refactor
     15714  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15715  soname_spec='$libname$release$shared_ext$major'
     15716  shlibpath_var=LD_LIBRARY_PATH
     15717  case $host_vendor in
     15718    sni)
     15719      shlibpath_overrides_runpath=no
     15720      need_lib_prefix=no
     15721      runpath_var=LD_RUN_PATH
     15722      ;;
     15723    siemens)
     15724      need_lib_prefix=no
     15725      ;;
     15726    motorola)
     15727      need_lib_prefix=no
     15728      need_version=no
     15729      shlibpath_overrides_runpath=no
     15730      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
     15731      ;;
     15732  esac
     15733  ;;
     15734
     15735sysv4*MP*)
     15736  if test -d /usr/nec; then
     15737    version_type=linux # correct to gnu/linux during the next big refactor
     15738    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
     15739    soname_spec='$libname$shared_ext.$major'
     15740    shlibpath_var=LD_LIBRARY_PATH
     15741  fi
     15742  ;;
     15743
     15744sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
     15745  version_type=sco
     15746  need_lib_prefix=no
     15747  need_version=no
     15748  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
     15749  soname_spec='$libname$release$shared_ext$major'
     15750  shlibpath_var=LD_LIBRARY_PATH
     15751  shlibpath_overrides_runpath=yes
     15752  hardcode_into_libs=yes
     15753  if test yes = "$with_gnu_ld"; then
     15754    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
     15755  else
     15756    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
     15757    case $host_os in
     15758      sco3.2v5*)
     15759        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
     15760        ;;
     15761    esac
     15762  fi
     15763  sys_lib_dlsearch_path_spec='/usr/lib'
     15764  ;;
     15765
     15766tpf*)
     15767  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
     15768  version_type=linux # correct to gnu/linux during the next big refactor
     15769  need_lib_prefix=no
     15770  need_version=no
     15771  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15772  shlibpath_var=LD_LIBRARY_PATH
     15773  shlibpath_overrides_runpath=no
     15774  hardcode_into_libs=yes
     15775  ;;
     15776
     15777uts4*)
     15778  version_type=linux # correct to gnu/linux during the next big refactor
     15779  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15780  soname_spec='$libname$release$shared_ext$major'
     15781  shlibpath_var=LD_LIBRARY_PATH
     15782  ;;
     15783
     15784*)
     15785  dynamic_linker=no
     15786  ;;
     15787esac
     15788{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
     15789$as_echo "$dynamic_linker" >&6; }
     15790test no = "$dynamic_linker" && can_build_shared=no
     15791
     15792variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
     15793if test yes = "$GCC"; then
     15794  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
     15795fi
     15796
     15797if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
     15798  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
     15799fi
     15800
     15801if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
     15802  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
     15803fi
     15804
     15805# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
     15806configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
     15807
     15808# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
     15809func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
     15810
     15811# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
     15812configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
     15813
     15814
     15815
     15816
     15817
     15818
     15819
     15820
     15821
     15822
     15823
     15824
     15825
     15826
     15827
     15828
     15829
     15830
     15831
     15832
     15833
     15834
     15835
     15836
     15837
     15838
     15839
     15840
     15841
     15842
     15843
     15844
     15845
     15846
     15847
     15848
     15849
     15850
     15851
     15852
     15853    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
     15854$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
     15855hardcode_action_CXX=
     15856if test -n "$hardcode_libdir_flag_spec_CXX" ||
     15857   test -n "$runpath_var_CXX" ||
     15858   test yes = "$hardcode_automatic_CXX"; then
     15859
     15860  # We can hardcode non-existent directories.
     15861  if test no != "$hardcode_direct_CXX" &&
     15862     # If the only mechanism to avoid hardcoding is shlibpath_var, we
     15863     # have to relink, otherwise we might link with an installed library
     15864     # when we should be linking with a yet-to-be-installed one
     15865     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" &&
     15866     test no != "$hardcode_minus_L_CXX"; then
     15867    # Linking always hardcodes the temporary library directory.
     15868    hardcode_action_CXX=relink
     15869  else
     15870    # We can link without hardcoding, and we can hardcode nonexisting dirs.
     15871    hardcode_action_CXX=immediate
     15872  fi
     15873else
     15874  # We cannot hardcode anything, or else we can only hardcode existing
     15875  # directories.
     15876  hardcode_action_CXX=unsupported
     15877fi
     15878{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
     15879$as_echo "$hardcode_action_CXX" >&6; }
     15880
     15881if test relink = "$hardcode_action_CXX" ||
     15882   test yes = "$inherit_rpath_CXX"; then
     15883  # Fast installation is not supported
     15884  enable_fast_install=no
     15885elif test yes = "$shlibpath_overrides_runpath" ||
     15886     test no = "$enable_shared"; then
     15887  # Fast installation is not necessary
     15888  enable_fast_install=needless
     15889fi
     15890
     15891
     15892
     15893
     15894
     15895
     15896
     15897  fi # test -n "$compiler"
     15898
     15899  CC=$lt_save_CC
     15900  CFLAGS=$lt_save_CFLAGS
     15901  LDCXX=$LD
     15902  LD=$lt_save_LD
     15903  GCC=$lt_save_GCC
     15904  with_gnu_ld=$lt_save_with_gnu_ld
     15905  lt_cv_path_LDCXX=$lt_cv_path_LD
     15906  lt_cv_path_LD=$lt_save_path_LD
     15907  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
     15908  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
     15909fi # test yes != "$_lt_caught_CXX_error"
     15910
     15911ac_ext=c
     15912ac_cpp='$CPP $CPPFLAGS'
     15913ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     15914ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     15915ac_compiler_gnu=$ac_cv_c_compiler_gnu
     15916
     15917
    334815918ac_ext=c
    334915919ac_cpp='$CPP $CPPFLAGS'
     
    420616776
    420716777
     16778
    420816779{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
    420916780$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
     
    423516806$as_echo "no" >&6; }
    423616807  SET_MAKE="MAKE=${MAKE-make}"
    4237 fi
    4238 
    4239 if test -n "$ac_tool_prefix"; then
    4240   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
    4241 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
    4242 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
    4243 $as_echo_n "checking for $ac_word... " >&6; }
    4244 if ${ac_cv_prog_RANLIB+:} false; then :
    4245   $as_echo_n "(cached) " >&6
    4246 else
    4247   if test -n "$RANLIB"; then
    4248   ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
    4249 else
    4250 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
    4251 for as_dir in $PATH
    4252 do
    4253   IFS=$as_save_IFS
    4254   test -z "$as_dir" && as_dir=.
    4255     for ac_exec_ext in '' $ac_executable_extensions; do
    4256   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    4257     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
    4258     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    4259     break 2
    4260   fi
    4261 done
    4262   done
    4263 IFS=$as_save_IFS
    4264 
    4265 fi
    4266 fi
    4267 RANLIB=$ac_cv_prog_RANLIB
    4268 if test -n "$RANLIB"; then
    4269   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
    4270 $as_echo "$RANLIB" >&6; }
    4271 else
    4272   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
    4273 $as_echo "no" >&6; }
    4274 fi
    4275 
    4276 
    4277 fi
    4278 if test -z "$ac_cv_prog_RANLIB"; then
    4279   ac_ct_RANLIB=$RANLIB
    4280   # Extract the first word of "ranlib", so it can be a program name with args.
    4281 set dummy ranlib; ac_word=$2
    4282 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
    4283 $as_echo_n "checking for $ac_word... " >&6; }
    4284 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
    4285   $as_echo_n "(cached) " >&6
    4286 else
    4287   if test -n "$ac_ct_RANLIB"; then
    4288   ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
    4289 else
    4290 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
    4291 for as_dir in $PATH
    4292 do
    4293   IFS=$as_save_IFS
    4294   test -z "$as_dir" && as_dir=.
    4295     for ac_exec_ext in '' $ac_executable_extensions; do
    4296   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    4297     ac_cv_prog_ac_ct_RANLIB="ranlib"
    4298     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    4299     break 2
    4300   fi
    4301 done
    4302   done
    4303 IFS=$as_save_IFS
    4304 
    4305 fi
    4306 fi
    4307 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
    4308 if test -n "$ac_ct_RANLIB"; then
    4309   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
    4310 $as_echo "$ac_ct_RANLIB" >&6; }
    4311 else
    4312   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
    4313 $as_echo "no" >&6; }
    4314 fi
    4315 
    4316   if test "x$ac_ct_RANLIB" = x; then
    4317     RANLIB=":"
    4318   else
    4319     case $cross_compiling:$ac_tool_warned in
    4320 yes:)
    4321 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
    4322 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
    4323 ac_tool_warned=yes ;;
    4324 esac
    4325     RANLIB=$ac_ct_RANLIB
    4326   fi
    4327 else
    4328   RANLIB="$ac_cv_prog_RANLIB"
    432916808fi
    433016809
     
    450216981Usually this means the macro was only invoked conditionally." "$LINENO" 5
    450316982fi
     16983if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
     16984  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
     16985Usually this means the macro was only invoked conditionally." "$LINENO" 5
     16986fi
    450416987if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
    450516988  as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
     
    507817561AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
    507917562
     17563
     17564# The HP-UX ksh and POSIX shell print the target directory to stdout
     17565# if CDPATH is set.
     17566(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
     17567
     17568sed_quote_subst='$sed_quote_subst'
     17569double_quote_subst='$double_quote_subst'
     17570delay_variable_subst='$delay_variable_subst'
     17571macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
     17572macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
     17573enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
     17574enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
     17575pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
     17576enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
     17577shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
     17578SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
     17579ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
     17580PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
     17581host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
     17582host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
     17583host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
     17584build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
     17585build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
     17586build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
     17587SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
     17588Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
     17589GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
     17590EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
     17591FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
     17592LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
     17593NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
     17594LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
     17595max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
     17596ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
     17597exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
     17598lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
     17599lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
     17600lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
     17601lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
     17602lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
     17603reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
     17604reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
     17605OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
     17606deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
     17607file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
     17608file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
     17609want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
     17610DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
     17611sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
     17612AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
     17613AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
     17614archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
     17615STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
     17616RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
     17617old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
     17618old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
     17619old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
     17620lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
     17621CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
     17622CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
     17623compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
     17624GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
     17625lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
     17626lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
     17627lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
     17628lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
     17629lt_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"`'
     17630lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
     17631nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
     17632lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
     17633lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
     17634objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
     17635MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
     17636lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
     17637lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
     17638lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
     17639lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
     17640lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
     17641need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
     17642MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
     17643DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
     17644NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
     17645LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
     17646OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
     17647OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
     17648libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
     17649shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
     17650extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
     17651archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
     17652enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
     17653export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
     17654whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
     17655compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
     17656old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
     17657old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
     17658archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
     17659archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
     17660module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
     17661module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
     17662with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
     17663allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
     17664no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
     17665hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
     17666hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
     17667hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
     17668hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
     17669hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
     17670hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
     17671hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
     17672inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
     17673link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
     17674always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
     17675export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
     17676exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
     17677include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
     17678prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
     17679postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
     17680file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
     17681variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
     17682need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
     17683need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
     17684version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
     17685runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
     17686shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
     17687shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
     17688libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
     17689library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
     17690soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
     17691install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
     17692postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
     17693postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
     17694finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
     17695finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
     17696hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
     17697sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
     17698configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
     17699configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
     17700hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
     17701enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
     17702enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
     17703enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
     17704old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
     17705striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
     17706compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
     17707predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
     17708postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
     17709predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
     17710postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
     17711compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
     17712LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
     17713reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
     17714reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     17715old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     17716compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
     17717GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
     17718lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
     17719lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
     17720lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
     17721lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
     17722lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
     17723archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
     17724enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
     17725export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
     17726whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
     17727compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
     17728old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     17729old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     17730archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     17731archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     17732module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     17733module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     17734with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
     17735allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
     17736no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
     17737hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
     17738hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
     17739hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
     17740hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
     17741hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
     17742hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
     17743hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
     17744inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
     17745link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
     17746always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
     17747export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     17748exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
     17749include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
     17750prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     17751postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     17752file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
     17753hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
     17754compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
     17755predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
     17756postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
     17757predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
     17758postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
     17759compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
     17760
     17761LTCC='$LTCC'
     17762LTCFLAGS='$LTCFLAGS'
     17763compiler='$compiler_DEFAULT'
     17764
     17765# A function that is used when there is no print builtin or printf.
     17766func_fallback_echo ()
     17767{
     17768  eval 'cat <<_LTECHO_EOF
     17769\$1
     17770_LTECHO_EOF'
     17771}
     17772
     17773# Quote evaled strings.
     17774for var in SHELL \
     17775ECHO \
     17776PATH_SEPARATOR \
     17777SED \
     17778GREP \
     17779EGREP \
     17780FGREP \
     17781LD \
     17782NM \
     17783LN_S \
     17784lt_SP2NL \
     17785lt_NL2SP \
     17786reload_flag \
     17787OBJDUMP \
     17788deplibs_check_method \
     17789file_magic_cmd \
     17790file_magic_glob \
     17791want_nocaseglob \
     17792DLLTOOL \
     17793sharedlib_from_linklib_cmd \
     17794AR \
     17795AR_FLAGS \
     17796archiver_list_spec \
     17797STRIP \
     17798RANLIB \
     17799CC \
     17800CFLAGS \
     17801compiler \
     17802lt_cv_sys_global_symbol_pipe \
     17803lt_cv_sys_global_symbol_to_cdecl \
     17804lt_cv_sys_global_symbol_to_import \
     17805lt_cv_sys_global_symbol_to_c_name_address \
     17806lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
     17807lt_cv_nm_interface \
     17808nm_file_list_spec \
     17809lt_cv_truncate_bin \
     17810lt_prog_compiler_no_builtin_flag \
     17811lt_prog_compiler_pic \
     17812lt_prog_compiler_wl \
     17813lt_prog_compiler_static \
     17814lt_cv_prog_compiler_c_o \
     17815need_locks \
     17816MANIFEST_TOOL \
     17817DSYMUTIL \
     17818NMEDIT \
     17819LIPO \
     17820OTOOL \
     17821OTOOL64 \
     17822shrext_cmds \
     17823export_dynamic_flag_spec \
     17824whole_archive_flag_spec \
     17825compiler_needs_object \
     17826with_gnu_ld \
     17827allow_undefined_flag \
     17828no_undefined_flag \
     17829hardcode_libdir_flag_spec \
     17830hardcode_libdir_separator \
     17831exclude_expsyms \
     17832include_expsyms \
     17833file_list_spec \
     17834variables_saved_for_relink \
     17835libname_spec \
     17836library_names_spec \
     17837soname_spec \
     17838install_override_mode \
     17839finish_eval \
     17840old_striplib \
     17841striplib \
     17842compiler_lib_search_dirs \
     17843predep_objects \
     17844postdep_objects \
     17845predeps \
     17846postdeps \
     17847compiler_lib_search_path \
     17848LD_CXX \
     17849reload_flag_CXX \
     17850compiler_CXX \
     17851lt_prog_compiler_no_builtin_flag_CXX \
     17852lt_prog_compiler_pic_CXX \
     17853lt_prog_compiler_wl_CXX \
     17854lt_prog_compiler_static_CXX \
     17855lt_cv_prog_compiler_c_o_CXX \
     17856export_dynamic_flag_spec_CXX \
     17857whole_archive_flag_spec_CXX \
     17858compiler_needs_object_CXX \
     17859with_gnu_ld_CXX \
     17860allow_undefined_flag_CXX \
     17861no_undefined_flag_CXX \
     17862hardcode_libdir_flag_spec_CXX \
     17863hardcode_libdir_separator_CXX \
     17864exclude_expsyms_CXX \
     17865include_expsyms_CXX \
     17866file_list_spec_CXX \
     17867compiler_lib_search_dirs_CXX \
     17868predep_objects_CXX \
     17869postdep_objects_CXX \
     17870predeps_CXX \
     17871postdeps_CXX \
     17872compiler_lib_search_path_CXX; do
     17873    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     17874    *[\\\\\\\`\\"\\\$]*)
     17875      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
     17876      ;;
     17877    *)
     17878      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
     17879      ;;
     17880    esac
     17881done
     17882
     17883# Double-quote double-evaled strings.
     17884for var in reload_cmds \
     17885old_postinstall_cmds \
     17886old_postuninstall_cmds \
     17887old_archive_cmds \
     17888extract_expsyms_cmds \
     17889old_archive_from_new_cmds \
     17890old_archive_from_expsyms_cmds \
     17891archive_cmds \
     17892archive_expsym_cmds \
     17893module_cmds \
     17894module_expsym_cmds \
     17895export_symbols_cmds \
     17896prelink_cmds \
     17897postlink_cmds \
     17898postinstall_cmds \
     17899postuninstall_cmds \
     17900finish_cmds \
     17901sys_lib_search_path_spec \
     17902configure_time_dlsearch_path \
     17903configure_time_lt_sys_library_path \
     17904reload_cmds_CXX \
     17905old_archive_cmds_CXX \
     17906old_archive_from_new_cmds_CXX \
     17907old_archive_from_expsyms_cmds_CXX \
     17908archive_cmds_CXX \
     17909archive_expsym_cmds_CXX \
     17910module_cmds_CXX \
     17911module_expsym_cmds_CXX \
     17912export_symbols_cmds_CXX \
     17913prelink_cmds_CXX \
     17914postlink_cmds_CXX; do
     17915    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     17916    *[\\\\\\\`\\"\\\$]*)
     17917      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
     17918      ;;
     17919    *)
     17920      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
     17921      ;;
     17922    esac
     17923done
     17924
     17925ac_aux_dir='$ac_aux_dir'
     17926
     17927# See if we are running on zsh, and set the options that allow our
     17928# commands through without removal of \ escapes INIT.
     17929if test -n "\${ZSH_VERSION+set}"; then
     17930   setopt NO_GLOB_SUBST
     17931fi
     17932
     17933
     17934    PACKAGE='$PACKAGE'
     17935    VERSION='$VERSION'
     17936    RM='$RM'
     17937    ofile='$ofile'
     17938
     17939
     17940
     17941
     17942
     17943
    508017944_ACEOF
    508117945
     
    508717951  case $ac_config_target in
    508817952    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
     17953    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
    508917954    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
    509017955    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
     
    561218477}
    561318478 ;;
     18479    "libtool":C)
     18480
     18481    # See if we are running on zsh, and set the options that allow our
     18482    # commands through without removal of \ escapes.
     18483    if test -n "${ZSH_VERSION+set}"; then
     18484      setopt NO_GLOB_SUBST
     18485    fi
     18486
     18487    cfgfile=${ofile}T
     18488    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
     18489    $RM "$cfgfile"
     18490
     18491    cat <<_LT_EOF >> "$cfgfile"
     18492#! $SHELL
     18493# Generated automatically by $as_me ($PACKAGE) $VERSION
     18494# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
     18495# NOTE: Changes made to this file will be lost: look at ltmain.sh.
     18496
     18497# Provide generalized library-building support services.
     18498# Written by Gordon Matzigkeit, 1996
     18499
     18500# Copyright (C) 2014 Free Software Foundation, Inc.
     18501# This is free software; see the source for copying conditions.  There is NO
     18502# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     18503
     18504# GNU Libtool is free software; you can redistribute it and/or modify
     18505# it under the terms of the GNU General Public License as published by
     18506# the Free Software Foundation; either version 2 of of the License, or
     18507# (at your option) any later version.
     18508#
     18509# As a special exception to the GNU General Public License, if you
     18510# distribute this file as part of a program or library that is built
     18511# using GNU Libtool, you may include this file under the  same
     18512# distribution terms that you use for the rest of that program.
     18513#
     18514# GNU Libtool is distributed in the hope that it will be useful, but
     18515# WITHOUT ANY WARRANTY; without even the implied warranty of
     18516# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     18517# GNU General Public License for more details.
     18518#
     18519# You should have received a copy of the GNU General Public License
     18520# along with this program.  If not, see <http://www.gnu.org/licenses/>.
     18521
     18522
     18523# The names of the tagged configurations supported by this script.
     18524available_tags='CXX '
     18525
     18526# Configured defaults for sys_lib_dlsearch_path munging.
     18527: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
     18528
     18529# ### BEGIN LIBTOOL CONFIG
     18530
     18531# Which release of libtool.m4 was used?
     18532macro_version=$macro_version
     18533macro_revision=$macro_revision
     18534
     18535# Whether or not to build shared libraries.
     18536build_libtool_libs=$enable_shared
     18537
     18538# Whether or not to build static libraries.
     18539build_old_libs=$enable_static
     18540
     18541# What type of objects to build.
     18542pic_mode=$pic_mode
     18543
     18544# Whether or not to optimize for fast installation.
     18545fast_install=$enable_fast_install
     18546
     18547# Shared archive member basename,for filename based shared library versioning on AIX.
     18548shared_archive_member_spec=$shared_archive_member_spec
     18549
     18550# Shell to use when invoking shell scripts.
     18551SHELL=$lt_SHELL
     18552
     18553# An echo program that protects backslashes.
     18554ECHO=$lt_ECHO
     18555
     18556# The PATH separator for the build system.
     18557PATH_SEPARATOR=$lt_PATH_SEPARATOR
     18558
     18559# The host system.
     18560host_alias=$host_alias
     18561host=$host
     18562host_os=$host_os
     18563
     18564# The build system.
     18565build_alias=$build_alias
     18566build=$build
     18567build_os=$build_os
     18568
     18569# A sed program that does not truncate output.
     18570SED=$lt_SED
     18571
     18572# Sed that helps us avoid accidentally triggering echo(1) options like -n.
     18573Xsed="\$SED -e 1s/^X//"
     18574
     18575# A grep program that handles long lines.
     18576GREP=$lt_GREP
     18577
     18578# An ERE matcher.
     18579EGREP=$lt_EGREP
     18580
     18581# A literal string matcher.
     18582FGREP=$lt_FGREP
     18583
     18584# A BSD- or MS-compatible name lister.
     18585NM=$lt_NM
     18586
     18587# Whether we need soft or hard links.
     18588LN_S=$lt_LN_S
     18589
     18590# What is the maximum length of a command?
     18591max_cmd_len=$max_cmd_len
     18592
     18593# Object file suffix (normally "o").
     18594objext=$ac_objext
     18595
     18596# Executable file suffix (normally "").
     18597exeext=$exeext
     18598
     18599# whether the shell understands "unset".
     18600lt_unset=$lt_unset
     18601
     18602# turn spaces into newlines.
     18603SP2NL=$lt_lt_SP2NL
     18604
     18605# turn newlines into spaces.
     18606NL2SP=$lt_lt_NL2SP
     18607
     18608# convert \$build file names to \$host format.
     18609to_host_file_cmd=$lt_cv_to_host_file_cmd
     18610
     18611# convert \$build files to toolchain format.
     18612to_tool_file_cmd=$lt_cv_to_tool_file_cmd
     18613
     18614# An object symbol dumper.
     18615OBJDUMP=$lt_OBJDUMP
     18616
     18617# Method to check whether dependent libraries are shared objects.
     18618deplibs_check_method=$lt_deplibs_check_method
     18619
     18620# Command to use when deplibs_check_method = "file_magic".
     18621file_magic_cmd=$lt_file_magic_cmd
     18622
     18623# How to find potential files when deplibs_check_method = "file_magic".
     18624file_magic_glob=$lt_file_magic_glob
     18625
     18626# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
     18627want_nocaseglob=$lt_want_nocaseglob
     18628
     18629# DLL creation program.
     18630DLLTOOL=$lt_DLLTOOL
     18631
     18632# Command to associate shared and link libraries.
     18633sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
     18634
     18635# The archiver.
     18636AR=$lt_AR
     18637
     18638# Flags to create an archive.
     18639AR_FLAGS=$lt_AR_FLAGS
     18640
     18641# How to feed a file listing to the archiver.
     18642archiver_list_spec=$lt_archiver_list_spec
     18643
     18644# A symbol stripping program.
     18645STRIP=$lt_STRIP
     18646
     18647# Commands used to install an old-style archive.
     18648RANLIB=$lt_RANLIB
     18649old_postinstall_cmds=$lt_old_postinstall_cmds
     18650old_postuninstall_cmds=$lt_old_postuninstall_cmds
     18651
     18652# Whether to use a lock for old archive extraction.
     18653lock_old_archive_extraction=$lock_old_archive_extraction
     18654
     18655# A C compiler.
     18656LTCC=$lt_CC
     18657
     18658# LTCC compiler flags.
     18659LTCFLAGS=$lt_CFLAGS
     18660
     18661# Take the output of nm and produce a listing of raw symbols and C names.
     18662global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
     18663
     18664# Transform the output of nm in a proper C declaration.
     18665global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
     18666
     18667# Transform the output of nm into a list of symbols to manually relocate.
     18668global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
     18669
     18670# Transform the output of nm in a C name address pair.
     18671global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
     18672
     18673# Transform the output of nm in a C name address pair when lib prefix is needed.
     18674global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
     18675
     18676# The name lister interface.
     18677nm_interface=$lt_lt_cv_nm_interface
     18678
     18679# Specify filename containing input files for \$NM.
     18680nm_file_list_spec=$lt_nm_file_list_spec
     18681
     18682# The root where to search for dependent libraries,and where our libraries should be installed.
     18683lt_sysroot=$lt_sysroot
     18684
     18685# Command to truncate a binary pipe.
     18686lt_truncate_bin=$lt_lt_cv_truncate_bin
     18687
     18688# The name of the directory that contains temporary libtool files.
     18689objdir=$objdir
     18690
     18691# Used to examine libraries when file_magic_cmd begins with "file".
     18692MAGIC_CMD=$MAGIC_CMD
     18693
     18694# Must we lock files when doing compilation?
     18695need_locks=$lt_need_locks
     18696
     18697# Manifest tool.
     18698MANIFEST_TOOL=$lt_MANIFEST_TOOL
     18699
     18700# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
     18701DSYMUTIL=$lt_DSYMUTIL
     18702
     18703# Tool to change global to local symbols on Mac OS X.
     18704NMEDIT=$lt_NMEDIT
     18705
     18706# Tool to manipulate fat objects and archives on Mac OS X.
     18707LIPO=$lt_LIPO
     18708
     18709# ldd/readelf like tool for Mach-O binaries on Mac OS X.
     18710OTOOL=$lt_OTOOL
     18711
     18712# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
     18713OTOOL64=$lt_OTOOL64
     18714
     18715# Old archive suffix (normally "a").
     18716libext=$libext
     18717
     18718# Shared library suffix (normally ".so").
     18719shrext_cmds=$lt_shrext_cmds
     18720
     18721# The commands to extract the exported symbol list from a shared archive.
     18722extract_expsyms_cmds=$lt_extract_expsyms_cmds
     18723
     18724# Variables whose values should be saved in libtool wrapper scripts and
     18725# restored at link time.
     18726variables_saved_for_relink=$lt_variables_saved_for_relink
     18727
     18728# Do we need the "lib" prefix for modules?
     18729need_lib_prefix=$need_lib_prefix
     18730
     18731# Do we need a version for libraries?
     18732need_version=$need_version
     18733
     18734# Library versioning type.
     18735version_type=$version_type
     18736
     18737# Shared library runtime path variable.
     18738runpath_var=$runpath_var
     18739
     18740# Shared library path variable.
     18741shlibpath_var=$shlibpath_var
     18742
     18743# Is shlibpath searched before the hard-coded library search path?
     18744shlibpath_overrides_runpath=$shlibpath_overrides_runpath
     18745
     18746# Format of library name prefix.
     18747libname_spec=$lt_libname_spec
     18748
     18749# List of archive names.  First name is the real one, the rest are links.
     18750# The last name is the one that the linker finds with -lNAME
     18751library_names_spec=$lt_library_names_spec
     18752
     18753# The coded name of the library, if different from the real name.
     18754soname_spec=$lt_soname_spec
     18755
     18756# Permission mode override for installation of shared libraries.
     18757install_override_mode=$lt_install_override_mode
     18758
     18759# Command to use after installation of a shared archive.
     18760postinstall_cmds=$lt_postinstall_cmds
     18761
     18762# Command to use after uninstallation of a shared archive.
     18763postuninstall_cmds=$lt_postuninstall_cmds
     18764
     18765# Commands used to finish a libtool library installation in a directory.
     18766finish_cmds=$lt_finish_cmds
     18767
     18768# As "finish_cmds", except a single script fragment to be evaled but
     18769# not shown.
     18770finish_eval=$lt_finish_eval
     18771
     18772# Whether we should hardcode library paths into libraries.
     18773hardcode_into_libs=$hardcode_into_libs
     18774
     18775# Compile-time system search path for libraries.
     18776sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
     18777
     18778# Detected run-time system search path for libraries.
     18779sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
     18780
     18781# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
     18782configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
     18783
     18784# Whether dlopen is supported.
     18785dlopen_support=$enable_dlopen
     18786
     18787# Whether dlopen of programs is supported.
     18788dlopen_self=$enable_dlopen_self
     18789
     18790# Whether dlopen of statically linked programs is supported.
     18791dlopen_self_static=$enable_dlopen_self_static
     18792
     18793# Commands to strip libraries.
     18794old_striplib=$lt_old_striplib
     18795striplib=$lt_striplib
     18796
     18797
     18798# The linker used to build libraries.
     18799LD=$lt_LD
     18800
     18801# How to create reloadable object files.
     18802reload_flag=$lt_reload_flag
     18803reload_cmds=$lt_reload_cmds
     18804
     18805# Commands used to build an old-style archive.
     18806old_archive_cmds=$lt_old_archive_cmds
     18807
     18808# A language specific compiler.
     18809CC=$lt_compiler
     18810
     18811# Is the compiler the GNU compiler?
     18812with_gcc=$GCC
     18813
     18814# Compiler flag to turn off builtin functions.
     18815no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
     18816
     18817# Additional compiler flags for building library objects.
     18818pic_flag=$lt_lt_prog_compiler_pic
     18819
     18820# How to pass a linker flag through the compiler.
     18821wl=$lt_lt_prog_compiler_wl
     18822
     18823# Compiler flag to prevent dynamic linking.
     18824link_static_flag=$lt_lt_prog_compiler_static
     18825
     18826# Does compiler simultaneously support -c and -o options?
     18827compiler_c_o=$lt_lt_cv_prog_compiler_c_o
     18828
     18829# Whether or not to add -lc for building shared libraries.
     18830build_libtool_need_lc=$archive_cmds_need_lc
     18831
     18832# Whether or not to disallow shared libs when runtime libs are static.
     18833allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
     18834
     18835# Compiler flag to allow reflexive dlopens.
     18836export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
     18837
     18838# Compiler flag to generate shared objects directly from archives.
     18839whole_archive_flag_spec=$lt_whole_archive_flag_spec
     18840
     18841# Whether the compiler copes with passing no objects directly.
     18842compiler_needs_object=$lt_compiler_needs_object
     18843
     18844# Create an old-style archive from a shared archive.
     18845old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
     18846
     18847# Create a temporary old-style archive to link instead of a shared archive.
     18848old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
     18849
     18850# Commands used to build a shared archive.
     18851archive_cmds=$lt_archive_cmds
     18852archive_expsym_cmds=$lt_archive_expsym_cmds
     18853
     18854# Commands used to build a loadable module if different from building
     18855# a shared archive.
     18856module_cmds=$lt_module_cmds
     18857module_expsym_cmds=$lt_module_expsym_cmds
     18858
     18859# Whether we are building with GNU ld or not.
     18860with_gnu_ld=$lt_with_gnu_ld
     18861
     18862# Flag that allows shared libraries with undefined symbols to be built.
     18863allow_undefined_flag=$lt_allow_undefined_flag
     18864
     18865# Flag that enforces no undefined symbols.
     18866no_undefined_flag=$lt_no_undefined_flag
     18867
     18868# Flag to hardcode \$libdir into a binary during linking.
     18869# This must work even if \$libdir does not exist
     18870hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
     18871
     18872# Whether we need a single "-rpath" flag with a separated argument.
     18873hardcode_libdir_separator=$lt_hardcode_libdir_separator
     18874
     18875# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
     18876# DIR into the resulting binary.
     18877hardcode_direct=$hardcode_direct
     18878
     18879# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
     18880# DIR into the resulting binary and the resulting library dependency is
     18881# "absolute",i.e impossible to change by setting \$shlibpath_var if the
     18882# library is relocated.
     18883hardcode_direct_absolute=$hardcode_direct_absolute
     18884
     18885# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
     18886# into the resulting binary.
     18887hardcode_minus_L=$hardcode_minus_L
     18888
     18889# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
     18890# into the resulting binary.
     18891hardcode_shlibpath_var=$hardcode_shlibpath_var
     18892
     18893# Set to "yes" if building a shared library automatically hardcodes DIR
     18894# into the library and all subsequent libraries and executables linked
     18895# against it.
     18896hardcode_automatic=$hardcode_automatic
     18897
     18898# Set to yes if linker adds runtime paths of dependent libraries
     18899# to runtime path list.
     18900inherit_rpath=$inherit_rpath
     18901
     18902# Whether libtool must link a program against all its dependency libraries.
     18903link_all_deplibs=$link_all_deplibs
     18904
     18905# Set to "yes" if exported symbols are required.
     18906always_export_symbols=$always_export_symbols
     18907
     18908# The commands to list exported symbols.
     18909export_symbols_cmds=$lt_export_symbols_cmds
     18910
     18911# Symbols that should not be listed in the preloaded symbols.
     18912exclude_expsyms=$lt_exclude_expsyms
     18913
     18914# Symbols that must always be exported.
     18915include_expsyms=$lt_include_expsyms
     18916
     18917# Commands necessary for linking programs (against libraries) with templates.
     18918prelink_cmds=$lt_prelink_cmds
     18919
     18920# Commands necessary for finishing linking programs.
     18921postlink_cmds=$lt_postlink_cmds
     18922
     18923# Specify filename containing input files.
     18924file_list_spec=$lt_file_list_spec
     18925
     18926# How to hardcode a shared library path into an executable.
     18927hardcode_action=$hardcode_action
     18928
     18929# The directories searched by this compiler when creating a shared library.
     18930compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
     18931
     18932# Dependencies to place before and after the objects being linked to
     18933# create a shared library.
     18934predep_objects=$lt_predep_objects
     18935postdep_objects=$lt_postdep_objects
     18936predeps=$lt_predeps
     18937postdeps=$lt_postdeps
     18938
     18939# The library search path used internally by the compiler when linking
     18940# a shared library.
     18941compiler_lib_search_path=$lt_compiler_lib_search_path
     18942
     18943# ### END LIBTOOL CONFIG
     18944
     18945_LT_EOF
     18946
     18947    cat <<'_LT_EOF' >> "$cfgfile"
     18948
     18949# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
     18950
     18951# func_munge_path_list VARIABLE PATH
     18952# -----------------------------------
     18953# VARIABLE is name of variable containing _space_ separated list of
     18954# directories to be munged by the contents of PATH, which is string
     18955# having a format:
     18956# "DIR[:DIR]:"
     18957#       string "DIR[ DIR]" will be prepended to VARIABLE
     18958# ":DIR[:DIR]"
     18959#       string "DIR[ DIR]" will be appended to VARIABLE
     18960# "DIRP[:DIRP]::[DIRA:]DIRA"
     18961#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
     18962#       "DIRA[ DIRA]" will be appended to VARIABLE
     18963# "DIR[:DIR]"
     18964#       VARIABLE will be replaced by "DIR[ DIR]"
     18965func_munge_path_list ()
     18966{
     18967    case x$2 in
     18968    x)
     18969        ;;
     18970    *:)
     18971        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
     18972        ;;
     18973    x:*)
     18974        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
     18975        ;;
     18976    *::*)
     18977        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
     18978        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
     18979        ;;
     18980    *)
     18981        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
     18982        ;;
     18983    esac
     18984}
     18985
     18986
     18987# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
     18988func_cc_basename ()
     18989{
     18990    for cc_temp in $*""; do
     18991      case $cc_temp in
     18992        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
     18993        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
     18994        \-*) ;;
     18995        *) break;;
     18996      esac
     18997    done
     18998    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
     18999}
     19000
     19001
     19002# ### END FUNCTIONS SHARED WITH CONFIGURE
     19003
     19004_LT_EOF
     19005
     19006  case $host_os in
     19007  aix3*)
     19008    cat <<\_LT_EOF >> "$cfgfile"
     19009# AIX sometimes has problems with the GCC collect2 program.  For some
     19010# reason, if we set the COLLECT_NAMES environment variable, the problems
     19011# vanish in a puff of smoke.
     19012if test set != "${COLLECT_NAMES+set}"; then
     19013  COLLECT_NAMES=
     19014  export COLLECT_NAMES
     19015fi
     19016_LT_EOF
     19017    ;;
     19018  esac
     19019
     19020
     19021ltmain=$ac_aux_dir/ltmain.sh
     19022
     19023
     19024  # We use sed instead of cat because bash on DJGPP gets confused if
     19025  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
     19026  # text mode, it properly converts lines to CR/LF.  This bash problem
     19027  # is reportedly fixed, but why not run on old versions too?
     19028  sed '$q' "$ltmain" >> "$cfgfile" \
     19029     || (rm -f "$cfgfile"; exit 1)
     19030
     19031   mv -f "$cfgfile" "$ofile" ||
     19032    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
     19033  chmod +x "$ofile"
     19034
     19035
     19036    cat <<_LT_EOF >> "$ofile"
     19037
     19038# ### BEGIN LIBTOOL TAG CONFIG: CXX
     19039
     19040# The linker used to build libraries.
     19041LD=$lt_LD_CXX
     19042
     19043# How to create reloadable object files.
     19044reload_flag=$lt_reload_flag_CXX
     19045reload_cmds=$lt_reload_cmds_CXX
     19046
     19047# Commands used to build an old-style archive.
     19048old_archive_cmds=$lt_old_archive_cmds_CXX
     19049
     19050# A language specific compiler.
     19051CC=$lt_compiler_CXX
     19052
     19053# Is the compiler the GNU compiler?
     19054with_gcc=$GCC_CXX
     19055
     19056# Compiler flag to turn off builtin functions.
     19057no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
     19058
     19059# Additional compiler flags for building library objects.
     19060pic_flag=$lt_lt_prog_compiler_pic_CXX
     19061
     19062# How to pass a linker flag through the compiler.
     19063wl=$lt_lt_prog_compiler_wl_CXX
     19064
     19065# Compiler flag to prevent dynamic linking.
     19066link_static_flag=$lt_lt_prog_compiler_static_CXX
     19067
     19068# Does compiler simultaneously support -c and -o options?
     19069compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
     19070
     19071# Whether or not to add -lc for building shared libraries.
     19072build_libtool_need_lc=$archive_cmds_need_lc_CXX
     19073
     19074# Whether or not to disallow shared libs when runtime libs are static.
     19075allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
     19076
     19077# Compiler flag to allow reflexive dlopens.
     19078export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
     19079
     19080# Compiler flag to generate shared objects directly from archives.
     19081whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
     19082
     19083# Whether the compiler copes with passing no objects directly.
     19084compiler_needs_object=$lt_compiler_needs_object_CXX
     19085
     19086# Create an old-style archive from a shared archive.
     19087old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
     19088
     19089# Create a temporary old-style archive to link instead of a shared archive.
     19090old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
     19091
     19092# Commands used to build a shared archive.
     19093archive_cmds=$lt_archive_cmds_CXX
     19094archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
     19095
     19096# Commands used to build a loadable module if different from building
     19097# a shared archive.
     19098module_cmds=$lt_module_cmds_CXX
     19099module_expsym_cmds=$lt_module_expsym_cmds_CXX
     19100
     19101# Whether we are building with GNU ld or not.
     19102with_gnu_ld=$lt_with_gnu_ld_CXX
     19103
     19104# Flag that allows shared libraries with undefined symbols to be built.
     19105allow_undefined_flag=$lt_allow_undefined_flag_CXX
     19106
     19107# Flag that enforces no undefined symbols.
     19108no_undefined_flag=$lt_no_undefined_flag_CXX
     19109
     19110# Flag to hardcode \$libdir into a binary during linking.
     19111# This must work even if \$libdir does not exist
     19112hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
     19113
     19114# Whether we need a single "-rpath" flag with a separated argument.
     19115hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
     19116
     19117# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
     19118# DIR into the resulting binary.
     19119hardcode_direct=$hardcode_direct_CXX
     19120
     19121# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
     19122# DIR into the resulting binary and the resulting library dependency is
     19123# "absolute",i.e impossible to change by setting \$shlibpath_var if the
     19124# library is relocated.
     19125hardcode_direct_absolute=$hardcode_direct_absolute_CXX
     19126
     19127# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
     19128# into the resulting binary.
     19129hardcode_minus_L=$hardcode_minus_L_CXX
     19130
     19131# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
     19132# into the resulting binary.
     19133hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
     19134
     19135# Set to "yes" if building a shared library automatically hardcodes DIR
     19136# into the library and all subsequent libraries and executables linked
     19137# against it.
     19138hardcode_automatic=$hardcode_automatic_CXX
     19139
     19140# Set to yes if linker adds runtime paths of dependent libraries
     19141# to runtime path list.
     19142inherit_rpath=$inherit_rpath_CXX
     19143
     19144# Whether libtool must link a program against all its dependency libraries.
     19145link_all_deplibs=$link_all_deplibs_CXX
     19146
     19147# Set to "yes" if exported symbols are required.
     19148always_export_symbols=$always_export_symbols_CXX
     19149
     19150# The commands to list exported symbols.
     19151export_symbols_cmds=$lt_export_symbols_cmds_CXX
     19152
     19153# Symbols that should not be listed in the preloaded symbols.
     19154exclude_expsyms=$lt_exclude_expsyms_CXX
     19155
     19156# Symbols that must always be exported.
     19157include_expsyms=$lt_include_expsyms_CXX
     19158
     19159# Commands necessary for linking programs (against libraries) with templates.
     19160prelink_cmds=$lt_prelink_cmds_CXX
     19161
     19162# Commands necessary for finishing linking programs.
     19163postlink_cmds=$lt_postlink_cmds_CXX
     19164
     19165# Specify filename containing input files.
     19166file_list_spec=$lt_file_list_spec_CXX
     19167
     19168# How to hardcode a shared library path into an executable.
     19169hardcode_action=$hardcode_action_CXX
     19170
     19171# The directories searched by this compiler when creating a shared library.
     19172compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
     19173
     19174# Dependencies to place before and after the objects being linked to
     19175# create a shared library.
     19176predep_objects=$lt_predep_objects_CXX
     19177postdep_objects=$lt_postdep_objects_CXX
     19178predeps=$lt_predeps_CXX
     19179postdeps=$lt_postdeps_CXX
     19180
     19181# The library search path used internally by the compiler when linking
     19182# a shared library.
     19183compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
     19184
     19185# ### END LIBTOOL TAG CONFIG: CXX
     19186_LT_EOF
     19187
     19188 ;;
    561419189
    561519190  esac
  • libcfa/configure.ac

    rff5caaf r95b8aa7  
    44AC_PREREQ([2.68])
    55AC_INIT([cfa-cc],[1.0.0.0],[cforall@plg.uwaterloo.ca])
    6 AC_CONFIG_AUX_DIR([./automake])
     6AC_CONFIG_AUX_DIR([automake])
     7AC_CONFIG_MACRO_DIRS([automake])
    78AM_SILENT_RULES([yes])
    89
     
    1415: ${CFLAGS=""}
    1516
     17# define this to override
     18AR_FLAGS="cr"
     19
    1620# Allow program name tansformation
    1721# will fill program_transform_name with appropriate sed regex
     
    2125AC_ARG_VAR(CONFIGURATION, [The configuration to use when building libcfa, options are: deubg, nodebug, nolib (prelude-only)])
    2226AC_ARG_VAR(DRIVER_DIR, [The path to the cforall driver directory])
     27AC_ARG_VAR(CFA_VERSION, [The long version of cfa])
    2328
    2429CFACC=${DRIVER_DIR}cfa
     
    2631AC_SUBST(CFACC)
    2732AC_SUBST(CFACPP)
     33AC_SUBST(CFA_VERSION)
    2834
    2935#==============================================================================
     
    5359                CONFIG_BUILDLIB="no"
    5460        ;;
     61        *)
     62        AC_MSG_ERROR('Invalid value $CONFIGURATION for \$CONFIGURATION')
     63        ;;
    5564esac
    5665
     
    7079
    7180# Checks for programs.
     81LT_INIT
     82
    7283AC_PROG_CXX
    7384AC_PROG_CC
    7485AM_PROG_AS
     86AC_PROG_LIBTOOL
    7587AC_PROG_INSTALL
    7688AC_PROG_MAKE_SET
    77 AC_PROG_RANLIB
    7889
    7990AC_CONFIG_FILES([
  • libcfa/prelude/Makefile.am

    rff5caaf r95b8aa7  
    1717# create object files in directory with source files
    1818AUTOMAKE_OPTIONS = foreign subdir-objects
     19ACLOCAL_AMFLAGS  = -I automake
    1920
    2021# put into lib for now
     
    2324
    2425CC = @CFACC@
    25 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@
     26AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@
    2627AM_CFAFLAGS = @CONFIG_CFAFLAGS@
    2728
  • libcfa/prelude/Makefile.in

    rff5caaf r95b8aa7  
    9090PRE_UNINSTALL = :
    9191POST_UNINSTALL = :
     92build_triplet = @build@
     93host_triplet = @host@
    9294subdir = prelude
    9395ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    94 am__aclocal_m4_deps = $(top_srcdir)/../automake/cfa.m4 \
    95         $(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
    96102am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    97103        $(ACLOCAL_M4)
     
    154160AMTAR = @AMTAR@
    155161AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
     162AR = @AR@
    156163ARCHITECTURE = @ARCHITECTURE@
    157164ARCH_FLAGS = @ARCH_FLAGS@
     
    172179CFA_NAME = @CFA_NAME@
    173180CFA_PREFIX = @CFA_PREFIX@
     181CFA_VERSION = @CFA_VERSION@
    174182CFLAGS = @CFLAGS@
    175183CONFIGURATION = @CONFIGURATION@
     
    177185CONFIG_CFAFLAGS = @CONFIG_CFAFLAGS@
    178186CONFIG_CFLAGS = @CONFIG_CFLAGS@
     187CPP = @CPP@
    179188CPPFLAGS = @CPPFLAGS@
    180189CXX = @CXX@
     190CXXCPP = @CXXCPP@
    181191CXXDEPMODE = @CXXDEPMODE@
    182192CXXFLAGS = @CXXFLAGS@
     
    184194DEFS = @DEFS@
    185195DEPDIR = @DEPDIR@
     196DLLTOOL = @DLLTOOL@
    186197DRIVER_DIR = @DRIVER_DIR@
     198DSYMUTIL = @DSYMUTIL@
     199DUMPBIN = @DUMPBIN@
    187200ECHO_C = @ECHO_C@
    188201ECHO_N = @ECHO_N@
    189202ECHO_T = @ECHO_T@
     203EGREP = @EGREP@
    190204EXEEXT = @EXEEXT@
     205FGREP = @FGREP@
     206GREP = @GREP@
    191207INSTALL = @INSTALL@
    192208INSTALL_DATA = @INSTALL_DATA@
     
    194210INSTALL_SCRIPT = @INSTALL_SCRIPT@
    195211INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     212LD = @LD@
    196213LDFLAGS = @LDFLAGS@
    197214LIBOBJS = @LIBOBJS@
    198215LIBS = @LIBS@
     216LIBTOOL = @LIBTOOL@
     217LIPO = @LIPO@
     218LN_S = @LN_S@
    199219LTLIBOBJS = @LTLIBOBJS@
     220LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    200221MAKEINFO = @MAKEINFO@
     222MANIFEST_TOOL = @MANIFEST_TOOL@
    201223MKDIR_P = @MKDIR_P@
     224NM = @NM@
     225NMEDIT = @NMEDIT@
     226OBJDUMP = @OBJDUMP@
    202227OBJEXT = @OBJEXT@
     228OTOOL = @OTOOL@
     229OTOOL64 = @OTOOL64@
    203230PACKAGE = @PACKAGE@
    204231PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    210237PATH_SEPARATOR = @PATH_SEPARATOR@
    211238RANLIB = @RANLIB@
     239SED = @SED@
    212240SET_MAKE = @SET_MAKE@
    213241SHELL = @SHELL@
     
    218246abs_top_builddir = @abs_top_builddir@
    219247abs_top_srcdir = @abs_top_srcdir@
     248ac_ct_AR = @ac_ct_AR@
    220249ac_ct_CC = @ac_ct_CC@
    221250ac_ct_CXX = @ac_ct_CXX@
     251ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    222252am__include = @am__include@
    223253am__leading_dot = @am__leading_dot@
     
    226256am__untar = @am__untar@
    227257bindir = @bindir@
     258build = @build@
    228259build_alias = @build_alias@
     260build_cpu = @build_cpu@
     261build_os = @build_os@
     262build_vendor = @build_vendor@
    229263builddir = @builddir@
    230264datadir = @datadir@
     
    233267dvidir = @dvidir@
    234268exec_prefix = @exec_prefix@
     269host = @host@
    235270host_alias = @host_alias@
     271host_cpu = @host_cpu@
     272host_os = @host_os@
     273host_vendor = @host_vendor@
    236274htmldir = @htmldir@
    237275includedir = @includedir@
     
    261299# create object files in directory with source files
    262300AUTOMAKE_OPTIONS = foreign subdir-objects
     301ACLOCAL_AMFLAGS = -I automake
    263302
    264303# put into lib for now
    265304cfalibdir = ${CFA_LIBDIR}
    266305cfalib_DATA = gcc-builtins.cf builtins.cf extras.cf prelude.cfa bootloader.c
    267 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@
     306AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@
    268307AM_CFAFLAGS = @CONFIG_CFAFLAGS@
    269308MOSTLYCLEANFILES = bootloader.c builtins.cf extras.cf gcc-builtins.c gcc-builtins.cf prelude.cfa
     
    301340        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    302341$(am__aclocal_m4_deps):
     342
     343mostlyclean-libtool:
     344        -rm -f *.lo
     345
     346clean-libtool:
     347        -rm -rf .libs _libs
    303348install-cfalibDATA: $(cfalib_DATA)
    304349        @$(NORMAL_INSTALL)
     
    400445clean: clean-am
    401446
    402 clean-am: clean-generic mostlyclean-am
     447clean-am: clean-generic clean-libtool mostlyclean-am
    403448
    404449distclean: distclean-am
     
    453498mostlyclean: mostlyclean-am
    454499
    455 mostlyclean-am: mostlyclean-generic
     500mostlyclean-am: mostlyclean-generic mostlyclean-libtool
    456501
    457502pdf: pdf-am
     
    467512.MAKE: install-am install-strip
    468513
    469 .PHONY: all all-am check check-am clean clean-generic cscopelist-am \
    470         ctags-am distclean distclean-generic distdir dvi dvi-am html \
    471         html-am info info-am install install-am install-cfalibDATA \
    472         install-data install-data-am install-dvi install-dvi-am \
    473         install-exec install-exec-am install-html install-html-am \
    474         install-info install-info-am install-man install-pdf \
    475         install-pdf-am install-ps install-ps-am install-strip \
    476         installcheck installcheck-am installdirs maintainer-clean \
     514.PHONY: all all-am check check-am clean clean-generic clean-libtool \
     515        cscopelist-am ctags-am distclean distclean-generic \
     516        distclean-libtool distdir dvi dvi-am html html-am info info-am \
     517        install install-am install-cfalibDATA install-data \
     518        install-data-am install-dvi install-dvi-am install-exec \
     519        install-exec-am install-html install-html-am install-info \
     520        install-info-am install-man install-pdf install-pdf-am \
     521        install-ps install-ps-am install-strip installcheck \
     522        installcheck-am installdirs maintainer-clean \
    477523        maintainer-clean-generic maintainer-clean-local mostlyclean \
    478         mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
    479         uninstall-am uninstall-cfalibDATA
     524        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
     525        tags-am uninstall uninstall-am uninstall-cfalibDATA
    480526
    481527.PRECIOUS: Makefile
  • libcfa/src/Makefile.am

    rff5caaf r95b8aa7  
    1717# create object files in directory with source files
    1818AUTOMAKE_OPTIONS = foreign subdir-objects
    19 ARFLAGS = cr
     19ACLOCAL_AMFLAGS  = -I automake
    2020
    2121include $(srcdir)/../../src/cfa.make
    2222
    2323libdir = ${CFA_LIBDIR}
    24 lib_LIBRARIES =  libcfa.a
     24lib_LTLIBRARIES =  libcfa.la
    2525
    2626VPATH += :../prelude
     
    3131# The built sources must not depend on the installed headers
    3232AM_CFAFLAGS = -quiet -in-tree -I$(srcdir)/stdhdr @CONFIG_CFAFLAGS@
    33 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@
     33AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@
    3434AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@
    3535CFACC = @CFACC@
     
    3737#----------------------------------------------------------------------------------------------------------------
    3838if BUILDLIB
     39headers_nosrc = math.hfa gmp.hfa time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa
    3940headers = fstream.hfa iostream.hfa iterator.hfa limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \
    4041          containers/maybe.hfa containers/pair.hfa containers/result.hfa containers/vector.hfa
    4142
    42 headers_nosrc = math.hfa gmp.hfa time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa
    43 
    4443# not all platforms support concurrency, add option do disable it
     44headers_nosrc += concurrency/invoke.h
    4545headers += concurrency/coroutine.hfa concurrency/thread.hfa concurrency/kernel.hfa concurrency/monitor.hfa concurrency/mutex.hfa
    46 
    47 headers_nosrc += concurrency/invoke.h
    4846
    4947libsrc = startup.cfa interpose.cfa bits/debug.cfa assert.cfa exception.c virtual.c heap.cfa ${headers:.hfa=.cfa}
     
    6361
    6462# add dependency of cfa files
    65 libobjs = $(addsuffix .o, $(basename $(filter %.cfa,$(libsrc))))
     63libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(libsrc))))
    6664$(libobjs) : @CFACC@ @CFACPP@ prelude.cfa
    6765
     
    7068libdeps = $(join \
    7169        $(addsuffix $(DEPDIR)/ , $(dir $(libobjs) ) ), \
    72         $(notdir ${libobjs:.o=.Po}) \
     70        $(notdir ${libobjs:.lo=.Plo}) \
    7371)
    7472
     
    7674
    7775prelude.o : prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@
    78         ${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree -XCFA -l ${<} -c -o ${@}
     76        ${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree @CONFIG_CFAFLAGS@ -XCFA -l ${<} -c -o ${@}
    7977
     78prelude.lo: prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@
     79        ${AM_V_GEN}$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile \
     80        @CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree @CONFIG_CFAFLAGS@ -XCFA -l ${<} -c -o ${@}
    8081
    8182
    8283#----------------------------------------------------------------------------------------------------------------
    83 libcfa_a_SOURCES = prelude.cfa ${libsrc}
     84libcfa_la_SOURCES = prelude.cfa ${libsrc}
     85libcfa_la_LDFLAGS = -version-info @CFA_VERSION@
    8486
    85 stdhdr = ${shell find ${srcdir}/stdhdr -type f -printf "%p "}
     87stdhdr = $(shell find $(srcdir)/stdhdr -type f -printf "%p ")
    8688
    8789cfa_includedir = $(CFA_INCDIR)
  • libcfa/src/Makefile.in

    rff5caaf r95b8aa7  
    9090PRE_UNINSTALL = :
    9191POST_UNINSTALL = :
     92build_triplet = @build@
     93host_triplet = @host@
    9294subdir = src
    9395ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    94 am__aclocal_m4_deps = $(top_srcdir)/../automake/cfa.m4 \
    95         $(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
    96102am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    97103        $(ACLOCAL_M4)
     
    129135  }
    130136am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cfa_includedir)"
    131 LIBRARIES = $(lib_LIBRARIES)
    132 AR = ar
    133 AM_V_AR = $(am__v_AR_@AM_V@)
    134 am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
    135 am__v_AR_0 = @echo "  AR      " $@;
    136 am__v_AR_1 =
    137 libcfa_a_AR = $(AR) $(ARFLAGS)
    138 libcfa_a_LIBADD =
    139 am__libcfa_a_SOURCES_DIST = prelude.cfa startup.cfa interpose.cfa \
     137LTLIBRARIES = $(lib_LTLIBRARIES)
     138libcfa_la_LIBADD =
     139am__libcfa_la_SOURCES_DIST = prelude.cfa startup.cfa interpose.cfa \
    140140        bits/debug.cfa assert.cfa exception.c virtual.c heap.cfa \
    141141        fstream.cfa iostream.cfa iterator.cfa limits.cfa rational.cfa \
     
    148148        concurrency/invoke.c concurrency/preemption.cfa
    149149am__dirstamp = $(am__leading_dot)dirstamp
    150 @BUILDLIB_TRUE@am__objects_1 = fstream.$(OBJEXT) iostream.$(OBJEXT) \
    151 @BUILDLIB_TRUE@ iterator.$(OBJEXT) limits.$(OBJEXT) \
    152 @BUILDLIB_TRUE@ rational.$(OBJEXT) time.$(OBJEXT) \
    153 @BUILDLIB_TRUE@ stdlib.$(OBJEXT) common.$(OBJEXT) \
    154 @BUILDLIB_TRUE@ containers/maybe.$(OBJEXT) \
    155 @BUILDLIB_TRUE@ containers/pair.$(OBJEXT) \
    156 @BUILDLIB_TRUE@ containers/result.$(OBJEXT) \
    157 @BUILDLIB_TRUE@ containers/vector.$(OBJEXT) \
    158 @BUILDLIB_TRUE@ concurrency/coroutine.$(OBJEXT) \
    159 @BUILDLIB_TRUE@ concurrency/thread.$(OBJEXT) \
    160 @BUILDLIB_TRUE@ concurrency/kernel.$(OBJEXT) \
    161 @BUILDLIB_TRUE@ concurrency/monitor.$(OBJEXT) \
    162 @BUILDLIB_TRUE@ concurrency/mutex.$(OBJEXT)
    163 @BUILDLIB_TRUE@am__objects_2 = startup.$(OBJEXT) interpose.$(OBJEXT) \
    164 @BUILDLIB_TRUE@ bits/debug.$(OBJEXT) assert.$(OBJEXT) \
    165 @BUILDLIB_TRUE@ exception.$(OBJEXT) virtual.$(OBJEXT) \
    166 @BUILDLIB_TRUE@ heap.$(OBJEXT) $(am__objects_1) \
    167 @BUILDLIB_TRUE@ concurrency/CtxSwitch-@ARCHITECTURE@.$(OBJEXT) \
    168 @BUILDLIB_TRUE@ concurrency/alarm.$(OBJEXT) \
    169 @BUILDLIB_TRUE@ concurrency/invoke.$(OBJEXT) \
    170 @BUILDLIB_TRUE@ concurrency/preemption.$(OBJEXT)
    171 am_libcfa_a_OBJECTS = prelude.$(OBJEXT) $(am__objects_2)
    172 libcfa_a_OBJECTS = $(am_libcfa_a_OBJECTS)
     150@BUILDLIB_TRUE@am__objects_1 = fstream.lo iostream.lo iterator.lo \
     151@BUILDLIB_TRUE@ limits.lo rational.lo time.lo stdlib.lo \
     152@BUILDLIB_TRUE@ common.lo containers/maybe.lo \
     153@BUILDLIB_TRUE@ containers/pair.lo containers/result.lo \
     154@BUILDLIB_TRUE@ containers/vector.lo concurrency/coroutine.lo \
     155@BUILDLIB_TRUE@ concurrency/thread.lo concurrency/kernel.lo \
     156@BUILDLIB_TRUE@ concurrency/monitor.lo concurrency/mutex.lo
     157@BUILDLIB_TRUE@am__objects_2 = startup.lo interpose.lo bits/debug.lo \
     158@BUILDLIB_TRUE@ assert.lo exception.lo virtual.lo heap.lo \
     159@BUILDLIB_TRUE@ $(am__objects_1) \
     160@BUILDLIB_TRUE@ concurrency/CtxSwitch-@ARCHITECTURE@.lo \
     161@BUILDLIB_TRUE@ concurrency/alarm.lo concurrency/invoke.lo \
     162@BUILDLIB_TRUE@ concurrency/preemption.lo
     163am_libcfa_la_OBJECTS = prelude.lo $(am__objects_2)
     164libcfa_la_OBJECTS = $(am_libcfa_la_OBJECTS)
     165AM_V_lt = $(am__v_lt_@AM_V@)
     166am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
     167am__v_lt_0 = --silent
     168am__v_lt_1 =
     169libcfa_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     170        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
     171        $(libcfa_la_LDFLAGS) $(LDFLAGS) -o $@
    173172AM_V_P = $(am__v_P_@AM_V@)
    174173am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
     
    184183am__v_at_1 =
    185184DEFAULT_INCLUDES = -I.@am__isrc@
    186 depcomp = $(SHELL) $(top_srcdir)/./automake/depcomp
     185depcomp = $(SHELL) $(top_srcdir)/automake/depcomp
    187186am__depfiles_maybe = depfiles
    188187am__mv = mv -f
    189188CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
    190189        $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
     190LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
     191        $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \
     192        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
     193        $(AM_CCASFLAGS) $(CCASFLAGS)
    191194AM_V_CPPAS = $(am__v_CPPAS_@AM_V@)
    192195am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@)
     
    195198COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
    196199        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
     200LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     201        $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
     202        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
     203        $(AM_CFLAGS) $(CFLAGS)
    197204AM_V_CC = $(am__v_CC_@AM_V@)
    198205am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
     
    200207am__v_CC_1 =
    201208CCLD = $(CC)
    202 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
     209LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     210        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
     211        $(AM_LDFLAGS) $(LDFLAGS) -o $@
    203212AM_V_CCLD = $(am__v_CCLD_@AM_V@)
    204213am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
    205214am__v_CCLD_0 = @echo "  CCLD    " $@;
    206215am__v_CCLD_1 =
    207 SOURCES = $(libcfa_a_SOURCES)
    208 DIST_SOURCES = $(am__libcfa_a_SOURCES_DIST)
     216SOURCES = $(libcfa_la_SOURCES)
     217DIST_SOURCES = $(am__libcfa_la_SOURCES_DIST)
    209218am__can_run_installinfo = \
    210219  case $$AM_UPDATE_INFO_DIR in \
     
    212221    *) (install-info --version) >/dev/null 2>&1;; \
    213222  esac
    214 am__nobase_cfa_include_HEADERS_DIST = ${shell find ${srcdir}/stdhdr \
    215         -type f -printf "%p "} fstream.hfa iostream.hfa iterator.hfa \
     223am__nobase_cfa_include_HEADERS_DIST = $(shell find $(srcdir)/stdhdr \
     224        -type f -printf "%p ") fstream.hfa iostream.hfa iterator.hfa \
    216225        limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \
    217226        containers/maybe.hfa containers/pair.hfa containers/result.hfa \
     
    242251CTAGS = ctags
    243252am__DIST_COMMON = $(srcdir)/../../src/cfa.make $(srcdir)/Makefile.in \
    244         $(top_srcdir)/./automake/depcomp
     253        $(top_srcdir)/automake/depcomp
    245254DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
    246255VPATH = @srcdir@ :../prelude
     
    248257AMTAR = @AMTAR@
    249258AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
     259AR = @AR@
    250260ARCHITECTURE = @ARCHITECTURE@
    251261ARCH_FLAGS = @ARCH_FLAGS@
     
    266276CFA_NAME = @CFA_NAME@
    267277CFA_PREFIX = @CFA_PREFIX@
     278CFA_VERSION = @CFA_VERSION@
    268279CFLAGS = @CFLAGS@
    269280CONFIGURATION = @CONFIGURATION@
     
    271282CONFIG_CFAFLAGS = @CONFIG_CFAFLAGS@
    272283CONFIG_CFLAGS = @CONFIG_CFLAGS@
     284CPP = @CPP@
    273285CPPFLAGS = @CPPFLAGS@
    274286CXX = @CXX@
     287CXXCPP = @CXXCPP@
    275288CXXDEPMODE = @CXXDEPMODE@
    276289CXXFLAGS = @CXXFLAGS@
     
    278291DEFS = @DEFS@
    279292DEPDIR = @DEPDIR@
     293DLLTOOL = @DLLTOOL@
    280294DRIVER_DIR = @DRIVER_DIR@
     295DSYMUTIL = @DSYMUTIL@
     296DUMPBIN = @DUMPBIN@
    281297ECHO_C = @ECHO_C@
    282298ECHO_N = @ECHO_N@
    283299ECHO_T = @ECHO_T@
     300EGREP = @EGREP@
    284301EXEEXT = @EXEEXT@
     302FGREP = @FGREP@
     303GREP = @GREP@
    285304INSTALL = @INSTALL@
    286305INSTALL_DATA = @INSTALL_DATA@
     
    288307INSTALL_SCRIPT = @INSTALL_SCRIPT@
    289308INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     309LD = @LD@
    290310LDFLAGS = @LDFLAGS@
    291311LIBOBJS = @LIBOBJS@
    292312LIBS = @LIBS@
     313LIBTOOL = @LIBTOOL@
     314LIPO = @LIPO@
     315LN_S = @LN_S@
    293316LTLIBOBJS = @LTLIBOBJS@
     317LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    294318MAKEINFO = @MAKEINFO@
     319MANIFEST_TOOL = @MANIFEST_TOOL@
    295320MKDIR_P = @MKDIR_P@
     321NM = @NM@
     322NMEDIT = @NMEDIT@
     323OBJDUMP = @OBJDUMP@
    296324OBJEXT = @OBJEXT@
     325OTOOL = @OTOOL@
     326OTOOL64 = @OTOOL64@
    297327PACKAGE = @PACKAGE@
    298328PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    304334PATH_SEPARATOR = @PATH_SEPARATOR@
    305335RANLIB = @RANLIB@
     336SED = @SED@
    306337SET_MAKE = @SET_MAKE@
    307338SHELL = @SHELL@
     
    312343abs_top_builddir = @abs_top_builddir@
    313344abs_top_srcdir = @abs_top_srcdir@
     345ac_ct_AR = @ac_ct_AR@
    314346ac_ct_CC = @ac_ct_CC@
    315347ac_ct_CXX = @ac_ct_CXX@
     348ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    316349am__include = @am__include@
    317350am__leading_dot = @am__leading_dot@
     
    320353am__untar = @am__untar@
    321354bindir = @bindir@
     355build = @build@
    322356build_alias = @build_alias@
     357build_cpu = @build_cpu@
     358build_os = @build_os@
     359build_vendor = @build_vendor@
    323360builddir = @builddir@
    324361datadir = @datadir@
     
    327364dvidir = @dvidir@
    328365exec_prefix = @exec_prefix@
     366host = @host@
    329367host_alias = @host_alias@
     368host_cpu = @host_cpu@
     369host_os = @host_os@
     370host_vendor = @host_vendor@
    330371htmldir = @htmldir@
    331372includedir = @includedir@
     
    355396# create object files in directory with source files
    356397AUTOMAKE_OPTIONS = foreign subdir-objects
    357 ARFLAGS = cr
     398ACLOCAL_AMFLAGS = -I automake
    358399CFACOMPILE = $(CFACC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) $(AM_CFLAGS) $(CFLAGS)
     400LTCFACOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     401        $(LIBTOOLFLAGS) --mode=compile $(CFACC) $(DEFS) \
     402        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) \
     403        $(AM_CFLAGS) $(CFLAGS)
     404
    359405AM_V_CFA = $(am__v_CFA_@AM_V@)
    360406am__v_CFA_ = $(am__v_CFA_@AM_DEFAULT_V@)
    361407am__v_CFA_0 = @echo "  CFA     " $@;
    362408am__v_CFA_1 =
    363 lib_LIBRARIES = libcfa.a
     409AM_V_JAVAC = $(am__v_JAVAC_@AM_V@)
     410am__v_JAVAC_ = $(am__v_JAVAC_@AM_DEFAULT_V@)
     411am__v_JAVAC_0 = @echo "  JAVAC   " $@;
     412am__v_JAVAC_1 =
     413AM_V_GOC = $(am__v_GOC_@AM_V@)
     414am__v_GOC_ = $(am__v_GOC_@AM_DEFAULT_V@)
     415am__v_GOC_0 = @echo "  GOC     " $@;
     416am__v_GOC_1 =
     417UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)
     418AM_V_UPP = $(am__v_UPP_@AM_V@)
     419am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@)
     420am__v_UPP_0 = @echo "  UPP     " $@;
     421am__v_UPP_1 =
     422lib_LTLIBRARIES = libcfa.la
    364423
    365424# AM_CFLAGS for all cfa source
     
    368427# The built sources must not depend on the installed headers
    369428AM_CFAFLAGS = -quiet -in-tree -I$(srcdir)/stdhdr @CONFIG_CFAFLAGS@
    370 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@
     429AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@
    371430AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@
     431@BUILDLIB_FALSE@headers_nosrc =
     432
     433#----------------------------------------------------------------------------------------------------------------
     434
     435# not all platforms support concurrency, add option do disable it
     436@BUILDLIB_TRUE@headers_nosrc = math.hfa gmp.hfa time_t.hfa \
     437@BUILDLIB_TRUE@ bits/align.hfa bits/containers.hfa \
     438@BUILDLIB_TRUE@ bits/defs.hfa bits/debug.hfa bits/locks.hfa \
     439@BUILDLIB_TRUE@ concurrency/invoke.h
    372440@BUILDLIB_FALSE@headers =
    373 
    374 #----------------------------------------------------------------------------------------------------------------
    375 
    376 # not all platforms support concurrency, add option do disable it
    377441@BUILDLIB_TRUE@headers = fstream.hfa iostream.hfa iterator.hfa \
    378442@BUILDLIB_TRUE@ limits.hfa rational.hfa time.hfa stdlib.hfa \
     
    382446@BUILDLIB_TRUE@ concurrency/thread.hfa concurrency/kernel.hfa \
    383447@BUILDLIB_TRUE@ concurrency/monitor.hfa concurrency/mutex.hfa
    384 @BUILDLIB_FALSE@headers_nosrc =
    385 @BUILDLIB_TRUE@headers_nosrc = math.hfa gmp.hfa time_t.hfa \
    386 @BUILDLIB_TRUE@ bits/align.hfa bits/containers.hfa \
    387 @BUILDLIB_TRUE@ bits/defs.hfa bits/debug.hfa bits/locks.hfa \
    388 @BUILDLIB_TRUE@ concurrency/invoke.h
    389448@BUILDLIB_FALSE@libsrc =
    390449
     
    402461
    403462# add dependency of cfa files
    404 libobjs = $(addsuffix .o, $(basename $(filter %.cfa,$(libsrc))))
     463libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(libsrc))))
    405464
    406465# .deps inclusion is not done automatically by automake for new languages
    407466libdeps = $(join \
    408467        $(addsuffix $(DEPDIR)/ , $(dir $(libobjs) ) ), \
    409         $(notdir ${libobjs:.o=.Po}) \
     468        $(notdir ${libobjs:.lo=.Plo}) \
    410469)
    411470
    412471
    413472#----------------------------------------------------------------------------------------------------------------
    414 libcfa_a_SOURCES = prelude.cfa ${libsrc}
    415 stdhdr = ${shell find ${srcdir}/stdhdr -type f -printf "%p "}
     473libcfa_la_SOURCES = prelude.cfa ${libsrc}
     474libcfa_la_LDFLAGS = -version-info @CFA_VERSION@
     475stdhdr = $(shell find $(srcdir)/stdhdr -type f -printf "%p ")
    416476cfa_includedir = $(CFA_INCDIR)
    417477nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc}
     
    419479
    420480.SUFFIXES:
    421 .SUFFIXES: .S .c .cfa .o .obj
     481.SUFFIXES: .S .c .cfa .lo .o .obj
    422482$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(srcdir)/../../src/cfa.make $(am__configure_deps)
    423483        @for dep in $?; do \
     
    450510        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    451511$(am__aclocal_m4_deps):
    452 install-libLIBRARIES: $(lib_LIBRARIES)
     512
     513install-libLTLIBRARIES: $(lib_LTLIBRARIES)
    453514        @$(NORMAL_INSTALL)
    454         @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
     515        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
    455516        list2=; for p in $$list; do \
    456517          if test -f $$p; then \
     
    461522          echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
    462523          $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
    463           echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \
    464           $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; }
    465         @$(POST_INSTALL)
    466         @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
     524          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
     525          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
     526        }
     527
     528uninstall-libLTLIBRARIES:
     529        @$(NORMAL_UNINSTALL)
     530        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
    467531        for p in $$list; do \
    468           if test -f $$p; then \
    469             $(am__strip_dir) \
    470             echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \
    471             ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \
    472           else :; fi; \
     532          $(am__strip_dir) \
     533          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
     534          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
    473535        done
    474536
    475 uninstall-libLIBRARIES:
    476         @$(NORMAL_UNINSTALL)
    477         @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
    478         files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
    479         dir='$(DESTDIR)$(libdir)'; $(am__uninstall_files_from_dir)
    480 
    481 clean-libLIBRARIES:
    482         -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
     537clean-libLTLIBRARIES:
     538        -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
     539        @list='$(lib_LTLIBRARIES)'; \
     540        locs=`for p in $$list; do echo $$p; done | \
     541              sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
     542              sort -u`; \
     543        test -z "$$locs" || { \
     544          echo rm -f $${locs}; \
     545          rm -f $${locs}; \
     546        }
    483547bits/$(am__dirstamp):
    484548        @$(MKDIR_P) bits
     
    487551        @$(MKDIR_P) bits/$(DEPDIR)
    488552        @: > bits/$(DEPDIR)/$(am__dirstamp)
    489 bits/debug.$(OBJEXT): bits/$(am__dirstamp) \
    490         bits/$(DEPDIR)/$(am__dirstamp)
     553bits/debug.lo: bits/$(am__dirstamp) bits/$(DEPDIR)/$(am__dirstamp)
    491554containers/$(am__dirstamp):
    492555        @$(MKDIR_P) containers
     
    495558        @$(MKDIR_P) containers/$(DEPDIR)
    496559        @: > containers/$(DEPDIR)/$(am__dirstamp)
    497 containers/maybe.$(OBJEXT): containers/$(am__dirstamp) \
     560containers/maybe.lo: containers/$(am__dirstamp) \
    498561        containers/$(DEPDIR)/$(am__dirstamp)
    499 containers/pair.$(OBJEXT): containers/$(am__dirstamp) \
     562containers/pair.lo: containers/$(am__dirstamp) \
    500563        containers/$(DEPDIR)/$(am__dirstamp)
    501 containers/result.$(OBJEXT): containers/$(am__dirstamp) \
     564containers/result.lo: containers/$(am__dirstamp) \
    502565        containers/$(DEPDIR)/$(am__dirstamp)
    503 containers/vector.$(OBJEXT): containers/$(am__dirstamp) \
     566containers/vector.lo: containers/$(am__dirstamp) \
    504567        containers/$(DEPDIR)/$(am__dirstamp)
    505568concurrency/$(am__dirstamp):
     
    509572        @$(MKDIR_P) concurrency/$(DEPDIR)
    510573        @: > concurrency/$(DEPDIR)/$(am__dirstamp)
    511 concurrency/coroutine.$(OBJEXT): concurrency/$(am__dirstamp) \
     574concurrency/coroutine.lo: concurrency/$(am__dirstamp) \
    512575        concurrency/$(DEPDIR)/$(am__dirstamp)
    513 concurrency/thread.$(OBJEXT): concurrency/$(am__dirstamp) \
     576concurrency/thread.lo: concurrency/$(am__dirstamp) \
    514577        concurrency/$(DEPDIR)/$(am__dirstamp)
    515 concurrency/kernel.$(OBJEXT): concurrency/$(am__dirstamp) \
     578concurrency/kernel.lo: concurrency/$(am__dirstamp) \
    516579        concurrency/$(DEPDIR)/$(am__dirstamp)
    517 concurrency/monitor.$(OBJEXT): concurrency/$(am__dirstamp) \
     580concurrency/monitor.lo: concurrency/$(am__dirstamp) \
    518581        concurrency/$(DEPDIR)/$(am__dirstamp)
    519 concurrency/mutex.$(OBJEXT): concurrency/$(am__dirstamp) \
     582concurrency/mutex.lo: concurrency/$(am__dirstamp) \
    520583        concurrency/$(DEPDIR)/$(am__dirstamp)
    521 concurrency/CtxSwitch-@ARCHITECTURE@.$(OBJEXT):  \
    522         concurrency/$(am__dirstamp) \
     584concurrency/CtxSwitch-@ARCHITECTURE@.lo: concurrency/$(am__dirstamp) \
    523585        concurrency/$(DEPDIR)/$(am__dirstamp)
    524 concurrency/alarm.$(OBJEXT): concurrency/$(am__dirstamp) \
     586concurrency/alarm.lo: concurrency/$(am__dirstamp) \
    525587        concurrency/$(DEPDIR)/$(am__dirstamp)
    526 concurrency/invoke.$(OBJEXT): concurrency/$(am__dirstamp) \
     588concurrency/invoke.lo: concurrency/$(am__dirstamp) \
    527589        concurrency/$(DEPDIR)/$(am__dirstamp)
    528 concurrency/preemption.$(OBJEXT): concurrency/$(am__dirstamp) \
     590concurrency/preemption.lo: concurrency/$(am__dirstamp) \
    529591        concurrency/$(DEPDIR)/$(am__dirstamp)
    530592
    531 libcfa.a: $(libcfa_a_OBJECTS) $(libcfa_a_DEPENDENCIES) $(EXTRA_libcfa_a_DEPENDENCIES)
    532         $(AM_V_at)-rm -f libcfa.a
    533         $(AM_V_AR)$(libcfa_a_AR) libcfa.a $(libcfa_a_OBJECTS) $(libcfa_a_LIBADD)
    534         $(AM_V_at)$(RANLIB) libcfa.a
     593libcfa.la: $(libcfa_la_OBJECTS) $(libcfa_la_DEPENDENCIES) $(EXTRA_libcfa_la_DEPENDENCIES)
     594        $(AM_V_CCLD)$(libcfa_la_LINK) -rpath $(libdir) $(libcfa_la_OBJECTS) $(libcfa_la_LIBADD) $(LIBS)
    535595
    536596mostlyclean-compile:
    537597        -rm -f *.$(OBJEXT)
    538598        -rm -f bits/*.$(OBJEXT)
     599        -rm -f bits/*.lo
    539600        -rm -f concurrency/*.$(OBJEXT)
     601        -rm -f concurrency/*.lo
    540602        -rm -f containers/*.$(OBJEXT)
     603        -rm -f containers/*.lo
    541604
    542605distclean-compile:
    543606        -rm -f *.tab.c
    544607
    545 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exception.Po@am__quote@
    546 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/virtual.Po@am__quote@
    547 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/CtxSwitch-@ARCHITECTURE@.Po@am__quote@
    548 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/invoke.Po@am__quote@
     608@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exception.Plo@am__quote@
     609@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/virtual.Plo@am__quote@
     610@AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/CtxSwitch-@ARCHITECTURE@.Plo@am__quote@
     611@AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/invoke.Plo@am__quote@
    549612
    550613.S.o:
     
    564627@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
    565628
     629.S.lo:
     630@am__fastdepCCAS_TRUE@  $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
     631@am__fastdepCCAS_TRUE@  $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
     632@am__fastdepCCAS_TRUE@  $(am__mv) $$depbase.Tpo $$depbase.Plo
     633@AMDEP_TRUE@@am__fastdepCCAS_FALSE@     $(AM_V_CPPAS)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
     634@AMDEP_TRUE@@am__fastdepCCAS_FALSE@     DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     635@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(LTCPPASCOMPILE) -c -o $@ $<
     636
    566637.c.o:
    567638@am__fastdepCC_TRUE@    $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
     
    579650@AMDEP_TRUE@@am__fastdepCC_FALSE@       DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    580651@am__fastdepCC_FALSE@   $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
     652
     653.c.lo:
     654@am__fastdepCC_TRUE@    $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
     655@am__fastdepCC_TRUE@    $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
     656@am__fastdepCC_TRUE@    $(am__mv) $$depbase.Tpo $$depbase.Plo
     657@AMDEP_TRUE@@am__fastdepCC_FALSE@       $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
     658@AMDEP_TRUE@@am__fastdepCC_FALSE@       DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     659@am__fastdepCC_FALSE@   $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
     660
     661mostlyclean-libtool:
     662        -rm -f *.lo
     663
     664clean-libtool:
     665        -rm -rf .libs _libs
     666        -rm -rf bits/.libs bits/_libs
     667        -rm -rf concurrency/.libs concurrency/_libs
     668        -rm -rf containers/.libs containers/_libs
    581669install-nobase_cfa_includeHEADERS: $(nobase_cfa_include_HEADERS)
    582670        @$(NORMAL_INSTALL)
     
    688776check-am: all-am
    689777check: check-am
    690 all-am: Makefile $(LIBRARIES) $(HEADERS)
     778all-am: Makefile $(LTLIBRARIES) $(HEADERS)
    691779installdirs:
    692780        for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cfa_includedir)"; do \
     
    731819clean: clean-am
    732820
    733 clean-am: clean-generic clean-libLIBRARIES mostlyclean-am
     821clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
     822        mostlyclean-am
    734823
    735824distclean: distclean-am
     
    757846install-dvi-am:
    758847
    759 install-exec-am: install-libLIBRARIES
     848install-exec-am: install-libLTLIBRARIES
    760849
    761850install-html: install-html-am
     
    787876mostlyclean: mostlyclean-am
    788877
    789 mostlyclean-am: mostlyclean-compile mostlyclean-generic
     878mostlyclean-am: mostlyclean-compile mostlyclean-generic \
     879        mostlyclean-libtool
    790880
    791881pdf: pdf-am
     
    797887ps-am:
    798888
    799 uninstall-am: uninstall-libLIBRARIES \
     889uninstall-am: uninstall-libLTLIBRARIES \
    800890        uninstall-nobase_cfa_includeHEADERS
    801891
     
    803893
    804894.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
    805         clean-libLIBRARIES cscopelist-am ctags ctags-am distclean \
    806         distclean-compile distclean-generic distclean-tags distdir dvi \
    807         dvi-am html html-am info info-am install install-am \
    808         install-data install-data-am install-dvi install-dvi-am \
    809         install-exec install-exec-am install-html install-html-am \
    810         install-info install-info-am install-libLIBRARIES install-man \
     895        clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
     896        ctags-am distclean distclean-compile distclean-generic \
     897        distclean-libtool distclean-tags distdir dvi dvi-am html \
     898        html-am info info-am install install-am install-data \
     899        install-data-am install-dvi install-dvi-am install-exec \
     900        install-exec-am install-html install-html-am install-info \
     901        install-info-am install-libLTLIBRARIES install-man \
    811902        install-nobase_cfa_includeHEADERS install-pdf install-pdf-am \
    812903        install-ps install-ps-am install-strip installcheck \
    813904        installcheck-am installdirs maintainer-clean \
    814905        maintainer-clean-generic maintainer-clean-local mostlyclean \
    815         mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
    816         tags tags-am uninstall uninstall-am uninstall-libLIBRARIES \
    817         uninstall-nobase_cfa_includeHEADERS
     906        mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
     907        pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
     908        uninstall-libLTLIBRARIES uninstall-nobase_cfa_includeHEADERS
    818909
    819910.PRECIOUS: Makefile
     
    824915        $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
    825916        $(am__mv) $$depbase.Tpo $$depbase.Po
     917
     918.cfa.lo:
     919        $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
     920        $(LTCFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
     921        $(am__mv) $$depbase.Tpo $$depbase.Plo
    826922$(libobjs) : @CFACC@ @CFACPP@ prelude.cfa
    827923
     
    829925
    830926prelude.o : prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@
    831         ${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree -XCFA -l ${<} -c -o ${@}
     927        ${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree @CONFIG_CFAFLAGS@ -XCFA -l ${<} -c -o ${@}
     928
     929prelude.lo: prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@
     930        ${AM_V_GEN}$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile \
     931        @CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree @CONFIG_CFAFLAGS@ -XCFA -l ${<} -c -o ${@}
    832932
    833933#----------------------------------------------------------------------------------------------------------------
  • libcfa/src/bits/locks.hfa

    rff5caaf r95b8aa7  
    3737#endif
    3838
    39 #if defined( __i386 ) || defined( __x86_64 ) || defined( __ARM_ARCH )
    40         // Intel recommendation
    41         #define __ALIGN__ __attribute__(( aligned (128) ))
    42 #elif defined( __sparc )
    43         #define __ALIGN__ CALIGN
    44 #else
    45         #error unsupported architecture
    46 #endif
    47 
    4839struct __spinlock_t {
    4940        // Wrap in struct to prevent false sharing with debug info
    50         struct {
    51                 // Align lock on 128-bit boundary
    52                 __ALIGN__ volatile bool lock;
    53         };
     41        volatile bool lock;
    5442        #ifdef __CFA_DEBUG__
    5543                // previous function to acquire the lock
     
    5846                void* prev_thrd;
    5947        #endif
    60 } __ALIGN__;
     48};
    6149
    6250#ifdef __cforall
  • libcfa/src/concurrency/coroutine.cfa

    rff5caaf r95b8aa7  
    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

    rff5caaf r95b8aa7  
    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

    rff5caaf r95b8aa7  
    5959                                volatile bool in_progress;
    6060                        } preemption_state;
    61                 } kernelTLS;
     61                } kernelTLS __attribute__ ((tls_model ( "initial-exec" )));
    6262        }
    6363
     
    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
  • libcfa/src/concurrency/kernel.cfa

    rff5caaf r95b8aa7  
    5757//-----------------------------------------------------------------------------
    5858// Global state
    59 thread_local struct KernelThreadData kernelTLS = {
     59thread_local struct KernelThreadData kernelTLS __attribute__ ((tls_model ( "initial-exec" ))) = {
    6060        NULL,
    6161        NULL,
  • libcfa/src/concurrency/kernel_private.hfa

    rff5caaf r95b8aa7  
    7979};
    8080
    81 extern volatile thread_local __cfa_kernel_preemption_state_t preemption_state;
     81extern volatile thread_local __cfa_kernel_preemption_state_t preemption_state __attribute__ ((tls_model ( "initial-exec" )));
    8282
    8383//-----------------------------------------------------------------------------
  • libcfa/src/exception.c

    rff5caaf r95b8aa7  
    246246}
    247247
     248#if defined(PIC)
     249#warning Exceptions not yet supported when using Position-Independent Code
     250__attribute__((noinline))
     251void __cfaabi_ehm__try_terminate(void (*try_block)(),
     252                void (*catch_block)(int index, exception_t * except),
     253                __attribute__((unused)) int (*match_block)(exception_t * except)) {
     254        abort();
     255}
     256#else
    248257// This is our personality routine.  For every stack frame anotated with ".cfi_personality 0x3,__gcfa_personality_v0".
    249258// This function will be called twice when unwinding.  Once in the search phased and once in the cleanup phase.
     
    477486);
    478487#endif // __i386 || __x86_64
     488#endif //PIC
  • libcfa/src/fstream.cfa

    rff5caaf r95b8aa7  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Aug 10 18:19:40 2018
    13 // Update Count     : 284
     12// Last Modified On : Mon Dec 24 18:33:38 2018
     13// Update Count     : 304
    1414//
    1515
     
    2020#include <stdarg.h>                                                                             // varargs
    2121#include <string.h>                                                                             // strlen
    22 #include <stdbool.h>                                                                    // true/false
    2322#include <float.h>                                                                              // DBL_DIG, LDBL_DIG
    2423#include <complex.h>                                                                    // creal, cimag
     
    2726#define IO_MSG "I/O error: "
    2827
    29 void ?{}( ofstream & os, void * file, bool sepDefault, bool sepOnOff, const char * separator, const char * tupleSeparator ) {
     28void ?{}( ofstream & os, void * file, bool sepDefault, bool sepOnOff, bool nlOnOff, bool prt, const char * separator, const char * tupleSeparator ) {
    3029        os.file = file;
    3130        os.sepDefault = sepDefault;
    3231        os.sepOnOff = sepOnOff;
     32        os.nlOnOff = nlOnOff;
     33        os.prt = prt;
    3334        sepSet( os, separator );
    3435        sepSetCur( os, sepGet( os ) );
     
    4445bool getNL( ofstream & os ) { return os.sawNL; }
    4546void setNL( ofstream & os, bool state ) { os.sawNL = state; }
     47bool getANL( ofstream & os ) { return os.nlOnOff; }
     48bool getPrt( ofstream & os ) { return os.prt; }
     49void setPrt( ofstream & os, bool state ) { os.prt = state; }
    4650
    4751// public
     
    7276} // sepEnable
    7377
     78void nlOn( ofstream & os ) { os.nlOnOff = true; }
     79void nlOff( ofstream & os ) { os.nlOnOff = false; }
     80
    7481const char * sepGet( ofstream & os ) { return os.separator; }
    7582void sepSet( ofstream & os, const char * s ) {
     
    103110        } // if
    104111        #endif // __CFA_DEBUG__
    105         (os){ file, true, false, " ", ", " };
     112        (os){ file, true, false, true, false, " ", ", " };
    106113} // open
    107114
     
    143150        va_end( args );
    144151
     152        setPrt( os, true );                                                                     // called in output cascade
    145153        sepReset( os );                                                                         // reset separator
    146154        return len;
    147155} // fmt
    148156
    149 static ofstream soutFile = { (FILE *)(&_IO_2_1_stdout_), true, false, " ", ", " };
     157static ofstream soutFile = { (FILE *)(&_IO_2_1_stdout_), true, false, true, false, " ", ", " };
    150158ofstream & sout = soutFile;
    151 static ofstream serrFile = { (FILE *)(&_IO_2_1_stderr_), true, false, " ", ", " };
     159static ofstream serrFile = { (FILE *)(&_IO_2_1_stderr_), true, false, true, false, " ", ", " };
    152160ofstream & serr = serrFile;
    153161
  • libcfa/src/fstream.hfa

    rff5caaf r95b8aa7  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Aug 11 13:54:27 2018
    13 // Update Count     : 132
     12// Last Modified On : Mon Dec 24 18:33:41 2018
     13// Update Count     : 149
    1414//
    1515
     
    2323        bool sepDefault;
    2424        bool sepOnOff;
     25        bool nlOnOff;
     26        bool prt;                                                                                       // print text
    2527        bool sawNL;
    2628        const char * sepCur;
     
    3739bool getNL( ofstream & );
    3840void setNL( ofstream &, bool );
     41bool getANL( ofstream & );
     42bool getPrt( ofstream & );
     43void setPrt( ofstream &, bool );
    3944
    4045// public
     
    4348bool sepDisable( ofstream & );
    4449bool sepEnable( ofstream & );
     50void nlOn( ofstream & );
     51void nlOff( ofstream & );
    4552
    4653const char * sepGet( ofstream & );
     
    5562void close( ofstream & );
    5663ofstream & write( ofstream &, const char * data, size_t size );
    57 int fmt( ofstream &, const char fmt[], ... );
     64int fmt( ofstream &, const char format[], ... );
    5865
    5966void ?{}( ofstream & os );
     
    7683ifstream & read( ifstream & is, char * data, size_t size );
    7784ifstream & ungetc( ifstream & is, char c );
    78 int fmt( ifstream &, const char fmt[], ... );
     85int fmt( ifstream &, const char format[], ... );
    7986
    8087void ?{}( ifstream & is );
  • libcfa/src/gmp.hfa

    rff5caaf r95b8aa7  
    1010// Created On       : Tue Apr 19 08:43:43 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Dec  7 09:10:41 2017
    13 // Update Count     : 21
     12// Last Modified On : Tue Dec  4 23:25:51 2018
     13// Update Count     : 22
    1414//
    1515
     
    262262} // ?|?
    263263
    264 static inline forall( dtype ostype | ostream( ostype ) )
    265 ostype & ?|?( ostype & os, Int mp ) {
    266         if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
    267         gmp_printf( "%Zd", mp.mpz );
    268         sepOn( os );
    269         return os;
    270 } // ?|?
     264static inline forall( dtype ostype | ostream( ostype ) ) {
     265        ostype & ?|?( ostype & os, Int mp ) {
     266                if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
     267                gmp_printf( "%Zd", mp.mpz );
     268                sepOn( os );
     269                return os;
     270        } // ?|?
     271
     272        void ?|?( ostype & os, Int mp ) {
     273                (ostype)(os | mp); if ( getANL( os ) ) nl( os );
     274        } // ?|?
     275} // distribution
    271276
    272277// Local Variables: //
  • libcfa/src/iostream.cfa

    rff5caaf r95b8aa7  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Aug 11 13:56:43 2018
    13 // Update Count     : 473
     12// Last Modified On : Mon Dec 24 18:33:40 2018
     13// Update Count     : 589
    1414//
    1515
     
    1919#include <stdio.h>
    2020#include <stdbool.h>                                                                    // true/false
    21 //#include <string.h>                                                                           // strlen, strcmp
     21//#include <string.h>                                                                   // strlen, strcmp
    2222extern int strcmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
    2323extern size_t strlen (const char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
     
    3232                return os;
    3333        } // ?|?
    34 
    35         ostype & ?|?( ostype & os, char ch ) {
    36                 fmt( os, "%c", ch );
    37                 if ( ch == '\n' ) setNL( os, true );
    38                 sepOff( os );
    39                 return os;
    40         } // ?|?
    41 
    42         ostype & ?|?( ostype & os, signed char c ) {
    43                 if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
    44                 fmt( os, "%hhd", c );
    45                 return os;
    46         } // ?|?
    47 
    48         ostype & ?|?( ostype & os, unsigned char c ) {
    49                 if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
    50                 fmt( os, "%hhu", c );
    51                 return os;
     34        void ?|?( ostype & os, bool b ) {
     35                (ostype &)(os | b); nl( os );
     36        } // ?|?
     37
     38        ostype & ?|?( ostype & os, char c ) {
     39                fmt( os, "%c", c );
     40                if ( c == '\n' ) setNL( os, true );
     41                return sepOff( os );
     42        } // ?|?
     43        void ?|?( ostype & os, char c ) {
     44                (ostype &)(os | c); nl( os );
     45        } // ?|?
     46
     47        ostype & ?|?( ostype & os, signed char sc ) {
     48                if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
     49                fmt( os, "%hhd", sc );
     50                return os;
     51        } // ?|?
     52        void ?|?( ostype & os, signed char sc ) {
     53                (ostype &)(os | sc); nl( os );
     54        } // ?|?
     55
     56        ostype & ?|?( ostype & os, unsigned char usc ) {
     57                if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
     58                fmt( os, "%hhu", usc );
     59                return os;
     60        } // ?|?
     61        void ?|?( ostype & os, unsigned char usc ) {
     62                (ostype &)(os | usc); nl( os );
    5263        } // ?|?
    5364
     
    5768                return os;
    5869        } // ?|?
     70        void & ?|?( ostype & os, short int si ) {
     71                (ostype &)(os | si); nl( os );
     72        } // ?|?
    5973
    6074        ostype & ?|?( ostype & os, unsigned short int usi ) {
     
    6377                return os;
    6478        } // ?|?
     79        void & ?|?( ostype & os, unsigned short int usi ) {
     80                (ostype &)(os | usi); nl( os );
     81        } // ?|?
    6582
    6683        ostype & ?|?( ostype & os, int i ) {
     
    6986                return os;
    7087        } // ?|?
     88        void & ?|?( ostype & os, int i ) {
     89                (ostype &)(os | i); nl( os );
     90        } // ?|?
    7191
    7292        ostype & ?|?( ostype & os, unsigned int ui ) {
     
    7595                return os;
    7696        } // ?|?
     97        void & ?|?( ostype & os, unsigned int ui ) {
     98                (ostype &)(os | ui); nl( os );
     99        } // ?|?
    77100
    78101        ostype & ?|?( ostype & os, long int li ) {
     
    81104                return os;
    82105        } // ?|?
     106        void & ?|?( ostype & os, long int li ) {
     107                (ostype &)(os | li); nl( os );
     108        } // ?|?
    83109
    84110        ostype & ?|?( ostype & os, unsigned long int uli ) {
     
    87113                return os;
    88114        } // ?|?
     115        void & ?|?( ostype & os, unsigned long int uli ) {
     116                (ostype &)(os | uli); nl( os );
     117        } // ?|?
    89118
    90119        ostype & ?|?( ostype & os, long long int lli ) {
     
    93122                return os;
    94123        } // ?|?
     124        void & ?|?( ostype & os, long long int lli ) {
     125                (ostype &)(os | lli); nl( os );
     126        } // ?|?
    95127
    96128        ostype & ?|?( ostype & os, unsigned long long int ulli ) {
     
    99131                return os;
    100132        } // ?|?
     133        void & ?|?( ostype & os, unsigned long long int ulli ) {
     134                (ostype &)(os | ulli); nl( os );
     135        } // ?|?
    101136
    102137        ostype & ?|?( ostype & os, float f ) {
     
    105140                return os;
    106141        } // ?|?
     142        void & ?|?( ostype & os, float f ) {
     143                (ostype &)(os | f); nl( os );
     144        } // ?|?
    107145
    108146        ostype & ?|?( ostype & os, double d ) {
     
    111149                return os;
    112150        } // ?|?
     151        void & ?|?( ostype & os, double d ) {
     152                (ostype &)(os | d); nl( os );
     153        } // ?|?
    113154
    114155        ostype & ?|?( ostype & os, long double ld ) {
     
    117158                return os;
    118159        } // ?|?
     160        void & ?|?( ostype & os, long double ld ) {
     161                (ostype &)(os | ld); nl( os );
     162        } // ?|?
    119163
    120164        ostype & ?|?( ostype & os, float _Complex fc ) {
     
    123167                return os;
    124168        } // ?|?
     169        void & ?|?( ostype & os, float _Complex fc ) {
     170                (ostype &)(os | fc); nl( os );
     171        } // ?|?
    125172
    126173        ostype & ?|?( ostype & os, double _Complex dc ) {
     
    129176                return os;
    130177        } // ?|?
     178        void & ?|?( ostype & os, double _Complex dc ) {
     179                (ostype &)(os | dc); nl( os );
     180        } // ?|?
    131181
    132182        ostype & ?|?( ostype & os, long double _Complex ldc ) {
     
    134184                fmt( os, "%.*Lg%+.*Lgi", LDBL_DIG, creall( ldc ), LDBL_DIG, cimagl( ldc ) );
    135185                return os;
     186        } // ?|?
     187        void & ?|?( ostype & os, long double _Complex ldc ) {
     188                (ostype &)(os | ldc); nl( os );
    136189        } // ?|?
    137190
     
    174227                return write( os, str, len );
    175228        } // ?|?
     229        void ?|?( ostype & os, const char * str ) {
     230                (ostype &)(os | str); nl( os );
     231        } // ?|?
    176232
    177233//      ostype & ?|?( ostype & os, const char16_t * str ) {
     
    200256                return os;
    201257        } // ?|?
    202 
     258        void ?|?( ostype & os, const void * p ) {
     259                (ostype &)(os | p); nl( os );
     260        } // ?|?
    203261
    204262        // manipulators
    205263        ostype & ?|?( ostype & os, ostype & (* manip)( ostype & ) ) {
    206                 return manip( os );
     264                (ostype &)(manip( os ));
     265                return os;
     266        } // ?|?
     267        void ?|?( ostype & os, ostype & (* manip)( ostype & ) ) {
     268                (ostype &)(manip( os ));
     269                if ( getPrt( os ) ) nl( os );                                   // something printed ?
     270                setPrt( os, false );                                                    // turn off
    207271        } // ?|?
    208272
    209273        ostype & sep( ostype & os ) {
    210                 os | sepGet( os );
    211                 return os;
     274                return (ostype &)(os | sepGet( os ));
    212275        } // sep
    213276
    214277        ostype & sepTuple( ostype & os ) {
    215                 os | sepGetTuple( os );
    216                 return os;
     278                return os | sepGetTuple( os );
    217279        } // sepTuple
    218280
    219         ostype & endl( ostype & os ) {
    220                 os | '\n';
     281        ostype & nl( ostype & os ) {
     282                (ostype &)(os | '\n');
     283                setPrt( os, false );                                                    // turn off
    221284                setNL( os, true );
    222285                flush( os );
    223                 sepOff( os );                                                                   // prepare for next line
    224                 return os;
    225         } // endl
     286                return sepOff( os );                                                    // prepare for next line
     287        } // nl
     288
     289        void nl( ostype & os ) {
     290                if ( getANL( os ) ) (ostype &)(nl( os ));               // implementation only
     291                else setPrt( os, false );                                               // turn off
     292        } // nl
     293
     294        ostype & nonl( ostype & os ) {
     295                setPrt( os, false );                                                    // turn off
     296                return os;
     297        } // nonl
    226298
    227299        ostype & sepOn( ostype & os ) {
    228                 sepOn( os );
     300                sepOn( os );                                                                    // call void returning
    229301                return os;
    230302        } // sepOn
    231303
    232304        ostype & sepOff( ostype & os ) {
    233                 sepOff( os );
     305                sepOff( os );                                                                   // call void returning
    234306                return os;
    235307        } // sepOff
    236308
    237309        ostype & sepEnable( ostype & os ) {
    238                 sepEnable( os );
     310                sepEnable( os );                                                                // call void returning
    239311                return os;
    240312        } // sepEnable
    241313
    242314        ostype & sepDisable( ostype & os ) {
    243                 sepDisable( os );
     315                sepDisable( os );                                                               // call void returning
    244316                return os;
    245317        } // sepDisable
     318
     319        ostype & nlOn( ostype & os ) {
     320                nlOn( os );                                                                             // call void returning
     321                return os;
     322        } // nlOn
     323
     324        ostype & nlOff( ostype & os ) {
     325                nlOff( os );                                                                    // call void returning
     326                return os;
     327        } // nlOff
    246328} // distribution
    247329
    248 
    249330// tuples
    250 forall( dtype ostype, otype T, ttype Params | writeable( T, ostype ) | { ostype & ?|?( ostype &, Params ); } )
    251 ostype & ?|?( ostype & os, T arg, Params rest ) {
    252         os | arg;                                                                                       // print first argument
    253         sepSetCur( os, sepGetTuple( os ) );                                     // switch to tuple separator
    254         os | rest;                                                                                      // print remaining arguments
    255         sepSetCur( os, sepGet( os ) );                                          // switch to regular separator
    256         return os;
    257 } // ?|?
     331forall( dtype ostype, otype T, ttype Params | writeable( T, ostype ) | { ostype & ?|?( ostype &, Params ); } ) {
     332        ostype & ?|?( ostype & os, T arg, Params rest ) {
     333                (ostype &)(os | arg);                                                   // print first argument
     334                sepSetCur( os, sepGetTuple( os ) );                             // switch to tuple separator
     335                (ostype &)(os | rest);                                                  // print remaining arguments
     336                sepSetCur( os, sepGet( os ) );                                  // switch to regular separator
     337                return os;
     338        } // ?|?
     339        void ?|?( ostype & os, T arg, Params rest ) {
     340                // (ostype &)(?|?( os, arg, rest )); nl( os );
     341                (ostype &)(os | arg);                                                   // print first argument
     342                sepSetCur( os, sepGetTuple( os ) );                             // switch to tuple separator
     343                (ostype &)(os | rest);                                                  // print remaining arguments
     344                sepSetCur( os, sepGet( os ) );                                  // switch to regular separator
     345                nl( os );
     346        } // ?|?
     347} // distribution
    258348
    259349//---------------------------------------
    260350
    261351// writes the range [begin, end) to the given stream
    262 forall( dtype ostype, otype elt_type | writeable( elt_type, ostype ), otype iterator_type | iterator( iterator_type, elt_type ) )
    263 void write( iterator_type begin, iterator_type end, ostype & os ) {
    264         void print( elt_type i ) { os | i; }
    265         for_each( begin, end, print );
    266 } // ?|?
    267 
    268 forall( dtype ostype, otype elt_type | writeable( elt_type, ostype ), otype iterator_type | iterator( iterator_type, elt_type ) )
    269 void write_reverse( iterator_type begin, iterator_type end, ostype & os ) {
    270         void print( elt_type i ) { os | i; }
    271         for_each_reverse( begin, end, print );
    272 } // ?|?
     352forall( dtype ostype, otype elt_type | writeable( elt_type, ostype ), otype iterator_type | iterator( iterator_type, elt_type ) ) {
     353        void write( iterator_type begin, iterator_type end, ostype & os ) {
     354                void print( elt_type i ) { os | i; }
     355                for_each( begin, end, print );
     356        } // ?|?
     357
     358        void write_reverse( iterator_type begin, iterator_type end, ostype & os ) {
     359                void print( elt_type i ) { os | i; }
     360                for_each_reverse( begin, end, print );
     361        } // ?|?
     362} // distribution
    273363
    274364//---------------------------------------
     
    386476        } // ?|?
    387477
    388         istype & endl( istype & is ) {
     478        istype & nl( istype & is ) {
    389479                fmt( is, "%*[ \t\f\n\r\v]" );                                   // ignore whitespace
    390480                return is;
    391         } // endl
     481        } // nl
    392482} // distribution
    393483
     
    410500// Local Variables: //
    411501// tab-width: 4 //
    412 // compile-command: "cfa iostream.c" //
     502// compile-command: "cfa iostream.cfa" //
    413503// End: //
  • libcfa/src/iostream.hfa

    rff5caaf r95b8aa7  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Aug 11 08:22:49 2018
    13 // Update Count     : 156
     12// Last Modified On : Mon Dec 24 18:33:40 2018
     13// Update Count     : 220
    1414//
    1515
     
    2020trait ostream( dtype ostype ) {
    2121        // private
    22         bool sepPrt( ostype & );                                                        // return separator state (on/off)
     22        bool sepPrt( ostype & );                                                        // get separator state (on/off)
    2323        void sepReset( ostype & );                                                      // set separator state to default state
    2424        void sepReset( ostype &, bool );                                        // set separator and default state
    2525        const char * sepGetCur( ostype & );                                     // get current separator string
    2626        void sepSetCur( ostype &, const char * );                       // set current separator string
    27         bool getNL( ostype & );                                                 // check newline
     27        bool getNL( ostype & );                                                         // check newline
    2828        void setNL( ostype &, bool );                                           // saw newline
     29        bool getANL( ostype & );                                                        // get auto newline (on/off)
     30        bool getPrt( ostype & );                                                        // get fmt called in output cascade
     31        void setPrt( ostype &, bool );                                          // set fmt called in output cascade
    2932        // public
    3033        void sepOn( ostype & );                                                         // turn separator state on
    3134        void sepOff( ostype & );                                                        // turn separator state off
    3235        bool sepDisable( ostype & );                                            // set default state to off, and return previous state
    33         bool sepEnable( ostype & );                                             // set default state to on, and return previous state
     36        bool sepEnable( ostype & );                                                     // set default state to on, and return previous state
     37        void nlOn( ostype & );                                                          // turn auto-newline state on
     38        void nlOff( ostype & );                                                         // turn auto-newline state off
    3439
    3540        const char * sepGet( ostype & );                                        // get separator string
     
    4348        void close( ostype & os );
    4449        ostype & write( ostype &, const char *, size_t );
    45         int fmt( ostype &, const char fmt[], ... );
     50        int fmt( ostype &, const char format[], ... );
    4651}; // ostream
    4752
     
    5863forall( dtype ostype | ostream( ostype ) ) {
    5964        ostype & ?|?( ostype &, bool );
     65        void ?|?( ostype &, bool );
    6066
    6167        ostype & ?|?( ostype &, char );
     68        void ?|?( ostype &, char );
    6269        ostype & ?|?( ostype &, signed char );
     70        void ?|?( ostype &, signed char );
    6371        ostype & ?|?( ostype &, unsigned char );
     72        void ?|?( ostype &, unsigned char );
    6473
    6574        ostype & ?|?( ostype &, short int );
     75        void ?|?( ostype &, short int );
    6676        ostype & ?|?( ostype &, unsigned short int );
     77        void ?|?( ostype &, unsigned short int );
    6778        ostype & ?|?( ostype &, int );
     79        void ?|?( ostype &, int );
    6880        ostype & ?|?( ostype &, unsigned int );
     81        void ?|?( ostype &, unsigned int );
    6982        ostype & ?|?( ostype &, long int );
     83        void ?|?( ostype &, long int );
    7084        ostype & ?|?( ostype &, long long int );
     85        void ?|?( ostype &, long long int );
    7186        ostype & ?|?( ostype &, unsigned long int );
     87        void ?|?( ostype &, unsigned long int );
    7288        ostype & ?|?( ostype &, unsigned long long int );
     89        void ?|?( ostype &, unsigned long long int );
    7390
    7491        ostype & ?|?( ostype &, float ); // FIX ME: should not be required
     92        void ?|?( ostype &, float ); // FIX ME: should not be required
    7593        ostype & ?|?( ostype &, double );
     94        void ?|?( ostype &, double );
    7695        ostype & ?|?( ostype &, long double );
     96        void ?|?( ostype &, long double );
    7797
    7898        ostype & ?|?( ostype &, float _Complex );
     99        void ?|?( ostype &, float _Complex );
    79100        ostype & ?|?( ostype &, double _Complex );
     101        void ?|?( ostype &, double _Complex );
    80102        ostype & ?|?( ostype &, long double _Complex );
     103        void ?|?( ostype &, long double _Complex );
    81104
    82105        ostype & ?|?( ostype &, const char * );
     106        void ?|?( ostype &, const char * );
    83107        // ostype & ?|?( ostype &, const char16_t * );
    84108#if ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 ) // char32_t == wchar_t => ambiguous
     
    87111        // ostype & ?|?( ostype &, const wchar_t * );
    88112        ostype & ?|?( ostype &, const void * );
     113        void ?|?( ostype &, const void * );
    89114
    90115        // manipulators
    91116        ostype & ?|?( ostype &, ostype & (*)( ostype & ) );
    92         ostype & endl( ostype & );
     117        void ?|?( ostype &, ostype & (*)( ostype & ) );
     118        ostype & nl( ostype & );
     119        void nl( ostype & );
     120        ostype & nonl( ostype & );
    93121        ostype & sep( ostype & );
    94122        ostype & sepTuple( ostype & );
     
    97125        ostype & sepDisable( ostype & );
    98126        ostype & sepEnable( ostype & );
     127        ostype & nlOn( ostype & );
     128        ostype & nlOff( ostype & );
    99129} // distribution
    100130
    101131// tuples
    102 forall( dtype ostype, otype T, ttype Params | writeable( T, ostype ) | { ostype & ?|?( ostype &, Params ); } )
    103 ostype & ?|?( ostype & os, T arg, Params rest );
     132forall( dtype ostype, otype T, ttype Params | writeable( T, ostype ) | { ostype & ?|?( ostype &, Params ); } ) {
     133        ostype & ?|?( ostype & os, T arg, Params rest );
     134        void ?|?( ostype & os, T arg, Params rest );
     135} // distribution
    104136
    105137// writes the range [begin, end) to the given stream
    106 forall( dtype ostype, otype elt_type | writeable( elt_type, ostype ), otype iterator_type | iterator( iterator_type, elt_type ) )
    107 void write( iterator_type begin, iterator_type end, ostype & os );
    108 
    109 forall( dtype ostype, otype elt_type | writeable( elt_type, ostype ), otype iterator_type | iterator( iterator_type, elt_type ) )
    110 void write_reverse( iterator_type begin, iterator_type end, ostype & os );
     138forall( dtype ostype, otype elt_type | writeable( elt_type, ostype ), otype iterator_type | iterator( iterator_type, elt_type ) ) {
     139        void write( iterator_type begin, iterator_type end, ostype & os );
     140        void write_reverse( iterator_type begin, iterator_type end, ostype & os );
     141} // distribution
    111142
    112143//---------------------------------------
     
    119150        istype & read( istype &, char *, size_t );
    120151        istype & ungetc( istype &, char );
    121         int fmt( istype &, const char fmt[], ... );
     152        int fmt( istype &, const char format[], ... );
    122153}; // istream
    123154
     
    152183        // manipulators
    153184        istype & ?|?( istype &, istype & (*)( istype & ) );
    154         istype & endl( istype & is );
     185        istype & nl( istype & is );
    155186} // distribution
    156187
     
    164195
    165196
    166 #include <time_t.hfa>                                                                           // Duration (constructors) / Time (constructors)
    167 
    168 forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype & os, Duration dur );
    169 forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype & os, Time time );
    170 
     197#include <time_t.hfa>                                                                   // Duration (constructors) / Time (constructors)
     198
     199forall( dtype ostype | ostream( ostype ) ) {
     200        ostype & ?|?( ostype & os, Duration dur );
     201        void ?|?( ostype & os, Duration dur );
     202        ostype & ?|?( ostype & os, Time time );
     203        void ?|?( ostype & os, Time time );
     204} // distribution
    171205
    172206// Local Variables: //
  • libcfa/src/iterator.cfa

    rff5caaf r95b8aa7  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Jul  7 08:38:23 2017
    13 // Update Count     : 28
     12// Last Modified On : Fri Nov  2 07:17:37 2018
     13// Update Count     : 29
    1414//
    1515
     
    3333// Local Variables: //
    3434// tab-width: 4 //
    35 // compile-command: "cfa iterator.c" //
     35// compile-command: "cfa iterator.cfa" //
    3636// End: //
  • libcfa/src/rational.cfa

    rff5caaf r95b8aa7  
    1010// Created On       : Wed Apr  6 17:54:28 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun  2 09:24:33 2018
    13 // Update Count     : 162
     12// Last Modified On : Sun Dec 23 22:56:49 2018
     13// Update Count     : 170
    1414//
    1515
     
    3535        static RationalImpl simplify( RationalImpl & n, RationalImpl & d ) {
    3636                if ( d == (RationalImpl){0} ) {
    37                         serr | "Invalid rational number construction: denominator cannot be equal to 0." | endl;
     37                        serr | "Invalid rational number construction: denominator cannot be equal to 0.";
    3838                        exit( EXIT_FAILURE );
    3939                } // exit
     
    175175        } // ?|?
    176176
    177         forall( dtype ostype | ostream( ostype ) | { ostype & ?|?( ostype &, RationalImpl ); } )
    178         ostype & ?|?( ostype & os, Rational(RationalImpl ) r ) {
    179                 return os | r.numerator | '/' | r.denominator;
    180         } // ?|?
     177        forall( dtype ostype | ostream( ostype ) | { ostype & ?|?( ostype &, RationalImpl ); } ) {
     178                ostype & ?|?( ostype & os, Rational(RationalImpl) r ) {
     179                        return os | r.numerator | '/' | r.denominator;
     180                } // ?|?
     181
     182                void ?|?( ostype & os, Rational(RationalImpl) r ) {
     183                        (ostype &)(os | r); nl( os );
     184                } // ?|?
     185        } // distribution
    181186} // distribution
    182187
  • libcfa/src/rational.hfa

    rff5caaf r95b8aa7  
    1212// Created On       : Wed Apr  6 17:56:25 2016
    1313// Last Modified By : Peter A. Buhr
    14 // Last Modified On : Sat Jun  2 09:10:01 2018
    15 // Update Count     : 105
     14// Last Modified On : Tue Dec  4 23:07:46 2018
     15// Update Count     : 106
    1616//
    1717
     
    9292        istype & ?|?( istype &, Rational(RationalImpl) & );
    9393
    94         forall( dtype ostype | ostream( ostype ) | { ostype & ?|?( ostype &, RationalImpl ); } )
    95         ostype & ?|?( ostype &, Rational(RationalImpl ) );
     94        forall( dtype ostype | ostream( ostype ) | { ostype & ?|?( ostype &, RationalImpl ); } ) {
     95                ostype & ?|?( ostype &, Rational(RationalImpl) );
     96                void ?|?( ostype &, Rational(RationalImpl) );
     97        } // distribution
    9698} // distribution
    9799
  • libcfa/src/stdlib.hfa

    rff5caaf r95b8aa7  
    1010// Created On       : Thu Jan 28 17:12:35 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Jul 27 07:21:36 2018
    13 // Update Count     : 345
     12// Last Modified On : Mon Dec 17 15:37:45 2018
     13// Update Count     : 346
    1414//
    1515
     
    178178
    179179static inline {
    180         int ato( const char * sptr ) {return (int)strtol( sptr, 0, 10 ); }
     180        int ato( const char * sptr ) { return (int)strtol( sptr, 0, 10 ); }
    181181        unsigned int ato( const char * sptr ) { return (unsigned int)strtoul( sptr, 0, 10 ); }
    182182        long int ato( const char * sptr ) { return strtol( sptr, 0, 10 ); }
  • libcfa/src/time.cfa

    rff5caaf r95b8aa7  
    1010// Created On       : Tue Mar 27 13:33:14 2018
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun May  6 22:26:00 2018
    13 // Update Count     : 37
     12// Last Modified On : Sun Dec 23 22:57:48 2018
     13// Update Count     : 57
    1414//
    1515
     
    3131
    3232
    33 forall( dtype ostype | ostream( ostype ) )
    34 ostype & ?|?( ostype & os, Duration dur ) with( dur ) {
    35         os | tv / TIMEGRAN;                                                                     // print seconds
    36         long int ns = (tv < 0 ? -tv : tv) % TIMEGRAN;           // compute nanoseconds
    37         if ( ns != 0 ) {                                                                        // some ?
    38                 char buf[16];
    39                 os | nanomsd( ns, buf );                                                // print nanoseconds
    40         } // if
    41         return os;
    42 } // ?|?
     33forall( dtype ostype | ostream( ostype ) ) {
     34        ostype & ?|?( ostype & os, Duration dur ) with( dur ) {
     35                (ostype &)(os | tv / TIMEGRAN);                                 // print seconds
     36                long int ns = (tv < 0 ? -tv : tv) % TIMEGRAN;   // compute nanoseconds
     37                if ( ns != 0 ) {                                                                // some ?
     38                        char buf[16];
     39                        (ostype &)(os | nanomsd( ns, buf ));                    // print nanoseconds
     40                } // if
     41                return os;
     42        } // ?|?
     43
     44        void ?|?( ostype & os, Duration dur ) with( dur ) {
     45                (ostype &)(os | dur); nl( os );
     46        } // ?|?
     47} // distribution
    4348
    4449
     
    137142} // strftime
    138143
    139 forall( dtype ostype | ostream( ostype ) )
    140 ostype & ?|?( ostype & os, Time time ) with( time ) {
    141         char buf[32];                                                                           // at least 26
    142         time_t s = tv / TIMEGRAN;
    143     ctime_r( &s, (char *)&buf );                                                // 26 characters: "Wed Jun 30 21:49:08 1993\n"
    144         buf[24] = '\0';                                                                         // remove trailing '\n'
    145         long int ns = (tv < 0 ? -tv : tv) % TIMEGRAN;           // compute nanoseconds
    146         if ( ns == 0 ) {                                                                        // none ?
    147                 os | buf;                                                                               // print date/time/year
    148         } else {
    149                 buf[19] = '\0';                                                                 // truncate to "Wed Jun 30 21:49:08"
    150                 os | buf;                                                                               // print date/time
    151                 char buf2[16];
    152                 nanomsd( ns, buf2 );                                                    // compute nanoseconds
    153                 os | buf2 | ' ' | &buf[20];                                             // print nanoseconds and year
    154         } // if
    155         return os;
    156 } // ?|?
     144forall( dtype ostype | ostream( ostype ) ) {
     145        ostype & ?|?( ostype & os, Time time ) with( time ) {
     146                char buf[32];                                                                   // at least 26
     147                time_t s = tv / TIMEGRAN;
     148                ctime_r( &s, (char *)&buf );                                    // 26 characters: "Wed Jun 30 21:49:08 1993\n"
     149                buf[24] = '\0';                                                                 // remove trailing '\n'
     150                long int ns = (tv < 0 ? -tv : tv) % TIMEGRAN;   // compute nanoseconds
     151                if ( ns == 0 ) {                                                                // none ?
     152                        (ostype &)(os | buf);                                                   // print date/time/year
     153                } else {
     154                        buf[19] = '\0';                                                         // truncate to "Wed Jun 30 21:49:08"
     155                        char buf2[16];
     156                        nanomsd( ns, buf2 );                                            // compute nanoseconds
     157                        (ostype &)(os | buf | buf2 | ' ' | &buf[20]);   // print date/time, nanoseconds and year
     158                } // if
     159                return os;
     160        } // ?|?
     161
     162        void ?|?( ostype & os, Time time ) with( time ) {
     163                (ostype &)(os | time); nl( os );
     164        } // ?|?
     165} // distribution
    157166
    158167// Local Variables: //
  • src/CodeTools/ResolvProtoDump.cc

    rff5caaf r95b8aa7  
    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/Makefile.am

    rff5caaf r95b8aa7  
    1717# create object files in directory with source files
    1818AUTOMAKE_OPTIONS = foreign subdir-objects
     19ACLOCAL_AMFLAGS  = -I automake
    1920
    2021SRC = main.cc \
  • src/Makefile.in

    rff5caaf r95b8aa7  
    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@)
     
    295298___driver_cfa_cpp_OBJECTS = $(am____driver_cfa_cpp_OBJECTS)
    296299___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 =
    297304am_demangler_OBJECTS = SymTab/demangler.$(OBJEXT)
    298305demangler_OBJECTS = $(am_demangler_OBJECTS)
     
    316323CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
    317324        $(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)
    318329AM_V_CXX = $(am__v_CXX_@AM_V@)
    319330am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
     
    321332am__v_CXX_1 =
    322333CXXLD = $(CXX)
    323 CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
    324         -o $@
     334CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
     335        $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
     336        $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
    325337AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
    326338am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
     
    328340am__v_CXXLD_1 =
    329341LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS)
     342LTLEXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
     343        $(LIBTOOLFLAGS) --mode=compile $(LEX) $(AM_LFLAGS) $(LFLAGS)
    330344AM_V_LEX = $(am__v_LEX_@AM_V@)
    331345am__v_LEX_ = $(am__v_LEX_@AM_DEFAULT_V@)
     
    336350                   -e s/c++$$/h++/ -e s/c$$/h/
    337351YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS)
     352LTYACCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
     353        $(LIBTOOLFLAGS) --mode=compile $(YACC) $(AM_YFLAGS) $(YFLAGS)
    338354AM_V_YACC = $(am__v_YACC_@AM_V@)
    339355am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@)
     
    342358COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
    343359        $(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)
    344364AM_V_CC = $(am__v_CC_@AM_V@)
    345365am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
     
    347367am__v_CC_1 =
    348368CCLD = $(CC)
    349 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 $@
    350372AM_V_CCLD = $(am__v_CCLD_@AM_V@)
    351373am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
     
    397419AMTAR = @AMTAR@
    398420AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
     421AR = @AR@
    399422AUTOCONF = @AUTOCONF@
    400423AUTOHEADER = @AUTOHEADER@
    401424AUTOMAKE = @AUTOMAKE@
    402425AWK = @AWK@
    403 BACKEND_CC = @BACKEND_CC@
    404426BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@
    405427CC = @CC@
     
    421443CPPFLAGS = @CPPFLAGS@
    422444CXX = @CXX@
     445CXXCPP = @CXXCPP@
    423446CXXDEPMODE = @CXXDEPMODE@
    424447CXXFLAGS = @CXXFLAGS@
     
    426449DEFS = @DEFS@
    427450DEPDIR = @DEPDIR@
     451DLLTOOL = @DLLTOOL@
    428452DRIVER_DIR = @DRIVER_DIR@
     453DSYMUTIL = @DSYMUTIL@
     454DUMPBIN = @DUMPBIN@
    429455ECHO_C = @ECHO_C@
    430456ECHO_N = @ECHO_N@
     
    432458EGREP = @EGREP@
    433459EXEEXT = @EXEEXT@
     460FGREP = @FGREP@
    434461GREP = @GREP@
    435462HOST_FLAGS = @HOST_FLAGS@
     
    439466INSTALL_SCRIPT = @INSTALL_SCRIPT@
    440467INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     468LD = @LD@
    441469LDFLAGS = @LDFLAGS@
    442470LEX = @LEX@
     
    447475LIBOBJS = @LIBOBJS@
    448476LIBS = @LIBS@
     477LIBTOOL = @LIBTOOL@
     478LIPO = @LIPO@
     479LN_S = @LN_S@
    449480LTLIBOBJS = @LTLIBOBJS@
     481LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    450482MAKEINFO = @MAKEINFO@
     483MANIFEST_TOOL = @MANIFEST_TOOL@
    451484MKDIR_P = @MKDIR_P@
     485NM = @NM@
     486NMEDIT = @NMEDIT@
     487OBJDUMP = @OBJDUMP@
    452488OBJEXT = @OBJEXT@
     489OTOOL = @OTOOL@
     490OTOOL64 = @OTOOL64@
    453491PACKAGE = @PACKAGE@
    454492PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    460498PATH_SEPARATOR = @PATH_SEPARATOR@
    461499RANLIB = @RANLIB@
     500SED = @SED@
    462501SET_MAKE = @SET_MAKE@
    463502SHELL = @SHELL@
     
    471510abs_top_builddir = @abs_top_builddir@
    472511abs_top_srcdir = @abs_top_srcdir@
     512ac_ct_AR = @ac_ct_AR@
    473513ac_ct_CC = @ac_ct_CC@
    474514ac_ct_CXX = @ac_ct_CXX@
     515ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    475516am__include = @am__include@
    476517am__leading_dot = @am__leading_dot@
     
    522563# create object files in directory with source files
    523564AUTOMAKE_OPTIONS = foreign subdir-objects
     565ACLOCAL_AMFLAGS = -I automake
    524566SRC = main.cc MakeLibCfa.cc CompilationState.cc CodeGen/Generate.cc \
    525567        CodeGen/CodeGenerator.cc CodeGen/GenType.cc \
     
    681723
    682724.SUFFIXES:
    683 .SUFFIXES: .cc .ll .o .obj .yy
     725.SUFFIXES: .cc .ll .lo .o .obj .yy
    684726$(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)
    685727        @for dep in $?; do \
     
    9701012        sed 's/$(EXEEXT)$$//' | \
    9711013        while read p p1; do if test -f $$p \
     1014         || test -f $$p1 \
    9721015          ; then echo "$$p"; echo "$$p"; else :; fi; \
    9731016        done | \
     
    9841027            if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
    9851028            test -z "$$files" || { \
    986               echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cfa_cpplibdir)$$dir'"; \
    987               $(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 $$?; \
    9881031            } \
    9891032        ; done
     
    10011044
    10021045clean-cfa_cpplibPROGRAMS:
    1003         -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
    10041053CodeGen/Generate.$(OBJEXT): CodeGen/$(am__dirstamp) \
    10051054        CodeGen/$(DEPDIR)/$(am__dirstamp)
     
    12411290@am__fastdepCXX_FALSE@  $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
    12421291
     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
    12431300.ll.cc:
    12441301        $(AM_V_LEX)$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE)
     
    12461303.yy.cc:
    12471304        $(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
    12481312
    12491313ID: $(am__tagged_files)
     
    14051469clean: clean-am
    14061470
    1407 clean-am: clean-cfa_cpplibPROGRAMS clean-generic clean-noinstLIBRARIES \
    1408         mostlyclean-am
     1471clean-am: clean-cfa_cpplibPROGRAMS clean-generic clean-libtool \
     1472        clean-noinstLIBRARIES mostlyclean-am
    14091473
    14101474distclean: distclean-am
     
    14611525mostlyclean: mostlyclean-am
    14621526
    1463 mostlyclean-am: mostlyclean-compile mostlyclean-generic
     1527mostlyclean-am: mostlyclean-compile mostlyclean-generic \
     1528        mostlyclean-libtool
    14641529
    14651530pdf: pdf-am
     
    14761541
    14771542.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
    1478         clean-cfa_cpplibPROGRAMS clean-generic clean-noinstLIBRARIES \
    1479         cscopelist-am ctags ctags-am distclean distclean-compile \
    1480         distclean-generic distclean-tags distdir dvi dvi-am html \
    1481         html-am info info-am install install-am \
    1482         install-cfa_cpplibPROGRAMS install-data install-data-am \
    1483         install-dvi install-dvi-am install-exec install-exec-am \
    1484         install-html install-html-am install-info install-info-am \
    1485         install-man install-pdf install-pdf-am install-ps \
    1486         install-ps-am install-strip installcheck installcheck-am \
    1487         installdirs maintainer-clean maintainer-clean-generic \
    1488         mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
    1489         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 \
    14901556        uninstall-cfa_cpplibPROGRAMS
    14911557
  • src/Parser/DeclarationNode.cc

    rff5caaf r95b8aa7  
    1010// Created On       : Sat May 16 12:34:05 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Jul 20 14:56:54 2018
    13 // Update Count     : 1107
     12// Last Modified On : Thu Nov  1 20:54:26 2018
     13// Update Count     : 1108
    1414//
    1515
     
    402402}
    403403
    404 DeclarationNode * DeclarationNode::newTypeof( ExpressionNode * expr ) {
    405         DeclarationNode * newnode = new DeclarationNode;
    406         newnode->type = new TypeData( TypeData::Typeof );
     404DeclarationNode * DeclarationNode::newTypeof( ExpressionNode * expr, bool basetypeof ) {
     405        DeclarationNode * newnode = new DeclarationNode;
     406        newnode->type = new TypeData( basetypeof ? TypeData::Basetypeof : TypeData::Typeof );
    407407        newnode->type->typeexpr = expr;
    408408        return newnode;
  • src/Parser/ParseNode.h

    rff5caaf r95b8aa7  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Aug  4 09:39:40 2018
    13 // Update Count     : 853
     12// Last Modified On : Thu Nov  1 20:54:53 2018
     13// Update Count     : 854
    1414//
    1515
     
    249249        static DeclarationNode * newBitfield( ExpressionNode * size );
    250250        static DeclarationNode * newTuple( DeclarationNode * members );
    251         static DeclarationNode * newTypeof( ExpressionNode * expr );
     251        static DeclarationNode * newTypeof( ExpressionNode * expr, bool basetypeof = false );
    252252        static DeclarationNode * newAttr( const std::string *, ExpressionNode * expr ); // @ attributes
    253253        static DeclarationNode * newAttr( const std::string *, DeclarationNode * type ); // @ attributes
  • src/Parser/TypeData.cc

    rff5caaf r95b8aa7  
    1010// Created On       : Sat May 16 15:12:51 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Jul 20 14:39:31 2018
    13 // Update Count     : 622
     12// Last Modified On : Fri Nov  2 07:54:26 2018
     13// Update Count     : 624
    1414//
    1515
     
    9696                break;
    9797          case Typeof:
     98          case Basetypeof:
    9899                // typeexpr = new Typeof_t;
    99100                typeexpr = nullptr;
     
    166167                break;
    167168          case Typeof:
     169          case Basetypeof:
    168170                // delete typeexpr->expr;
    169171                delete typeexpr;
     
    245247                break;
    246248          case Typeof:
     249          case Basetypeof:
    247250                newtype->typeexpr = maybeClone( typeexpr );
    248251                break;
     
    419422                } // if
    420423                break;
     424          case Basetypeof:
     425                os << "base-";
     426                #if defined(__GNUC__) && __GNUC__ >= 7
     427                        __attribute__((fallthrough));
     428                #endif
    421429          case Typeof:
    422430                os << "type-of expression ";
     
    457465          case Tuple:
    458466          case Typeof:
     467          case Basetypeof:
    459468          case Builtin:
    460469                assertf(false, "Tried to get leaf name from kind without a name: %d", kind);
     
    513522        switch ( td->kind ) {
    514523          case TypeData::Unknown:
    515                 // fill in implicit int
    516                 return new BasicType( buildQualifiers( td ), BasicType::SignedInt );
     524                        // fill in implicit int
     525                        return new BasicType( buildQualifiers( td ), BasicType::SignedInt );
    517526          case TypeData::Basic:
    518                 return buildBasicType( td );
     527                        return buildBasicType( td );
    519528          case TypeData::Pointer:
    520                 return buildPointer( td );
     529                        return buildPointer( td );
    521530          case TypeData::Array:
    522                 return buildArray( td );
     531                        return buildArray( td );
    523532          case TypeData::Reference:
    524                 return buildReference( td );
     533                        return buildReference( td );
    525534          case TypeData::Function:
    526                 return buildFunction( td );
     535                        return buildFunction( td );
    527536          case TypeData::AggregateInst:
    528                 return buildAggInst( td );
     537                        return buildAggInst( td );
    529538          case TypeData::EnumConstant:
    530                 // the name gets filled in later -- by SymTab::Validate
    531                 return new EnumInstType( buildQualifiers( td ), "" );
     539                        // the name gets filled in later -- by SymTab::Validate
     540                        return new EnumInstType( buildQualifiers( td ), "" );
    532541          case TypeData::SymbolicInst:
    533                 return buildSymbolicInst( td );
     542                        return buildSymbolicInst( td );
    534543          case TypeData::Tuple:
    535                 return buildTuple( td );
     544                        return buildTuple( td );
    536545          case TypeData::Typeof:
    537                 return buildTypeof( td );
     546          case TypeData::Basetypeof:
     547                        return buildTypeof( td );
    538548          case TypeData::Builtin:
    539                 if(td->builtintype == DeclarationNode::Zero) {
    540                         return new ZeroType( noQualifiers );
    541                 }
    542                 else if(td->builtintype == DeclarationNode::One) {
    543                         return new OneType( noQualifiers );
    544                 }
    545                 else {
    546                         return new VarArgsType( buildQualifiers( td ) );
    547                 }
     549                        if (td->builtintype == DeclarationNode::Zero) {
     550                                return new ZeroType( noQualifiers );
     551                        }
     552                        else if (td->builtintype == DeclarationNode::One) {
     553                                return new OneType( noQualifiers );
     554                        }
     555                        else {
     556                                return new VarArgsType( buildQualifiers( td ) );
     557                        }
    548558          case TypeData::GlobalScope:
    549                 return new GlobalScopeType();
     559                        return new GlobalScopeType();
    550560                case TypeData::Qualified:
    551                 return new QualifiedType( buildQualifiers( td ), typebuild( td->qualified.parent ), typebuild( td->qualified.child ) );
     561                        return new QualifiedType( buildQualifiers( td ), typebuild( td->qualified.parent ), typebuild( td->qualified.child ) );
    552562          case TypeData::Symbolic:
    553563          case TypeData::Enum:
    554564          case TypeData::Aggregate:
    555                 assert( false );
     565                        assert( false );
    556566        } // switch
    557567
     
    929939
    930940TypeofType * buildTypeof( const TypeData * td ) {
    931         assert( td->kind == TypeData::Typeof );
     941        assert( td->kind == TypeData::Typeof || td->kind == TypeData::Basetypeof );
    932942        assert( td->typeexpr );
    933943        // assert( td->typeexpr->expr );
    934         return new TypeofType( buildQualifiers( td ), td->typeexpr->build() );
     944        return new TypeofType{
     945                buildQualifiers( td ), td->typeexpr->build(), td->kind == TypeData::Basetypeof };
    935946} // buildTypeof
    936947
  • src/Parser/TypeData.h

    rff5caaf r95b8aa7  
    1010// Created On       : Sat May 16 15:18:36 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Jul 20 13:56:40 2018
    13 // Update Count     : 195
     12// Last Modified On : Thu Nov  1 20:56:46 2018
     13// Update Count     : 196
    1414//
    1515
     
    2727struct TypeData {
    2828        enum Kind { Basic, Pointer, Reference, Array, Function, Aggregate, AggregateInst, Enum, EnumConstant, Symbolic,
    29                                 SymbolicInst, Tuple, Typeof, Builtin, GlobalScope, Qualified, Unknown };
     29                                SymbolicInst, Tuple, Typeof, Basetypeof, Builtin, GlobalScope, Qualified, Unknown };
    3030
    3131        struct Aggregate_t {
  • src/Parser/lex.ll

    rff5caaf r95b8aa7  
    1010 * Created On       : Sat Sep 22 08:58:10 2001
    1111 * Last Modified By : Peter A. Buhr
    12  * Last Modified On : Wed Aug 29 15:02:41 2018
    13  * Update Count     : 686
     12 * Last Modified On : Thu Nov  1 20:57:35 2018
     13 * Update Count     : 687
    1414 */
    1515
     
    209209__attribute__   { KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
    210210auto                    { KEYWORD_RETURN(AUTO); }
     211basetypeof              { KEYWORD_RETURN(BASETYPEOF); }                 // CFA
    211212_Bool                   { KEYWORD_RETURN(BOOL); }                               // C99
    212213break                   { KEYWORD_RETURN(BREAK); }
  • src/Parser/parser.yy

    rff5caaf r95b8aa7  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Aug 30 17:02:25 2018
    13 // Update Count     : 4029
     12// Last Modified On : Thu Nov  8 18:08:23 2018
     13// Update Count     : 4052
    1414//
    1515
     
    186186} // fieldDecl
    187187
    188 ExpressionNode *forInc( const OperKinds op ) {
    189         return new ExpressionNode( build_constantInteger( *new string( op == OperKinds::LThan || op == OperKinds::LEThan ? "1" : "-1" ) ) );
    190 } // forInc
    191 
    192188ForCtrl * forCtrl( ExpressionNode * type, string * index, ExpressionNode * start, enum OperKinds compop, ExpressionNode * comp, ExpressionNode * inc ) {
    193         ConstantExpr *constant = dynamic_cast<ConstantExpr *>(type->get_expr());
     189        ConstantExpr * constant = dynamic_cast<ConstantExpr *>(type->get_expr());
    194190        if ( constant && (constant->get_constant()->get_value() == "0" || constant->get_constant()->get_value() == "1") ) {
    195191        type = new ExpressionNode( new CastExpr( maybeMoveBuild< Expression >(type), new BasicType( Type::Qualifiers(), BasicType::SignedInt ) ) );
    196192        } // if
    197193        return new ForCtrl(
    198                 distAttr( DeclarationNode::newTypeof( type ), DeclarationNode::newName( index )->addInitializer( new InitializerNode( start ) ) ),
     194                distAttr( DeclarationNode::newTypeof( type, true ), DeclarationNode::newName( index )->addInitializer( new InitializerNode( start ) ) ),
    199195                new ExpressionNode( build_binary_val( compop, new ExpressionNode( build_varref( new string( *index ) ) ), comp ) ),
    200                 new ExpressionNode( build_binary_val( OperKinds::PlusAssn, new ExpressionNode( build_varref( new string( *index ) ) ), inc ) ) );
     196                new ExpressionNode( build_binary_val( compop == OperKinds::LThan || compop == OperKinds::LEThan ? // choose += or -= for upto/downto
     197                                                                                          OperKinds::PlusAssn : OperKinds::MinusAssn, new ExpressionNode( build_varref( new string( *index ) ) ), inc ) ) );
     198} // forCtrl
     199
     200ForCtrl * forCtrl( ExpressionNode * type, ExpressionNode * index, ExpressionNode * start, enum OperKinds compop, ExpressionNode * comp, ExpressionNode * inc ) {
     201        if ( NameExpr * identifier = dynamic_cast<NameExpr *>(index->get_expr()) ) {
     202                return forCtrl( type, new string( identifier->name ), start, compop, comp, inc );
     203        } else {
     204                SemanticError( yylloc, "Expression disallowed. Only loop-index name allowed" ); return nullptr;
     205        } // if
    201206} // forCtrl
    202207
     
    261266%token ZERO_T ONE_T                                                                             // CFA
    262267%token VALIST                                                                                   // GCC
    263 %token TYPEOF LABEL                                                                             // GCC
     268%token TYPEOF BASETYPEOF LABEL                                                  // GCC
    264269%token ENUM STRUCT UNION
    265270%token EXCEPTION                                                                                // CFA
     
    636641                { $$ = new ExpressionNode( build_fieldSel( $1, build_tuple( $4 ) ) ); }
    637642        | postfix_expression ARROW no_attr_identifier
    638                 {
    639                         $$ = new ExpressionNode( build_pfieldSel( $1, *$3 == "0" || *$3 == "1" ? build_constantInteger( *$3 ) : build_varref( $3 ) ) );
    640                 }
     643                { $$ = new ExpressionNode( build_pfieldSel( $1, build_varref( $3 ) ) ); }
    641644        | postfix_expression ARROW INTEGERconstant                      // CFA, tuple index
    642645                { $$ = new ExpressionNode( build_pfieldSel( $1, build_constantInteger( *$3 ) ) ); }
     
    11371140        | FOR '(' push for_control_expression ')' statement pop
    11381141                { $$ = new StatementNode( build_for( $4, $6 ) ); }
     1142        | FOR '(' ')' statement                                                         // CFA => for ( ;; )
     1143                { $$ = new StatementNode( build_for( new ForCtrl( (ExpressionNode * )nullptr, (ExpressionNode * )nullptr, (ExpressionNode * )nullptr ), $4 ) ); }
    11391144        ;
    11401145
    11411146for_control_expression:
    1142         comma_expression_opt                                                            // CFA
    1143                 {
    1144                         if ( ! $1 ) {                                                           // => for ( ;; )
    1145                                 $$ = new ForCtrl( (ExpressionNode * )nullptr, (ExpressionNode * )nullptr, (ExpressionNode * )nullptr );
    1146                         } else {
    1147                                 $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), new ExpressionNode( build_constantInteger( *new string( "0" ) ) ),
    1148                                                           OperKinds::LThan, $1->clone(), forInc( OperKinds::LThan ) );
    1149                         } // if
    1150                 }
     1147        comma_expression                                                                        // CFA
     1148                { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), new ExpressionNode( build_constantInteger( *new string( "0" ) ) ),
     1149                                                OperKinds::LThan, $1->clone(), new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); }
    11511150        | constant_expression inclexcl constant_expression      // CFA
    1152                 { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), $1->clone(), $2, $3, forInc( $2 ) ); }
     1151                { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), $1->clone(), $2, $3, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); }
    11531152        | constant_expression inclexcl constant_expression '~' constant_expression // CFA
    11541153                { $$ = forCtrl( $1, new string( DeclarationNode::anonymous.newName() ), $1->clone(), $2, $3, $5 ); }
    1155         | comma_expression_opt ';' comma_expression                     // CFA
    1156                 {
    1157                         if ( ! $1 ) {
    1158                                 SemanticError( yylloc, "Missing loop index." ); $$ = nullptr;
    1159                         } else if ( ! $3 ) {
    1160                                 SemanticError( yylloc, "Missing loop range." ); $$ = nullptr;
    1161                         } else {
    1162                                 if ( NameExpr *identifier = dynamic_cast<NameExpr *>($1->get_expr()) ) {
    1163                                         $$ = forCtrl( $3, new string( identifier->name ), new ExpressionNode( build_constantInteger( *new string( "0" ) ) ),
    1164                                                                   OperKinds::LThan, $3->clone(), forInc( OperKinds::LThan ) );
    1165                                 } else {
    1166                                         SemanticError( yylloc, "Expression disallowed. Only loop-index name allowed" ); $$ = nullptr;
    1167                                 } // if
    1168                         } // if
    1169                 }
    1170         | comma_expression_opt ';' constant_expression inclexcl constant_expression // CFA
    1171                 {
    1172                         if ( ! $1 ) {
    1173                                 SemanticError( yylloc, "Missing loop index." ); $$ = nullptr;
    1174                         } else {
    1175                                 if ( NameExpr *identifier = dynamic_cast<NameExpr *>($1->get_expr()) ) {
    1176                                         $$ = forCtrl( $3, new string( identifier->name ), $3->clone(), $4, $5, forInc( $4 ) );
    1177                                 } else {
    1178                                         SemanticError( yylloc, "Expression disallowed. Only loop-index name allowed" ); $$ = nullptr;
    1179                                 } // if
    1180                         } // if
    1181                 }
    1182         | comma_expression_opt ';' constant_expression inclexcl constant_expression '~' constant_expression // CFA
    1183                 {
    1184                         if ( ! $1 ) {
    1185                                 SemanticError( yylloc, "Missing loop index." ); $$ = nullptr;
    1186                         } else {
    1187                                 if ( NameExpr *identifier = dynamic_cast<NameExpr *>($1->get_expr()) ) {
    1188                                         $$ = forCtrl( $3, new string( identifier->name ), $3->clone(), $4, $5, $7 );
    1189                                 } else {
    1190                                         SemanticError( yylloc, "Expression disallowed. Only loop-index name allowed" ); $$ = nullptr;
    1191                                 } // if
    1192                         } // if
    1193                 }
    1194         | comma_expression_opt ';' comma_expression_opt ';' comma_expression_opt
     1154        | comma_expression ';' comma_expression                         // CFA
     1155                { $$ = forCtrl( $3, $1, new ExpressionNode( build_constantInteger( *new string( "0" ) ) ),
     1156                                                OperKinds::LThan, $3->clone(), new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); }
     1157        | comma_expression ';' constant_expression inclexcl constant_expression // CFA
     1158                { $$ = forCtrl( $3, $1, $3->clone(), $4, $5, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ); }
     1159        | comma_expression ';' constant_expression inclexcl constant_expression '~' constant_expression // CFA
     1160                { $$ = forCtrl( $3, $1, $3->clone(), $4, $5, $7 ); }
     1161        | comma_expression ';' comma_expression_opt ';' comma_expression_opt
    11951162                { $$ = new ForCtrl( $1, $3, $5 ); }
     1163        | ';' comma_expression_opt ';' comma_expression_opt
     1164                { $$ = new ForCtrl( (ExpressionNode * )nullptr, $2, $4 ); }
    11961165        | declaration comma_expression_opt ';' comma_expression_opt // C99, declaration has ';'
    11971166                { $$ = new ForCtrl( $1, $2, $4 ); }
     
    18551824
    18561825indirect_type:
    1857         TYPEOF '(' type ')'                                                                     // GCC: typeof(x) y;
     1826        TYPEOF '(' type ')'                                                                     // GCC: typeof( x ) y;
    18581827                { $$ = $3; }
    1859         | TYPEOF '(' comma_expression ')'                                       // GCC: typeof(a+b) y;
     1828        | TYPEOF '(' comma_expression ')'                                       // GCC: typeof( a+b ) y;
    18601829                { $$ = DeclarationNode::newTypeof( $3 ); }
    1861         | ATTR_TYPEGENname '(' type ')'                                         // CFA: e.g., @type(x) y;
     1830        | BASETYPEOF '(' type ')'                                                       // CFA: basetypeof( x ) y;
     1831                { $$ = DeclarationNode::newTypeof( new ExpressionNode( new TypeExpr( maybeMoveBuildType( $3 ) ) ), true ); }
     1832        | BASETYPEOF '(' comma_expression ')'                           // CFA: basetypeof( a+b ) y;
     1833                { $$ = DeclarationNode::newTypeof( $3, true ); }
     1834        | ATTR_TYPEGENname '(' type ')'                                         // CFA: e.g., @type( x ) y;
    18621835                { $$ = DeclarationNode::newAttr( $1, $3 ); }
    1863         | ATTR_TYPEGENname '(' comma_expression ')'                     // CFA: e.g., @type(a+b) y;
     1836        | ATTR_TYPEGENname '(' comma_expression ')'                     // CFA: e.g., @type( a+b ) y;
    18641837                { $$ = DeclarationNode::newAttr( $1, $3 ); }
    18651838        | ZERO_T                                                                                        // CFA
  • src/ResolvExpr/Alternative.cc

    rff5caaf r95b8aa7  
    105105
    106106        Alternative::~Alternative() {
     107                for ( AssertionItem& n : need ) { delete n.decl; }
    107108                delete expr;
    108109        }
     
    119120                        os << "Null expression!" << std::endl;
    120121                } // if
    121                 os << indent << "Environment: ";
     122                os << indent << "Environment:";
    122123                env.print( os, indent+1 );
    123124                os << std::endl;
  • src/ResolvExpr/AlternativeFinder.cc

    rff5caaf r95b8aa7  
    99// Author           : Richard C. Bilson
    1010// Created On       : Sat May 16 23:52:08 2015
    11 // Last Modified By : Aaron B. Moss
    12 // Last Modified On : Fri Oct -5 10:01:00 2018
    13 // Update Count     : 34
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Thu Nov  1 21:00:56 2018
     13// Update Count     : 35
    1414//
    1515
     
    500500                                needAssertions[ *assert ].isUsed = true;
    501501                        }
    502 ///     needAssertions.insert( needAssertions.end(), (*tyvar)->get_assertions().begin(), (*tyvar)->get_assertions().end() );
    503                 }
    504         }
    505 
    506 //      template< typename ForwardIterator, typename OutputIterator >
    507 //      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 ) {
    508 //              if ( newAlt.cost == Cost::infinity ) return; // don't proceed down this dead end
    509 //              if ( begin == end ) {
    510 //                      if ( newNeed.empty() ) {
    511 //                              PRINT(
    512 //                                      std::cerr << "all assertions satisfied, output alternative: ";
    513 //                                      newAlt.print( std::cerr );
    514 //                                      std::cerr << std::endl;
    515 //                              );
    516 //                              *out++ = newAlt;
    517 //                              return;
    518 //                      } else if ( level >= recursionLimit ) {
    519 //                              SemanticError( newAlt.expr->location, "Too many recursive assertions" );
    520 //                      } else {
    521 //                              AssertionSet newerNeed;
    522 //                              PRINT(
    523 //                                      std::cerr << "recursing with new set:" << std::endl;
    524 //                                      printAssertionSet( newNeed, std::cerr, 8 );
    525 //                              )
    526 //                              inferRecursive( newNeed.begin(), newNeed.end(), newAlt, openVars, decls, newerNeed, level+1, indexer, out );
    527 //                              return;
    528 //                      }
    529 //              }
    530 
    531 //              ForwardIterator cur = begin++;
    532 //              if ( ! cur->second.isUsed ) {
    533 //                      inferRecursive( begin, end, newAlt, openVars, decls, newNeed, level, indexer, out );
    534 //                      return; // xxx - should this continue? previously this wasn't here, and it looks like it should be
    535 //              }
    536 //              DeclarationWithType *curDecl = cur->first;
    537 
    538 //              PRINT(
    539 //                      std::cerr << "inferRecursive: assertion is ";
    540 //                      curDecl->print( std::cerr );
    541 //                      std::cerr << std::endl;
    542 //              )
    543 //              std::list< SymTab::Indexer::IdData > candidates;
    544 //              decls.lookupId( curDecl->get_name(), candidates );
    545 // ///   if ( candidates.empty() ) { std::cerr << "no candidates!" << std::endl; }
    546 //              for ( const auto & data : candidates ) {
    547 //                      DeclarationWithType * candidate = data.id;
    548 //                      PRINT(
    549 //                              std::cerr << "inferRecursive: candidate is ";
    550 //                              candidate->print( std::cerr );
    551 //                              std::cerr << std::endl;
    552 //                      )
    553 
    554 //                      AssertionSet newHave, newerNeed( newNeed );
    555 //                      TypeEnvironment newEnv( newAlt.env );
    556 //                      OpenVarSet newOpenVars( openVars );
    557 //                      Type *adjType = candidate->get_type()->clone();
    558 //                      adjustExprType( adjType, newEnv, indexer );
    559 //                      renameTyVars( adjType );
    560 //                      PRINT(
    561 //                              std::cerr << "unifying ";
    562 //                              curDecl->get_type()->print( std::cerr );
    563 //                              std::cerr << " with ";
    564 //                              adjType->print( std::cerr );
    565 //                              std::cerr << std::endl;
    566 //                      )
    567 //                      if ( unify( curDecl->get_type(), adjType, newEnv, newerNeed, newHave, newOpenVars, indexer ) ) {
    568 //                              PRINT(
    569 //                                      std::cerr << "success!" << std::endl;
    570 //                              )
    571 //                              SymTab::Indexer newDecls( decls );
    572 //                              addToIndexer( newHave, newDecls );
    573 //                              Alternative newerAlt( newAlt );
    574 //                              newerAlt.env = newEnv;
    575 //                              assertf( candidate->get_uniqueId(), "Assertion candidate does not have a unique ID: %s", toString( candidate ).c_str() );
    576 
    577 //                              // everything with an empty idChain was pulled in by the current assertion.
    578 //                              // add current assertion's idChain + current assertion's ID so that the correct inferParameters can be found.
    579 //                              for ( auto & a : newerNeed ) {
    580 //                                      if ( a.second.idChain.empty() ) {
    581 //                                              a.second.idChain = cur->second.idChain;
    582 //                                              a.second.idChain.push_back( curDecl->get_uniqueId() );
    583 //                                      }
    584 //                              }
    585 
    586 //                              Expression *varExpr = data.combine( newerAlt.cvtCost );
    587 //                              delete varExpr->get_result();
    588 //                              varExpr->set_result( adjType->clone() );
    589 //                              PRINT(
    590 //                                      std::cerr << "satisfying assertion " << curDecl->get_uniqueId() << " ";
    591 //                                      curDecl->print( std::cerr );
    592 //                                      std::cerr << " with declaration " << candidate->get_uniqueId() << " ";
    593 //                                      candidate->print( std::cerr );
    594 //                                      std::cerr << std::endl;
    595 //                              )
    596 //                              // 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).
    597 //                              InferredParams * inferParameters = &newerAlt.expr->inferParams;
    598 //                              for ( UniqueId id : cur->second.idChain ) {
    599 //                                      inferParameters = (*inferParameters)[ id ].inferParams.get();
    600 //                              }
    601 //                              // XXX: this is a memory leak, but adjType can't be deleted because it might contain assertions
    602 //                              (*inferParameters)[ curDecl->get_uniqueId() ] = ParamEntry( candidate->get_uniqueId(), adjType->clone(), curDecl->get_type()->clone(), varExpr );
    603 //                              inferRecursive( begin, end, newerAlt, newOpenVars, newDecls, newerNeed, level, indexer, out );
    604 //                      } else {
    605 //                              delete adjType;
    606 //                      }
    607 //              }
    608 //      }
     502                }
     503        }
    609504
    610505        /// Unique identifier for matching expression resolutions to their requesting expression
     
    613508        template< typename OutputIterator >
    614509        void AlternativeFinder::Finder::inferParameters( Alternative &newAlt, OutputIterator out ) {
    615                 // SymTab::Indexer decls( indexer );
    616                 // addToIndexer( have, decls );
    617                 // AssertionSet newNeed;
    618                 // PRINT(
    619                 //      std::cerr << "env is: " << std::endl;
    620                 //      newAlt.env.print( std::cerr, 0 );
    621                 //      std::cerr << std::endl;
    622                 // )
    623 
    624                 // inferRecursive( need.begin(), need.end(), newAlt, openVars, decls, newNeed, 0, indexer, out );
    625 
    626510                // Set need bindings for any unbound assertions
    627511                UniqueId crntResnSlot = 0;  // matching ID for this expression's assertions
     
    13451229                                Alternative newAlt{
    13461230                                        restructureCast( alt.expr->clone(), toType, castExpr->isGenerated ),
    1347                                         alt.env, openVars, needAssertions, alt.cost, thisCost };
     1231                                        alt.env, openVars, needAssertions, alt.cost + thisCost, thisCost };
    13481232                                inferParameters( newAlt, back_inserter( candidates ) );
    13491233                        } // if
     
    13731257                /// Gets name from untyped member expression (member must be NameExpr)
    13741258                const std::string& get_member_name( UntypedMemberExpr *memberExpr ) {
     1259                        if ( dynamic_cast< ConstantExpr * >( memberExpr->get_member() ) ) {
     1260                                SemanticError( memberExpr, "Indexed access to struct fields unsupported: " );
     1261                        } // if
    13751262                        NameExpr * nameExpr = dynamic_cast< NameExpr * >( memberExpr->get_member() );
    13761263                        assert( nameExpr );
  • src/ResolvExpr/ConversionCost.cc

    rff5caaf r95b8aa7  
    2929namespace ResolvExpr {
    3030        const Cost Cost::zero =      Cost{  0,  0,  0,  0,  0,  0 };
    31         const Cost Cost::infinity =  Cost{ -1, -1, -1,  1, -1, -1 };
     31        const Cost Cost::infinity =  Cost{ -1, -1, -1, -1,  1, -1 };
    3232        const Cost Cost::unsafe =    Cost{  1,  0,  0,  0,  0,  0 };
    3333        const Cost Cost::poly =      Cost{  0,  1,  0,  0,  0,  0 };
    34         const Cost Cost::var =       Cost{  0,  0,  1,  0,  0,  0 };
    35         const Cost Cost::spec =      Cost{  0,  0,  0, -1,  0,  0 };
    36         const Cost Cost::safe =      Cost{  0,  0,  0,  0,  1,  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 };
    3737        const Cost Cost::reference = Cost{  0,  0,  0,  0,  0,  1 };
    3838
  • src/ResolvExpr/Cost.h

    rff5caaf r95b8aa7  
    2121        class Cost {
    2222          private:
    23                 Cost( int unsafeCost, int polyCost, int varCost, int specCost, int safeCost,
    24                       int referenceCost );
     23                Cost( int unsafeCost, int polyCost, int safeCost, int varCost, int specCost,
     24                        int referenceCost );
    2525
    2626          public:
    2727                Cost & incUnsafe( int inc = 1 );
    2828                Cost & incPoly( int inc = 1 );
     29                Cost & incSafe( int inc = 1 );
    2930                Cost & incVar( int inc = 1 );
    3031                Cost & decSpec( int inc = 1 );
    31                 Cost & incSafe( int inc = 1 );
    3232                Cost & incReference( int inc = 1 );
    3333
    3434                int get_unsafeCost() const { return unsafeCost; }
    3535                int get_polyCost() const { return polyCost; }
     36                int get_safeCost() const { return safeCost; }
    3637                int get_varCost() const { return varCost; }
    3738                int get_specCost() const { return specCost; }
    38                 int get_safeCost() const { return safeCost; }
    3939                int get_referenceCost() const { return referenceCost; }
    4040
     
    5454                static const Cost unsafe;
    5555                static const Cost poly;
     56                static const Cost safe;
    5657                static const Cost var;
    5758                static const Cost spec;
    58                 static const Cost safe;
    5959                static const Cost reference;
    6060
     
    6262                int unsafeCost;     ///< Unsafe (narrowing) conversions
    6363                int polyCost;       ///< Count of parameters and return values bound to some poly type
     64                int safeCost;       ///< Safe (widening) conversions
    6465                int varCost;        ///< Count of polymorphic type variables
    6566                int specCost;       ///< Polymorphic type specializations (type assertions), negative cost
    66                 int safeCost;       ///< Safe (widening) conversions
    6767                int referenceCost;  ///< reference conversions
    6868        };
    6969
    70         inline Cost::Cost( int unsafeCost, int polyCost, int varCost, int specCost, int safeCost,
     70        inline Cost::Cost( int unsafeCost, int polyCost, int safeCost, int varCost, int specCost,
    7171                        int referenceCost )
    72                 : unsafeCost( unsafeCost ), polyCost( polyCost ), varCost( varCost ), specCost( specCost ),
    73                   safeCost( safeCost ), referenceCost( referenceCost ) {}
     72                : unsafeCost( unsafeCost ), polyCost( polyCost ), safeCost( safeCost ), varCost( varCost ),
     73                  specCost( specCost ), referenceCost( referenceCost ) {}
    7474
    7575        inline Cost & Cost::incUnsafe( int inc ) {
     
    8585        }
    8686
     87        inline Cost & Cost::incSafe( int inc ) {
     88                if ( *this == infinity ) return *this;
     89                safeCost += inc;
     90                return *this;
     91        }
     92
    8793        inline Cost & Cost::incVar( int inc ) {
    8894                if ( *this == infinity ) return *this;
     
    94100                if ( *this == infinity ) return *this;
    95101                specCost -= dec;
    96                 return *this;
    97         }
    98 
    99         inline Cost & Cost::incSafe( int inc ) {
    100                 if ( *this == infinity ) return *this;
    101                 safeCost += inc;
    102102                return *this;
    103103        }
     
    112112                if ( *this == infinity || other == infinity ) return infinity;
    113113                return Cost{
    114                         unsafeCost + other.unsafeCost, polyCost + other.polyCost,
     114                        unsafeCost + other.unsafeCost, polyCost + other.polyCost, safeCost + other.safeCost,
    115115                        varCost + other.varCost, specCost + other.specCost,
    116                         safeCost + other.safeCost, referenceCost + other.referenceCost };
     116                        referenceCost + other.referenceCost };
    117117        }
    118118
     
    120120                if ( *this == infinity || other == infinity ) return infinity;
    121121                return Cost{
    122                         unsafeCost - other.unsafeCost, polyCost - other.polyCost,
     122                        unsafeCost - other.unsafeCost, polyCost - other.polyCost, safeCost - other.safeCost,
    123123                        varCost - other.varCost, specCost - other.specCost,
    124                         safeCost - other.safeCost, referenceCost - other.referenceCost };
     124                        referenceCost - other.referenceCost };
    125125        }
    126126
     
    133133                unsafeCost += other.unsafeCost;
    134134                polyCost += other.polyCost;
     135                safeCost += other.safeCost;
    135136                varCost += other.varCost;
    136137                specCost += other.specCost;
    137                 safeCost += other.safeCost;
    138138                referenceCost += other.referenceCost;
    139139                return *this;
     
    152152                } else if ( polyCost < other.polyCost ) {
    153153                        return true;
     154                } else if ( safeCost > other.safeCost ) {
     155                        return false;
     156                } else if ( safeCost < other.safeCost ) {
     157                        return true;
    154158                } else if ( varCost > other.varCost ) {
    155159                        return false;
     
    159163                        return false;
    160164                } else if ( specCost > other.specCost ) {
    161                         return true;
    162                 } else if ( safeCost > other.safeCost ) {
    163                         return false;
    164                 } else if ( safeCost < other.safeCost ) {
    165165                        return true;
    166166                } else if ( referenceCost > other.referenceCost ) {
     
    179179                int c = unsafeCost - other.unsafeCost; if ( c ) return c;
    180180                c = polyCost - other.polyCost; if ( c ) return c;
     181                c = safeCost - other.safeCost; if ( c ) return c;
    181182                c = varCost - other.varCost; if ( c ) return c;
    182183                c = specCost - other.specCost; if ( c ) return c;
    183                 c = safeCost - other.safeCost; if ( c ) return c;
    184184                return referenceCost - other.referenceCost;
    185185        }
     
    188188                return unsafeCost == other.unsafeCost
    189189                        && polyCost == other.polyCost
     190                        && safeCost == other.safeCost
    190191                        && varCost == other.varCost
    191192                        && specCost == other.specCost
    192                         && safeCost == other.safeCost
    193193                        && referenceCost == other.referenceCost;
    194194        }
     
    200200        inline std::ostream &operator<<( std::ostream &os, const Cost &cost ) {
    201201                return os << "( " << cost.unsafeCost << ", " << cost.polyCost << ", "
    202                           << cost.varCost << ", " << cost.specCost << ", "
    203                           << cost.safeCost << ", " << cost.referenceCost << " )";
     202                          << cost.safeCost << ", " << cost.varCost << ", " << cost.specCost << ", "
     203                          << cost.referenceCost << " )";
    204204        }
    205205} // namespace ResolvExpr
  • src/ResolvExpr/ResolveAssertions.cc

    rff5caaf r95b8aa7  
    275275                                        std::move(newNeed), std::move(newOpenVars), crntResnSlot );
    276276                        } else {
    277                                 //delete adjType;
     277                                delete adjType;
    278278                        }
    279279                }
     
    396396                                                Cost resCost = coster.get( compat );
    397397                                                auto it = found.emplace( SymTab::Mangler::mangleType( resType ), resCost );
     398                                                delete resType;
    398399                                                if ( it.second == false && it.first->second < resCost ) continue;
    399400
  • src/ResolvExpr/ResolveTypeof.cc

    rff5caaf r95b8aa7  
    6767                std::cerr << std::endl;
    6868#endif
    69                 if ( typeofType->expr ) {
     69                // pass on null expression
     70                if ( ! typeofType->expr ) return typeofType;
     71
     72                bool isBasetypeof = typeofType->is_basetypeof;
     73                auto oldQuals = typeofType->get_qualifiers().val;
     74
     75                Type* newType;
     76                if ( TypeExpr* tyExpr = dynamic_cast<TypeExpr*>(typeofType->expr) ) {
     77                        // typeof wrapping type
     78                        newType = tyExpr->type;
     79                        tyExpr->type = nullptr;
     80                        delete tyExpr;
     81                } else {
     82                        // typeof wrapping expression
    7083                        Expression * newExpr = resolveInVoidContext( typeofType->expr, indexer );
    7184                        assert( newExpr->result && ! newExpr->result->isVoid() );
    72                         Type * newType = newExpr->result;
     85                        newType = newExpr->result;
    7386                        newExpr->result = nullptr;
    7487                        delete typeofType;
    7588                        delete newExpr;
    76                         return newType;
    77                 } // if
    78                 return typeofType;
     89                }
     90
     91                // clear qualifiers for base, combine with typeoftype quals in any case
     92                if ( isBasetypeof ) {
     93                        // replace basetypeof(<enum>) by int
     94                        if ( dynamic_cast<EnumInstType*>(newType) ) {
     95                                Type* newerType =
     96                                        new BasicType{ newType->get_qualifiers(), BasicType::SignedInt,
     97                                        newType->attributes };
     98                                delete newType;
     99                                newType = newerType;
     100                        }
     101                        newType->get_qualifiers().val
     102                                = ( newType->get_qualifiers().val & ~Type::Qualifiers::Mask ) | oldQuals;
     103                } else {
     104                        newType->get_qualifiers().val |= oldQuals;
     105                }
     106               
     107                return newType;
    79108        }
    80109} // namespace ResolvExpr
  • src/SynTree/Expression.cc

    rff5caaf r95b8aa7  
    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/FunctionDecl.cc

    rff5caaf r95b8aa7  
    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

    rff5caaf r95b8aa7  
    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

    rff5caaf r95b8aa7  
    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

    rff5caaf r95b8aa7  
    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/SynTree/Type.h

    rff5caaf r95b8aa7  
    598598class TypeofType : public Type {
    599599  public:
    600         Expression *expr;
    601 
    602         TypeofType( const Type::Qualifiers & tq, Expression *expr, const std::list< Attribute * > & attributes = std::list< Attribute * >()  );
     600        Expression *expr;    ///< expression to take the type of
     601        bool is_basetypeof;  ///< true iff is basetypeof type
     602
     603        TypeofType( const Type::Qualifiers & tq, Expression *expr, const std::list< Attribute * > & attributes = std::list< Attribute * >() );
     604        TypeofType( const Type::Qualifiers & tq, Expression *expr, bool is_basetypeof,
     605                const std::list< Attribute * > & attributes = std::list< Attribute * >() );
    603606        TypeofType( const TypeofType& );
    604607        virtual ~TypeofType();
  • src/SynTree/TypeofType.cc

    rff5caaf r95b8aa7  
    2323class Attribute;
    2424
    25 TypeofType::TypeofType( const Type::Qualifiers &tq, Expression *expr, const std::list< Attribute * > & attributes ) : Type( tq, attributes ), expr( expr ) {
    26 }
     25TypeofType::TypeofType( const Type::Qualifiers &tq, Expression *expr,
     26        const std::list< Attribute * > & attributes )
     27: Type( tq, attributes ), expr( expr ), is_basetypeof(false) {}
    2728
    28 TypeofType::TypeofType( const TypeofType &other ) : Type( other ), expr( maybeClone( other.expr ) ) {
    29 }
     29TypeofType::TypeofType( const Type::Qualifiers &tq, Expression *expr, bool is_basetypeof,
     30        const std::list< Attribute * > & attributes )
     31: Type( tq, attributes ), expr( expr ), is_basetypeof( is_basetypeof ) {}
     32
     33TypeofType::TypeofType( const TypeofType &other )
     34: Type( other ), expr( maybeClone( other.expr ) ), is_basetypeof( other.is_basetypeof ) {}
    3035
    3136TypeofType::~TypeofType() {
     
    3540void TypeofType::print( std::ostream &os, Indenter indent ) const {
    3641        Type::print( os, indent );
     42        if ( is_basetypeof ) { os << "base-"; }
    3743        os << "type-of expression ";
    3844        if ( expr ) {
  • src/cfa.make

    rff5caaf r95b8aa7  
     1
     2
    13CFACOMPILE = $(CFACC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) $(AM_CFLAGS) $(CFLAGS)
     4LTCFACOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     5        $(LIBTOOLFLAGS) --mode=compile $(CFACC) $(DEFS) \
     6        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) \
     7        $(AM_CFLAGS) $(CFLAGS)
    28
    39AM_V_CFA = $(am__v_CFA_@AM_V@)
     
    1016        $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
    1117        $(am__mv) $$depbase.Tpo $$depbase.Po
     18
     19.cfa.lo:
     20        $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
     21        $(LTCFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
     22        $(am__mv) $$depbase.Tpo $$depbase.Plo
     23
     24AM_V_JAVAC = $(am__v_JAVAC_@AM_V@)
     25am__v_JAVAC_ = $(am__v_JAVAC_@AM_DEFAULT_V@)
     26am__v_JAVAC_0 = @echo "  JAVAC   " $@;
     27am__v_JAVAC_1 =
     28
     29AM_V_GOC = $(am__v_GOC_@AM_V@)
     30am__v_GOC_ = $(am__v_GOC_@AM_DEFAULT_V@)
     31am__v_GOC_0 = @echo "  GOC     " $@;
     32am__v_GOC_1 =
     33
     34
     35UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)
     36
     37AM_V_UPP = $(am__v_UPP_@AM_V@)
     38am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@)
     39am__v_UPP_0 = @echo "  UPP     " $@;
     40am__v_UPP_1 =
  • src/config.h.in

    rff5caaf r95b8aa7  
    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

    rff5caaf r95b8aa7  
    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/alloc-ERROR.txt

    rff5caaf r95b8aa7  
    1 alloc.c:265:1 error: No reasonable alternatives for expression Applying untyped:
     1alloc.cfa:265:1 error: No reasonable alternatives for expression Applying untyped:
    22  Name: ?=?
    33...to:
     
    1919
    2020
    21 alloc.c:266:1 error: No reasonable alternatives for expression Applying untyped:
     21alloc.cfa:266:1 error: No reasonable alternatives for expression Applying untyped:
    2222  Name: ?=?
    2323...to:
     
    3939
    4040
    41 alloc.c:267:1 error: No reasonable alternatives for expression Applying untyped:
     41alloc.cfa:267:1 error: No reasonable alternatives for expression Applying untyped:
    4242  Name: ?=?
    4343...to:
     
    5050
    5151
    52 alloc.c:268:1 error: No reasonable alternatives for expression Applying untyped:
     52alloc.cfa:268:1 error: No reasonable alternatives for expression Applying untyped:
    5353  Name: ?=?
    5454...to:
  • tests/.expect/castError.txt

    rff5caaf r95b8aa7  
    1 castError.c:7:1 error: Cannot choose between 3 alternatives for expression
     1castError.cfa:7:1 error: Cannot choose between 3 alternatives for expression
    22Cast of:
    33  Name: f
     
    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
    1818Cost ( 1, 0, 0, 0, 0, 0 ): Cast of:
     
    2323   char
    2424 )
    25  Environment: 
     25 Environment:
    2626
    2727Cost ( 1, 0, 0, 0, 0, 0 ): Cast of:
     
    3232   char
    3333 )
    34  Environment: 
     34 Environment:
    3535
    3636
  • tests/.expect/completeTypeError.txt

    rff5caaf r95b8aa7  
    1 completeTypeError.c:33:1 error: No reasonable alternatives for expression Applying untyped:
     1completeTypeError.cfa:33:1 error: No reasonable alternatives for expression Applying untyped:
    22  Name: *?
    33...to:
    44  Name: v
    55
    6 completeTypeError.c:34:1 error: No reasonable alternatives for expression Applying untyped:
     6completeTypeError.cfa:34:1 error: No reasonable alternatives for expression Applying untyped:
    77  Name: *?
    88...to:
    99  Name: y
    1010
    11 completeTypeError.c:35:1 error: No reasonable alternatives for expression Applying untyped:
     11completeTypeError.cfa:35:1 error: No reasonable alternatives for expression Applying untyped:
    1212  Name: foo
    1313...to:
    1414  Name: v
    1515
    16 completeTypeError.c:36:1 error: No reasonable alternatives for expression Applying untyped:
     16completeTypeError.cfa:36:1 error: No reasonable alternatives for expression Applying untyped:
    1717  Name: baz
    1818...to:
    1919  Name: v
    2020
    21 completeTypeError.c:37:1 error: No reasonable alternatives for expression Applying untyped:
     21completeTypeError.cfa:37:1 error: No reasonable alternatives for expression Applying untyped:
    2222  Name: quux
    2323...to:
    2424  Name: v
    2525
    26 completeTypeError.c:58:1 error: No reasonable alternatives for expression Applying untyped:
     26completeTypeError.cfa:58:1 error: No reasonable alternatives for expression Applying untyped:
    2727  Name: baz
    2828...to:
    2929  Name: y
    3030
    31 completeTypeError.c:59:1 error: No reasonable alternatives for expression Applying untyped:
     31completeTypeError.cfa:59:1 error: No reasonable alternatives for expression Applying untyped:
    3232  Name: quux
    3333...to:
    3434  Name: y
    3535
    36 completeTypeError.c:60:1 error: No reasonable alternatives for expression Applying untyped:
     36completeTypeError.cfa:60:1 error: No reasonable alternatives for expression Applying untyped:
    3737  Name: *?
    3838...to:
    3939  Name: y
    4040
    41 completeTypeError.c:72:1 error: No resolvable alternatives for expression Applying untyped:
     41completeTypeError.cfa:72:1 error: No resolvable alternatives for expression Applying untyped:
    4242  Name: baz
    4343...to:
     
    4545
    4646Alternatives with failing assertions are:
    47 Cost ( 0, 1, 1, -5, 0, 0 ): Application of
     47Cost ( 0, 1, 0, 1, -5, 0 ): Application of
    4848     Variable Expression: baz: forall
    4949       T: sized object type
     
    5353           reference to instance of type T (not function type)
    5454           instance of type T (not function type)
    55          ... returning 
     55         ... returning
    5656           _retval__operator_assign: instance of type T (not function type)
    57            ... with attributes: 
     57           ... with attributes:
    5858             Attribute with name: unused
    5959
     
    6262         ... with parameters
    6363           reference to instance of type T (not function type)
    64          ... returning nothing 
     64         ... returning nothing
    6565
    6666         ?{}: pointer to function
     
    6868           reference to instance of type T (not function type)
    6969           instance of type T (not function type)
    70          ... returning nothing 
     70         ... returning nothing
    7171
    7272         ^?{}: pointer to function
    7373         ... with parameters
    7474           reference to instance of type T (not function type)
    75          ... returning nothing 
     75         ... returning nothing
    7676
    7777
     
    7979     ... with parameters
    8080       pointer to instance of type T (not function type)
    81      ... returning nothing 
     81     ... returning nothing
    8282
    8383   ... to arguments
     
    8787   void
    8888 )
    89  Environment: ( _73_0_T ) -> instance of type T (not function type)  (no widening)
     89 Environment:( _73_0_T ) -> instance of type T (not function type)  (no widening)
    9090
    9191
  • tests/.expect/declarationErrors.txt

    rff5caaf r95b8aa7  
    1 declarationErrors.c:16:1 error: duplicate static in declaration of x1: static const volatile short int
     1declarationErrors.cfa:16:1 error: duplicate static in declaration of x1: static const volatile short int
    22
    3 declarationErrors.c:17:1 error: conflicting extern & static in declaration of x2: extern const volatile short int
     3declarationErrors.cfa:17:1 error: conflicting extern & static in declaration of x2: extern const volatile short int
    44
    5 declarationErrors.c:18:1 error: conflicting extern & auto, conflicting extern & static, conflicting extern & static, duplicate extern in declaration of x3: extern const volatile short int
     5declarationErrors.cfa:18:1 error: conflicting extern & auto, conflicting extern & static, conflicting extern & static, duplicate extern in declaration of x3: extern const volatile short int
    66
    7 declarationErrors.c:19:1 error: duplicate static in declaration of x4: static const volatile instance of const volatile struct __anonymous0
     7declarationErrors.cfa:19:1 error: duplicate static in declaration of x4: static const volatile instance of const volatile struct __anonymous0
    88  with members
    99    i: int
     
    1111
    1212
    13 declarationErrors.c:20:1 error: duplicate const, duplicate static, duplicate volatile in declaration of x5: static const volatile instance of const volatile struct __anonymous1
     13declarationErrors.cfa:20:1 error: duplicate const, duplicate static, duplicate volatile in declaration of x5: static const volatile instance of const volatile struct __anonymous1
    1414  with members
    1515    i: int
     
    1717
    1818
    19 declarationErrors.c:22:1 error: duplicate static in declaration of x6: static const volatile Int
     19declarationErrors.cfa:22:1 error: duplicate static in declaration of x6: static const volatile Int
    2020
    21 declarationErrors.c:24:1 error: duplicate const in declaration of f01: static inline function
     21declarationErrors.cfa:24:1 error: duplicate const in declaration of f01: static inline function
    2222  with no parameters
    2323  returning const volatile int
    2424
    2525
    26 declarationErrors.c:25:1 error: duplicate volatile in declaration of f02: static inline function
     26declarationErrors.cfa:25:1 error: duplicate volatile in declaration of f02: static inline function
    2727  with no parameters
    2828  returning const volatile int
    2929
    3030
    31 declarationErrors.c:26:1 error: duplicate const in declaration of f03: static inline function
     31declarationErrors.cfa:26:1 error: duplicate const in declaration of f03: static inline function
    3232  with no parameters
    3333  returning const volatile int
    3434
    3535
    36 declarationErrors.c:27:1 error: duplicate volatile in declaration of f04: static inline function
     36declarationErrors.cfa:27:1 error: duplicate volatile in declaration of f04: static inline function
    3737  with no parameters
    3838  returning const volatile int
    3939
    4040
    41 declarationErrors.c:28:1 error: duplicate const in declaration of f05: static inline function
     41declarationErrors.cfa:28:1 error: duplicate const in declaration of f05: static inline function
    4242  with no parameters
    4343  returning const volatile int
    4444
    4545
    46 declarationErrors.c:29:1 error: duplicate volatile in declaration of f06: static inline function
     46declarationErrors.cfa:29:1 error: duplicate volatile in declaration of f06: static inline function
    4747  with no parameters
    4848  returning const volatile int
    4949
    5050
    51 declarationErrors.c:30:1 error: duplicate const in declaration of f07: static inline function
     51declarationErrors.cfa:30:1 error: duplicate const in declaration of f07: static inline function
    5252  with no parameters
    5353  returning const volatile int
    5454
    5555
    56 declarationErrors.c:31:1 error: duplicate const, duplicate volatile in declaration of f08: static inline function
     56declarationErrors.cfa:31:1 error: duplicate const, duplicate volatile in declaration of f08: static inline function
    5757  with no parameters
    5858  returning const volatile int
    5959
    6060
    61 declarationErrors.c:33:1 error: duplicate const, duplicate volatile in declaration of f09: static inline function
     61declarationErrors.cfa:33:1 error: duplicate const, duplicate volatile in declaration of f09: static inline function
    6262  with no parameters
    6363  returning const volatile int
    6464
    6565
    66 declarationErrors.c:34:1 error: duplicate const, duplicate _Atomic, duplicate _Atomic, duplicate const, duplicate restrict, duplicate volatile in declaration of f09: static inline function
     66declarationErrors.cfa:34:1 error: duplicate const, duplicate _Atomic, duplicate _Atomic, duplicate const, duplicate restrict, duplicate volatile in declaration of f09: static inline function
    6767  with no parameters
    6868  returning const restrict volatile _Atomic int
  • tests/.expect/loopctrl.txt

    rff5caaf r95b8aa7  
    33empty
    44
     5zero
    56A
    6 A A
    77A A A A A A A A A A
    88B B B B B
     
    1010D D D D D
    1111E E E E E
    12 0 1 2 3 4 5 6 7 8 9
     12
    13130 1 2 3 4 5 6 7 8 9
    14141 3 5 7 9
     
    18182 4 6 8 10
    191910 8 6 4 2
     20
     21
     22N N N N N N N N N N
     230 1 2 3 4 5 6 7 8 9
     2410 9 8 7 6 5 4 3 2 1
     25
     26
    20273 6 9
     28
     29
    2130(0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)
    2231(0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)
     32
    2333(0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)
    2434(0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)
     35(0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)(10 10)
     36(0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)(10 10)
     37
     38(10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)
     39(10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)
     40(10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)(0 0)
     41(10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)(0 0)
  • tests/.expect/nested-types-ERR1.txt

    rff5caaf r95b8aa7  
    1 nested-types.c:70:1 error: Use of undefined type T
     1nested-types.cfa:70:1 error: Use of undefined type T
  • tests/.expect/nested-types-ERR2.txt

    rff5caaf r95b8aa7  
    1 nested-types.c:73:1 error: Use of undefined global type Z
    2 nested-types.c:74:1 error: Qualified type requires an aggregate on the left, but has: signed int
    3 nested-types.c:75:1 error: Undefined type in qualified type: Qualified Type:
    4   instance of struct S with body 1 
     1nested-types.cfa:73:1 error: Use of undefined global type Z
     2nested-types.cfa:74:1 error: Qualified type requires an aggregate on the left, but has: signed int
     3nested-types.cfa:75:1 error: Undefined type in qualified type: Qualified Type:
     4  instance of struct S with body 1
    55  instance of type Z (not function type)
    66
  • tests/.expect/scopeErrors.txt

    rff5caaf r95b8aa7  
    1 scopeErrors.c:2:1 error: duplicate object definition for thisIsAnError: signed int
    2 scopeErrors.c:20:1 error: duplicate function definition for butThisIsAnError: function
     1scopeErrors.cfa:2:1 error: duplicate object definition for thisIsAnError: signed int
     2scopeErrors.cfa:20:1 error: duplicate function definition for butThisIsAnError: function
    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/.expect/typedefRedef-ERR1.txt

    rff5caaf r95b8aa7  
    1 typedefRedef.c:4:1 error: Cannot redefine typedef: Foo
    2 typedefRedef.c:60:1 error: Cannot redefine typedef: ARR
     1typedefRedef.cfa:4:1 error: Cannot redefine typedef: Foo
     2typedefRedef.cfa:60:1 error: Cannot redefine typedef: ARR
  • tests/KRfunctions.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // KRfunctions.c --
     7// KRfunctions.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Thu Feb 16 15:23:17 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Aug 20 07:34:17 2017
    13 // Update Count     : 7
     12// Last Modified On : Tue Nov  6 17:50:34 2018
     13// Update Count     : 9
    1414//
    1515
     
    4949// Local Variables: //
    5050// tab-width: 4 //
    51 // compile-command: "cfa KRfunctions.c" //
     51// compile-command: "cfa KRfunctions.cfa" //
    5252// End: //
  • tests/Makefile.am

    rff5caaf r95b8aa7  
    1111## Created On       : Sun May 31 09:08:15 2015
    1212## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Wed Jun  6 16:42:20 2018
    14 ## Update Count     : 49
     13## Last Modified On : Tue Nov 20 11:18:51 2018
     14## Update Count     : 68
    1515###############################################################################
    1616
    1717AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     18ACLOCAL_AMFLAGS  = -I automake
     19
     20include $(top_srcdir)/src/cfa.make
    1821
    1922debug=yes
     
    3639
    3740AM_CFLAGS += ${DEBUG_FLAGS} ${INSTALL_FLAGS} ${ARCH_FLAGS}
    38 
    3941CC = @CFACC@
    4042
     
    4244
    4345.PHONY: list .validate
    44 .INTERMEDIATE: .validate .validate.c
    45 EXTRA_PROGRAMS = fstream_test avl_test # build but do not install
     46.INTERMEDIATE: .validate .validate.cfa
     47EXTRA_PROGRAMS = avl_test .dummy_hack # build but do not install
    4648
    47 fstream_test_SOURCES = fstream_test.c
    48 
    49 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
    5052
    5153#----------------------------------------------------------------------------------------------------------------
     
    6264        @+${TEST_PY} --list ${concurrent}
    6365
    64 .validate: .validate.c
    65         $(COMPILE) .validate.c -fsyntax-only -Wall -Wextra -Werror
     66.validate: .validate.cfa
     67        $(CFACOMPILE) .validate.cfa -fsyntax-only -Wall -Wextra -Werror
    6668
    67 .validate.c:
     69.validate.cfa:
     70        @echo "int main() { return 0; }" > ${@}
     71
     72# automake doesn't know we still need C rules so pretend like we have a C program
     73.dummy_hack.c:
    6874        @echo "int main() { return 0; }" > ${@}
    6975
     
    7278
    7379#----------------------------------------------------------------------------------------------------------------
     80
    7481# implicit rule so not all test require a rule
    75 % : %.c $(CC)
    76         $(PRETTY_PATH) $(COMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     82% : %.cfa $(CFACC)
     83        $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    7784
    78 declarationSpecifier: declarationSpecifier.c $(CC)
    79         $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     85declarationSpecifier: declarationSpecifier.cfa $(CFACC)
     86        $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    8087
    81 gccExtensions : gccExtensions.c $(CC)
    82         $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     88gccExtensions : gccExtensions.cfa $(CFACC)
     89        $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    8390
    84 extension : extension.c $(CC)
    85         $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     91extension : extension.cfa $(CFACC)
     92        $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    8693
    87 attributes : attributes.c $(CC)
    88         $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     94attributes : attributes.cfa $(CFACC)
     95        $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    8996
    90 functions: functions.c $(CC)
    91         $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     97functions: functions.cfa $(CFACC)
     98        $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    9299
    93 KRfunctions : KRfunctions.c $(CC)
    94         $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     100KRfunctions : KRfunctions.cfa $(CFACC)
     101        $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    95102
    96 sched-ext-parse : sched-ext-parse.c $(CC)
    97         $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     103sched-ext-parse : sched-ext-parse.c $(CFACC)
     104        $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    98105
    99 gmp : gmp.c $(CC)
    100         $(PRETTY_PATH) $(COMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     106gmp : gmp.cfa $(CFACC)
     107        $(PRETTY_PATH) $(CFACOMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    101108
    102109#builtins
    103 builtins/sync: builtins/sync.c $(CC)
    104         $(PRETTY_PATH) $(COMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only
     110builtins/sync: builtins/sync.cfa $(CFACC)
     111        $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only
    105112
    106113#------------------------------------------------------------------------------
     114
    107115#To make errors path independent we need to cd into the correct directories
    108 completeTypeError : completeTypeError.c $(CC)
    109         $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     116completeTypeError : completeTypeError.cfa $(CFACC)
     117        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    110118
    111 typedefRedef-ERR1: typedefRedef.c $(CC)
    112         $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     119typedefRedef-ERR1: typedefRedef.cfa $(CFACC)
     120        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    113121
    114 alloc-ERROR: alloc.c $(CC)
    115         $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     122alloc-ERROR: alloc.cfa $(CFACC)
     123        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    116124
    117 fallthrough-ERROR: fallthrough.c $(CC)
    118         $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     125fallthrough-ERROR: fallthrough.cfa $(CFACC)
     126        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    119127
    120 nested-types-ERR1: nested-types.c $(CC)
    121         $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     128nested-types-ERR1: nested-types.cfa $(CFACC)
     129        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    122130
    123 nested-types-ERR2: nested-types.c $(CC)
    124         $(PRETTY_PATH) $(COMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     131nested-types-ERR2: nested-types.cfa $(CFACC)
     132        $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    125133
    126134# Constructor/destructor tests
    127 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.c $(CC)
    128         $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     135raii/dtor-early-exit-ERR1: raii/dtor-early-exit.cfa $(CFACC)
     136        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    129137
    130 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.c $(CC)
    131         $(PRETTY_PATH) $(COMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     138raii/dtor-early-exit-ERR2: raii/dtor-early-exit.cfa $(CFACC)
     139        $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    132140
    133 raii/memberCtors-ERR1: raii/memberCtors.c $(CC)
    134         $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     141raii/memberCtors-ERR1: raii/memberCtors.cfa $(CFACC)
     142        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    135143
    136 raii/ctor-autogen-ERR1: raii/ctor-autogen.c $(CC)
    137         $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     144raii/ctor-autogen-ERR1: raii/ctor-autogen.cfa $(CFACC)
     145        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    138146
    139147# Warnings
    140 warnings/self-assignment: warnings/self-assignment.c $(CC)
    141         $(PRETTY_PATH) $(COMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only
     148warnings/self-assignment: warnings/self-assignment.cfa $(CFACC)
     149        $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only
  • tests/Makefile.in

    rff5caaf r95b8aa7  
    9191build_triplet = @build@
    9292host_triplet = @host@
    93 EXTRA_PROGRAMS = fstream_test$(EXEEXT) 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) \
     
    110121avl_test_OBJECTS = $(am_avl_test_OBJECTS)
    111122avl_test_LDADD = $(LDADD)
    112 am_fstream_test_OBJECTS = fstream_test.$(OBJEXT)
    113 fstream_test_OBJECTS = $(am_fstream_test_OBJECTS)
    114 fstream_test_LDADD = $(LDADD)
    115123AM_V_P = $(am__v_P_@AM_V@)
    116124am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
     
    131139COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
    132140        $(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)
    133145AM_V_CC = $(am__v_CC_@AM_V@)
    134146am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
     
    136148am__v_CC_1 =
    137149CCLD = $(CC)
    138 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 $@
    139153AM_V_CCLD = $(am__v_CCLD_@AM_V@)
    140154am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
    141155am__v_CCLD_0 = @echo "  CCLD    " $@;
    142156am__v_CCLD_1 =
    143 SOURCES = $(avl_test_SOURCES) $(fstream_test_SOURCES)
    144 DIST_SOURCES = $(avl_test_SOURCES) $(fstream_test_SOURCES)
     157SOURCES = $(_dummy_hack_SOURCES) $(avl_test_SOURCES)
     158DIST_SOURCES = $(_dummy_hack_SOURCES) $(avl_test_SOURCES)
    145159am__can_run_installinfo = \
    146160  case $$AM_UPDATE_INFO_DIR in \
     
    168182CTAGS = ctags
    169183am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.py.in \
    170         $(srcdir)/test.py $(top_srcdir)/automake/depcomp
     184        $(srcdir)/test.py $(top_srcdir)/automake/depcomp \
     185        $(top_srcdir)/src/cfa.make
    171186DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
    172187ACLOCAL = @ACLOCAL@
     
    174189AMTAR = @AMTAR@
    175190AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
     191AR = @AR@
    176192AUTOCONF = @AUTOCONF@
    177193AUTOHEADER = @AUTOHEADER@
    178194AUTOMAKE = @AUTOMAKE@
    179195AWK = @AWK@
    180 BACKEND_CC = @BACKEND_CC@
    181196BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@
    182197CC = @CFACC@
     
    198213CPPFLAGS = @CPPFLAGS@
    199214CXX = @CXX@
     215CXXCPP = @CXXCPP@
    200216CXXDEPMODE = @CXXDEPMODE@
    201217CXXFLAGS = @CXXFLAGS@
     
    203219DEFS = @DEFS@
    204220DEPDIR = @DEPDIR@
     221DLLTOOL = @DLLTOOL@
    205222DRIVER_DIR = @DRIVER_DIR@
     223DSYMUTIL = @DSYMUTIL@
     224DUMPBIN = @DUMPBIN@
    206225ECHO_C = @ECHO_C@
    207226ECHO_N = @ECHO_N@
     
    209228EGREP = @EGREP@
    210229EXEEXT = @EXEEXT@
     230FGREP = @FGREP@
    211231GREP = @GREP@
    212232HOST_FLAGS = @HOST_FLAGS@
     
    216236INSTALL_SCRIPT = @INSTALL_SCRIPT@
    217237INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     238LD = @LD@
    218239LDFLAGS = @LDFLAGS@
    219240LEX = @LEX@
     
    224245LIBOBJS = @LIBOBJS@
    225246LIBS = @LIBS@
     247LIBTOOL = @LIBTOOL@
     248LIPO = @LIPO@
     249LN_S = @LN_S@
    226250LTLIBOBJS = @LTLIBOBJS@
     251LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    227252MAKEINFO = @MAKEINFO@
     253MANIFEST_TOOL = @MANIFEST_TOOL@
    228254MKDIR_P = @MKDIR_P@
     255NM = @NM@
     256NMEDIT = @NMEDIT@
     257OBJDUMP = @OBJDUMP@
    229258OBJEXT = @OBJEXT@
     259OTOOL = @OTOOL@
     260OTOOL64 = @OTOOL64@
    230261PACKAGE = @PACKAGE@
    231262PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    237268PATH_SEPARATOR = @PATH_SEPARATOR@
    238269RANLIB = @RANLIB@
     270SED = @SED@
    239271SET_MAKE = @SET_MAKE@
    240272SHELL = @SHELL@
     
    248280abs_top_builddir = @abs_top_builddir@
    249281abs_top_srcdir = @abs_top_srcdir@
     282ac_ct_AR = @ac_ct_AR@
    250283ac_ct_CC = @ac_ct_CC@
    251284ac_ct_CXX = @ac_ct_CXX@
     285ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    252286am__include = @am__include@
    253287am__leading_dot = @am__leading_dot@
     
    297331top_srcdir = @top_srcdir@
    298332AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     333ACLOCAL_AMFLAGS = -I automake
     334CFACOMPILE = $(CFACC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) $(AM_CFLAGS) $(CFLAGS)
     335LTCFACOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
     336        $(LIBTOOLFLAGS) --mode=compile $(CFACC) $(DEFS) \
     337        $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) \
     338        $(AM_CFLAGS) $(CFLAGS)
     339
     340AM_V_CFA = $(am__v_CFA_@AM_V@)
     341am__v_CFA_ = $(am__v_CFA_@AM_DEFAULT_V@)
     342am__v_CFA_0 = @echo "  CFA     " $@;
     343am__v_CFA_1 =
     344AM_V_JAVAC = $(am__v_JAVAC_@AM_V@)
     345am__v_JAVAC_ = $(am__v_JAVAC_@AM_DEFAULT_V@)
     346am__v_JAVAC_0 = @echo "  JAVAC   " $@;
     347am__v_JAVAC_1 =
     348AM_V_GOC = $(am__v_GOC_@AM_V@)
     349am__v_GOC_ = $(am__v_GOC_@AM_DEFAULT_V@)
     350am__v_GOC_0 = @echo "  GOC     " $@;
     351am__v_GOC_1 =
     352UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)
     353AM_V_UPP = $(am__v_UPP_@AM_V@)
     354am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@)
     355am__v_UPP_0 = @echo "  UPP     " $@;
     356am__v_UPP_1 =
    299357debug = yes
    300358installed = no
     
    309367        ${INSTALL_FLAGS} ${ARCH_FLAGS}
    310368PRETTY_PATH = cd ${srcdir} &&
    311 fstream_test_SOURCES = fstream_test.c
    312 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
    313372all: all-am
    314373
    315374.SUFFIXES:
    316 .SUFFIXES: .c .o .obj .validate
    317 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(am__configure_deps)
     375.SUFFIXES: .c .cfa .dummy_hack .lo .o .obj .validate
     376$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/src/cfa.make $(am__configure_deps)
    318377        @for dep in $?; do \
    319378          case '$(am__configure_deps)' in \
     
    335394            cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
    336395        esac;
     396$(top_srcdir)/src/cfa.make $(am__empty):
    337397
    338398$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
     
    346406config.py: $(top_builddir)/config.status $(srcdir)/config.py.in
    347407        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)
    348412avltree/$(am__dirstamp):
    349413        @$(MKDIR_P) avltree
     
    371435        $(AM_V_CCLD)$(LINK) $(avl_test_OBJECTS) $(avl_test_LDADD) $(LIBS)
    372436
    373 fstream_test$(EXEEXT): $(fstream_test_OBJECTS) $(fstream_test_DEPENDENCIES) $(EXTRA_fstream_test_DEPENDENCIES)
    374         @rm -f fstream_test$(EXEEXT)
    375         $(AM_V_CCLD)$(LINK) $(fstream_test_OBJECTS) $(fstream_test_LDADD) $(LIBS)
    376 
    377437mostlyclean-compile:
    378438        -rm -f *.$(OBJEXT)
     
    382442        -rm -f *.tab.c
    383443
    384 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstream_test.Po@am__quote@
    385 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl-private.Po@am__quote@
    386 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl0.Po@am__quote@
    387 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl1.Po@am__quote@
    388 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl2.Po@am__quote@
    389 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl3.Po@am__quote@
    390 @AMDEP_TRUE@@am__include@ @am__quote@avltree/$(DEPDIR)/avl4.Po@am__quote@
    391 @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@
    392445
    393446.c.o:
     
    406459@AMDEP_TRUE@@am__fastdepCC_FALSE@       DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    407460@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
    408475
    409476ID: $(am__tagged_files)
     
    527594clean: clean-am
    528595
    529 clean-am: clean-generic clean-local mostlyclean-am
     596clean-am: clean-generic clean-libtool clean-local mostlyclean-am
    530597
    531598distclean: distclean-am
    532         -rm -rf ./$(DEPDIR) avltree/$(DEPDIR)
     599        -rm -rf ./$(DEPDIR)
    533600        -rm -f Makefile
    534601distclean-am: clean-am distclean-compile distclean-generic \
     
    576643
    577644maintainer-clean: maintainer-clean-am
    578         -rm -rf ./$(DEPDIR) avltree/$(DEPDIR)
     645        -rm -rf ./$(DEPDIR)
    579646        -rm -f Makefile
    580647maintainer-clean-am: distclean-am maintainer-clean-generic
     
    582649mostlyclean: mostlyclean-am
    583650
    584 mostlyclean-am: mostlyclean-compile mostlyclean-generic
     651mostlyclean-am: mostlyclean-compile mostlyclean-generic \
     652        mostlyclean-libtool
    585653
    586654pdf: pdf-am
     
    597665
    598666.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \
    599         clean-generic clean-local cscopelist-am ctags ctags-am \
    600         distclean distclean-compile distclean-generic distclean-tags \
    601         distdir dvi dvi-am html html-am info info-am install \
    602         install-am install-data install-data-am install-dvi \
    603         install-dvi-am install-exec install-exec-am install-html \
    604         install-html-am install-info install-info-am install-man \
    605         install-pdf install-pdf-am install-ps install-ps-am \
    606         install-strip installcheck installcheck-am installdirs \
    607         maintainer-clean maintainer-clean-generic mostlyclean \
    608         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 \
    609678        tags tags-am uninstall uninstall-am
    610679
     
    612681
    613682
     683.cfa.o:
     684        $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
     685        $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
     686        $(am__mv) $$depbase.Tpo $$depbase.Po
     687
     688.cfa.lo:
     689        $(AM_V_CFA)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
     690        $(LTCFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
     691        $(am__mv) $$depbase.Tpo $$depbase.Plo
     692
    614693.PHONY: list .validate
    615 .INTERMEDIATE: .validate .validate.c
     694.INTERMEDIATE: .validate .validate.cfa
    616695
    617696#----------------------------------------------------------------------------------------------------------------
     
    628707        @+${TEST_PY} --list ${concurrent}
    629708
    630 .validate: .validate.c
    631         $(COMPILE) .validate.c -fsyntax-only -Wall -Wextra -Werror
    632 
    633 .validate.c:
     709.validate: .validate.cfa
     710        $(CFACOMPILE) .validate.cfa -fsyntax-only -Wall -Wextra -Werror
     711
     712.validate.cfa:
     713        @echo "int main() { return 0; }" > ${@}
     714
     715# automake doesn't know we still need C rules so pretend like we have a C program
     716.dummy_hack.c:
    634717        @echo "int main() { return 0; }" > ${@}
    635718
     
    638721
    639722#----------------------------------------------------------------------------------------------------------------
     723
    640724# implicit rule so not all test require a rule
    641 % : %.c $(CC)
    642         $(PRETTY_PATH) $(COMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    643 
    644 declarationSpecifier: declarationSpecifier.c $(CC)
    645         $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    646 
    647 gccExtensions : gccExtensions.c $(CC)
    648         $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    649 
    650 extension : extension.c $(CC)
    651         $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    652 
    653 attributes : attributes.c $(CC)
    654         $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    655 
    656 functions: functions.c $(CC)
    657         $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    658 
    659 KRfunctions : KRfunctions.c $(CC)
    660         $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    661 
    662 sched-ext-parse : sched-ext-parse.c $(CC)
    663         $(PRETTY_PATH) $(COMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    664 
    665 gmp : gmp.c $(CC)
    666         $(PRETTY_PATH) $(COMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     725% : %.cfa $(CFACC)
     726        $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     727
     728declarationSpecifier: declarationSpecifier.cfa $(CFACC)
     729        $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     730
     731gccExtensions : gccExtensions.cfa $(CFACC)
     732        $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     733
     734extension : extension.cfa $(CFACC)
     735        $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     736
     737attributes : attributes.cfa $(CFACC)
     738        $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     739
     740functions: functions.cfa $(CFACC)
     741        $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     742
     743KRfunctions : KRfunctions.cfa $(CFACC)
     744        $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     745
     746sched-ext-parse : sched-ext-parse.c $(CFACC)
     747        $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     748
     749gmp : gmp.cfa $(CFACC)
     750        $(PRETTY_PATH) $(CFACOMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    667751
    668752#builtins
    669 builtins/sync: builtins/sync.c $(CC)
    670         $(PRETTY_PATH) $(COMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only
     753builtins/sync: builtins/sync.cfa $(CFACC)
     754        $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only
    671755
    672756#------------------------------------------------------------------------------
     757
    673758#To make errors path independent we need to cd into the correct directories
    674 completeTypeError : completeTypeError.c $(CC)
    675         $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    676 
    677 typedefRedef-ERR1: typedefRedef.c $(CC)
    678         $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    679 
    680 alloc-ERROR: alloc.c $(CC)
    681         $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    682 
    683 fallthrough-ERROR: fallthrough.c $(CC)
    684         $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    685 
    686 nested-types-ERR1: nested-types.c $(CC)
    687         $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    688 
    689 nested-types-ERR2: nested-types.c $(CC)
    690         $(PRETTY_PATH) $(COMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     759completeTypeError : completeTypeError.cfa $(CFACC)
     760        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     761
     762typedefRedef-ERR1: typedefRedef.cfa $(CFACC)
     763        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     764
     765alloc-ERROR: alloc.cfa $(CFACC)
     766        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     767
     768fallthrough-ERROR: fallthrough.cfa $(CFACC)
     769        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     770
     771nested-types-ERR1: nested-types.cfa $(CFACC)
     772        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     773
     774nested-types-ERR2: nested-types.cfa $(CFACC)
     775        $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    691776
    692777# Constructor/destructor tests
    693 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.c $(CC)
    694         $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    695 
    696 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.c $(CC)
    697         $(PRETTY_PATH) $(COMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    698 
    699 raii/memberCtors-ERR1: raii/memberCtors.c $(CC)
    700         $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    701 
    702 raii/ctor-autogen-ERR1: raii/ctor-autogen.c $(CC)
    703         $(PRETTY_PATH) $(COMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     778raii/dtor-early-exit-ERR1: raii/dtor-early-exit.cfa $(CFACC)
     779        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     780
     781raii/dtor-early-exit-ERR2: raii/dtor-early-exit.cfa $(CFACC)
     782        $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     783
     784raii/memberCtors-ERR1: raii/memberCtors.cfa $(CFACC)
     785        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
     786
     787raii/ctor-autogen-ERR1: raii/ctor-autogen.cfa $(CFACC)
     788        $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
    704789
    705790# Warnings
    706 warnings/self-assignment: warnings/self-assignment.c $(CC)
    707         $(PRETTY_PATH) $(COMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only
     791warnings/self-assignment: warnings/self-assignment.cfa $(CFACC)
     792        $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only
    708793
    709794# Tell versions [3.59,3.63) of GNU make to not export all variables.
  • tests/abs.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // abs.c --
     7// abs.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Thu Jan 28 18:26:16 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Feb 22 22:31:03 2017
    13 // Update Count     : 52
     12// Last Modified On : Tue Dec  4 21:33:15 2018
     13// Update Count     : 55
    1414//
    1515
     
    1919int main( void ) {
    2020        signed char ch = -65;
    21         sout | "char\t\t\t"                                     | ch     | "\tabs " | abs( ch ) | endl;
    22         sout | "signed int\t\t"                         | -65    | "\tabs" | abs( -65 ) | endl;
    23         sout | "signed long int\t\t"            | -65l   | "\tabs" | abs( -65l ) | endl;
    24         sout | "signed long long int\t"         | -65ll  | "\tabs" | abs( -65ll ) | endl;
    25         sout | "float\t\t\t"                            | -65.0f | "\tabs" | abs( -65.0f ) | endl;
    26         sout | "double\t\t\t"                           | -65.0  | "\tabs" | abs( -65.0 ) | endl;
    27         sout | "long double\t\t"                        | -65.0l | "\tabs" | abs( -65.0l ) | endl;
    28         sout | "float _Complex\t\t"                     | -65.0F-2.0iF | "\tabs" | abs( -65.0F-2.0iF ) | endl;
    29         sout | "double _Complex\t\t"            | -65.0D-2.0iD | "\tabs" | abs( -65.0D-2.0iD ) | endl;
    30         sout | "long double _Complex\t"         | -65.0L-2.0iL | "\tabs" | abs( -65.0L-2.0iL ) | endl;
     21        sout | "char\t\t\t"                                     | ch     | "\tabs " | abs( ch );
     22        sout | "signed int\t\t"                         | -65    | "\tabs" | abs( -65 );
     23        sout | "signed long int\t\t"            | -65l   | "\tabs" | abs( -65l );
     24        sout | "signed long long int\t"         | -65ll  | "\tabs" | abs( -65ll );
     25        sout | "float\t\t\t"                            | -65.0f | "\tabs" | abs( -65.0f );
     26        sout | "double\t\t\t"                           | -65.0  | "\tabs" | abs( -65.0 );
     27        sout | "long double\t\t"                        | -65.0l | "\tabs" | abs( -65.0l );
     28        sout | "float _Complex\t\t"                     | -65.0F-2.0iF | "\tabs" | abs( -65.0F-2.0iF );
     29        sout | "double _Complex\t\t"            | -65.0D-2.0iD | "\tabs" | abs( -65.0D-2.0iD );
     30        sout | "long double _Complex\t"         | -65.0L-2.0iL | "\tabs" | abs( -65.0L-2.0iL );
    3131} // main
    3232
    3333// Local Variables: //
    3434// tab-width: 4 //
    35 // compile-command: "cfa abs.c" //
     35// compile-command: "cfa abs.cfa" //
    3636// End: //
  • tests/alloc.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // alloc.c --
     7// alloc.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Wed Feb  3 07:56:22 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Aug  9 06:21:35 2018
    13 // Update Count     : 337
     12// Last Modified On : Tue Nov  6 17:50:52 2018
     13// Update Count     : 339
    1414//
    1515
     
    272272// Local Variables: //
    273273// tab-width: 4 //
    274 // compile-command: "cfa alloc.c" //
     274// compile-command: "cfa alloc.cfa" //
    275275// End: //
  • tests/ato.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // ato.c --
     7// ato.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Thu Feb  4 08:10:57 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Nov 16 18:31:56 2017
    13 // Update Count     : 89
     12// Last Modified On : Tue Dec  4 21:33:53 2018
     13// Update Count     : 92
    1414//
    1515
     
    2020        const char * sptr = "-123";
    2121        int i = ato( sptr );
    22         sout | i | sptr | endl;
     22        sout | i | sptr;
    2323        sptr = "123";
    2424        unsigned int ui = ato( sptr );
    25         sout | ui | sptr | endl;
     25        sout | ui | sptr;
    2626
    2727        sptr = "-123";
    2828        long int li = ato( sptr );
    29         sout | li | sptr | endl;
     29        sout | li | sptr;
    3030        sptr = "123";
    3131        unsigned long int uli = ato( sptr );
    32         sout | uli | sptr | endl;
     32        sout | uli | sptr;
    3333
    3434        sptr = "-123";
    3535        long long int lli = ato( sptr );
    36         sout | lli | sptr | endl;
     36        sout | lli | sptr;
    3737        sptr = "123";
    3838        unsigned long long int ulli = ato( sptr );
    39         sout | ulli | sptr | endl;
     39        sout | ulli | sptr;
    4040
    4141        sptr = "-123.456";
    4242        float f = ato( sptr );
    43         sout | f | sptr | endl;
     43        sout | f | sptr;
    4444        sptr = "-123.4567890123456";
    4545        double d = ato( sptr );
    46         sout | d | sptr | endl;
     46        sout | d | sptr;
    4747        sptr = "-123.45678901234567890123456789";
    4848        long double ld = ato( sptr );
    49         sout | ld | sptr | endl;
     49        sout | ld | sptr;
    5050
    5151        sptr = "-123.456-123.456i";
    5252        float _Complex fc = ato( sptr );
    53         sout | fc | sptr | endl;
     53        sout | fc | sptr;
    5454        sptr = "-123.4567890123456+123.4567890123456i";
    5555        double _Complex dc = ato( sptr );
    56         sout | dc | sptr | endl;
     56        sout | dc | sptr;
    5757        sptr = "123.45678901234567890123456789-123.45678901234567890123456789i";
    5858        long double _Complex ldc = ato( sptr );
    59         sout | ldc | sptr | endl;
     59        sout | ldc | sptr;
    6060        sptr = "123.45678901234-123.4567890i";
    6161        long double _Complex ldc2 = ato( sptr );
    62         sout | ldc2 | sptr | endl;
     62        sout | ldc2 | sptr;
    6363
    6464
    6565        sptr = "-123";
    6666        i = strto( sptr, 0, 10 );
    67         sout | i | sptr | endl;
     67        sout | i | sptr;
    6868        sptr = "123";
    6969        ui = strto( sptr, 0, 10 );
    70         sout | ui | sptr | endl;
     70        sout | ui | sptr;
    7171
    7272        sptr = "-123";
    7373        li = strto( sptr, 0, 10 );
    74         sout | li | sptr | endl;
     74        sout | li | sptr;
    7575        sptr = "123";
    7676        uli = strto( sptr, 0, 10 );
    77         sout | uli | sptr | endl;
     77        sout | uli | sptr;
    7878
    7979        sptr = "-123";
    8080        lli = strto( sptr, 0, 10 );
    81         sout | lli | sptr | endl;
     81        sout | lli | sptr;
    8282        sptr = "123";
    8383        ulli = strto( sptr, 0, 10 );
    84         sout | ulli | sptr | endl;
     84        sout | ulli | sptr;
    8585
    8686        sptr = "-123.456";
    8787        f = strto( sptr, 0 );
    88         sout | f | sptr | endl;
     88        sout | f | sptr;
    8989        sptr = "-123.4567890123456";
    9090        d = strto( sptr, 0 );
    91         sout | d | sptr | endl;
     91        sout | d | sptr;
    9292        sptr = "-123.45678901234567890123456789";
    9393        ld = strto( sptr, 0 );
    94         sout | ld | sptr | endl;
     94        sout | ld | sptr;
    9595
    9696        sptr = "-123.456-123.456i";
    9797        fc = strto( sptr, 0 );
    98         sout | fc | sptr | endl;
     98        sout | fc | sptr;
    9999
    100100        char * eptr = 0;
    101101        // sptr = "2fred";
    102102        // fc = strto( sptr, &eptr );
    103         // sout | fc | sptr | eptr | endl;
     103        // sout | fc | sptr | eptr;
    104104
    105105        sptr = "2  3";
    106106        fc = strto( sptr, &eptr );
    107         sout | fc | sptr | eptr | endl;
     107        sout | fc | sptr | eptr;
    108108
    109109        sptr = "-123.4567890123456+123.4567890123456i";
    110110        dc = strto( sptr, 0 );
    111         sout | dc | sptr | endl;
     111        sout | dc | sptr;
    112112        sptr = "123.45678901234567890123456789-123.45678901234567890123456789i";
    113113        ldc = strto( sptr, 0 );
    114         sout | ldc | sptr | endl;
     114        sout | ldc | sptr;
    115115        sptr = "123.45678901234-123.4567890i";
    116116        ldc2 = strto( sptr, 0 );
    117         sout | ldc2 | sptr | endl;
     117        sout | ldc2 | sptr;
    118118} // main
    119119
    120120// Local Variables: //
    121121// tab-width: 4 //
    122 // compile-command: "cfa ato.c" //
     122// compile-command: "cfa ato.cfa" //
    123123// End: //
  • tests/attributes.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // attributes.c --
     7// attributes.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Mon Feb  6 16:07:02 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jul 19 13:50:51 2018
    13 // Update Count     : 15
     12// Last Modified On : Tue Nov  6 17:51:12 2018
     13// Update Count     : 17
    1414//
    1515
     
    154154// Local Variables: //
    155155// tab-width: 4 //
    156 // compile-command: "cfa attributes.c" //
     156// compile-command: "cfa attributes.cfa" //
    157157// End: //
  • tests/complex.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // complex.c --
     7// complex.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Wed May 24 22:07:31 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 24 22:08:01 2017
    13 // Update Count     : 1
     12// Last Modified On : Tue Dec  4 21:34:21 2018
     13// Update Count     : 4
    1414//
    1515
     
    2525    printf( "x:%g+%gi y:%g+%gi z:%g+%gi\n", creal(x), cimag(x), creal(y), cimag(y), creal(z), cimag(z) );
    2626#ifdef __CFA__
    27     sout | "x:" | x | "y:" | y | "z:" | z | endl;
     27    sout | "x:" | x | "y:" | y | "z:" | z;
    2828#endif // __CFA
    2929    x = 2.1 + 1.3i;
     
    3232    printf( "x:%g+%gi y:%g+%gi z:%g+%gi\n", creal(x), cimag(x), creal(y), cimag(y), creal(z), cimag(z) );
    3333#ifdef __CFA__
    34     sout | "x:" | x | "y:" | y | "z:" | z | endl;
     34    sout | "x:" | x | "y:" | y | "z:" | z;
    3535#endif // __CFA
    3636}
     
    3838// Local Variables: //
    3939// tab-width: 4 //
    40 // compile-command: "cfa complex.c" //
     40// compile-command: "cfa complex.cfa" //
    4141// End: //
  • tests/concurrent/coroutineYield.cfa

    rff5caaf r95b8aa7  
    66
    77#define __kick_rate 150000ul
    8 #include "long_tests.h"
     8#include "long_tests.hfa"
    99
    1010#ifndef PREEMPTION_RATE
     
    2727        while(true) {
    2828                #if !defined(TEST_FOREVER)
    29                         sout | "Coroutine 1" | endl;
     29                        sout | "Coroutine 1";
    3030                #endif
    3131                yield();
    3232                #if !defined(TEST_FOREVER)
    33                         sout | "Coroutine 2" | endl;
     33                        sout | "Coroutine 2";
    3434                #endif
    3535                suspend();
     
    4242        for(int i = 0; TEST(i < N); i++) {
    4343                #if !defined(TEST_FOREVER)
    44                         sout | "Thread 1" | endl;
     44                        sout | "Thread 1";
    4545                #endif
    4646                resume(c);
    4747                #if !defined(TEST_FOREVER)
    48                         sout | "Thread 2" | endl;
     48                        sout | "Thread 2";
    4949                #endif
    5050                yield();
  • tests/concurrent/examples/boundedBufferEXT.cfa

    rff5caaf r95b8aa7  
    88// Created On       : Wed Apr 18 22:52:12 2018
    99// Last Modified By : Peter A. Buhr
    10 // Last Modified On : Thu Aug 16 08:17:03 2018
    11 // Update Count     : 8
     10// Last Modified On : Tue Dec 11 21:55:02 2018
     11// Update Count     : 9
    1212//
    1313
     
    115115                sum += sums[i];
    116116        } // for
    117         sout | "total:" | sum | endl;
     117        sout | "total:" | sum;
    118118}
    119119
  • tests/concurrent/examples/boundedBufferINT.cfa

    rff5caaf r95b8aa7  
    88// Created On       : Mon Oct 30 12:45:13 2017
    99// Last Modified By : Peter A. Buhr
    10 // Last Modified On : Thu Aug 16 08:17:58 2018
    11 // Update Count     : 83
     10// Last Modified On : Tue Dec 11 21:55:45 2018
     11// Update Count     : 84
    1212//
    1313
     
    116116                sum += sums[i];
    117117        } // for
    118         sout | "total:" | sum | endl;
     118        sout | "total:" | sum;
    119119}
    120120
  • tests/concurrent/examples/datingService.cfa

    rff5caaf r95b8aa7  
    88// Created On       : Mon Oct 30 12:56:20 2017
    99// Last Modified By : Peter A. Buhr
    10 // Last Modified On : Sun May 27 09:05:18 2018
    11 // Update Count     : 26
     10// Last Modified On : Tue Dec 11 21:55:34 2018
     11// Update Count     : 28
    1212//
    1313
     
    5858        yield( random( 100 ) );                                                         // don't all start at the same time
    5959        unsigned int partner = girl( TheExchange, id, ccode );
    60         sout | "Girl:" | id | "is dating Boy at" | partner | "with ccode" | ccode | endl;
     60        sout | "Girl:" | id | "is dating Boy at" | partner | "with ccode" | ccode;
    6161        girlck[id] = partner;
    6262} // Girl main
     
    6969
    7070thread Boy {
    71         DatingService &TheExchange;
     71        DatingService & TheExchange;
    7272        unsigned int id, ccode;
    7373}; // Boy
     
    7676        yield( random( 100 ) );                                                         // don't all start at the same time
    7777        unsigned int partner = boy( TheExchange, id, ccode );
    78         sout | " Boy:" | id | "is dating Girl" | partner | "with ccode" | ccode | endl;
     78        sout | " Boy:" | id | "is dating Girl" | partner | "with ccode" | ccode;
    7979        boyck[id] = partner;
    8080} // Boy main
  • tests/concurrent/examples/matrixSum.cfa

    rff5caaf r95b8aa7  
    66// file "LICENCE" distributed with Cforall.
    77//
    8 // matrixSum.c --
     8// matrixSum.cfa --
    99//
    1010// Author           : Peter A. Buhr
    1111// Created On       : Mon Oct  9 08:29:28 2017
    1212// Last Modified By : Peter A. Buhr
    13 // Last Modified On : Thu Aug  9 09:17:30 2018
    14 // Update Count     : 13
     13// Last Modified On : Tue Dec 11 21:54:55 2018
     14// Update Count     : 15
    1515//
    1616
     
    5454                total += subtotals[r];                                                  // total subtotals
    5555        } // for
    56         sout | total | endl;
     56        sout | total;
    5757}
    5858
    5959// Local Variables: //
    6060// tab-width: 4 //
    61 // compile-command: "cfa matrixSum.c" //
     61// compile-command: "cfa matrixSum.cfa" //
    6262// End: //
  • tests/concurrent/examples/quickSort.cfa

    rff5caaf r95b8aa7  
    99// Created On       : Wed Dec  6 12:15:52 2017
    1010// Last Modified By : Peter A. Buhr
    11 // Last Modified On : Thu Aug 16 08:17:41 2018
    12 // Update Count     : 163
     11// Last Modified On : Sat Dec 22 08:44:27 2018
     12// Update Count     : 168
    1313//
    1414
     
    8888
    8989void usage( char * argv[] ) {
    90         sout | "Usage:" | argv[0] | "( -s unsorted-file [ sorted-file ] | -t size (>= 0) [ depth (>= 0) ] )" | endl;
     90        sout | "Usage:" | argv[0] | "( -s unsorted-file [ sorted-file ] | -t size (>= 0) [ depth (>= 0) ] )";
    9191        exit( EXIT_FAILURE );                                                           // TERMINATE!
    9292} // usage
     
    114114                                &sortedfile = new( (const char *)argv[2] ); // open the output file
    115115                                if ( fail( sortedfile ) ) {
    116                                         serr | "Error! Could not open sorted output file \"" | argv[2] | "\"" | endl;
     116                                        serr | "Error! Could not open sorted output file \"" | argv[2] | "\"";
    117117                                        usage( argv );
    118118                                } // if
     
    121121                                &unsortedfile = new( (const char *)argv[1] ); // open the input file
    122122                                if ( fail( unsortedfile ) ) {
    123                                         serr | "Error! Could not open unsorted input file \"" | argv[1] | "\"" | endl;
     123                                        serr | "Error! Could not open unsorted input file \"" | argv[1] | "\"";
    124124                                        usage( argv );
    125125                                } // if
     
    127127                } // if
    128128        } // if
     129        sortedfile | nlOff;                                                                     // turn off auto newline
    129130
    130131        enum { ValuesPerLine = 22 };                                            // number of values printed per line
     
    137138                        for ( int counter = 0; counter < size; counter += 1 ) { // read unsorted numbers
    138139                                unsortedfile | values[counter];
    139                                 if ( counter != 0 && counter % ValuesPerLine == 0 ) sortedfile | endl | "  ";
     140                                if ( counter != 0 && counter % ValuesPerLine == 0 ) sortedfile | nl | "  ";
    140141                                sortedfile | values[counter];
    141142                                if ( counter < size - 1 && (counter + 1) % ValuesPerLine != 0 ) sortedfile | ' ';
    142143                        } // for
    143                         sortedfile | endl;
     144                        sortedfile | nl;
    144145                        if ( size > 0 ) {                                                       // values to sort ?
    145146                                Quicksort QS = { values, size - 1, 0 }; // sort values
    146147                        } // wait until sort tasks terminate
    147148                        for ( int counter = 0; counter < size; counter += 1 ) { // print sorted list
    148                                 if ( counter != 0 && counter % ValuesPerLine == 0 ) sortedfile | endl | "  ";
     149                                if ( counter != 0 && counter % ValuesPerLine == 0 ) sortedfile | nl | "  ";
    149150                                sortedfile | values[counter];
    150151                                if ( counter < size - 1 && (counter + 1) % ValuesPerLine != 0 ) sortedfile | ' ';
    151152                        } // for
    152                         sortedfile | endl | endl;
     153                        sortedfile | nl | nl;
    153154
    154155                        delete( values );
  • tests/concurrent/monitor.cfa

    rff5caaf r95b8aa7  
    4040                MyThread f[4];
    4141        }
    42         sout | global.value | endl;
     42        sout | global.value;
    4343}
  • tests/concurrent/multi-monitor.cfa

    rff5caaf r95b8aa7  
    5252                }
    5353        }
    54         sout | global12 | global23 | global13 | endl;
     54        sout | global12 | global23 | global13;
    5555}
  • tests/concurrent/preempt.cfa

    rff5caaf r95b8aa7  
    33#include <time.hfa>
    44
    5 #include "long_tests.h"
     5#include "long_tests.hfa"
    66
    77#ifndef PREEMPTION_RATE
  • tests/concurrent/signal/block.cfa

    rff5caaf r95b8aa7  
    1414#include <time.hfa>
    1515
    16 #include "long_tests.h"
     16#include "long_tests.hfa"
    1717
    1818#ifndef PREEMPTION_RATE
     
    5757
    5858        if(a.last_thread != a.last_signaller || b.last_thread != b.last_signaller ) {
    59                 sout | "ERROR Barging detected, expected" | a.last_signaller | b.last_signaller | "got" | a.last_thread | b.last_thread | endl;
     59                sout | "ERROR Barging detected, expected" | a.last_signaller | b.last_signaller | "got" | a.last_thread | b.last_thread;
    6060                abort();
    6161        }
     
    8585
    8686                if( ! signal_block( cond ) ) {
    87                         sout | "ERROR expected to be able to signal" | endl;
     87                        sout | "ERROR expected to be able to signal";
    8888                        abort();
    8989                }
     
    9292
    9393                if(a.last_thread != next || b.last_thread != next) {
    94                         sout | "ERROR Barging detected, expected" | next | "got" | a.last_thread | b.last_thread | endl;
     94                        sout | "ERROR Barging detected, expected" | next | "got" | a.last_thread | b.last_thread;
    9595                        abort();
    9696                }
     
    130130                Signaller s[4];
    131131                Barger b[13];
    132                 sout | "Starting waiters" | endl;
     132                sout | "Starting waiters";
    133133                {
    134134                        Waiter w[3];
    135135                }
    136                 sout | "Waiters done" | endl;
     136                sout | "Waiters done";
    137137                done = true;
    138138        }
  • tests/concurrent/signal/disjoint.cfa

    rff5caaf r95b8aa7  
    55#include <time.hfa>
    66
    7 #include "long_tests.h"
     7#include "long_tests.hfa"
    88
    99#ifndef PREEMPTION_RATE
     
    6666        wait( cond );
    6767        if( d.state != SIGNAL ) {
    68                 sout | "ERROR barging!" | endl;
     68                sout | "ERROR barging!";
    6969        }
    7070
    7171        #if !defined(TEST_FOREVER)
    7272                d.counter++;
    73                 if( (d.counter % 1000) == 0 ) sout | d.counter | endl;
     73                if( (d.counter % 1000) == 0 ) sout | d.counter;
    7474        #endif
    7575
     
    9999        bool running = TEST(data.counter < N) && data.counter > 0;
    100100        if( data.state != SIGNAL && running ) {
    101                 sout | "ERROR Eager signal" | data.state | endl;
     101                sout | "ERROR Eager signal" | data.state;
    102102        }
    103103}
     
    124124                        Waiter w[4];
    125125                }
    126                 sout | "All waiter done" | endl;
     126                sout | "All waiter done";
    127127                all_done = true;
    128128        }
  • tests/concurrent/signal/wait.cfa

    rff5caaf r95b8aa7  
    1313
    1414#define __kick_rate 12000ul
    15 #include "long_tests.h"
     15#include "long_tests.hfa"
    1616
    1717#ifndef PREEMPTION_RATE
     
    8383                                break;
    8484                        default:
    85                                 sout | "Something went wrong" | endl;
     85                                sout | "Something went wrong";
    8686                                abort();
    8787                }
     
    140140        waiter_left = 4;
    141141        processor p[2];
    142         sout | "Starting" | endl;
     142        sout | "Starting";
    143143        {
    144144                Signaler  e;
     
    150150                }
    151151        }
    152         sout | "Done" | endl;
     152        sout | "Done";
    153153}
  • tests/concurrent/thread.cfa

    rff5caaf r95b8aa7  
    1212void main(First& this) {
    1313        for(int i = 0; i < 10; i++) {
    14                 sout | "First : Suspend No." | i + 1 | endl;
     14                sout | "First : Suspend No." | i + 1;
    1515                yield();
    1616        }
     
    2121        P(*this.lock);
    2222        for(int i = 0; i < 10; i++) {
    23                 sout | "Second : Suspend No." | i + 1 | endl;
     23                sout | "Second : Suspend No." | i + 1;
    2424                yield();
    2525        }
     
    2929int main(int argc, char* argv[]) {
    3030        semaphore lock = { 0 };
    31         sout | "User main begin" | endl;
     31        sout | "User main begin";
    3232        {
    3333                processor p;
     
    3737                }
    3838        }
    39         sout | "User main end" | endl;
     39        sout | "User main end";
    4040}
  • tests/concurrent/waitfor/barge.cfa

    rff5caaf r95b8aa7  
    4848        yield(random( 10 ));
    4949        if( this.state != WAITFOR && !this.done && this.started ) {
    50                 serr | "Barging before caller detected" | endl;
     50                serr | "Barging before caller detected";
    5151        }
    5252
     
    6666                this.state = WAITFOR;
    6767                waitfor(do_call, this) {
    68                         sout | i | endl;
     68                        sout | i;
    6969                }
    7070
    7171                if( this.state != CALL ) {
    72                         serr | "Barging after caller detected" | endl;
     72                        serr | "Barging after caller detected";
    7373                }
    7474        }
     
    8383
    8484int main() {
    85         sout | "Starting" | endl;
     85        sout | "Starting";
    8686        {
    8787                barger_t bargers[17];
     
    8989                waiter_t waiters;
    9090        }
    91         sout | "Stopping" | endl;
     91        sout | "Stopping";
    9292}
  • tests/concurrent/waitfor/dtor.cfa

    rff5caaf r95b8aa7  
    2929        switch(state) {
    3030                case CTOR  : break;
    31                 case MAIN  : if( this.state != CTOR  ) { serr | "ERROR Expected state to be CTOR"  | endl; abort(); } this.state = state; break;
    32                 case AFTER : if( this.state != MAIN  ) { serr | "ERROR Expected state to be MAIN"  | endl; abort(); } this.state = state; break;
    33                 case END   : if( this.state != AFTER ) { serr | "ERROR Expected state to be AFTER" | endl; abort(); } this.state = state; break;
    34                 case DTOR  : if( this.state != END   ) { serr | "ERROR Expected state to be END"   | endl; abort(); } this.state = state; break;
     31                case MAIN  : if( this.state != CTOR  ) { serr | "ERROR Expected state to be CTOR" ; abort(); } this.state = state; break;
     32                case AFTER : if( this.state != MAIN  ) { serr | "ERROR Expected state to be MAIN" ; abort(); } this.state = state; break;
     33                case END   : if( this.state != AFTER ) { serr | "ERROR Expected state to be AFTER"; abort(); } this.state = state; break;
     34                case DTOR  : if( this.state != END   ) { serr | "ERROR Expected state to be END"  ; abort(); } this.state = state; break;
    3535        }
    3636}
     
    5454
    5555int main() {
    56         sout | "Starting" | endl;
     56        sout | "Starting";
    5757        processor p;
    5858        for( int i = 0; i < N; i++ ){
     
    6060                yield( random( 100 ) );
    6161        }
    62         sout | "Stopping" | endl;
     62        sout | "Stopping";
    6363}
  • tests/concurrent/waitfor/else.cfa

    rff5caaf r95b8aa7  
    1212void test( M & mutex m ) {
    1313        int i = 0;
    14         sout | "Starting" | endl;
     14        sout | "Starting";
    1515
    1616        when( false ) waitfor( notcalled, m );
    1717
    18         sout | "Step" | i++ | endl;
     18        sout | "Step" | i++;
    1919
    2020        waitfor( notcalled, m ); or else {
    21                 sout | "else called" | endl;
     21                sout | "else called";
    2222        }
    2323
    24         sout | "Step" | i++ | endl;
     24        sout | "Step" | i++;
    2525
    2626        when( true ) waitfor( notcalled, m ); or when( true ) else {
    27                 sout | "else called" | endl;
     27                sout | "else called";
    2828        }
    2929
    30         sout | "Step" | i++ | endl;
     30        sout | "Step" | i++;
    3131
    3232        when( false ) waitfor( notcalled, m ); or when( true ) else {
    33                 sout | "else called" | endl;
     33                sout | "else called";
    3434        }
    3535
    36         sout | "Step" | i++ | endl;
     36        sout | "Step" | i++;
    3737
    3838        when( false ) waitfor( notcalled, m ); or when( false ) else {
    39                 sout | "else called" | endl;
     39                sout | "else called";
    4040        }
    4141
    42         sout | "Done" | endl;
     42        sout | "Done";
    4343}
    4444
  • tests/concurrent/waitfor/recurse.cfa

    rff5caaf r95b8aa7  
    9595        rand_yield();
    9696
    97         sout | "1st" | endl;
     97        sout | "1st" | nl;
    9898
    9999        return this.counter < N ? (state_t)this.actions[idx] : (state_t)STOP;
     
    123123                        case THIRD  : while( !global.ready ) { yield(); } this.state = call3( global, this.idx ); break;
    124124                        case LAST   : while( !global.ready ) { yield(); } this.state = call4( global, this.idx ); break;
    125                         case STOP   : serr | "This should not happen" | endl;
     125                        case STOP   : serr | "This should not happen" | nl;
    126126                }
    127127        }
     
    132132int main() {
    133133        srandom( time(NULL) );
    134         sout | "Starting" | endl;
     134        sout | nlOff;                                   // turn off auto newline
     135        sout | "Starting" | nl;
    135136        {
    136137                waiter_t waiters[4] = {
     
    142143                the_threads = waiters;
    143144        }
    144         sout | "Stopping" | endl;
     145        sout | "Stopping" | nl;
    145146}
  • tests/concurrent/waitfor/simple.cfa

    rff5caaf r95b8aa7  
    3131
    3232void do_wait( global_t * mutex a ) {
    33         sout | "Waiting to accept" | endl;
     33        sout | "Waiting to accept";
    3434        yield( random( 10 ) );
    3535
    36         sout | "Accepting" | endl;
     36        sout | "Accepting";
    3737
    3838        __acceptable_t acceptable;
     
    4343        __waitfor_internal( 1, &acceptable );
    4444
    45         sout | "Accepted" | endl;
     45        sout | "Accepted";
    4646        yield( random( 10 ) );
    4747}
     
    5050        for( int i = 0; i < N; i++ ) {
    5151                do_wait( &globalA );
    52                 sout | i | endl;
     52                sout | i;
    5353        }
    5454
     
    7676        srandom( time( NULL ) );
    7777        printf("%p\n", &globalA);
    78         sout | "Starting" | endl;
     78        sout | "Starting";
    7979        {
    8080                Acceptor r;
     
    8282
    8383        }
    84         sout | "Done" | endl;
     84        sout | "Done";
    8585}
  • tests/concurrent/waitfor/statment.cfa

    rff5caaf r95b8aa7  
    8484                case 7: return call7( m );
    8585                default :
    86                         serr | "Incorrect index" | index | endl;
     86                        serr | "Incorrect index" | index;
    8787                        abort();
    8888        }
     
    102102        while( !done ) {
    103103                   waitfor( get_index, this );
    104                 or waitfor( call1, this ) { sout | "Statement" | endl; if( this.last_val != 1 ) { serr | "Incorrect index: expected" | 1 | "got" | this.last_val | endl; } }
    105                 or waitfor( call2, this ) { sout | "Statement" | endl; if( this.last_val != 2 ) { serr | "Incorrect index: expected" | 2 | "got" | this.last_val | endl; } }
    106                 or waitfor( call3, this ) { sout | "Statement" | endl; if( this.last_val != 3 ) { serr | "Incorrect index: expected" | 3 | "got" | this.last_val | endl; } }
    107                 or waitfor( call4, this ) { sout | "Statement" | endl; if( this.last_val != 4 ) { serr | "Incorrect index: expected" | 4 | "got" | this.last_val | endl; } }
    108                 or waitfor( call5, this ) { sout | "Statement" | endl; if( this.last_val != 5 ) { serr | "Incorrect index: expected" | 5 | "got" | this.last_val | endl; } }
    109                 or waitfor( call6, this ) { sout | "Statement" | endl; if( this.last_val != 6 ) { serr | "Incorrect index: expected" | 6 | "got" | this.last_val | endl; } }
    110                 or waitfor( call7, this ) { sout | "Statement" | endl; if( this.last_val != 7 ) { serr | "Incorrect index: expected" | 7 | "got" | this.last_val | endl; } }
     104                or waitfor( call1, this ) { sout | "Statement"; if( this.last_val != 1 ) { serr | "Incorrect index: expected" | 1 | "got" | this.last_val; } }
     105                or waitfor( call2, this ) { sout | "Statement"; if( this.last_val != 2 ) { serr | "Incorrect index: expected" | 2 | "got" | this.last_val; } }
     106                or waitfor( call3, this ) { sout | "Statement"; if( this.last_val != 3 ) { serr | "Incorrect index: expected" | 3 | "got" | this.last_val; } }
     107                or waitfor( call4, this ) { sout | "Statement"; if( this.last_val != 4 ) { serr | "Incorrect index: expected" | 4 | "got" | this.last_val; } }
     108                or waitfor( call5, this ) { sout | "Statement"; if( this.last_val != 5 ) { serr | "Incorrect index: expected" | 5 | "got" | this.last_val; } }
     109                or waitfor( call6, this ) { sout | "Statement"; if( this.last_val != 6 ) { serr | "Incorrect index: expected" | 6 | "got" | this.last_val; } }
     110                or waitfor( call7, this ) { sout | "Statement"; if( this.last_val != 7 ) { serr | "Incorrect index: expected" | 7 | "got" | this.last_val; } }
    111111
    112112                done = true;
     
    128128int main() {
    129129        processor p[2];
    130         sout | "Starting" | endl;
     130        sout | "Starting";
    131131        {
    132132                caller c[7];
    133133                waiter w;
    134134        }
    135         sout | "Stopping" | endl;
     135        sout | "Stopping";
    136136}
  • tests/concurrent/waitfor/when.cfa

    rff5caaf r95b8aa7  
    5858void arbiter( global_t & mutex this ) {
    5959        for( int i = 0; i < N; i++ ) {
    60                    when( this.last_call == 6 ) waitfor( call1, this ) { if( this.last_call != 1) { serr | "Expected last_call to be 1 got" | this.last_call | endl; } }
    61                 or when( this.last_call == 1 ) waitfor( call2, this ) { if( this.last_call != 2) { serr | "Expected last_call to be 2 got" | this.last_call | endl; } }
    62                 or when( this.last_call == 2 ) waitfor( call3, this ) { if( this.last_call != 3) { serr | "Expected last_call to be 3 got" | this.last_call | endl; } }
    63                 or when( this.last_call == 3 ) waitfor( call4, this ) { if( this.last_call != 4) { serr | "Expected last_call to be 4 got" | this.last_call | endl; } }
    64                 or when( this.last_call == 4 ) waitfor( call5, this ) { if( this.last_call != 5) { serr | "Expected last_call to be 5 got" | this.last_call | endl; } }
    65                 or when( this.last_call == 5 ) waitfor( call6, this ) { if( this.last_call != 6) { serr | "Expected last_call to be 6 got" | this.last_call | endl; } }
     60                   when( this.last_call == 6 ) waitfor( call1, this ) { if( this.last_call != 1) { serr | "Expected last_call to be 1 got" | this.last_call; } }
     61                or when( this.last_call == 1 ) waitfor( call2, this ) { if( this.last_call != 2) { serr | "Expected last_call to be 2 got" | this.last_call; } }
     62                or when( this.last_call == 2 ) waitfor( call3, this ) { if( this.last_call != 3) { serr | "Expected last_call to be 3 got" | this.last_call; } }
     63                or when( this.last_call == 3 ) waitfor( call4, this ) { if( this.last_call != 4) { serr | "Expected last_call to be 4 got" | this.last_call; } }
     64                or when( this.last_call == 4 ) waitfor( call5, this ) { if( this.last_call != 5) { serr | "Expected last_call to be 5 got" | this.last_call; } }
     65                or when( this.last_call == 5 ) waitfor( call6, this ) { if( this.last_call != 6) { serr | "Expected last_call to be 6 got" | this.last_call; } }
    6666
    67                 sout | this.last_call | endl;
     67                sout | this.last_call;
    6868        }
    6969
     
    7878int main() {
    7979        srandom( time(NULL) );
    80         sout | "Starting" | endl;
     80        sout | "Starting";
    8181        {
    8282                arbiter_t arbiter;
     
    8484
    8585        }
    86         sout | "Stopping" | endl;
     86        sout | "Stopping";
    8787}
  • tests/coroutine/.expect/fmtLines.txt

    rff5caaf r95b8aa7  
    1616difi  ed B  y :   Pete  r A. 
    1717 Buh  r//   Last   Mod  ifie 
    18 d On   : M  on S  ep 1  8 11 
    19 :35:  57 2  017/  / Up  date 
    20  Cou  nt       :   31/  /#in 
     18d On   : T  ue D  ec 1  1 23 
     19:31:  12 2  018/  / Up  date 
     20 Cou  nt       :   32/  /#in 
    2121clud  e <f  stre  am.h  fa># 
    2222incl  ude   <cor  outi  ne.h 
     
    3434t )   {      if   ( fm  t.g   
    3535!= 0   ||   fmt.  b !=   0 ) 
    36  sou  t |   endl  ;}vo  id m 
    37 ain(   For  mat   & fm  t )   
    38 {       fo  r (   ;; )   {                                               
    39                                   // f  or a  s ma  ny c 
    40 hara  cter  s           f  or (   fmt 
    41 .g =   0;   fmt.  g <   5; f 
    42 mt.g   +=   1 )   {             /  / gr 
    43 oups   of   5 bl  ocks                          f 
    44 or (   fmt  .b =   0;   fmt. 
    45 b <   4; f  mt.b   +=   1 )   
    46 {       //   blo  cks   of 4   cha 
    47 ract  ers                               f  or (   ;;   
    48 ) {                                                     //   for   new 
    49 line   cha  ract  ers                                     
    50 susp  end(  );                                  i  f (   
    51 fmt.  ch !  = '\  n' )   bre 
    52 ak;             //   igno  re n  ewli 
    53 ne                              }   // f  or                            so 
    54 ut |   fmt  .ch;                                                        / 
    55 / pr  int   char  acte  r                         
    56 } //   for                      s  out   | "   
    57  ";                                                             /  / pr  int   
    58 bloc  k se  para  tor           } / 
    59 / fo  r         s  out   | en  dl;       
    60                                                                   // p  rint   gro 
    61 up s  epar  ator        } /  / fo 
    62 r} /  / ma  invo  id p  rt(   
    63 Form  at &   fmt  , ch  ar c 
    64 h )   {      fmt  .ch   = ch 
    65 ;      res  ume(   fmt   );} 
    66  //   prti  nt m  ain(  ) {       
    67 Form  at f  mt;   char   ch; 
    68         for   ( ;  ; )   {              s  in | 
    69  ch;                                                                            //   rea 
    70 d on  e ch  arac  ter       if 
    71  ( e  of(   sin   ) )   brea 
    72 k;                                                      //   eof   ?            p 
    73 rt(   fmt,   ch   );    }   //   
    74 for}   //   main  // L  ocal 
    75  Var  iabl  es:   ////   tab 
    76 -wid  th:   4 //  // c  ompi 
    77 le-c  omma  nd:   "cfa   fmt 
    78 Line  s.c"   ///  / En  d: / 
    79 /
     36 sou  t |   nl;}  void   mai 
     37n( F  orma  t &   fmt   ) {       
     38for   ( ;;   ) {                                                                 
     39                //   for   as   many   cha 
     40ract  ers               for   ( f  mt.g 
     41 = 0  ; fm  t.g   < 5;   fmt 
     42.g +  = 1   ) {         //   grou 
     43ps o  f 5   bloc  ks                    for 
     44 ( f  mt.b   = 0  ; fm  t.b   
     45< 4;   fmt  .b +  = 1   ) {       
     46// b  lock  s of   4 c  hara 
     47cter  s                         for   ( ;  ; )   
     48{                                                         // f  or n  ewli 
     49ne c  hara  cter  s                                     su 
     50spen  d();                                      if   ( fm 
     51t.ch   !=   '\n'   ) b  reak 
     52;               /  / ig  nore   new  line 
     53                                  } //   for                              sout 
     54 | f  mt.c  h;                                                  //   
     55prin  t ch  arac  ter                   }   
     56// f  or                        sou  t |   "  " 
     57;                                                               //   prin  t bl 
     58ock   sepa  rato  r             }   //   
     59for             sou  t |   nl;                                   
     60                                  // p  rint   gro  up s 
     61epar  ator      } /  / fo  r} / 
     62/ ma  invo  id p  rt(   Form 
     63at &   fmt  , ch  ar c  h )   
     64{      fmt  .ch   = ch  ;     
     65 res  ume(   fmt   );}   //   
     66prti  nt m  ain(  ) {     Form 
     67at f  mt;         char   ch;    for 
     68 ( ;  ; )   {           s  in |   ch; 
     69                                                                                //   rea  d on 
     70e ch  arac  ter     if   ( e 
     71of(   sin   ) )   brea  k;               
     72                                        //   eof   ?            p  rt(   
     73fmt,   ch   );  }   //   for} 
     74 //   main  // L  ocal   Var 
     75iabl  es:   ////   tab  -wid 
     76th:   4 //  // c  ompi  le-c 
     77omma  nd:   "cfa   fmt  Line 
     78s.c"   ///  / En  d: /  /
  • tests/coroutine/.in/fmtLines.txt

    rff5caaf r95b8aa7  
    1010// Created On       : Sun Sep 17 21:56:15 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Sep 18 11:35:57 2017
    13 // Update Count     : 31
     12// Last Modified On : Tue Dec 11 23:31:12 2018
     13// Update Count     : 32
    1414//
    1515
     
    2727
    2828void ^?{}( Format & fmt ) {
    29     if ( fmt.g != 0 || fmt.b != 0 ) sout | endl;
     29    if ( fmt.g != 0 || fmt.b != 0 ) sout | nl;
    3030}
    3131
     
    4242                        sout | "  ";                                                            // print block separator
    4343                } // for
    44                 sout | endl;                                                                    // print group separator
     44                sout | nl;                                                                      // print group separator
    4545        } // for
    4646} // main
  • tests/coroutine/fibonacci.cfa

    rff5caaf r95b8aa7  
    1010// Created On       : Thu Jun  8 07:29:37 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Aug 18 11:21:58 2018
    13 // Update Count     : 24
     12// Last Modified On : Tue Dec 11 21:57:33 2018
     13// Update Count     : 25
    1414//
    1515
     
    3939        Fibonacci f1, f2;
    4040        for ( 10 ) {                                                                            // print N Fibonacci values
    41                 sout | next( f1 ) | next( f2 ) | endl;
     41                sout | next( f1 ) | next( f2 );
    4242        } // for
    4343}
  • tests/coroutine/fibonacci_1.cfa

    rff5caaf r95b8aa7  
    1010// Created On       : Thu Apr 26 23:20:08 2018
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Aug 18 11:21:02 2018
    13 // Update Count     : 13
     12// Last Modified On : Tue Dec 11 21:57:54 2018
     13// Update Count     : 14
    1414//
    1515
     
    3636        Fibonacci f1, f2;
    3737        for ( 10 ) {                                                                            // print N Fibonacci values
    38                 sout | next( f1 ) | next( f2 ) | endl;
     38                sout | next( f1 ) | next( f2 );
    3939        } // for
    4040}
  • tests/coroutine/fmtLines.cfa

    rff5caaf r95b8aa7  
    1010// Created On       : Sun Sep 17 21:56:15 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Aug 16 08:20:54 2018
    13 // Update Count     : 45
     12// Last Modified On : Sat Dec 22 18:27:00 2018
     13// Update Count     : 57
    1414//
    1515
     
    2424void main( Format & fmt ) with( fmt ) {
    2525        for () {                                                                                        // for as many characters
    26                 for ( g; 5 ) {                                                                  // groups of 5 blocks
    27                         for ( b; 4 ) {                                                          // blocks of 4 characters
     26                for ( g = 0; g < 5; g += 1 ) {                                  // groups of 5 blocks
     27                        for ( b = 0; b < 4; b += 1 ) {                          // blocks of 4 characters
    2828                                for () {                                                                // for newline characters
    2929                                        suspend();
    30                                         if ( ch != '\n' ) break;                        // ignore newline
     30                                  if ( ch != '\n' ) break;                              // ignore newline
    3131                                } // for
    3232                                sout | ch;                                                              // print character
     
    3434                        sout | "  ";                                                            // print block separator
    3535                } // for
    36                 sout | endl;                                                                    // print group separator
     36                sout | nl;                                                                              // print group separator
    3737        } // for
    3838} // main
     
    4343
    4444void ^?{}( Format & fmt ) with( fmt ) {
    45         if ( g != 0 || b != 0 ) sout | endl;
     45        if ( g != 0 || b != 0 ) sout | nl;
    4646}
    4747
    4848void format( Format & fmt ) {
    4949        resume( fmt );
    50 } // prt
     50} // format
    5151
    5252int main() {
    5353        Format fmt;
     54        sout | nlOff;                                                                           // turn off auto newline
    5455
    5556  eof: for () {                                                                                 // read until end of file
  • tests/coroutine/pingpong.cfa

    rff5caaf r95b8aa7  
    1010// Created On       : Wed Sep 20 11:55:23 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Aug 18 11:31:11 2018
    13 // Update Count     : 28
     12// Last Modified On : Tue Dec 11 21:58:06 2018
     13// Update Count     : 29
    1414//
    1515
     
    2424
    2525void ?{}( PingPong & this, const char * name, unsigned int N, PingPong & part ) {
     26        (this.__cor){name};
    2627        this.name = name;
    2728        this.N = N;
     
    4041void main( PingPong & pingpong ) {                                              // ping's starter ::main, pong's starter ping
    4142        for ( pingpong.N ) {                                                            // N ping-pongs
    42                 sout | pingpong.name | endl;
     43                sout | pingpong.name;
    4344                cycle( *pingpong.part );
    4445        } // for
  • tests/coroutine/prodcons.cfa

    rff5caaf r95b8aa7  
    1010// Created On       : Mon Sep 18 12:23:39 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Aug 18 12:55:10 2018
    13 // Update Count     : 51
     12// Last Modified On : Wed Dec 12 23:04:49 2018
     13// Update Count     : 53
    1414//
    1515
     
    2424
    2525coroutine Prod {
    26         Cons * c;
     26        Cons & c;
    2727        int N, money, receipt;
    2828};
     
    3030        // 1st resume starts here
    3131        for ( i; N ) {                                                                          // N pairs of values
    32                 int p1 = random( 100 );
    33                 int p2 = random( 100 );
    34                 sout | p1 | " " | p2 | endl;
    35                 int status = delivery( *c, p1, p2 );
    36                 sout | " $" | money | endl;
    37                 sout | status | endl;
     32                int p1 = random( 100 ), p2 = random( 100 );
     33                sout | p1 | " " | p2;
     34                int status = delivery( c, p1, p2 );
     35                sout | " $" | money | nl | status;
    3836                receipt += 1;
    3937        }
    40         stop( *c );
    41         sout | "prod stops" | endl;
     38        stop( c );
     39        sout | "prod stops";
    4240}
    4341int payment( Prod & prod, int money ) {
     
    4745}
    4846void start( Prod & prod, int N, Cons &c ) {
    49         prod.N = N;
    50         prod.c = &c;
    51         prod.receipt = 0;
     47        &prod.c = &c;
     48        prod.[N, receipt] = [N, 0];
    5249        resume( prod );                                                                         // activate main
    5350}
    5451
    5552coroutine Cons {
    56         Prod * p;
     53        Prod & p;
    5754        int p1, p2, status;
    5855        bool done;
    5956};
    6057void ?{}( Cons & cons, Prod & p ) {
    61         cons.p = &p;
    62         cons.status = 0;
    63         cons.done = false;
     58        &cons.p = &p;
     59        cons.[status, done ] = [0, false];
    6460}
    6561void ^?{}( Cons & cons ) {}
     
    6864        int money = 1, receipt;
    6965        for ( ; ! done; ) {
    70                 sout | p1 | " " | p2 | endl;
    71                 sout | " $" | money | endl;
     66                sout | p1 | " " | p2 | nl | " $" | money;
    7267                status += 1;
    73                 receipt = payment( *p, money );
    74                 sout | " #" | receipt | endl;
     68                receipt = payment( p, money );
     69                sout | " #" | receipt;
    7570                money += 1;
    7671        }
    77         sout | "cons stops" | endl;
     72        sout | "cons stops";
    7873}
    7974int delivery( Cons & cons, int p1, int p2 ) {
    80         cons.p1 = p1;
    81         cons.p2 = p2;
     75        cons.[p1, p2] = [p1, p2];
    8276        resume( cons );                                                                         // main 1st time, then
    8377        return cons.status;                                                                     // cons in payment
     
    9286        srandom( /* getpid() */ 103 );                                          // fixed seed for testing
    9387        start( prod, 5, cons );
    94         sout | "main stops" | endl;
     88        sout | "main stops";
    9589}
    9690
  • tests/coroutine/runningTotal.cfa

    rff5caaf r95b8aa7  
    1010// Created On       : Wed Dec  6 08:05:27 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Aug 16 08:22:29 2018
    13 // Update Count     : 3
     12// Last Modified On : Tue Dec 11 21:59:00 2018
     13// Update Count     : 4
    1414//
    1515
     
    4242        RunTotal rntl;
    4343        for ( i; 10 ) {
    44                 sout | i | add( rntl, i ) | endl;
     44                sout | i | add( rntl, i );
    4545        } // for
    4646}
  • tests/counter.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // counter.c --
     7// counter.cfa --
    88//
    99// Author           : Aaron B. Moss
    1010// Created On       : Thu Feb 22 15:27:00 2018
    11 // Last Modified By : Aaron B. Moss
    12 // Last Modified On : Thu Feb 22 15:27:00 2018
    13 // Update Count     : 1
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Tue Nov  6 17:50:23 2018
     13// Update Count     : 2
    1414//
    1515
     
    3737// Local Variables: //
    3838// tab-width: 4 //
    39 // compile-command: "cfa counter.c" //
     39// compile-command: "cfa counter.cfa" //
    4040// End: //
  • tests/declarationErrors.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // declarationErrors.c --
     7// declarationErrors.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Wed Aug 17 08:23:43 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Sep  9 22:57:52 2016
    13 // Update Count     : 31
     12// Last Modified On : Tue Nov  6 17:52:47 2018
     13// Update Count     : 32
    1414//
    1515
     
    4242// Local Variables: //
    4343// tab-width: 4 //
    44 // compile-command: "cfa declarationErrors.c" //
     44// compile-command: "cfa declarationErrors.cfa" //
    4545// End: //
  • tests/declarationSpecifier.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // declarationSpecifier.c --
     7// declarationSpecifier.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Wed Aug 17 08:21:04 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Aug 17 08:24:33 2016
    13 // Update Count     : 2
     12// Last Modified On : Tue Nov  6 17:52:59 2018
     13// Update Count     : 3
    1414//
    1515
     
    9696// Local Variables: //
    9797// tab-width: 4 //
    98 // compile-command: "cfa declarationSpecifier.c" //
     98// compile-command: "cfa declarationSpecifier.cfa" //
    9999// End: //
  • tests/div.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // div.c --
     7// div.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Tue Aug  8 16:28:43 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Dec  7 09:06:52 2017
    13 // Update Count     : 18
     12// Last Modified On : Tue Dec  4 21:35:01 2018
     13// Update Count     : 20
    1414//
    1515
    1616#include <fstream.hfa>
    17 #include <stdlib.hfa>                                                                           // div
     17#include <stdlib.hfa>                                                                   // div
    1818
    1919struct T { int i; };
     
    2323
    2424int main( void ) {
    25         sout | "div" | div( 13, 5 ) | div( 13L, 5L ) | div( 13LL, 5LL ) | endl;
     25        sout | "div" | div( 13, 5 ) | div( 13L, 5L ) | div( 13LL, 5LL );
    2626        short s1 = 13, s2 = 5;
    27         sout | "div" | div( s1, s2 ) | endl;
     27        sout | "div" | div( s1, s2 );
    2828        T t1 = { 13 }, t2 = { 5 };
    29         sout | "div" | div( t1, t2 ) | endl;                            // polymorphic div
     29        sout | "div" | div( t1, t2 );                                           // polymorphic div
    3030} // main
    3131
    3232// Local Variables: //
    3333// tab-width: 4 //
    34 // compile-command: "cfa div.c" //
     34// compile-command: "cfa div.cfa" //
    3535// End: //
  • tests/except-0.cfa

    rff5caaf r95b8aa7  
    88#include <stdbool.h>
    99
    10 #include "except-mac.h"
     10#include "except-mac.hfa"
    1111TRIVIAL_EXCEPTION(yin)
    1212TRIVIAL_EXCEPTION(yang)
     
    2525void ^?{}(signal_exit * this) {
    2626        printf("Exiting: %s\n", this->area);
    27 //      sout | "Exiting:" | this->area | endl;
     27//      sout | "Exiting:" | this->area;
    2828}
    2929
  • tests/except-1.cfa

    rff5caaf r95b8aa7  
    55#include <stdio.h>
    66
    7 #include "except-mac.h"
     7#include "except-mac.hfa"
    88TRIVIAL_EXCEPTION(yin)
    99TRIVIAL_EXCEPTION(yang)
  • tests/except-2.cfa

    rff5caaf r95b8aa7  
    33
    44#include <stdlib.hfa>
    5 #include "except-mac.h"
     5#include "except-mac.hfa"
    66
    77TRIVIAL_EXCEPTION(yin)
  • tests/except-3.cfa

    rff5caaf r95b8aa7  
    22
    33#include <stdio.h>
    4 #include "except-mac.h"
     4#include "except-mac.hfa"
    55TRIVIAL_EXCEPTION(myth)
    66
  • tests/extension.cfa

    rff5caaf r95b8aa7  
    22// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
    33//
    4 // extension.c --
     4// extension.cfa --
    55//
    66// Author           : Peter A. Buhr
    77// Created On       : Mon Jul  4 20:42:43 2016
    88// Last Modified By : Peter A. Buhr
    9 // Last Modified On : Mon Feb  6 15:44:39 2017
    10 // Update Count     : 46
     9// Last Modified On : Tue Nov  6 17:53:21 2018
     10// Update Count     : 47
    1111//
    1212
     
    5656// Local Variables: //
    5757// tab-width: 4 //
    58 // compile-command: "cfa extension.c" //
     58// compile-command: "cfa extension.cfa" //
    5959// End: //
  • tests/forall.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // forall.c --
     7// forall.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Wed May  9 08:48:15 2018
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jul 12 16:19:08 2018
    13 // Update Count     : 30
     12// Last Modified On : Tue Nov  6 17:53:43 2018
     13// Update Count     : 31
    1414//
    1515
     
    219219// Local Variables: //
    220220// tab-width: 4 //
    221 // compile-command: "cfa forall.c" //
     221// compile-command: "cfa forall.cfa" //
    222222// End: //
  • tests/fstream_test.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // fstream_test.c --
     7// fstream_test.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Aug 24 11:30:26 2017
    13 // Update Count     : 65
     12// Last Modified On : Sat Dec 22 09:47:44 2018
     13// Update Count     : 68
    1414//
    1515
     
    1818int main( void ) {
    1919        int nombre;
    20         sout | "Entrez un nombre, s'il vous plaît:" | endl;
     20        sout | "Entrez un nombre, s'il vous plaît:";
    2121        sin  | nombre;
    22         sout | "Vous avez entré" | nombre | endl;
     22        sout | "Vous avez entré" | nombre;
    2323        sout | "le nombre" | nombre | "est"
    24                  | (nombre > 0 ? "positif" : nombre == 0 ? "zéro" : "négatif") | endl;
     24                 | (nombre > 0 ? "positif" : nombre == 0 ? "zéro" : "négatif");
    2525
    26         sout | "Entrez trois nombres, s'il vous plaît: " | endl;
     26        sout | "Entrez trois nombres, s'il vous plaît:";
    2727        int i, j, k;
    2828        sin  | i | j | k;
    29         sout | "Vous avez entré" | "i:" | "" | i | "j:" | "" | j | "k:" | "" | k | endl;
     29        sout | "Vous avez entré" | "i:" | "" | i | "j:" | "" | j | "k:" | "" | k;
    3030}
    3131
    3232// Local Variables: //
    3333// tab-width: 4 //
    34 // compile-command: "cfa fstream_test.c" //
     34// compile-command: "cfa fstream_test.cfa" //
    3535// End: //
  • tests/function-operator.cfa

    rff5caaf r95b8aa7  
    1010// Created On       : Fri Aug 25 15:21:11 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Aug  2 09:27:53 2018
    13 // Update Count     : 8
     12// Last Modified On : Tue Dec  4 21:37:09 2018
     13// Update Count     : 9
    1414//
    1515
     
    8383// TODO: abstract over (os, T)
    8484os_wrapper ?=?(os_wrapper & wrapper, int x) {
    85         *wrapper.out | x | endl;
     85        *wrapper.out | x;
    8686        return wrapper;
    8787}
  • tests/functions.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // functions.c --
     7// functions.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Wed Aug 17 08:39:58 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Jan 17 22:44:12 2018
    13 // Update Count     : 12
     12// Last Modified On : Tue Nov  6 17:54:09 2018
     13// Update Count     : 13
    1414//
    1515
     
    188188// Local Variables: //
    189189// tab-width: 4 //
    190 // compile-command: "cfa functions.c" //
     190// compile-command: "cfa functions.cfa" //
    191191// End: //
  • tests/gccExtensions.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // gccExtensions.c --
     7// gccExtensions.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Sun Aug 14 17:28:17 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Aug 17 09:26:50 2016
    13 // Update Count     : 10
     12// Last Modified On : Tue Nov  6 17:54:20 2018
     13// Update Count     : 11
    1414//
    1515
     
    120120// Local Variables: //
    121121// tab-width: 4 //
    122 // compile-command: "cfa gccExtensions.c" //
     122// compile-command: "cfa gccExtensions.cfa" //
    123123// End: //
  • tests/gmp.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // gmp.c --
     7// gmp.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Tue Apr 19 08:55:51 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Aug 18 12:43:13 2018
    13 // Update Count     : 556
     12// Last Modified On : Thu Dec 20 22:41:47 2018
     13// Update Count     : 559
    1414//
    1515
     
    1919
    2020int main( void ) {
    21         sout | "constructors" | endl;
     21        sout | "constructors";
    2222        short int si = 3;
    2323        Int x = { "50000000000000000000" }, y = { si }, z = x + y;
    24         sout | x | y | z | endl;
    25         sout | "x:" | x | "y:" | y | "z:" | z | endl;
     24        sout | x | y | z;
     25        sout | "x:" | x | "y:" | y | "z:" | z;
    2626
    27         sout | "conversions" | endl;
     27        sout | "conversions";
    2828        y = 'a';
    29         sout | "y:" | y | endl;
     29        sout | "y:" | y;
    3030        y = "12345678901234567890123456789";
    31         sout | "y:" | y | endl;
     31        sout | "y:" | y;
    3232        y = 100`mp + 100`mp;
    33         sout | "y:" | y | endl;
     33        sout | "y:" | y;
    3434        y = -200u`mp + -200u`mp;
    35         sout | "y:" | y | endl;
     35        sout | "y:" | y;
    3636        y = "12345678901234567890123456789"`mp + "12345678901234567890123456789"`mp;
    37         sout | "y:" | y | endl;
     37        sout | "y:" | y;
    3838        y = si;
    39         sout | "y:" | y | endl;
     39        sout | "y:" | y;
    4040        y = -3;
    41         sout | "y:" | y | endl;
     41        sout | "y:" | y;
    4242        y += 7;
    43         sout | "y:" | y | endl;
     43        sout | "y:" | y;
    4444        y -= 1;
    45         sout | "y:" | y | endl;
     45        sout | "y:" | y;
    4646        int b;
    4747        b = y;
    4848        si = y;
    49         sout | "y:" | y | "b:" | b | "si:" | si | endl;
     49        sout | "y:" | y | "b:" | b | "si:" | si;
    5050
    51         sout | "comparison" | endl;
    52         sout | x == x | endl;
    53         sout | x != x | endl;
    54         sout | x < x | endl;
    55         sout | x <= x | endl;
    56         sout | x > x | endl;
    57         sout | x >= x | endl;
     51        sout | "comparison";
     52        sout | x == x;
     53        sout | x != x;
     54        sout | x < x;
     55        sout | x <= x;
     56        sout | x > x;
     57        sout | x >= x;
    5858
    59         sout | "arithmetic" | endl;
     59        sout | "arithmetic";
    6060        z = x + y + z;
    61         sout | "z:" | z | endl;
     61        sout | "z:" | z;
    6262        z = z = x;
    63         sout | "z:" | z | endl;
     63        sout | "z:" | z;
    6464        z = x - y - z;
    65         sout | "z:" | z | endl;
     65        sout | "z:" | z;
    6666        z = x * y * z;
    67         sout | "z:" | z | endl;
     67        sout | "z:" | z;
    6868        z = x * 3;
    69         sout | "z:" | z | endl;
     69        sout | "z:" | z;
    7070        z = 3 * x;
    71         sout | "z:" | z | endl;
     71        sout | "z:" | z;
    7272        z = x / 3;
    73         sout | "z:" | z | endl;
    74         sout | div( x, 3 ) | x / 3 | "," | x % 3 | endl;
     73        sout | "z:" | z;
     74        sout | div( x, 3 ) | x / 3 | "," | x % 3;
    7575        [ x, y ] = div( x, 3 );
    76         sout | "x:" | x | "y:" | y | endl;
     76        sout | "x:" | x | "y:" | y;
    7777
    78         sout | endl;
     78        sout | nl;
    7979
    8080        sin | x | y | z;
    81         sout | x | y | z | endl;
     81        sout | x | y | z;
    8282
    83         sout | endl;
     83        sout | nl;
    8484
    85         sout | "Fibonacci Numbers" | endl;
     85        sout | "Fibonacci Numbers";
    8686        Int fn, fn1, fn2;
    8787        fn = (Int){0}; fn1 = fn;                                                        // 1st case
    88         sout | (int)0 | fn | endl;
     88        sout | (int)0 | fn;
    8989        fn = 1; fn2 = fn1; fn1 = fn;                                            // 2nd case
    90         sout | 1 | fn | endl;
     90        sout | 1 | fn;
    9191        for ( i; 2u ~= 200 ) {
    9292                fn = fn1 + fn2; fn2 = fn1; fn1 = fn;                    // general case
    93                 sout | i | fn | endl;
     93                sout | i | fn;
    9494        } // for
    9595
    96         sout | endl;
     96        sout | nl;
    9797
    98         sout | "Factorial Numbers" | endl;
     98        sout | "Factorial Numbers";
    9999        Int fact = 1;                                                                           // 1st case
    100         sout | (int)0 | fact | endl;
     100        sout | (int)0 | fact;
    101101        for ( i; 1u ~= 40u ) {
    102102                fact *= i;                                                                              // general case
    103                 sout | i | fact | endl;
     103                sout | i | fact;
    104104        } // for
    105105} // main
     
    107107// Local Variables: //
    108108// tab-width: 4 //
    109 // compile-command: "cfa gmp.c -lgmp" //
     109// compile-command: "cfa gmp.cfa -lgmp" //
    110110// End: //
  • tests/heap.cfa

    rff5caaf r95b8aa7  
     1//
     2// Cforall Version 1.0.0 Copyright (C) 2017 University of Waterloo
     3//
     4// The contents of this file are covered under the licence agreement in the
     5// file "LICENCE" distributed with Cforall.
     6//
     7// heap.cfa --
     8//
     9// Author           : Peter A. Buhr
     10// Created On       : Tue Nov  6 17:54:56 2018
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Tue Dec 11 21:52:40 2018
     13// Update Count     : 18
     14//
     15
    116#include <thread.hfa>
    2 #include <kernel.hfa>                                                                           // processor
    3 #include <stdlib.hfa>                                                                           // *allocs
     17#include <kernel.hfa>                                                                   // processor
     18#include <stdlib.hfa>                                                                   // *allocs
    419#include <malloc.h>                                                                             // malloc_*
    520
     
    2237void main( Worker & ) {
    2338    enum { NoOfAllocs = 5000, NoOfMmaps = 10 };
    24     char *locns[NoOfAllocs];
     39    char * locns[NoOfAllocs];
    2540    int i;
    2641
    2742    // check alloc/free
    2843
    29     for ( int j = 0; j < 40; j += 1 ) {
    30                 for ( i = 0; i < NoOfAllocs; i += 1 ) {
     44    for ( j; 40 ) {
     45                for ( i; NoOfAllocs ) {
    3146                        locns[i] = alloc( i );
    32                         //sout | (void *)locns[i] | endl;
    33                         for ( int k = 0; k < i; k += 1 ) locns[i][k] = '\345';
    34                 } // for
    35                 //sout | (char *)sbrk(0) - start | " bytes" | endl;
    36 
    37                 for ( i = 0; i < NoOfAllocs; i += 1 ) {
    38                         //sout | (void *)locns[i] | endl;
    39                         for ( int k = 0; k < i; k += 1 ) if ( locns[i][k] != '\345' ) abort( "new/delete corrupt storage1" );
     47                        //sout | (void *)locns[i];
     48                        for ( k; i ) locns[i][k] = '\345';
     49                } // for
     50                //sout | (char *)sbrk(0) - start | " bytes";
     51
     52                for ( i; NoOfAllocs ) {
     53                        //sout | (void *)locns[i];
     54                        for ( k; i ) if ( locns[i][k] != '\345' ) abort( "new/delete corrupt storage1" );
    4055                        free( locns[i] );
    4156                } // for
    42                 //sout | (char *)sbrk(0) - start | " bytes" | endl;
    43 
    44                 for ( i = 0; i < NoOfAllocs; i += 1 ) {
     57                //sout | (char *)sbrk(0) - start | " bytes";
     58
     59                for ( i; NoOfAllocs ) {
    4560                        locns[i] = alloc( i );
    46                         //sout | (void *)locns[i] | endl;
    47                         for ( int k = 0; k < i; k += 1 ) locns[i][k] = '\345';
    48                 } // for
    49                 for ( i = NoOfAllocs - 1; i >=0 ; i -= 1 ) {
    50                         //sout | (void *)locns[i] | endl;
    51                         for ( int k = 0; k < i; k += 1 ) if ( locns[i][k] != '\345' ) abort( "new/delete corrupt storage2" );
     61                        //sout | (void *)locns[i];
     62                        for ( k; i ) locns[i][k] = '\345';
     63                } // for
     64                for ( i; NoOfAllocs - 1 -~= 0 ) {
     65                        //sout | (void *)locns[i];
     66                        for ( k; i ) if ( locns[i][k] != '\345' ) abort( "new/delete corrupt storage2" );
    5267                        free( locns[i] );
    5368                } // for
     
    5671    // check malloc/free (sbrk)
    5772
    58     for ( i = 0; i < NoOfAllocs; i += 1 ) {
     73    for ( i; NoOfAllocs ) {
    5974                size_t s = (i + 1) * 20;
    60                 char *area = (char *)malloc( s );
     75                char * area = (char *)malloc( s );
    6176                if ( area == 0 ) abort( "malloc/free out of memory" );
    6277                area[0] = '\345'; area[s - 1] = '\345';                 // fill first/last
     
    6580    } // for
    6681
    67     for ( i = 0; i < NoOfAllocs; i += 1 ) {
    68                 size_t s = i + 1;                               // +1 to make initialization simpler
     82    for ( i; NoOfAllocs ) {
     83                size_t s = i + 1;                                                               // +1 to make initialization simpler
    6984                locns[i] = (char *)malloc( s );
    7085                if ( locns[i] == 0 ) abort( "malloc/free out of memory" );
     
    7287                locns[i][malloc_usable_size( locns[i] ) - 1] = '\345'; // fill ultimate byte
    7388    } // for
    74     for ( i = 0; i < NoOfAllocs; i += 1 ) {
     89    for ( i; NoOfAllocs ) {
    7590                size_t s = i + 1;
    7691                if ( locns[i][0] != '\345' || locns[i][s - 1] != '\345' ||
     
    8196    // check malloc/free (mmap)
    8297
    83     for ( i = 0; i < NoOfMmaps; i += 1 ) {
    84                 size_t s = i + default_mmap_start();                            // cross over point
    85                 char *area = (char *)malloc( s );
     98    for ( i; NoOfMmaps ) {
     99                size_t s = i + default_mmap_start();                    // cross over point
     100                char * area = (char *)malloc( s );
    86101                if ( area == 0 ) abort( "malloc/free out of memory" );
    87102                area[0] = '\345'; area[s - 1] = '\345';                 // fill first/last
     
    90105    } // for
    91106
    92     for ( i = 0; i < NoOfMmaps; i += 1 ) {
    93                 size_t s = i + default_mmap_start();                            // cross over point
     107    for ( i; NoOfMmaps ) {
     108                size_t s = i + default_mmap_start();                    // cross over point
    94109                locns[i] = (char *)malloc( s );
    95110                if ( locns[i] == 0 ) abort( "malloc/free out of memory" );
     
    97112                locns[i][malloc_usable_size( locns[i] ) - 1] = '\345'; // fill ultimate byte
    98113    } // for
    99     for ( i = 0; i < NoOfMmaps; i += 1 ) {
    100                 size_t s = i + default_mmap_start();                            // cross over point
     114    for ( i; NoOfMmaps ) {
     115                size_t s = i + default_mmap_start();                    // cross over point
    101116                if ( locns[i][0] != '\345' || locns[i][s - 1] != '\345' ||
    102117                         locns[i][malloc_usable_size( locns[i] ) - 1] != '\345' ) abort( "malloc/free corrupt storage" );
     
    106121    // check calloc/free (sbrk)
    107122
    108     for ( i = 0; i < NoOfAllocs; i += 1 ) {
     123    for ( i; NoOfAllocs ) {
    109124                size_t s = (i + 1) * 20;
    110                 char *area = (char *)calloc( 5, s );
     125                char * area = (char *)calloc( 5, s );
    111126                if ( area == 0 ) abort( "calloc/free out of memory" );
    112127                if ( area[0] != '\0' || area[s - 1] != '\0' ||
     
    118133    } // for
    119134
    120     for ( i = 0; i < NoOfAllocs; i += 1 ) {
     135    for ( i; NoOfAllocs ) {
    121136                size_t s = i + 1;
    122137                locns[i] = (char *)calloc( 5, s );
     
    128143                locns[i][malloc_usable_size( locns[i] ) - 1] = '\345'; // fill ultimate byte
    129144    } // for
    130     for ( i = 0; i < NoOfAllocs; i += 1 ) {
     145    for ( i; NoOfAllocs ) {
    131146                size_t s = i + 1;
    132147                if ( locns[i][0] != '\345' || locns[i][s - 1] != '\345' ||
     
    137152    // check calloc/free (mmap)
    138153
    139     for ( i = 0; i < NoOfMmaps; i += 1 ) {
    140                 size_t s = i + default_mmap_start();                            // cross over point
    141                 char *area = (char *)calloc( 1, s );
     154    for ( i; NoOfMmaps ) {
     155                size_t s = i + default_mmap_start();                    // cross over point
     156                char * area = (char *)calloc( 1, s );
    142157                if ( area == 0 ) abort( "calloc/free out of memory" );
    143158                if ( area[0] != '\0' || area[s - 1] != '\0' ) abort( "calloc/free corrupt storage4.1" );
     
    149164    } // for
    150165
    151     for ( i = 0; i < NoOfMmaps; i += 1 ) {
    152                 size_t s = i + default_mmap_start();                            // cross over point
     166    for ( i; NoOfMmaps ) {
     167                size_t s = i + default_mmap_start();                    // cross over point
    153168                locns[i] = (char *)calloc( 1, s );
    154169                if ( locns[i] == 0 ) abort( "calloc/free out of memory" );
     
    159174                locns[i][malloc_usable_size( locns[i] ) - 1] = '\345'; // fill ultimate byte
    160175    } // for
    161     for ( i = 0; i < NoOfMmaps; i += 1 ) {
    162                 size_t s = i + default_mmap_start();                            // cross over point
     176    for ( i; NoOfMmaps ) {
     177                size_t s = i + default_mmap_start();                    // cross over point
    163178                if ( locns[i][0] != '\345' || locns[i][s - 1] != '\345' ||
    164179                         locns[i][malloc_usable_size( locns[i] ) - 1] != '\345' ) abort( "calloc/free corrupt storage6" );
     
    170185    enum { limit = 64 * 1024 };                                                 // check alignments up to here
    171186
    172     for ( size_t a = libAlign(); a <= limit; a += a ) { // generate powers of 2
    173                 //sout | alignments[a] | endl;
    174                 for ( int s = 1; s < NoOfAllocs; s += 1 ) {             // allocation of size 0 can return null
    175                         char *area = (char *)memalign( a, s );
     187        for ( a; libAlign() ~= limit ~ a ) {                            // generate powers of 2
     188                //sout | alignments[a];
     189                for ( s; 1 ~ NoOfAllocs ) {                                             // allocation of size 0 can return null
     190                        char * area = (char *)memalign( a, s );
    176191                        if ( area == 0 ) abort( "memalign/free out of memory" );
    177                         //sout | i | " " | area | endl;
     192                        //sout | i | " " | area;
    178193                        if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment
    179194                                abort( "memalign/free bad alignment : memalign(%d,%d) = %p", (int)a, s, area );
     
    187202    // check memalign/free (mmap)
    188203
    189     for ( size_t a = libAlign(); a <= limit; a += a ) { // generate powers of 2
    190                 //sout | alignments[a] | endl;
    191                 for ( i = 1; i < NoOfMmaps; i += 1 ) {
    192                         size_t s = i + default_mmap_start();                    // cross over point
    193                         char *area = (char *)memalign( a, s );
     204        for ( a; libAlign() ~= limit ~ a ) {                            // generate powers of 2
     205                //sout | alignments[a];
     206                for ( i; 1 ~ NoOfMmaps ) {
     207                        size_t s = i + default_mmap_start();            // cross over point
     208                        char * area = (char *)memalign( a, s );
    194209                        if ( area == 0 ) abort( "memalign/free out of memory" );
    195                         //sout | i | " " | area | endl;
     210                        //sout | i | " " | area;
    196211                        if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment
    197212                                abort( "memalign/free bad alignment : memalign(%d,%d) = %p", (int)a, (int)s, area );
     
    205220    // check calloc/realloc/free (sbrk)
    206221
    207     for ( i = 1; i < 10000; i += 12 ) {
     222    for ( i; 1 ~ 10_000 ~ 12 ) {
    208223                // initial N byte allocation
    209                 char *area = (char *)calloc( 5, i );
     224                char * area = (char *)calloc( 5, i );
    210225                if ( area == 0 ) abort( "calloc/realloc/free out of memory" );
    211226                if ( area[0] != '\0' || area[i - 1] != '\0' ||
     
    214229
    215230                // Do not start this loop index at 0 because realloc of 0 bytes frees the storage.
    216                 for ( int s = i; s < 256 * 1024; s += 26 ) {    // start at initial memory request
     231                for ( s; i ~ 256 * 1024 ~ 26 ) {                                // start at initial memory request
    217232                        area = (char *)realloc( area, s );                      // attempt to reuse storage
    218233                        if ( area == 0 ) abort( "calloc/realloc/free out of memory" );
     
    226241    // check calloc/realloc/free (mmap)
    227242
    228     for ( i = 1; i < 1000; i += 12 ) {
     243    for ( i; 1 ~ 10_000 ~ 12 ) {
    229244                // initial N byte allocation
    230                 size_t s = i + default_mmap_start();                            // cross over point
    231                 char *area = (char *)calloc( 1, s );
     245                size_t s = i + default_mmap_start();                    // cross over point
     246                char * area = (char *)calloc( 1, s );
    232247                if ( area == 0 ) abort( "calloc/realloc/free out of memory" );
    233248                if ( area[0] != '\0' || area[s - 1] != '\0' ||
     
    236251
    237252                // Do not start this loop index at 0 because realloc of 0 bytes frees the storage.
    238                 for ( int r = i; r < 256 * 1024; r += 26 ) {    // start at initial memory request
    239                         area = (char *)realloc( area, r );              // attempt to reuse storage
     253                for ( r; i ~ 256 * 1024 ~ 26 ) {                                // start at initial memory request
     254                        area = (char *)realloc( area, r );                      // attempt to reuse storage
    240255                        if ( area == 0 ) abort( "calloc/realloc/free out of memory" );
    241256                        if ( area[0] != '\0' || area[r - 1] != '\0' ||
     
    249264
    250265    size_t amount = 2;
    251     for ( size_t a = libAlign(); a <= limit; a += a ) { // generate powers of 2
     266        for ( a; libAlign() ~= limit ~ a ) {                            // generate powers of 2
    252267                // initial N byte allocation
    253                 char *area = (char *)memalign( a, amount );             // aligned N-byte allocation
     268                char * area = (char *)memalign( a, amount );    // aligned N-byte allocation
    254269                if ( area == 0 ) abort( "memalign/realloc/free out of memory" ); // no storage ?
    255                 //sout | alignments[a] | " " | area | endl;
     270                //sout | alignments[a] | " " | area;
    256271                if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment
    257272                        abort( "memalign/realloc/free bad alignment : memalign(%d,%d) = %p", (int)a, (int)amount, area );
     
    260275
    261276                // Do not start this loop index at 0 because realloc of 0 bytes frees the storage.
    262                 for ( int s = amount; s < 256 * 1024; s += 1 ) { // start at initial memory request
     277                for ( s; amount ~ 256 * 1024 ) {                                // start at initial memory request
    263278                        if ( area[0] != '\345' || area[s - 2] != '\345' ) abort( "memalign/realloc/free corrupt storage" );
    264279                        area = (char *)realloc( area, s );                      // attempt to reuse storage
    265280                        if ( area == 0 ) abort( "memalign/realloc/free out of memory" ); // no storage ?
    266                         //sout | i | " " | area | endl;
     281                        //sout | i | " " | area;
    267282                        if ( (size_t)area % a != 0 ) {                          // check for initial alignment
    268283                                abort( "memalign/realloc/free bad alignment %p", area );
     
    275290    // check cmemalign/free
    276291
    277     for ( size_t a = libAlign(); a <= limit; a += a ) { // generate powers of 2
    278                 //sout | alignments[a] | endl;
    279                 for ( int s = 1; s < limit; s += 1 ) {                  // allocation of size 0 can return null
    280                         char *area = (char *)cmemalign( a, 1, s );
     292        for ( a; libAlign() ~= limit ~ a ) {                            // generate powers of 2
     293                //sout | alignments[a];
     294                for ( s; 1 ~ limit ) {                                                  // allocation of size 0 can return null
     295                        char * area = (char *)cmemalign( a, 1, s );
    281296                        if ( area == 0 ) abort( "cmemalign/free out of memory" );
    282                         //sout | i | " " | area | endl;
     297                        //sout | i | " " | area;
    283298                        if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment
    284299                                abort( "cmemalign/free bad alignment : cmemalign(%d,%d) = %p", (int)a, s, area );
     
    295310
    296311    amount = 2;
    297     for ( size_t a = libAlign() + libAlign(); a <= limit; a += a ) { // generate powers of 2
     312        for ( a; libAlign() ~= limit ~ a ) {                            // generate powers of 2
    298313                // initial N byte allocation
    299                 char *area = (char *)cmemalign( a, 1, amount ); // aligned N-byte allocation
     314                char * area = (char *)cmemalign( a, 1, amount ); // aligned N-byte allocation
    300315                if ( area == 0 ) abort( "cmemalign/realloc/free out of memory" ); // no storage ?
    301                 //sout | alignments[a] | " " | area | endl;
     316                //sout | alignments[a] | " " | area;
    302317                if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment
    303318                        abort( "cmemalign/realloc/free bad alignment : cmemalign(%d,%d) = %p", (int)a, (int)amount, area );
     
    309324
    310325                // Do not start this loop index at 0 because realloc of 0 bytes frees the storage.
    311                 for ( int s = amount; s < 256 * 1024; s += 1 ) { // start at initial memory request
     326                for ( s; amount ~ 256 * 1024 ) {                                // start at initial memory request
    312327                        if ( area[0] != '\345' || area[s - 2] != '\345' ) abort( "cmemalign/realloc/free corrupt storage2" );
    313328                        area = (char *)realloc( area, s );                      // attempt to reuse storage
    314329                        if ( area == 0 ) abort( "cmemalign/realloc/free out of memory" ); // no storage ?
    315                         //sout | i | " " | area | endl;
     330                        //sout | i | " " | area;
    316331                        if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment
    317332                                abort( "cmemalign/realloc/free bad alignment %p", area );
     
    324339                free( area );
    325340    } // for
    326         //sout | "worker" | thisTask() | "successful completion" | endl;
     341        //sout | "worker" | thisTask() | "successful completion";
    327342} // Worker main
    328343
     
    339354// Local Variables: //
    340355// tab-width: 4 //
    341 // compile-command: "cfa -nodebug -O2 heap.c" //
     356// compile-command: "cfa -nodebug -O2 heap.cfa" //
    342357// End: //
  • tests/identFuncDeclarator.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // identFuncDeclarator.c --
     7// identFuncDeclarator.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Wed Aug 17 08:36:34 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Jan 17 22:39:13 2018
    13 // Update Count     : 2
     12// Last Modified On : Tue Nov  6 17:56:33 2018
     13// Update Count     : 3
    1414//
    1515
     
    115115// Local Variables: //
    116116// tab-width: 4 //
    117 // compile-command: "cfa identFuncDeclarator.c" //
     117// compile-command: "cfa identFuncDeclarator.cfa" //
    118118// End: //
  • tests/identParamDeclarator.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // identParamDeclarator.c --
     7// identParamDeclarator.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Wed Aug 17 08:37:56 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Jan 17 22:36:11 2018
    13 // Update Count     : 2
     12// Last Modified On : Tue Nov  6 17:56:44 2018
     13// Update Count     : 3
    1414//
    1515
     
    163163// Local Variables: //
    164164// tab-width: 4 //
    165 // compile-command: "cfa identParamDeclarator.c" //
     165// compile-command: "cfa identParamDeclarator.cfa" //
    166166// End: //
  • tests/ifwhileCtl.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // ifwhileCtl.c --
     7// ifwhileCtl.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Sat Aug 26 10:13:11 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Jun  6 17:15:09 2018
    13 // Update Count     : 21
     12// Last Modified On : Tue Dec  4 21:39:18 2018
     13// Update Count     : 23
    1414//
    1515
     
    2222
    2323        if ( int x = 1 ) {
    24                 sout | "x != 0 correct" | endl;
     24                sout | "x != 0 correct";
    2525        } else {
    26                 sout | "x == 0 incorrect" | endl;
     26                sout | "x == 0 incorrect";
    2727        } // if
    2828
    2929        if ( int x = 4, y = 0 ) {
    30                 sout | "x != 0 && y != 0 incorrect" | endl;
     30                sout | "x != 0 && y != 0 incorrect";
    3131        } else if ( int x = 4, y = 1 ) {
    32                 sout | "x != 0 && y != 0 correct" | endl;
     32                sout | "x != 0 && y != 0 correct";
    3333        } else {
    34                 sout | "x == 0 || y == 0 incorrect" | endl;
     34                sout | "x == 0 || y == 0 incorrect";
    3535        } // if
    3636
    3737        if ( int x = 5, y = f( x ); x == y ) {
    38                 sout | "x == y correct" | endl;
     38                sout | "x == y correct";
    3939        } else {
    40                 sout | "x != y incorrect" | endl;
     40                sout | "x != y incorrect";
    4141        } // if
    4242
    4343        if ( struct S { int i; } s = { 3 }; s.i < 4 ) {
    4444                S s1;
    45                 sout | "s.i < 4 correct" | endl;
     45                sout | "s.i < 4 correct";
    4646        } else {
    4747                S s1;
    48                 sout | "s.i >= 4 incorrect" | endl;
     48                sout | "s.i >= 4 incorrect";
    4949        } // if
    5050
    5151        while ( int x = 1 ) {
    52                 sout | "x != 0 correct" | endl;
     52                sout | "x != 0 correct";
    5353                break;
    5454        } // while
    5555
    5656        while ( int x = 4, y = 0 ) {
    57                 sout | "x != 0 && y != 0 incorrect" | endl;
     57                sout | "x != 0 && y != 0 incorrect";
    5858        } // while
    5959
    6060        while ( int x = 5, y = f( x ); x == y ) {
    61                 sout | "x == y correct" | endl;
     61                sout | "x == y correct";
    6262                break;
    6363        } // while
     
    6565        while ( struct S { int i; } s = { 3 }; s.i < 4 ) {
    6666                S s1;
    67                 sout | "s.i < 4 correct" | endl;
     67                sout | "s.i < 4 correct";
    6868                break;
    6969        } // while
     
    7272// Local Variables: //
    7373// tab-width: 4 //
    74 // compile-command: "cfa ifwhileCtl.c" //
     74// compile-command: "cfa ifwhileCtl.cfa" //
    7575// End: //
  • tests/labelledExit.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // labelledExit.c --
     7// labelledExit.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Wed Aug 10 07:29:39 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Aug 16 08:55:39 2018
    13 // Update Count     : 3
     12// Last Modified On : Tue Nov  6 17:57:42 2018
     13// Update Count     : 4
    1414//
    1515
     
    159159// Local Variables: //
    160160// tab-width: 4 //
    161 // compile-command: "cfa labelledExit.c" //
     161// compile-command: "cfa labelledExit.cfa" //
    162162// End: //
  • tests/limits.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // limits.c --
     7// limits.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Tue May 10 20:44:20 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Mar  1 16:21:55 2018
    13 // Update Count     : 7
     12// Last Modified On : Tue Nov  6 17:57:55 2018
     13// Update Count     : 8
    1414//
    1515
     
    153153// Local Variables: //
    154154// tab-width: 4 //
    155 // compile-command: "cfa limits.c" //
     155// compile-command: "cfa limits.cfa" //
    156156// End: //
  • tests/literals.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // literals.c --
     7// literals.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Sat Sep  9 16:34:38 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Jul  1 15:12:15 2018
    13 // Update Count     : 137
     12// Last Modified On : Tue Dec  4 21:44:01 2018
     13// Update Count     : 139
    1414//
    1515
     
    1818#include <fstream.hfa>
    1919
    20 void f( char v ) { sout | "char " | v | endl; }
    21 void f( signed char v ) { sout | "signed char " | v | endl; }
    22 void f( unsigned char v ) { sout | "unsigned char " | v | endl; }
    23 void f( signed short v ) { sout | "signed short int" | v | endl; }
    24 void f( unsigned short v ) { sout | "unsigned short int" | v | endl; }
    25 void f( size_t v ) { sout | "size_t" | v | endl; }
     20void f( char v ) { sout | "char " | v; }
     21void f( signed char v ) { sout | "signed char " | v; }
     22void f( unsigned char v ) { sout | "unsigned char " | v; }
     23void f( signed short v ) { sout | "signed short int" | v; }
     24void f( unsigned short v ) { sout | "unsigned short int" | v; }
     25void f( size_t v ) { sout | "size_t" | v; }
    2626#endif // __CFA__
    2727
     
    324324// Local Variables: //
    325325// tab-width: 4 //
    326 // compile-command: "cfa literals.c" //
     326// compile-command: "cfa literals.cfa" //
    327327// End: //
  • tests/math1.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // math1.c --
     7// math1.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Fri Apr 22 14:59:21 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu May 24 21:01:15 2018
    13 // Update Count     : 85
     12// Last Modified On : Wed Dec 12 16:28:49 2018
     13// Update Count     : 89
    1414//
    1515
     
    2222        long double l;
    2323
    24         sout | "fmod:" | 5.0F % -2.0F | fmod( 5.0F, -2.0F ) | 5.0D % -2.0D | fmod( 5.0D, -2.0D ) | 5.0L % -2.0L | fmod( 5.0L, -2.0L ) | endl;
    25         sout | "remainder:" | remainder( 2.0F, 3.0F ) | remainder( 2.0D, 3.0D ) | remainder( 2.0L, 3.0L ) | endl;
     24        sout | "fmod:" | 5.0F % -2.0F | fmod( 5.0F, -2.0F ) | 5.0D % -2.0D | nonl;
     25        sout | fmod( 5.0D, -2.0D ) | 5.0L % -2.0L | fmod( 5.0L, -2.0L );
     26        sout | "remainder:" | remainder( 2.0F, 3.0F ) | remainder( 2.0D, 3.0D ) | remainder( 2.0L, 3.0L );
    2627        int quot;
    2728        f = remquo( 3.6F, 0.5F, &quot );
    28         sout | "remquo:" | quot | f;
     29        sout | "remquo:" | quot | f | nonl;
    2930        d = remquo( 3.6D, 0.5F, &quot );
    30         sout | quot | d;
     31        sout | quot | d | nonl;
    3132        l = remquo( 3.6L, 0.5L, &quot );
    32         sout | quot | l | endl;
    33         sout | "div:" | div( 3.6F, 0.5F ) | div( 3.6D, 0.5D ) | div( 3.6L, 0.5L ) | endl;
    34         sout | "fma:" | fma( 3.0F, -1.0F, 1.0F ) | fma( 3.0D, -1.0D, 1.0D ) | fma( 3.0L, -1.0L, , 1.0L ) | endl;
    35         sout | "fdim:" | fdim( 1.0F, -1.0F ) | fdim( 1.0D, -1.0D ) | fdim( 1.0L, -1.0L ) | endl;
    36         sout | "nan:" | (float)nan( "" ) | (double)nan( "" ) | (long double)nan( "" ) | endl;
     33        sout | quot | l;
     34        sout | "div:" | div( 3.6F, 0.5F ) | div( 3.6D, 0.5D ) | div( 3.6L, 0.5L );
     35        sout | "fma:" | fma( 3.0F, -1.0F, 1.0F ) | fma( 3.0D, -1.0D, 1.0D ) | fma( 3.0L, -1.0L, , 1.0L );
     36        sout | "fdim:" | fdim( 1.0F, -1.0F ) | fdim( 1.0D, -1.0D ) | fdim( 1.0L, -1.0L );
     37        sout | "nan:" | (float)nan( "" ) | (double)nan( "" ) | (long double)nan( "" );
    3738
    3839        //---------------------- Exponential ----------------------
    3940
    40         sout | "exp:" | exp( 1.0F ) | exp( 1.0D ) | exp( 1.0L ) | exp( 1.0F+1.0FI ) | exp( 1.0D+1.0DI ) | exp( 1.0DL+1.0LI ) | endl;
    41         sout | "exp2:" | exp2( 1.0F ) | exp2( 1.0D ) | exp2( 1.0L ) | endl;
    42         sout | "expm1:" | expm1( 1.0F ) | expm1( 1.0D ) | expm1( 1.0L ) | endl;
    43         sout | "pow:" | pow( 1.0F, 1.0F ) | pow( 1.0D, 1.0D ) | pow( 1.0L, 1.0L ) | pow( 1.0F+1.0FI, 1.0F+1.0FI ) | pow( 1.0D+1.0DI, 1.0D+1.0DI ) | pow( 1.5DL+1.5LI, 1.5DL+1.5LI ) | endl;
     41        sout | "exp:" | exp( 1.0F ) | exp( 1.0D ) | exp( 1.0L ) | nonl;
     42        sout | exp( 1.0F+1.0FI ) | exp( 1.0D+1.0DI ) | exp( 1.0DL+1.0LI );
     43        sout | "exp2:" | exp2( 1.0F ) | exp2( 1.0D ) | exp2( 1.0L );
     44        sout | "expm1:" | expm1( 1.0F ) | expm1( 1.0D ) | expm1( 1.0L );
     45        sout | "pow:" | pow( 1.0F, 1.0F ) | pow( 1.0D, 1.0D ) | pow( 1.0L, 1.0L ) | nonl;
     46        sout | pow( 1.0F+1.0FI, 1.0F+1.0FI ) | pow( 1.0D+1.0DI, 1.0D+1.0DI ) | pow( 1.5DL+1.5LI, 1.5DL+1.5LI );
    4447
    4548        int b = 4;
    4649        unsigned int e = 2;
    4750    b \= e;
    48     sout | "\\" | b | b \ e | endl;
    49     sout | "\\" | 'a' \ 3u | 2 \ 8u | 4 \ 3u | -4 \ 3u | 4 \ -3 | -4 \ -3 | 4.0 \ 2.1 | (1.0f+2.0fi) \ (3.0f+2.0fi) | endl;
     51    sout | "\\" | b | b \ e;
     52    sout | "\\" | 'a' \ 3u | 2 \ 8u | 4 \ 3u | -4 \ 3u | nonl;
     53        sout | 4 \ -3 | -4 \ -3 | 4.0 \ 2.1 | (1.0f+2.0fi) \ (3.0f+2.0fi);
    5054} // main
    5155
    5256// Local Variables: //
    5357// tab-width: 4 //
    54 // compile-command: "cfa math1.c" //
     58// compile-command: "cfa math1.cfa" //
    5559// End: //
  • tests/math3.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // math3.c --
     7// math3.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Fri Apr 22 14:59:21 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu May 24 21:06:12 2018
    13 // Update Count     : 82
     12// Last Modified On : Wed Dec 12 16:30:41 2018
     13// Update Count     : 86
    1414//
    1515
     
    2424        //---------------------- Hyperbolic ----------------------
    2525
    26         sout | "sinh:" | sinh( 1.0F ) | sinh( 1.0D ) | sinh( 1.0L ) | sinh( 1.0F+1.0FI ) | sinh( 1.0D+1.0DI ) | sinh( 1.0DL+1.0LI ) | endl;
    27         sout | "cosh:" | cosh( 1.0F ) | cosh( 1.0D ) | cosh( 1.0L ) | cosh( 1.0F+1.0FI ) | cosh( 1.0D+1.0DI ) | cosh( 1.0DL+1.0LI ) | endl;
    28         sout | "tanh:" | tanh( 1.0F ) | tanh( 1.0D ) | tanh( 1.0L ) | tanh( 1.0F+1.0FI ) | tanh( 1.0D+1.0DI ) | tanh( 1.0DL+1.0LI ) | endl;
    29         sout | "acosh:" | acosh( 1.0F ) | acosh( 1.0D ) | acosh( 1.0L ) | acosh( 1.0F+1.0FI ) | acosh( 1.0D+1.0DI ) | acosh( 1.0DL+1.0LI ) | endl;
    30         sout | "asinh:" | asinh( 1.0F ) | asinh( 1.0D ) | asinh( 1.0L ) | asinh( 1.0F+1.0FI ) | asinh( 1.0D+1.0DI ) | asinh( 1.0DL+1.0LI ) | endl;
    31         sout | "atanh:" | atanh( 1.0F ) | atanh( 1.0D ) | atanh( 1.0L ) | atanh( 1.0F+1.0FI ) | atanh( 1.0D+1.0DI ) | atanh( 1.0DL+1.0LI ) | endl;
     26        sout | "sinh:" | sinh( 1.0F ) | sinh( 1.0D ) | sinh( 1.0L ) | nonl;
     27        sout | sinh( 1.0F+1.0FI ) | sinh( 1.0D+1.0DI ) | sinh( 1.0DL+1.0LI );
     28        sout | "cosh:" | cosh( 1.0F ) | cosh( 1.0D ) | cosh( 1.0L ) | nonl;
     29        sout | cosh( 1.0F+1.0FI ) | cosh( 1.0D+1.0DI ) | cosh( 1.0DL+1.0LI );
     30        sout | "tanh:" | tanh( 1.0F ) | tanh( 1.0D ) | tanh( 1.0L ) | nonl;
     31        sout | tanh( 1.0F+1.0FI ) | tanh( 1.0D+1.0DI ) | tanh( 1.0DL+1.0LI );
     32        sout | "acosh:" | acosh( 1.0F ) | acosh( 1.0D ) | acosh( 1.0L ) | nonl;
     33        sout | acosh( 1.0F+1.0FI ) | acosh( 1.0D+1.0DI ) | acosh( 1.0DL+1.0LI );
     34        sout | "asinh:" | asinh( 1.0F ) | asinh( 1.0D ) | asinh( 1.0L ) | nonl;
     35        sout | asinh( 1.0F+1.0FI ) | asinh( 1.0D+1.0DI ) | asinh( 1.0DL+1.0LI );
     36        sout | "atanh:" | atanh( 1.0F ) | atanh( 1.0D ) | atanh( 1.0L ) | nonl;
     37        sout | atanh( 1.0F+1.0FI ) | atanh( 1.0D+1.0DI ) | atanh( 1.0DL+1.0LI );
    3238
    3339        //---------------------- Error / Gamma ----------------------
    3440
    35         sout | "erf:" | erf( 1.0F ) | erf( 1.0D ) | erf( 1.0L ) | endl;
    36         sout | "erfc:" | erfc( 1.0F ) | erfc( 1.0D ) | erfc( 1.0L ) | endl;
    37         sout | "lgamma:" | lgamma( 4.0F ) | lgamma( 4.0D ) | lgamma( 4.0L ) | endl;
     41        sout | "erf:" | erf( 1.0F ) | erf( 1.0D ) | erf( 1.0L );
     42        sout | "erfc:" | erfc( 1.0F ) | erfc( 1.0D ) | erfc( 1.0L );
     43        sout | "lgamma:" | lgamma( 4.0F ) | lgamma( 4.0D ) | lgamma( 4.0L );
    3844        int sign;
    3945        f = lgamma( 4.0F, &sign );
    40         sout | "lgamma:" | f | sign;
     46        sout | "lgamma:" | f | sign | nonl;
    4147        d = lgamma( 4.0D, &sign );
    42         sout | d | sign;
     48        sout | d | sign | nonl;
    4349        l = lgamma( 4.0L, &sign );
    44         sout | l | sign | endl;
    45         sout | "tgamma:" | tgamma( 4.0F ) | tgamma( 4.0D ) | tgamma( 4.0L ) | endl;
     50        sout | l | sign;
     51        sout | "tgamma:" | tgamma( 4.0F ) | tgamma( 4.0D ) | tgamma( 4.0L );
    4652} // main
    4753
    4854// Local Variables: //
    4955// tab-width: 4 //
    50 // compile-command: "cfa math3.c" //
     56// compile-command: "cfa math3.cfa" //
    5157// End: //
  • tests/math4.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // math4.c --
     7// math4.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Thu May 24 20:56:54 2018
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu May 24 20:58:06 2018
    13 // Update Count     : 2
     12// Last Modified On : Tue Dec  4 18:15:01 2018
     13// Update Count     : 4
    1414//
    1515
     
    2424        //---------------------- Nearest Integer ----------------------
    2525
    26         sout | "floor:" | floor( 1.2F ) | floor( 1.2D ) | floor( 1.2L ) | endl;
    27         sout | "ceil:" | ceil( 1.6F ) | ceil( 1.6D ) | ceil( 1.6L ) | endl;
    28         sout | "trunc:" | trunc( 3.5F ) | trunc( 3.5D ) | trunc( 3.5L ) | endl;
    29         sout | "rint:" | (float)rint( 1.5F ) | (double)rint( 1.5D ) | (long double)rint( 1.5L ) | endl;
    30         sout | "rint:" | (long int)rint( 1.5F ) | (long int)rint( 1.5D ) | (long int)rint( 1.5L ) | endl;
    31         sout | "rint:" | (long long int)rint( 1.5F ) | (long long int)rint( 1.5D ) | (long long int)rint( 1.5L ) | endl;
    32         sout | "lrint:" | lrint( 1.5F ) | lrint( 1.5D ) | lrint( 1.5L ) | endl;
    33         sout | "llrint:" | llrint( 1.5F ) | llrint( 1.5D ) | llrint( 1.5L ) | endl;
    34         sout | "nearbyint:" | nearbyint( 3.5F ) | nearbyint( 3.5D ) | nearbyint( 3.5L ) | endl;
    35         sout | "round:" | (float)round( 1.5F ) | (double)round( 1.5D ) | (long double)round( 1.5L ) | endl;
    36         sout | "round:" | (long int)round( 1.5F ) | (long int)round( 1.5D ) | (long int)round( 1.5L ) | endl;
    37         sout | "round:" | (long long int)round( 1.5F ) | (long long int)round( 1.5D ) | (long long int)round( 1.5L ) | endl;
    38         sout | "lround:" | lround( 1.5F ) | lround( 1.5D ) | lround( 1.5L ) | endl;
    39         sout | "llround:" | llround( 1.5F ) | llround( 1.5D ) | llround( 1.5L ) | endl;
     26        sout | "floor:" | floor( 1.2F ) | floor( 1.2D ) | floor( 1.2L );
     27        sout | "ceil:" | ceil( 1.6F ) | ceil( 1.6D ) | ceil( 1.6L );
     28        sout | "trunc:" | trunc( 3.5F ) | trunc( 3.5D ) | trunc( 3.5L );
     29        sout | "rint:" | (float)rint( 1.5F ) | (double)rint( 1.5D ) | (long double)rint( 1.5L );
     30        sout | "rint:" | (long int)rint( 1.5F ) | (long int)rint( 1.5D ) | (long int)rint( 1.5L );
     31        sout | "rint:" | (long long int)rint( 1.5F ) | (long long int)rint( 1.5D ) | (long long int)rint( 1.5L );
     32        sout | "lrint:" | lrint( 1.5F ) | lrint( 1.5D ) | lrint( 1.5L );
     33        sout | "llrint:" | llrint( 1.5F ) | llrint( 1.5D ) | llrint( 1.5L );
     34        sout | "nearbyint:" | nearbyint( 3.5F ) | nearbyint( 3.5D ) | nearbyint( 3.5L );
     35        sout | "round:" | (float)round( 1.5F ) | (double)round( 1.5D ) | (long double)round( 1.5L );
     36        sout | "round:" | (long int)round( 1.5F ) | (long int)round( 1.5D ) | (long int)round( 1.5L );
     37        sout | "round:" | (long long int)round( 1.5F ) | (long long int)round( 1.5D ) | (long long int)round( 1.5L );
     38        sout | "lround:" | lround( 1.5F ) | lround( 1.5D ) | lround( 1.5L );
     39        sout | "llround:" | llround( 1.5F ) | llround( 1.5D ) | llround( 1.5L );
    4040
    4141        //---------------------- Manipulation ----------------------
    4242
    43         sout | "copysign:" | copysign( 1.0F, -1.0F ) | copysign( 1.0D, -1.0D ) | copysign( 1.0L, -1.0L ) | endl;
     43        sout | "copysign:" | copysign( 1.0F, -1.0F ) | copysign( 1.0D, -1.0D ) | copysign( 1.0L, -1.0L );
    4444        int exp;
    4545        f = frexp( 4.0F, &exp );
    46         sout | "frexp:" | f | exp;
     46        sout | "frexp:" | f | exp | nonl;
    4747        d = frexp( 4.0D, &exp );
    48         sout | d | exp;
     48        sout | d | exp | nonl;
    4949        l = frexp( 4.0L, &exp );
    50         sout | l | exp | endl;
    51         sout | "ldexp:" | ldexp( 2.0F, 2 ) | ldexp( 2.0D, 2 ) | ldexp( 2.0L, 2 ) | endl;
     50        sout | l | exp;
     51        sout | "ldexp:" | ldexp( 2.0F, 2 ) | ldexp( 2.0D, 2 ) | ldexp( 2.0L, 2 );
    5252        float fi;
    5353        double di;
    5454        long double ldi;
    5555        f = modf( 2.3F, &fi );
    56         sout | "modf:" | fi | f;
     56        sout | "modf:" | fi | f | nonl;
    5757        d = modf( 2.3D, &di );
    58         sout | di | d;
     58        sout | di | d | nonl;
    5959        l = modf( 2.3L, &ldi );
    60         sout | ldi | l | endl;
    61         sout | "modf:" | modf( 2.3F ) | modf( 2.3D ) | modf( 2.3L ) | endl;
    62         sout | "nextafter:" | nextafter( 2.0F, 3.0F ) | nextafter( 2.0D, 3.0D ) | nextafter( 2.0L, 3.0L ) | endl;
    63         sout | "nexttoward:" | nexttoward( 2.0F, 3.0F ) | nexttoward( 2.0D, 3.0D ) | nexttoward( 2.0L, 3.0L ) | endl;
     60        sout | ldi | l;
     61        sout | "modf:" | modf( 2.3F ) | modf( 2.3D ) | modf( 2.3L );
     62        sout | "nextafter:" | nextafter( 2.0F, 3.0F ) | nextafter( 2.0D, 3.0D ) | nextafter( 2.0L, 3.0L );
     63        sout | "nexttoward:" | nexttoward( 2.0F, 3.0F ) | nexttoward( 2.0D, 3.0D ) | nexttoward( 2.0L, 3.0L );
    6464
    65         sout | "scalbn:" | scalbn( 2.0F, 3 ) | scalbn( 2.0D, 3 ) | scalbn( 2.0L, 3 ) | endl;
    66         sout | "scalbln:" | scalbln( 2.0F, 3L ) | scalbln( 2.0D, 3L ) | scalbln( 2.0L, 3L ) | endl;
     65        sout | "scalbn:" | scalbn( 2.0F, 3 ) | scalbn( 2.0D, 3 ) | scalbn( 2.0L, 3 );
     66        sout | "scalbln:" | scalbln( 2.0F, 3L ) | scalbln( 2.0D, 3L ) | scalbln( 2.0L, 3L );
    6767} // main
    6868
    6969// Local Variables: //
    7070// tab-width: 4 //
    71 // compile-command: "cfa math3.c" //
     71// compile-command: "cfa math3.cfa" //
    7272// End: //
  • tests/minmax.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // minmax.c --
     7// minmax.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Apr 10 17:29:09 2018
    13 // Update Count     : 50
     12// Last Modified On : Tue Dec  4 21:45:31 2018
     13// Update Count     : 52
    1414//
    1515
     
    2222        int ?>?( char op1, char op2 ) { return (int)op1 > (int)op2; }
    2323
    24         sout | "char\t\t\t"                                     | 'z' | ' ' | 'a' | "\tmin " | min( 'z', 'a' ) | endl;
    25         sout | "signed int\t\t"                         | 4 | 3 | "\tmin" | min( 4, 3 ) | endl;
    26         sout | "unsigned int\t\t"                       | 4u | 3u | "\tmin" | min( 4u, 3u ) | endl;
    27         sout | "signed long int\t\t"            | 4l | 3l | "\tmin" | min( 4l, 3l ) | endl;
    28         sout | "unsigned long int\t"            | 4ul | 3ul | "\tmin" | min( 4ul, 3ul ) | endl;
    29         sout | "signed long long int\t"         | 4ll | 3ll | "\tmin" | min( 4ll, 3ll ) | endl;
    30         sout | "unsigned long long int\t"       | 4ull | 3ull | "\tmin" | min( 4ull, 3ull ) | endl;
    31         sout | "float\t\t\t"                            | 4.0f | 3.1f | "\tmin" | min( 4.0f, 3.1f ) | endl;
    32         sout | "double\t\t\t"                           | 4.0 | 3.1 | "\tmin" | min( 4.0, 3.1 ) | endl;
    33         sout | "long double\t\t"                        | 4.0l | 3.1l | "\tmin" | min( 4.0l, 3.1l ) | endl;
     24        sout | "char\t\t\t"                                     | 'z' | ' ' | 'a' | "\tmin " | min( 'z', 'a' );
     25        sout | "signed int\t\t"                         | 4 | 3 | "\tmin" | min( 4, 3 );
     26        sout | "unsigned int\t\t"                       | 4u | 3u | "\tmin" | min( 4u, 3u );
     27        sout | "signed long int\t\t"            | 4l | 3l | "\tmin" | min( 4l, 3l );
     28        sout | "unsigned long int\t"            | 4ul | 3ul | "\tmin" | min( 4ul, 3ul );
     29        sout | "signed long long int\t"         | 4ll | 3ll | "\tmin" | min( 4ll, 3ll );
     30        sout | "unsigned long long int\t"       | 4ull | 3ull | "\tmin" | min( 4ull, 3ull );
     31        sout | "float\t\t\t"                            | 4.0f | 3.1f | "\tmin" | min( 4.0f, 3.1f );
     32        sout | "double\t\t\t"                           | 4.0 | 3.1 | "\tmin" | min( 4.0, 3.1 );
     33        sout | "long double\t\t"                        | 4.0l | 3.1l | "\tmin" | min( 4.0l, 3.1l );
    3434
    35         sout | endl;
     35        sout | nl;
    3636
    37         sout | "char\t\t\t"                                     | 'z' | ' ' | 'a' | "\tmax " | max( 'z', 'a' ) | endl;
    38         sout | "signed int\t\t"                         | 4 | 3 | "\tmax" | max( 4, 3 ) | endl;
    39         sout | "unsigned int\t\t"                       | 4u | 3u | "\tmax" | max( 4u, 3u ) | endl;
    40         sout | "signed long int\t\t"            | 4l | 3l | "\tmax" | max( 4l, 3l ) | endl;
    41         sout | "unsigned long int\t"            | 4ul | 3ul | "\tmax" | max( 4ul, 3ul ) | endl;
    42         sout | "signed long long int\t"         | 4ll | 3ll | "\tmax" | max( 4ll, 3ll ) | endl;
    43         sout | "unsigned long long int\t"       | 4ull | 3ull | "\tmax" | max( 4ull, 3ull ) | endl;
    44         sout | "float\t\t\t"                            | 4.0f | 3.1f | "\tmax" | max( 4.0f, 3.1f ) | endl;
    45         sout | "double\t\t\t"                           | 4.0 | 3.1 | "\tmax" | max( 4.0, 3.1 ) | endl;
    46         sout | "long double\t\t"                        | 4.0l | 3.1l | "\tmax" | max( 4.0l, 3.1l ) | endl;
     37        sout | "char\t\t\t"                                     | 'z' | ' ' | 'a' | "\tmax " | max( 'z', 'a' );
     38        sout | "signed int\t\t"                         | 4 | 3 | "\tmax" | max( 4, 3 );
     39        sout | "unsigned int\t\t"                       | 4u | 3u | "\tmax" | max( 4u, 3u );
     40        sout | "signed long int\t\t"            | 4l | 3l | "\tmax" | max( 4l, 3l );
     41        sout | "unsigned long int\t"            | 4ul | 3ul | "\tmax" | max( 4ul, 3ul );
     42        sout | "signed long long int\t"         | 4ll | 3ll | "\tmax" | max( 4ll, 3ll );
     43        sout | "unsigned long long int\t"       | 4ull | 3ull | "\tmax" | max( 4ull, 3ull );
     44        sout | "float\t\t\t"                            | 4.0f | 3.1f | "\tmax" | max( 4.0f, 3.1f );
     45        sout | "double\t\t\t"                           | 4.0 | 3.1 | "\tmax" | max( 4.0, 3.1 );
     46        sout | "long double\t\t"                        | 4.0l | 3.1l | "\tmax" | max( 4.0l, 3.1l );
    4747} // main
    4848
    4949// Local Variables: //
    5050// tab-width: 4 //
    51 // compile-command: "cfa minmax.c" //
     51// compile-command: "cfa minmax.cfa" //
    5252// End: //
  • tests/nested-types.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // nested-types.c --
     7// nested-types.cfa --
    88//
    99// Author           : Rob Schluntz
    1010// Created On       : Mon Jul 9 10:20:03 2018
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Mon Jul 9 10:20:03 2017
    13 // Update Count     : 1
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Tue Nov  6 17:59:40 2018
     13// Update Count     : 2
    1414//
    1515
     
    8888// Local Variables: //
    8989// tab-width: 4 //
    90 // compile-command: "cfa nested-types.c" //
     90// compile-command: "cfa nested-types.cfa" //
    9191// End: //
  • tests/numericConstants.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // numericConstants.c --
     7// numericConstants.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Wed May 24 22:10:36 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 24 22:11:36 2017
    13 // Update Count     : 2
     12// Last Modified On : Tue Nov  6 17:59:53 2018
     13// Update Count     : 3
    1414//
    1515
     
    6767// Local Variables: //
    6868// tab-width: 4 //
    69 // compile-command: "cfa minmax.c" //
     69// compile-command: "cfa minmax.cfa" //
    7070// End: //
  • tests/polymorphism.cfa

    rff5caaf r95b8aa7  
    99// Author           : Rob Schluntz
    1010// Created On       : Tue Oct 17 12:19:48 2017
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Tue Oct 17 12:21:07 2017
    13 // Update Count     : 1
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Tue Dec 25 14:40:24 2018
     13// Update Count     : 3
    1414//
    1515
    1616#include <assert.h>
    1717#include <inttypes.h>
     18#include <fstream.hfa>
    1819
    1920forall(otype T)
     
    6162                int y = 456;
    6263                int z = f(x, y);
    63                 printf("%d %d %d\n", x, y, z);
     64                sout | x | y | z;
    6465        }
    65 
    6666        {
    6767                // explicitly specialize function
    6868                int (*f)(int) = ident;
    6969                ((int(*)(int))ident);
    70                 printf("%d %d\n", f(5), ((int(*)(int))ident)(5));
     70                sout | f(5) | ((int(*)(int))ident)(5);
    7171        }
    72 
    7372        {
    7473                // test aggregates with polymorphic members
     
    10099
    101100                void print(x_type x) {
    102                         printf("%"PRIu32"\n", x);
     101                        sout | x;
    103102                }
    104103
    105104                void print(y_type y) {
    106                         printf("%"PRIu64"\n", y);
     105                        sout | y;
    107106                }
    108107
  • tests/preempt_longrun/Makefile.am

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

    rff5caaf r95b8aa7  
    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@
    337342AUTOMAKE = @AUTOMAKE@
    338343AWK = @AWK@
    339 BACKEND_CC = @BACKEND_CC@
    340344BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@
    341345CC = @CFACC@
     
    357361CPPFLAGS = @CPPFLAGS@
    358362CXX = @CXX@
     363CXXCPP = @CXXCPP@
    359364CXXDEPMODE = @CXXDEPMODE@
    360365CXXFLAGS = @CXXFLAGS@
     
    362367DEFS = @DEFS@
    363368DEPDIR = @DEPDIR@
     369DLLTOOL = @DLLTOOL@
    364370DRIVER_DIR = @DRIVER_DIR@
     371DSYMUTIL = @DSYMUTIL@
     372DUMPBIN = @DUMPBIN@
    365373ECHO_C = @ECHO_C@
    366374ECHO_N = @ECHO_N@
     
    368376EGREP = @EGREP@
    369377EXEEXT = @EXEEXT@
     378FGREP = @FGREP@
    370379GREP = @GREP@
    371380HOST_FLAGS = @HOST_FLAGS@
     
    375384INSTALL_SCRIPT = @INSTALL_SCRIPT@
    376385INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     386LD = @LD@
    377387LDFLAGS = @LDFLAGS@
    378388LEX = @LEX@
     
    383393LIBOBJS = @LIBOBJS@
    384394LIBS = @LIBS@
     395LIBTOOL = @LIBTOOL@
     396LIPO = @LIPO@
     397LN_S = @LN_S@
    385398LTLIBOBJS = @LTLIBOBJS@
     399LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    386400MAKEINFO = @MAKEINFO@
     401MANIFEST_TOOL = @MANIFEST_TOOL@
    387402MKDIR_P = @MKDIR_P@
     403NM = @NM@
     404NMEDIT = @NMEDIT@
     405OBJDUMP = @OBJDUMP@
    388406OBJEXT = @OBJEXT@
     407OTOOL = @OTOOL@
     408OTOOL64 = @OTOOL64@
    389409PACKAGE = @PACKAGE@
    390410PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    396416PATH_SEPARATOR = @PATH_SEPARATOR@
    397417RANLIB = @RANLIB@
     418SED = @SED@
    398419SET_MAKE = @SET_MAKE@
    399420SHELL = @SHELL@
     
    407428abs_top_builddir = @abs_top_builddir@
    408429abs_top_srcdir = @abs_top_srcdir@
     430ac_ct_AR = @ac_ct_AR@
    409431ac_ct_CC = @ac_ct_CC@
    410432ac_ct_CXX = @ac_ct_CXX@
     433ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    411434am__include = @am__include@
    412435am__leading_dot = @am__leading_dot@
     
    456479top_srcdir = @top_srcdir@
    457480AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     481ACLOCAL_AMFLAGS = -I automake
    458482repeats = 10
    459483max_time = 600
     
    503527        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    504528$(am__aclocal_m4_deps):
     529
     530mostlyclean-libtool:
     531        -rm -f *.lo
     532
     533clean-libtool:
     534        -rm -rf .libs _libs
    505535tags TAGS:
    506536
     
    806836clean: clean-am
    807837
    808 clean-am: clean-generic clean-local mostlyclean-am
     838clean-am: clean-generic clean-libtool clean-local mostlyclean-am
    809839
    810840distclean: distclean-am
     
    858888mostlyclean: mostlyclean-am
    859889
    860 mostlyclean-am: mostlyclean-generic
     890mostlyclean-am: mostlyclean-generic mostlyclean-libtool
    861891
    862892pdf: pdf-am
     
    873903
    874904.PHONY: all all-am all-local check check-TESTS check-am clean \
    875         clean-generic clean-local cscopelist-am ctags-am distclean \
    876         distclean-generic distdir dvi dvi-am html html-am info info-am \
    877         install install-am install-data install-data-am install-dvi \
    878         install-dvi-am install-exec install-exec-am install-html \
    879         install-html-am install-info install-info-am install-man \
    880         install-pdf install-pdf-am install-ps install-ps-am \
    881         install-strip installcheck installcheck-am installdirs \
    882         maintainer-clean maintainer-clean-generic mostlyclean \
    883         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 \
    884915        uninstall uninstall-am
    885916
  • tests/preempt_longrun/create.c

    rff5caaf r95b8aa7  
    33#include <time.hfa>
    44
    5 #include "long_tests.h"
     5#include "long_tests.hfa"
    66
    77#ifndef PREEMPTION_RATE
  • tests/preempt_longrun/enter3.c

    rff5caaf r95b8aa7  
    55
    66#define __kick_rate 75000ul
    7 #include "long_tests.h"
     7#include "long_tests.hfa"
    88
    99#ifndef PREEMPTION_RATE
  • tests/preempt_longrun/processor.c

    rff5caaf r95b8aa7  
    55#include <unistd.h>
    66
    7 #include "long_tests.h"
     7#include "long_tests.hfa"
    88
    99#ifndef PREEMPTION_RATE
  • tests/preempt_longrun/yield.c

    rff5caaf r95b8aa7  
    44
    55#define __kick_rate 550000ul
    6 #include "long_tests.h"
     6#include "long_tests.hfa"
    77
    88#ifndef PREEMPTION_RATE
  • tests/pybin/tools.py

    rff5caaf r95b8aa7  
    7979def diff( lhs, rhs ):
    8080        # diff the output of the files
    81         diff_cmd = ("diff --ignore-all-space --text "
    82                                 "--ignore-blank-lines "
     81        diff_cmd = ("diff --text "
     82#                               "--ignore-all-space "
     83#                               "--ignore-blank-lines "
    8384                                "--old-group-format='\t\tmissing lines :\n"
    8485                                "%%<' \\\n"
     
    246247        if column:
    247248                cmd = "%s 2> /dev/null" % column
    248                 print(cmd)
    249249                proc = Popen(cmd, stdin=PIPE, stderr=None, shell=True)
    250                 proc.communicate(input=text)
     250                proc.communicate(input=text + "\n")
    251251        else:
    252252                print(text)
  • tests/quotedKeyword.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // quoted_keyword.c -- test quoted keyword usage
     7// quotedKeyword.cfa -- test quoted keyword usage
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jun 30 14:03:59 2016
    13 // Update Count     : 19
     12// Last Modified On : Tue Dec  4 21:45:53 2018
     13// Update Count     : 23
    1414//
    1515
     
    4141        st.`struct` = 3;
    4242        `throw` = 4;
    43         sout | `catch` + st.`otype` + st.`struct` + `throw` | endl;
     43        sout | `catch` + st.`otype` + st.`struct` + `throw`;
    4444}
    4545
    4646// Local Variables: //
    4747// tab-width: 4 //
    48 // compile-command: "cfa quoted_keyword.c" //
     48// compile-command: "cfa quotedKeyword.cfa" //
    4949// End: //
  • tests/raii/.expect/ctor-autogen-ERR1.txt

    rff5caaf r95b8aa7  
    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

    rff5caaf r95b8aa7  
    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

    rff5caaf r95b8aa7  
    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

    rff5caaf r95b8aa7  
    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/raii/dtor-early-exit.cfa

    rff5caaf r95b8aa7  
    1010// Created On       : Wed Aug 17 08:26:25 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Aug 11 07:58:39 2018
    13 // Update Count     : 8
     12// Last Modified On : Fri Dec 21 08:45:19 2018
     13// Update Count     : 10
    1414//
    1515
     
    2525// don't want these called
    2626void ?{}(A & a) { assert( false ); }
    27 void ?{}(A & a, const char * name) { a.name = name; sout | "construct " | name | endl; a.x = (int*)malloc(); }
     27void ?{}(A & a, const char * name) { a.name = name; sout | "construct " | name; a.x = (int*)malloc(); }
    2828void ?{}(A & a, const char * name, int * ptr) { assert( false ); }
    2929
    3030A ?=?(A & a, A b) {  sout | "assign " | a.name | " " | b.name; return a; }
    31 void ?{}(A & a, A b) { sout | "copy construct " | b.name | endl; a.x = (int*)malloc(); }
    32 void ^?{}(A & a) { sout | "destruct " | a.name | endl; free(a.x); }
     31void ?{}(A & a, A b) { sout | "copy construct " | b.name; a.x = (int*)malloc(); }
     32void ^?{}(A & a) { sout | "destruct " | a.name; free(a.x); }
    3333
    3434// test returns
    3535void f(int i) {
    36         sout | "f i=" | i | endl;
     36        sout | "f i=" | i;
    3737        A x = { "x" };  // construct x
    3838        {
     
    5555void g() {
    5656        for (int i = 0; i < 10; i++) {
    57                 sout | "g for i=" | i | endl;
     57                sout | "g for i=" | i;
    5858                A x = { "x" };
    5959                // construct x
    6060                // destruct x
    6161        }
    62         sout | endl;
     62        sout | nl;
    6363        {
    6464                int i = 0;
    6565                while (i < 10) {
    66                         sout | "g while i=" | i | endl;
     66                        sout | "g while i=" | i;
    6767                        A x = { "x" };
    6868                        // construct x
     
    7171                }
    7272        }
    73         sout | endl;
     73        sout | nl;
    7474        for (int i = 0; i < 10; i++) {
    7575                switch(10) {
     
    7878                        case 10: {
    7979                                A y = { "y" };
    80                                 sout | "g switch i=" | i | endl;
     80                                sout | "g switch i=" | i;
    8181                                // construct y
    8282                                break; // destruct y
    8383                        }
    8484                        default: {
    85                                 sout | "g switch i=" | i | endl;
     85                                sout | "g switch i=" | i;
    8686                                A x = { "x" };
    8787                                // construct x
     
    9090                }
    9191        }
    92         sout | endl;
     92        sout | nl;
    9393        for (int k = 0; k < 2; k++) {
    94                 sout | "g for k=" | k | endl;
     94                sout | "g for k=" | k;
    9595                L1: for (int i = 0; i < 10; i++) {
    96                         sout | "g for i=" | i | endl;
     96                        sout | "g for i=" | i;
    9797
    9898                        A x = { "x" };
    9999                        if (i == 2) {
    100                                 sout | "continue L1" | endl;
     100                                sout | "continue L1";
    101101                                continue;  // destruct x
    102102                        } else if (i == 3) {
    103                                 sout | "break L1" | endl;
     103                                sout | "break L1";
    104104                                break;  // destruct x
    105105                        }
    106106
    107107                        L2: for (int j = 0; j < 10; j++) {
    108                                 sout | "g for j=" | j | endl;
     108                                sout | "g for j=" | j;
    109109                                A y = { "y" };
    110110                                if (j == 0) {
    111                                         sout | "continue L2" | endl;
     111                                        sout | "continue L2";
    112112                                        continue; // destruct y - missing because object that needs to be destructed is not a part of this block, it's a part of the for's block
    113113                                } else if (j == 1) {
    114                                         sout | "break L2" | endl;
     114                                        sout | "break L2";
    115115                                        break;  // destruct y
    116116                                } else if (i == 1) {
    117                                         sout | "continue L1" | endl;
     117                                        sout | "continue L1";
    118118                                        continue L1; // destruct x,y - note: continue takes you to destructors for block, so only generate destructor for y
    119119                                } else if (k == 1) {
    120                                         sout | "break L1" | endl;
     120                                        sout | "break L1";
    121121                                        break L1;  // destruct x,y
    122122                                }
     
    125125        }
    126126
    127         sout | endl;
     127        sout | nl;
    128128        L3: if( 3 ) {
    129129                A w = { "w" };
    130130                if( 4 ) {
    131131                        A v = { "v" };
    132                         sout | "break L3" | endl;
     132                        sout | "break L3";
    133133                        break L3;
    134134                }
     
    144144        // * if S_L-S_G is non-empty, error
    145145        // * emit destructors for all variables in S_G-S_L
    146         sout | "h" | endl;
     146        sout | "h";
    147147        {
    148148                L0: ;
     
    152152                        A y = { "y" };
    153153                        // S_L1 = { y }
    154                 L1: sout | "L1" | endl;
     154                L1: sout | "L1";
    155155                        A x = { "x" };
    156156                        // S_L2 = { y, x }
    157                 L2: sout | "L2" | endl;
     157                L2: sout | "L2";
    158158                        if (i == 0) {
    159159                                ++i;
    160                                 sout | "goto L1" | endl;
     160                                sout | "goto L1";
    161161                                // S_G = { y, x }
    162162                                goto L1;  // jump back, destruct b/c before x definition
     
    165165                        } else if (i == 1) {
    166166                                ++i;
    167                                 sout | "goto L2" | endl;
     167                                sout | "goto L2";
    168168                                // S_G = { y, x }
    169169                                goto L2;  // jump back, do not destruct
     
    172172                        } else if (i == 2) {
    173173                                ++i;
    174                                 sout | "goto L3" | endl;
     174                                sout | "goto L3";
    175175                                // S_G = { y, x }
    176176                                goto L3;  // jump ahead, do not destruct
     
    180180                                ++i;
    181181                                A z = { "z" };
    182                                 sout | "goto L3-2" | endl;
     182                                sout | "goto L3-2";
    183183                                // S_G = { z, y, x }
    184184                                goto L3;
     
    187187                        } else {
    188188                                ++i;
    189                                 sout | "goto L4" | endl;
     189                                sout | "goto L4";
    190190                                // S_G = { y, x }
    191191                                goto L4;  // jump ahead, destruct b/c left block x was defined in
     
    194194                        }
    195195                        // S_L3 = { y, x }
    196                 L3: sout | "L3" | endl;
    197                         sout | "goto L2-2" | endl;
     196                L3: sout | "L3";
     197                        sout | "goto L2-2";
    198198                        // S_G = { y, x }
    199199                        goto L2; // jump back, do not destruct
     
    202202        }
    203203        // S_L4 = {}
    204         L4: sout | "L4" | endl;
     204        L4: sout | "L4";
    205205        if (i == 4) {
    206                 sout | "goto L0" | endl;
     206                sout | "goto L0";
    207207                // S_G = {}
    208208                goto L0;
     
    240240                f(i);
    241241        }
    242         sout | endl;
     242        sout | nl;
    243243        g();
    244         sout | endl;
     244        sout | nl;
    245245        h();
    246246
  • tests/raii/globals.cfa

    rff5caaf r95b8aa7  
    7070
    7171int main() {
    72         sout | "static\t\tinline\t\tautogen\t\tvalue" | endl;
     72        sout | "static\t\tinline\t\tautogen\t\tvalue";
    7373
    74         sout | "no \t\tno \t\tno \t\t" | g.val.value    | endl;
    75         sout | "no \t\tno \t\tyes\t\t" | ga.val.value   | endl;
    76         sout | "no \t\tyes\t\tno \t\t" | gi.val.value   | endl;
    77         sout | "no \t\tyes\t\tyes\t\t" | gia.val.value  | endl;
    78         sout | "yes\t\tno \t\tno \t\t" | gs.val.value   | endl;
    79         sout | "yes\t\tno \t\tyes\t\t" | gsa.val.value  | endl;
    80         sout | "yes\t\tyes\t\tno \t\t" | gsi.val.value  | endl;
    81         sout | "yes\t\tyes\t\tyes\t\t" | gsia.val.value | endl;
     74        sout | "no \t\tno \t\tno \t\t" | g.val.value;
     75        sout | "no \t\tno \t\tyes\t\t" | ga.val.value;
     76        sout | "no \t\tyes\t\tno \t\t" | gi.val.value;
     77        sout | "no \t\tyes\t\tyes\t\t" | gia.val.value;
     78        sout | "yes\t\tno \t\tno \t\t" | gs.val.value;
     79        sout | "yes\t\tno \t\tyes\t\t" | gsa.val.value;
     80        sout | "yes\t\tyes\t\tno \t\t" | gsi.val.value;
     81        sout | "yes\t\tyes\t\tyes\t\t" | gsia.val.value;
    8282
    8383}
  • tests/random.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // random.c --
     7// random.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Tue Jul  5 21:29:30 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Jan  2 12:19:34 2018
    13 // Update Count     : 19
     12// Last Modified On : Tue Dec  4 21:46:25 2018
     13// Update Count     : 22
    1414//
    1515
    1616#include <fstream.hfa>
    17 #include <stdlib.hfa>                                                                           // random
     17#include <stdlib.hfa>                                                                   // random
    1818#include <unistd.h>                                                                             // getpid
    1919
     
    2424        // test polymorphic calls to random and stream
    2525        char c = random();
    26         sout | c | endl;
     26        sout | c;
    2727        c = random( 'A' );
    28         sout | c | endl;
     28        sout | c;
    2929        c = random( 'A', 'Z' );
    30         sout | c | endl;
     30        sout | c;
    3131
    3232        int i = random();
    33     sout | i | endl;
     33    sout | i;
    3434        i = random( 10 );
    35     sout | i | endl;
     35    sout | i;
    3636        i = random( -10, 20 );
    37     sout | i | endl;
     37    sout | i;
    3838
    3939        unsigned int ui = random();
    40     sout | ui | endl;
     40    sout | ui;
    4141        ui = random( 10u );
    42     sout | ui | endl;
     42    sout | ui;
    4343        ui = random( 10u, 20u );
    44     sout | ui | endl;
     44    sout | ui;
    4545
    4646        long int li = random();
    47     sout | li | endl;
     47    sout | li;
    4848        li = random( 10l );
    49     sout | li | endl;
     49    sout | li;
    5050        li = random( -10l, 20l );
    51     sout | li | endl;
     51    sout | li;
    5252
    5353        unsigned long int uli = random();
    54     sout | uli | endl;
     54    sout | uli;
    5555        uli = random( 10ul );
    56     sout | uli | endl;
     56    sout | uli;
    5757        uli = random( 10ul, 20ul );
    58     sout | uli | endl;
     58    sout | uli;
    5959
    6060    float f = random();
    61     sout | f | endl;
     61    sout | f;
    6262
    6363    double d = random();
    64     sout | d | endl;
     64    sout | d;
    6565
    6666    float _Complex fc = random();
    67     sout | fc | endl;
     67    sout | fc;
    6868
    6969    double _Complex dc = random();
    70     sout | dc | endl;
     70    sout | dc;
    7171
    7272    long double _Complex ldc = random();
    73     sout | ldc | endl;
     73    sout | ldc;
    7474} // main
    7575
    7676// Local Variables: //
    7777// tab-width: 4 //
    78 // compile-command: "cfa random.c" //
     78// compile-command: "cfa random.cfa" //
    7979// End: //
  • tests/rational.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // rational.c -- test rational number package
     7// rational.cfa -- test rational number package
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Mon Mar 28 08:43:12 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Oct 10 23:25:04 2017
    13 // Update Count     : 67
     12// Last Modified On : Tue Dec  4 21:46:42 2018
     13// Update Count     : 69
    1414//
    1515
     
    2727
    2828int main() {
    29         sout | "constructor" | endl;
     29        sout | "constructor";
    3030        Rational(int) a = { 3 }, b = { 4 }, c;
    31         sout | a | b | c | endl;
     31        sout | a | b | c;
    3232
    3333        a = (Rational(int)){ 4, 8 };
    3434        b = (Rational(int)){ 5, 7 };
    35         sout | a | b | endl;
     35        sout | a | b;
    3636        a = (Rational(int)){ -2, -3 };
    3737        b = (Rational(int)){ 3, -2 };
    38         sout | a | b | endl;
     38        sout | a | b;
    3939        a = (Rational(int)){ -2, 3 };
    4040        b = (Rational(int)){ 3, 2 };
    41         sout | a | b | endl;
     41        sout | a | b;
    4242
    43         sout | "logical" | endl;
     43        sout | "logical";
    4444        a = (Rational(int)){ -2 };
    4545        b = (Rational(int)){ -3, 2 };
    46         sout | a | b | endl;
    47 //      sout | a == 1 | endl; // FIX ME
    48         sout | a != b | endl;
    49         sout | a <  b | endl;
    50         sout | a <= b | endl;
    51         sout | a >  b | endl;
    52         sout | a >= b | endl;
     46        sout | a | b;
     47//      sout | a == 1; // FIX ME
     48        sout | a != b;
     49        sout | a <  b;
     50        sout | a <= b;
     51        sout | a >  b;
     52        sout | a >= b;
    5353
    54         sout | "arithmetic" | endl;
    55         sout | a | b | endl;
    56         sout | a + b | endl;
    57         sout | a - b | endl;
    58         sout | a * b | endl;
    59         sout | a / b | endl;
     54        sout | "arithmetic";
     55        sout | a | b;
     56        sout | a + b;
     57        sout | a - b;
     58        sout | a * b;
     59        sout | a / b;
    6060
    61         sout | "conversion" | endl;
     61        sout | "conversion";
    6262        a = (Rational(int)){ 3, 4 };
    63         sout | widen( a ) | endl;
     63        sout | widen( a );
    6464        a = (Rational(int)){ 1, 7 };
    65         sout | widen( a ) | endl;
     65        sout | widen( a );
    6666        a = (Rational(int)){ 355, 113 };
    67         sout | widen( a ) | endl;
    68         sout | narrow( 0.75, 4 ) | endl;
    69         sout | narrow( 0.14285714285714, 16 ) | endl;
    70         sout | narrow( 3.14159265358979, 256 ) | endl;
     67        sout | widen( a );
     68        sout | narrow( 0.75, 4 );
     69        sout | narrow( 0.14285714285714, 16 );
     70        sout | narrow( 3.14159265358979, 256 );
    7171
    72         sout | "decompose" | endl;
     72        sout | "decompose";
    7373        int n, d;
    7474//      [n, d] = a;
    75 //      sout | a | n | d | endl;
     75//      sout | a | n | d;
    7676
    77         sout | "more tests" | endl;
     77        sout | "more tests";
    7878        Rational(int) x = { 1, 2 }, y = { 2 };
    79         sout | x - y | endl;
    80         sout | x > y | endl;
    81         sout | x | numerator( x, 2 ) | x | endl;
    82         sout | y | denominator( y, -2 ) | y | endl;
     79        sout | x - y;
     80        sout | x > y;
     81        sout | x | numerator( x, 2 ) | x;
     82        sout | y | denominator( y, -2 ) | y;
    8383
    8484        Rational(int) z = { 0, 5 };
    85         sout | z | endl;
     85        sout | z;
    8686
    87         sout | x | numerator( x, 0 ) | x | endl;
     87        sout | x | numerator( x, 0 ) | x;
    8888
    8989        x = (Rational(int)){ 1, MAX } + (Rational(int)){ 1, MAX };
    90         sout | x | endl;
     90        sout | x;
    9191        x = (Rational(int)){ 3, MAX } + (Rational(int)){ 2, MAX };
    92         sout | x | endl;
     92        sout | x;
    9393
    9494        sin | a | b;
    95         sout | a | b | endl;
     95        sout | a | b;
    9696} // main
    9797
    9898// Local Variables: //
    9999// tab-width: 4 //
    100 // compile-command: "cfa rational.c" //
     100// compile-command: "cfa rational.cfa" //
    101101// End: //
  • tests/searchsort.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // searchsort.c --
     7// searchsort.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Thu Feb  4 18:17:50 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Aug  9 07:54:57 2018
    13 // Update Count     : 101
     12// Last Modified On : Thu Dec 20 22:49:46 2018
     13// Update Count     : 108
    1414//
    1515
    1616#include <fstream.hfa>
    17 #include <stdlib.hfa>                                                                           // bsearch, qsort
     17#include <stdlib.hfa>                                                                   // bsearch, qsort
    1818#include <stdlib.h>                                                                             // C version of bsearch
    1919
     
    2424        int iarr[size];
    2525
     26        sout | nlOff;                                                                           // turn off auto newline
     27
    2628        for ( i; 0 ~ size ) {
    2729                iarr[i] = size - i;
    2830                sout | iarr[i] | ", ";
    2931        } // for
    30         sout | endl | endl;
     32        sout | nl | nl;
    3133
    3234        // ascending sort/search by changing < to >
     
    3537                sout | iarr[i] | ", ";
    3638        } // for
    37         sout | endl;
     39        sout | nl;
    3840        for ( i; 0 ~ size ) {           // C version
    3941                int key = size - i;
     
    4143                sout | key | ':' | *v | ", ";
    4244        } // for
    43         sout | endl;
     45        sout | nl;
    4446
    4547        for ( i; 0 ~ size ) {
     
    4749                sout | size - i | ':' | *v | ", ";
    4850        } // for
    49         sout | endl;
     51        sout | nl;
    5052        for ( i; 0 ~ size ) {
    5153                unsigned int posn = bsearch( size - i, iarr, size );
    5254                sout | size - i | ':' | iarr[posn] | ", ";
    5355        } // for
    54         sout | endl | endl;
     56        sout | nl | nl;
    5557
    5658        // descending sort/search by changing < to >
     
    5961                sout | iarr[i] | ", ";
    6062        } // for
    61         sout | endl;
     63        sout | nl;
    6264        {
    6365                // redefinition of ?<? can't overlap the loop controls:
    64                 //int ?<?( int x, int y ) { return x > y; }
    6566                {
    6667                        int (*?<?)(int, int) = ?>?;
     
    7071                        sout | iarr[i] | ", ";
    7172                } // for
    72                 sout | endl;
     73                sout | nl;
    7374                for ( i; 0 ~ size ) {
    7475                        int (*?<?)(int, int) = ?>?;
     
    7677                        sout | size - i | ':' | *v | ", ";
    7778                } // for
    78                 sout | endl;
     79                sout | nl;
    7980                for ( i; 0 ~ size ) {
    8081                        int (*?<?)(int, int) = ?>?;
     
    8384                } // for
    8485        }
    85         sout | endl | endl;
     86        sout | nl | nl;
    8687
    8788        double darr[size];
     
    9091                sout | darr[i] | ", ";
    9192        } // for
    92         sout | endl;
     93        sout | nl;
    9394        qsort( darr, size );
    9495        for ( i; 0 ~ size ) {
    9596                sout | darr[i] | ", ";
    9697        } // for
    97         sout | endl;
     98        sout | nl;
    9899        for ( i; 0 ~ size ) {
    99100                double * v = bsearch( size - i + 0.5, darr, size );
    100101                sout | size - i + 0.5 | ':' | *v | ", ";
    101102        } // for
    102         sout | endl;
     103        sout | nl;
    103104        for ( i; 0 ~ size ) {
    104105                unsigned int posn = bsearch( size - i + 0.5, darr, size );
    105106                sout | size - i + 0.5 | ':' | darr[posn] | ", ";
    106107        } // for
    107         sout | endl | endl;
     108        sout | nl | nl;
    108109
    109110        struct S { int i, j; } sarr[size];
     
    115116                sout | sarr[i] | ", ";
    116117        } // for
    117         sout | endl;
     118        sout | nl;
    118119        qsort( sarr, size );
    119120        for ( i; 0 ~ size ) {
    120121                sout | sarr[i] | ", ";
    121122        } // for
    122         sout | endl;
     123        sout | nl;
    123124        for ( i; 0 ~ size ) {
    124125                S temp = { size - i, size - i + 1 };
     
    126127                sout | temp | ':' | *v | ", ";
    127128        } // for
    128         sout | endl;
     129        sout | nl;
    129130        for ( i; 0 ~ size ) {
    130131                S temp = { size - i, size - i + 1 };
     
    132133                sout | temp | ':' | sarr[posn] | ", ";
    133134        } // for
    134         sout | endl | endl;
     135        sout | nl | nl;
    135136        {
    136137                int getKey( const S & s ) { return s.j; }
     
    138139                        sout | sarr[i] | ", ";
    139140                } // for
    140                 sout | endl;
     141                sout | nl;
    141142                for ( i; 0 ~ size ) {
    142143                        S * v = bsearch( size - i + 1, sarr, size );
    143144                        sout | size - i + 1 | ':' | *v | ", ";
    144145                } // for
    145                 sout | endl;
     146                sout | nl;
    146147                for ( i; 0 ~ size ) {
    147148                        unsigned int posn = bsearch( size - i + 1, sarr, size );
    148149                        sout | size - i + 1 | ':' | sarr[posn] | ", ";
    149150                } // for
    150                 sout | endl | endl;
     151                sout | nl | nl;
    151152        }
    152153} // main
     
    154155// Local Variables: //
    155156// tab-width: 4 //
    156 // compile-command: "cfa searchsort.c" //
     157// compile-command: "cfa searchsort.cfa" //
    157158// End: //
  • tests/stdincludes.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // stdincludes.c --
     7// stdincludes.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Tue Aug 29 08:26:14 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Aug 30 07:56:39 2017
    13 // Update Count     : 5
     12// Last Modified On : Tue Nov  6 18:00:53 2018
     13// Update Count     : 6
    1414//
    1515
     
    5151// Local Variables: //
    5252// tab-width: 4 //
    53 // compile-command: "cfa stdincludes.c" //
     53// compile-command: "cfa stdincludes.cfa" //
    5454// End: //
  • tests/sum.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // sum.c -- test resolvers ability to deal with many variables with the same name and to use the minimum number of casts
    8 //    necessary to disambiguate overloaded variable names.
     7// sum.cfa -- test resolvers ability to deal with many variables with the same name and to use the minimum number of
     8//    casts necessary to disambiguate overloaded variable names.
    99//
    1010// Author           : Peter A. Buhr
    1111// Created On       : Wed May 27 17:56:53 2015
    1212// Last Modified By : Peter A. Buhr
    13 // Last Modified On : Thu Aug  2 08:03:09 2018
    14 // Update Count     : 279
     13// Last Modified On : Sun Dec 23 23:00:38 2018
     14// Update Count     : 287
    1515//
    1616
     
    5656        } // for
    5757        sout | "sum from" | low | "to" | High | "is"
    58                  | sum( size, (unsigned char *)a ) | ", check" | (int)s | endl;
     58                 | sum( size, (unsigned char *)a ) | ", check" | (int)s;
    5959
    6060        int s = 0, a[size], v = low;
     
    6464        } // for
    6565        sout | "sum from" | low | "to" | High | "is"
    66                  | sum( size, (int *)a ) | ", check" | (int)s | endl;
     66                 | sum( size, (int *)a ) | ", check" | (int)s;
    6767
    6868        float s = 0.0f, a[size], v = low / 10.0f;
     
    7272        } // for
    7373        sout | "sum from" | low / 10.0f | "to" | High / 10.0f | "is"
    74                  | sum( size, (float *)a ) | ", check" | (float)s | endl;
     74                 | sum( size, (float *)a ) | ", check" | (float)s;
    7575
    7676        double s = 0.0, a[size], v = low / 10.0;
     
    8080        } // for
    8181        sout | "sum from" | low / 10.0 | "to" | High / 10.0 | "is"
    82                  | sum( size, (double *)a ) | ", check" | (double)s | endl;
     82                 | sum( size, (double *)a ) | ", check" | (double)s;
    8383
    8484        struct S { int i, j; };
     
    9393        S ?++( S & t ) { S temp = t; t += (S){1}; return temp; }
    9494        ofstream & ?|?( ofstream & os, S v ) { return os | v.i | v.j; }
     95        void ?|?( ofstream & os, S v ) { (ofstream &)(os | v); nl( os ); }
    9596
    9697        S s = (S){0}, a[size], v = { low, low };
     
    100101        } // for
    101102        sout | "sum from" | low | "to" | High | "is"
    102                  | sum( size, (S *)a ) | ", check" | (S)s | endl;
     103                 | sum( size, (S *)a ) | ", check" | (S)s;
    103104
    104105        forall( otype Impl | sumable( Impl ) )
     
    114115        } // for
    115116        sout | "sum from" | low | "to" | High | "is"
    116                  | sum( size, gs.x ) | ", check" | (int)s | endl; // add field array in generic type
     117                 | sum( size, gs.x ) | ", check" | (int)s;              // add field array in generic type
    117118        delete( gs.x );
    118119} // main
     
    120121// Local Variables: //
    121122// tab-width: 4 //
    122 // compile-command: "cfa sum.c" //
     123// compile-command: "cfa sum.cfa" //
    123124// End: //
  • tests/swap.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // swap.c --
     7// swap.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Dec  7 09:13:13 2017
    13 // Update Count     : 71
     12// Last Modified On : Sun Dec 23 23:00:49 2018
     13// Update Count     : 77
    1414//
    1515
     
    1919int main( void ) {
    2020        char c1 = 'a', c2 = 'b';
    21         sout | "char\t\t\t" | c1 | ' ' | c2 | "\t\t\tswap ";
     21        sout | "char\t\t\t" | c1 | ' ' | c2 | "\t\t\tswap " | nonl;
    2222        swap( c1, c2 );
    23         sout | '\t' | c1 | ' ' | c2 | endl;
     23        sout | '\t' | c1 | ' ' | c2;
    2424
    2525        signed int i1 = -1, i2 = -2;
    26         sout | "signed int\t\t" | i1 | i2 | "\t\t\tswap ";
     26        sout | "signed int\t\t" | i1 | i2 | "\t\t\tswap " | nonl;
    2727        swap( i1, i2 );
    28         sout | '\t' | i1 | i2 | endl;
     28        sout | '\t' | i1 | i2;
    2929
    3030        unsigned int ui1 = 1, ui2 = 2;
    31         sout | "unsigned int\t\t" | ui1 | ui2 | "\t\t\tswap ";
     31        sout | "unsigned int\t\t" | ui1 | ui2 | "\t\t\tswap " | nonl;
    3232        swap( ui1, ui2 );
    33         sout | '\t' | ui1 | ui2 | endl;
     33        sout | '\t' | ui1 | ui2;
    3434
    3535        signed long int li1 = -1, li2 = -2;
    36         sout | "signed long int\t\t" | li1 | li2 | "\t\t\tswap ";
     36        sout | "signed long int\t\t" | li1 | li2 | "\t\t\tswap " | nonl;
    3737        swap( li1, li2 );
    38         sout | '\t' | li1 | li2 | endl;
     38        sout | '\t' | li1 | li2;
    3939
    4040        unsigned long int uli1 = 1, uli2 = 2;
    41         sout | "unsigned long int\t" | uli1 | uli2 | "\t\t\tswap ";
     41        sout | "unsigned long int\t" | uli1 | uli2 | "\t\t\tswap " | nonl;
    4242        swap( uli1, uli2 );
    43         sout | '\t' | uli1 | uli2 | endl;
     43        sout | '\t' | uli1 | uli2;
    4444
    4545        signed long long int lli1 = -1, lli2 = -2;
    46         sout | "signed long long int\t" | lli1 | lli2 | "\t\t\tswap ";
     46        sout | "signed long long int\t" | lli1 | lli2 | "\t\t\tswap " | nonl;
    4747        swap( lli1, lli2 );
    48         sout | '\t' | lli1 | lli2 | endl;
     48        sout | '\t' | lli1 | lli2;
    4949
    5050        unsigned long long int ulli1 = 1, ulli2 = 2;
    51         sout | "unsigned long long int\t" | ulli1 | ulli2 | "\t\t\tswap ";
     51        sout | "unsigned long long int\t" | ulli1 | ulli2 | "\t\t\tswap " | nonl;
    5252        swap( ulli1, ulli2 );
    53         sout | '\t' | ulli1 | ulli2 | endl;
     53        sout | '\t' | ulli1 | ulli2;
    5454
    5555        float f1 = 1.5, f2 = 2.5;
    56         sout | "float\t\t\t" | f1 | f2 | "\t\t\tswap ";
     56        sout | "float\t\t\t" | f1 | f2 | "\t\t\tswap " | nonl;
    5757        swap( f1, f2 );
    58         sout | '\t' | f1 | f2 | endl;
     58        sout | '\t' | f1 | f2;
    5959
    6060        double d1 = 1.5, d2 = 2.5;
    61         sout | "double\t\t\t" | d1 | d2 | "\t\t\tswap ";
     61        sout | "double\t\t\t" | d1 | d2 | "\t\t\tswap " | nonl;
    6262        swap( d1, d2 );
    63         sout | '\t' | d1 | d2 | endl;
     63        sout | '\t' | d1 | d2;
    6464
    6565        long double ld1 = 1.5, ld2 = 2.5;
    66         sout | "long double\t\t" | ld1 | ld2 | "\t\t\tswap ";
     66        sout | "long double\t\t" | ld1 | ld2 | "\t\t\tswap " | nonl;
    6767        swap( ld1, ld2 );
    68         sout | '\t' | ld1 | ld2 | endl;
     68        sout | '\t' | ld1 | ld2;
    6969
    7070        float _Complex fc1 = 1.5f+1.5if, fc2 = 2.5f+2.5if;
    71         sout | "float _Complex\t\t" | fc1 | fc2 | "\tswap ";
     71        sout | "float _Complex\t\t" | fc1 | fc2 | "\tswap " | nonl;
    7272        swap( fc1, fc2 );
    73         sout | '\t' | fc1 | fc2 | endl;
     73        sout | '\t' | fc1 | fc2;
    7474
    7575        double _Complex dc1 = 1.5d+1.5id, dc2 = 2.5d+2.5id;
    76         sout | "double _Complex\t\t" | dc1 | dc2 | "\tswap ";
     76        sout | "double _Complex\t\t" | dc1 | dc2 | "\tswap " | nonl;
    7777        swap( dc1, dc2 );
    78         sout | '\t' | dc1 | dc2 | endl;
     78        sout | '\t' | dc1 | dc2;
    7979
    8080        long double _Complex ldc1 = 1.5d+1.5il, ldc2 = 2.5d+2.5il;
    81         sout | "long double _Complex\t" | ldc1 | ldc2 | "\tswap ";
     81        sout | "long double _Complex\t" | ldc1 | ldc2 | "\tswap " | nonl;
    8282        swap( ldc1, ldc2 );
    83         sout | '\t' | ldc1 | ldc2 | endl;
     83        sout | '\t' | ldc1 | ldc2;
    8484
    8585        struct S { int i, j; } s1 = { 1, 2 }, s2 = { 2, 1 };
    8686        ofstream & ?|?( ofstream & os, S s ) { return os | s.i | s.j; }
    87         sout | "struct S\t\t" | s1 | "," | s2 | "\t\tswap ";
     87        void ?|?( ofstream & os, S s ) { (ofstream &)(os | s.i | s.j); nl( os ); }
     88        sout | "struct S\t\t" | s1 | "," | s2 | "\t\tswap " | nonl;
    8889        swap( s1, s2 );
    89         sout | '\t' | s1 | "," | s2 | endl;
     90        sout | '\t' | s1 | "," | s2;
    9091} // main
    9192
    9293// Local Variables: //
    9394// tab-width: 4 //
    94 // compile-command: "cfa swap.c" //
     95// compile-command: "cfa swap.cfa" //
    9596// End: //
  • tests/switch.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // switch.c --
     7// switch.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Tue Jul 12 06:50:22 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Mar  8 07:33:05 2018
    13 // Update Count     : 36
     12// Last Modified On : Tue Nov  6 18:01:34 2018
     13// Update Count     : 37
    1414//
    1515
     
    104104// Local Variables: //
    105105// tab-width: 4 //
    106 // compile-command: "cfa switch.c" //
     106// compile-command: "cfa switch.cfa" //
    107107// End: //
  • tests/test.py

    rff5caaf r95b8aa7  
    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/tuple/tupleAssign.cfa

    rff5caaf r95b8aa7  
    1010// Created On       : Tue Nov 15 17:24:32 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Mar  6 21:23:58 2017
    13 // Update Count     : 34
     12// Last Modified On : Tue Dec  4 22:03:48 2018
     13// Update Count     : 35
    1414//
    1515
     
    2424                // swap x, y and store the new [x, y] in [u, v] and in z;
    2525                printf( "u=%d v=%d x=%d y=%d z=[%d, %d]\n", u, v, x, y, z );
    26                 sout | "u=" | u | "v=" | v | "x=" | x | "y=" | y | "z=[" | z | "]" | endl;
     26                sout | "u=" | u | "v=" | v | "x=" | x | "y=" | y | "z=[" | z | "]";
    2727                z = [u, v] = [x, y] = [y, x];
    2828                printf( "u=%d v=%d x=%d y=%d z=[%d, %d]\n", u, v, x, y, z );
    29                 sout | "u=" | u | "v=" | v | "x=" | x | "y=" | y | "z=[" | z | "]" | endl;
     29                sout | "u=" | u | "v=" | v | "x=" | x | "y=" | y | "z=[" | z | "]";
    3030
    3131                // shuffle elements -- v = z.0, z.0 = z.1, z.1 = u, u = v
    3232                [v, z, u] = [z, u, v];
    3333                printf( "u=%d v=%d z=[%d, %d]\n", u, v, z );
    34                 sout | "u=" | u | "v=" | v | "z=[" | z | "]" | endl;
     34                sout | "u=" | u | "v=" | v | "z=[" | z | "]";
    3535
    3636                // multiple assignment with tuple expression on right
     
    3838                [u, v] = [123, 456];
    3939                printf( "u=%d v=%d z=[%d, %d]\n", u, v, z );
    40                 sout | "u=" | u | "v=" | v | "z=[" | z | "]" | endl;
     40                sout | "u=" | u | "v=" | v | "z=[" | z | "]";
    4141        }
    4242        {
     
    5555                [t, x, d, i, c, x] = (double)94.12;
    5656                printf( "d=%lg i=%d c=%c t=[%d, %lg, %d]\n", d, i, (int)c, t );
    57                 sout | "d=" | d | "i=" | i | "c=" | c | ' ' | "t=[" | t | "]" | endl;
     57                sout | "d=" | d | "i=" | i | "c=" | c | ' ' | "t=[" | t | "]";
    5858                [x, c, i, d, x, t] = (double)-94.12;
    5959                printf( "d=%lg i=%d c=%c t=[%d, %lg, %d]\n", d, i, c, t );
    60                 sout | "d=" | d | "i=" | i | "c=" | c | ' ' | "t=[" | t | "]" | endl;
     60                sout | "d=" | d | "i=" | i | "c=" | c | ' ' | "t=[" | t | "]";
    6161        }
    6262}
  • tests/userLiterals.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // user_literals.c --
     7// user_literals.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Wed Sep  6 21:40:50 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Apr 29 16:51:42 2018
    13 // Update Count     : 54
     12// Last Modified On : Tue Dec  4 22:03:10 2018
     13// Update Count     : 56
    1414//
    1515
     
    1818#include <uchar.h>
    1919
    20 int ?`s( int s ) { sout | "secs" | s | endl; return s; }
    21 int ?`m( int m ) { sout | "mins" | m | endl; return m * 60; }
    22 int ?`h( int h ) { sout | "hours" | h | endl; return h * 3600; }
    23 int ?`_A_( int x ) { sout | "_A_" | x | endl; return x; }
    24 int ?`__thingy_( int x ) { sout | "_thingy_" | x | endl; return x; }
     20int ?`s( int s ) { sout | "secs" | s; return s; }
     21int ?`m( int m ) { sout | "mins" | m; return m * 60; }
     22int ?`h( int h ) { sout | "hours" | h; return h * 3600; }
     23int ?`_A_( int x ) { sout | "_A_" | x; return x; }
     24int ?`__thingy_( int x ) { sout | "_thingy_" | x; return x; }
    2525
    26 int ?`s( const char * s ) { sout | "secs" | s | endl; return 0; }
    27 int ?`m( const char16_t * m ) { sout | "mins" | m | endl; return 0;}
    28 int ?`h( const char32_t * h ) { sout | "hours" | h | endl; return 0; }
    29 int ?`_A_( const wchar_t * str ) { sout | "_A_" | str | endl; return 0; }
    30 int ?`__thingy_( const char * str ) { sout | "_thingy_" | str | endl; return 0; }
     26int ?`s( const char * s ) { sout | "secs" | s; return 0; }
     27int ?`m( const char16_t * m ) { sout | "mins" | m; return 0;}
     28int ?`h( const char32_t * h ) { sout | "hours" | h; return 0; }
     29int ?`_A_( const wchar_t * str ) { sout | "_A_" | str; return 0; }
     30int ?`__thingy_( const char * str ) { sout | "_thingy_" | str; return 0; }
    3131
    3232
     
    4646        Weight w, heavy = { 20 };                                                       // 20 stone
    4747        w = 155`lb;
    48         sout | w | endl;
     48        sout | w;
    4949        w = 0b_1111`st;
    50         sout | w | endl;
     50        sout | w;
    5151        w = 0_233`lb;                                                                           // octal weight (155)
    52         sout | w | endl;
     52        sout | w;
    5353        w = 0x_9b_u`kg;
    54         sout | w | endl;
     54        sout | w;
    5555        w = 70.3`kg;
    56         sout | w | endl;
     56        sout | w;
    5757        w = 11`st + 1`lb;
    58         sout | w | endl;
     58        sout | w;
    5959        w = 5`st + 8`kg + 25`lb + heavy;
    60         sout | w | endl;
     60        sout | w;
    6161
    6262//      0`secs;
     
    9090// Local Variables: //
    9191// tab-width: 4 //
    92 // compile-command: "cfa user_literals.c" //
     92// compile-command: "cfa user_literals.cfa" //
    9393// End: //
  • tests/variableDeclarator.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // variableDeclarator.c --
     7// variableDeclarator.cfa --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Wed Aug 17 08:41:42 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Aug 17 08:42:21 2016
    13 // Update Count     : 1
     12// Last Modified On : Tue Nov  6 18:02:16 2018
     13// Update Count     : 2
    1414//
    1515
     
    182182// Local Variables: //
    183183// tab-width: 4 //
    184 // compile-command: "cfa variableDeclarator.c" //
     184// compile-command: "cfa variableDeclarator.cfa" //
    185185// End: //
  • tests/vector.cfa

    rff5caaf r95b8aa7  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // vector.c --
     7// vector.cfa --
    88//
    99// Author           : Thierry Delisle
    1010// Created On       : Mon Jul  4 23:36:19 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jan 18 17:08:08 2018
    13 // Update Count     : 27
     12// Last Modified On : Tue Dec  4 22:02:39 2018
     13// Update Count     : 29
    1414//
    1515
     
    2121        do {                                                                            \
    2222                if ( !(x) ) {                                                   \
    23                         sout | "CHECK failed :" | #x | "at" | __FILE__ | " :" | __LINE__ | endl;        \
     23                        sout | "CHECK failed :" | #x | "at" | __FILE__ | " :" | __LINE__;       \
    2424                        abort();                                                        \
    2525                }                                                                               \
     
    3131        assert( empty( &iv ) );
    3232        assert( size( &iv ) == 0 );
    33         sout | size( &iv ) | endl;
     33        sout | size( &iv );
    3434
    3535        push_back( &iv, 1 );
    3636        assert( size( &iv ) == 1 );
    37         sout | size( &iv ) | endl;
     37        sout | size( &iv );
    3838
    3939        push_back( &iv, 2 );
    4040        assert( size( &iv ) == 2 );
    41         sout | size( &iv ) | endl;
     41        sout | size( &iv );
    4242
    4343        push_back( &iv, 3 );
    4444        assert( size( &iv ) == 3 );
    45         sout | size( &iv ) | endl;
     45        sout | size( &iv );
    4646
    4747        assert( !empty( &iv ) );
     
    5858        assert( empty( &iv ) );
    5959        assert( size( &iv ) == 0 );
    60         sout | size( &iv ) | endl;
     60        sout | size( &iv );
    6161}
    6262
    6363// Local Variables: //
    6464// tab-width: 4 //
    65 // compile-command: "cfa vector.c" //
     65// compile-command: "cfa vector.cfa" //
    6666// End: //
  • tests/warnings/.expect/self-assignment.txt

    rff5caaf r95b8aa7  
    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

    rff5caaf r95b8aa7  
    1616
    1717AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     18ACLOCAL_AMFLAGS  = -I automake
    1819
    19 CC = @BACKEND_CC@
    2020AM_CFLAGS = -Wall -Wextra -O2 -g
    2121
  • tools/Makefile.in

    rff5caaf r95b8aa7  
    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@
    186202AUTOMAKE = @AUTOMAKE@
    187203AWK = @AWK@
    188 BACKEND_CC = @BACKEND_CC@
    189204BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@
    190 CC = @BACKEND_CC@
     205CC = @CC@
    191206CCAS = @CCAS@
    192207CCASDEPMODE = @CCASDEPMODE@
     
    206221CPPFLAGS = @CPPFLAGS@
    207222CXX = @CXX@
     223CXXCPP = @CXXCPP@
    208224CXXDEPMODE = @CXXDEPMODE@
    209225CXXFLAGS = @CXXFLAGS@
     
    211227DEFS = @DEFS@
    212228DEPDIR = @DEPDIR@
     229DLLTOOL = @DLLTOOL@
    213230DRIVER_DIR = @DRIVER_DIR@
     231DSYMUTIL = @DSYMUTIL@
     232DUMPBIN = @DUMPBIN@
    214233ECHO_C = @ECHO_C@
    215234ECHO_N = @ECHO_N@
     
    217236EGREP = @EGREP@
    218237EXEEXT = @EXEEXT@
     238FGREP = @FGREP@
    219239GREP = @GREP@
    220240HOST_FLAGS = @HOST_FLAGS@
     
    224244INSTALL_SCRIPT = @INSTALL_SCRIPT@
    225245INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     246LD = @LD@
    226247LDFLAGS = @LDFLAGS@
    227248LEX = @LEX@
     
    232253LIBOBJS = @LIBOBJS@
    233254LIBS = @LIBS@
     255LIBTOOL = @LIBTOOL@
     256LIPO = @LIPO@
     257LN_S = @LN_S@
    234258LTLIBOBJS = @LTLIBOBJS@
     259LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    235260MAKEINFO = @MAKEINFO@
     261MANIFEST_TOOL = @MANIFEST_TOOL@
    236262MKDIR_P = @MKDIR_P@
     263NM = @NM@
     264NMEDIT = @NMEDIT@
     265OBJDUMP = @OBJDUMP@
    237266OBJEXT = @OBJEXT@
     267OTOOL = @OTOOL@
     268OTOOL64 = @OTOOL64@
    238269PACKAGE = @PACKAGE@
    239270PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    245276PATH_SEPARATOR = @PATH_SEPARATOR@
    246277RANLIB = @RANLIB@
     278SED = @SED@
    247279SET_MAKE = @SET_MAKE@
    248280SHELL = @SHELL@
     
    256288abs_top_builddir = @abs_top_builddir@
    257289abs_top_srcdir = @abs_top_srcdir@
     290ac_ct_AR = @ac_ct_AR@
    258291ac_ct_CC = @ac_ct_CC@
    259292ac_ct_CXX = @ac_ct_CXX@
     293ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    260294am__include = @am__include@
    261295am__leading_dot = @am__leading_dot@
     
    305339top_srcdir = @top_srcdir@
    306340AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     341ACLOCAL_AMFLAGS = -I automake
    307342AM_CFLAGS = -Wall -Wextra -O2 -g
    308343busy_SOURCES = busy.c
     
    314349
    315350.SUFFIXES:
    316 .SUFFIXES: .c .o .obj
     351.SUFFIXES: .c .lo .o .obj
    317352$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
    318353        @for dep in $?; do \
     
    346381
    347382clean-noinstPROGRAMS:
    348         -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
    349390
    350391busy$(EXEEXT): $(busy_OBJECTS) $(busy_DEPENDENCIES) $(EXTRA_busy_DEPENDENCIES)
     
    390431@AMDEP_TRUE@@am__fastdepCC_FALSE@       DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    391432@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
    392447
    393448ID: $(am__tagged_files)
     
    509564clean: clean-am
    510565
    511 clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am
     566clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
     567        mostlyclean-am
    512568
    513569distclean: distclean-am
     
    564620mostlyclean: mostlyclean-am
    565621
    566 mostlyclean-am: mostlyclean-compile mostlyclean-generic
     622mostlyclean-am: mostlyclean-compile mostlyclean-generic \
     623        mostlyclean-libtool
    567624
    568625pdf: pdf-am
     
    579636
    580637.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
    581         clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
    582         distclean-compile distclean-generic distclean-tags distdir dvi \
    583         dvi-am html html-am info info-am install install-am \
    584         install-data install-data-am install-dvi install-dvi-am \
    585         install-exec install-exec-am install-html install-html-am \
    586         install-info install-info-am install-man install-pdf \
    587         install-pdf-am install-ps install-ps-am install-strip \
    588         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 \
    589647        maintainer-clean-generic mostlyclean mostlyclean-compile \
    590         mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
    591         uninstall-am
     648        mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
     649        tags tags-am uninstall uninstall-am
    592650
    593651.PRECIOUS: Makefile
  • tools/prettyprinter/Makefile.am

    rff5caaf r95b8aa7  
    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

    rff5caaf r95b8aa7  
    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@
    210231AUTOMAKE = @AUTOMAKE@
    211232AWK = @AWK@
    212 BACKEND_CC = @BACKEND_CC@
    213233BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@
    214234CC = @CC@
     
    230250CPPFLAGS = @CPPFLAGS@
    231251CXX = @CXX@
     252CXXCPP = @CXXCPP@
    232253CXXDEPMODE = @CXXDEPMODE@
    233254CXXFLAGS = @CXXFLAGS@
     
    235256DEFS = @DEFS@
    236257DEPDIR = @DEPDIR@
     258DLLTOOL = @DLLTOOL@
    237259DRIVER_DIR = @DRIVER_DIR@
     260DSYMUTIL = @DSYMUTIL@
     261DUMPBIN = @DUMPBIN@
    238262ECHO_C = @ECHO_C@
    239263ECHO_N = @ECHO_N@
     
    241265EGREP = @EGREP@
    242266EXEEXT = @EXEEXT@
     267FGREP = @FGREP@
    243268GREP = @GREP@
    244269HOST_FLAGS = @HOST_FLAGS@
     
    248273INSTALL_SCRIPT = @INSTALL_SCRIPT@
    249274INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     275LD = @LD@
    250276LDFLAGS = @LDFLAGS@
    251277LEX = @LEX@
     
    256282LIBOBJS = @LIBOBJS@
    257283LIBS = @LIBS@
     284LIBTOOL = @LIBTOOL@
     285LIPO = @LIPO@
     286LN_S = @LN_S@
    258287LTLIBOBJS = @LTLIBOBJS@
     288LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
    259289MAKEINFO = @MAKEINFO@
     290MANIFEST_TOOL = @MANIFEST_TOOL@
    260291MKDIR_P = @MKDIR_P@
     292NM = @NM@
     293NMEDIT = @NMEDIT@
     294OBJDUMP = @OBJDUMP@
    261295OBJEXT = @OBJEXT@
     296OTOOL = @OTOOL@
     297OTOOL64 = @OTOOL64@
    262298PACKAGE = @PACKAGE@
    263299PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     
    269305PATH_SEPARATOR = @PATH_SEPARATOR@
    270306RANLIB = @RANLIB@
     307SED = @SED@
    271308SET_MAKE = @SET_MAKE@
    272309SHELL = @SHELL@
     
    280317abs_top_builddir = @abs_top_builddir@
    281318abs_top_srcdir = @abs_top_srcdir@
     319ac_ct_AR = @ac_ct_AR@
    282320ac_ct_CC = @ac_ct_CC@
    283321ac_ct_CXX = @ac_ct_CXX@
     322ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
    284323am__include = @am__include@
    285324am__leading_dot = @am__leading_dot@
     
    329368top_srcdir = @top_srcdir@
    330369AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     370ACLOCAL_AMFLAGS = -I automake
    331371BUILT_SOURCES = parser.hh
    332372AM_YFLAGS = -d -t -v
     
    346386
    347387.SUFFIXES:
    348 .SUFFIXES: .cc .ll .o .obj .yy
     388.SUFFIXES: .cc .ll .lo .o .obj .yy
    349389$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
    350390        @for dep in $?; do \
     
    386426        sed 's/$(EXEEXT)$$//' | \
    387427        while read p p1; do if test -f $$p \
     428         || test -f $$p1 \
    388429          ; then echo "$$p"; echo "$$p"; else :; fi; \
    389430        done | \
     
    400441            if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
    401442            test -z "$$files" || { \
    402               echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(tools_prettyprinterdir)$$dir'"; \
    403               $(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 $$?; \
    404445            } \
    405446        ; done
     
    417458
    418459clean-tools_prettyprinterPROGRAMS:
    419         -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
    420467parser.hh: parser.cc
    421468        @if test ! -f $@; then rm -f parser.cc; else :; fi
     
    454501@am__fastdepCXX_FALSE@  $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
    455502
     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
    456511pretty-lex.o: lex.cc
    457512@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
     
    529584.yy.cc:
    530585        $(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
    531592
    532593ID: $(am__tagged_files)
     
    658719clean: clean-am
    659720
    660 clean-am: clean-generic clean-tools_prettyprinterPROGRAMS \
    661         mostlyclean-am
     721clean-am: clean-generic clean-libtool \
     722        clean-tools_prettyprinterPROGRAMS mostlyclean-am
    662723
    663724distclean: distclean-am
     
    714775mostlyclean: mostlyclean-am
    715776
    716 mostlyclean-am: mostlyclean-compile mostlyclean-generic
     777mostlyclean-am: mostlyclean-compile mostlyclean-generic \
     778        mostlyclean-libtool
    717779
    718780pdf: pdf-am
     
    729791
    730792.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
    731         clean-tools_prettyprinterPROGRAMS cscopelist-am ctags ctags-am \
    732         distclean distclean-compile distclean-generic distclean-tags \
    733         distdir dvi dvi-am html html-am info info-am install \
    734         install-am install-data install-data-am install-dvi \
    735         install-dvi-am install-exec install-exec-am install-html \
    736         install-html-am install-info install-info-am install-man \
    737         install-pdf install-pdf-am install-ps install-ps-am \
    738         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 \
    739802        installcheck-am installdirs maintainer-clean \
    740803        maintainer-clean-generic mostlyclean mostlyclean-compile \
    741         mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
    742         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
    743807
    744808.PRECIOUS: Makefile
Note: See TracChangeset for help on using the changeset viewer.