Changeset e99e43f


Ignore:
Timestamp:
Jan 10, 2019, 3:50:34 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:
d97c3a4
Parents:
aeb8f70 (diff), 08222c7 (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.
git-author:
Aaron Moss <a3moss@…> (01/10/19 14:46:09)
git-committer:
Aaron Moss <a3moss@…> (01/10/19 15:50:34)
Message:

Merge remote-tracking branch 'plg/master' into deferred_resn

Files:
54 added
15 deleted
112 edited
126 moved

Legend:

Unmodified
Added
Removed
  • INSTALL

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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])
  • benchmark/Makefile.am

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

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

    raeb8f70 re99e43f  
    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
     
    34943566        echo -n "${LIBCFA_PATHS} " >> ${lib_dir}/config.data
    34953567        echo -n "ARCHITECTURE=${lib_arch} " >> ${lib_dir}/config.data
    3496         echo -n "CONFIGURATION=${lib_config}" >> ${lib_dir}/config.data
     3568        echo -n "CONFIGURATION=${lib_config} " >> ${lib_dir}/config.data
     3569        echo -n "CFA_VERSION=${ver_major}:${ver_minor}:${ver_patch}" >> ${lib_dir}/config.data
    34973570done
    34983571
     
    53155388fi
    53165389if 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 :
     5390case `pwd` in
     5391  *\ * | *\     *)
     5392    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
     5393$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
     5394esac
     5395
     5396
     5397
     5398macro_version='2.4.6'
     5399macro_revision='2.4.6'
     5400
     5401
     5402
     5403
     5404
     5405
     5406
     5407
     5408
     5409
     5410
     5411
     5412
     5413ltmain=$ac_aux_dir/ltmain.sh
     5414
     5415# Backslashify metacharacters that are still active within
     5416# double-quoted strings.
     5417sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
     5418
     5419# Same as above, but do not quote variable references.
     5420double_quote_subst='s/\(["`\\]\)/\\\1/g'
     5421
     5422# Sed substitution to delay expansion of an escaped shell variable in a
     5423# double_quote_subst'ed string.
     5424delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
     5425
     5426# Sed substitution to delay expansion of an escaped single quote.
     5427delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
     5428
     5429# Sed substitution to avoid accidental globbing in evaled expressions
     5430no_glob_subst='s/\*/\\\*/g'
     5431
     5432ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
     5433ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
     5434ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
     5435
     5436{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
     5437$as_echo_n "checking how to print strings... " >&6; }
     5438# Test print first, because it will be a builtin if present.
     5439if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
     5440   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
     5441  ECHO='print -r --'
     5442elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
     5443  ECHO='printf %s\n'
     5444else
     5445  # Use this function as a fallback that always works.
     5446  func_fallback_echo ()
     5447  {
     5448    eval 'cat <<_LTECHO_EOF
     5449$1
     5450_LTECHO_EOF'
     5451  }
     5452  ECHO='func_fallback_echo'
     5453fi
     5454
     5455# func_echo_all arg...
     5456# Invoke $ECHO with all args, space-separated.
     5457func_echo_all ()
     5458{
     5459    $ECHO ""
     5460}
     5461
     5462case $ECHO in
     5463  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
     5464$as_echo "printf" >&6; } ;;
     5465  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
     5466$as_echo "print -r" >&6; } ;;
     5467  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
     5468$as_echo "cat" >&6; } ;;
     5469esac
     5470
     5471
     5472
     5473
     5474
     5475
     5476
     5477
     5478
     5479
     5480
     5481
     5482
     5483
     5484{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
     5485$as_echo_n "checking for a sed that does not truncate output... " >&6; }
     5486if ${ac_cv_path_SED+:} false; then :
    53235487  $as_echo_n "(cached) " >&6
    53245488else
    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
     5489            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
     5490     for ac_i in 1 2 3 4 5 6 7; do
     5491       ac_script="$ac_script$as_nl$ac_script"
     5492     done
     5493     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
     5494     { ac_script=; unset ac_script;}
     5495     if test -z "$SED"; then
     5496  ac_path_SED_found=false
     5497  # Loop through the user's path and test for each of PROGNAME-LIST
     5498  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
    53615499for as_dir in $PATH
    53625500do
    53635501  IFS=$as_save_IFS
    53645502  test -z "$as_dir" && as_dir=.
     5503    for ac_prog in sed gsed; do
    53655504    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
     5505      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
     5506      as_fn_executable_p "$ac_path_SED" || continue
     5507# Check for GNU ac_path_SED and select it if it is found.
     5508  # Check for GNU $ac_path_SED
     5509case `"$ac_path_SED" --version 2>&1` in
     5510*GNU*)
     5511  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
     5512*)
     5513  ac_count=0
     5514  $as_echo_n 0123456789 >"conftest.in"
     5515  while :
     5516  do
     5517    cat "conftest.in" "conftest.in" >"conftest.tmp"
     5518    mv "conftest.tmp" "conftest.in"
     5519    cp "conftest.in" "conftest.nl"
     5520    $as_echo '' >> "conftest.nl"
     5521    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
     5522    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     5523    as_fn_arith $ac_count + 1 && ac_count=$as_val
     5524    if test $ac_count -gt ${ac_path_SED_max-0}; then
     5525      # Best one so far, save it but keep looking for a better one
     5526      ac_cv_path_SED="$ac_path_SED"
     5527      ac_path_SED_max=$ac_count
     5528    fi
     5529    # 10*(2^10) chars as input seems more than enough
     5530    test $ac_count -gt 10 && break
     5531  done
     5532  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
     5533esac
     5534
     5535      $ac_path_SED_found && break 3
     5536    done
     5537  done
    53725538  done
    53735539IFS=$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
     5540  if test -z "$ac_cv_path_SED"; then
     5541    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
    54105542  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
     5543else
     5544  ac_cv_path_SED=$SED
     5545fi
     5546
     5547fi
     5548{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
     5549$as_echo "$ac_cv_path_SED" >&6; }
     5550 SED="$ac_cv_path_SED"
     5551  rm -f conftest.sed
     5552
     5553test -z "$SED" && SED=sed
     5554Xsed="$SED -e 1s/^X//"
     5555
     5556
     5557
     5558
     5559
     5560
     5561
     5562
     5563
    56315564
    56325565
     
    57615694
    57625695
     5696{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
     5697$as_echo_n "checking for fgrep... " >&6; }
     5698if ${ac_cv_path_FGREP+:} false; then :
     5699  $as_echo_n "(cached) " >&6
     5700else
     5701  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
     5702   then ac_cv_path_FGREP="$GREP -F"
     5703   else
     5704     if test -z "$FGREP"; then
     5705  ac_path_FGREP_found=false
     5706  # Loop through the user's path and test for each of PROGNAME-LIST
     5707  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     5708for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
     5709do
     5710  IFS=$as_save_IFS
     5711  test -z "$as_dir" && as_dir=.
     5712    for ac_prog in fgrep; do
     5713    for ac_exec_ext in '' $ac_executable_extensions; do
     5714      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
     5715      as_fn_executable_p "$ac_path_FGREP" || continue
     5716# Check for GNU ac_path_FGREP and select it if it is found.
     5717  # Check for GNU $ac_path_FGREP
     5718case `"$ac_path_FGREP" --version 2>&1` in
     5719*GNU*)
     5720  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
     5721*)
     5722  ac_count=0
     5723  $as_echo_n 0123456789 >"conftest.in"
     5724  while :
     5725  do
     5726    cat "conftest.in" "conftest.in" >"conftest.tmp"
     5727    mv "conftest.tmp" "conftest.in"
     5728    cp "conftest.in" "conftest.nl"
     5729    $as_echo 'FGREP' >> "conftest.nl"
     5730    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
     5731    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     5732    as_fn_arith $ac_count + 1 && ac_count=$as_val
     5733    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
     5734      # Best one so far, save it but keep looking for a better one
     5735      ac_cv_path_FGREP="$ac_path_FGREP"
     5736      ac_path_FGREP_max=$ac_count
     5737    fi
     5738    # 10*(2^10) chars as input seems more than enough
     5739    test $ac_count -gt 10 && break
     5740  done
     5741  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
     5742esac
     5743
     5744      $ac_path_FGREP_found && break 3
     5745    done
     5746  done
     5747  done
     5748IFS=$as_save_IFS
     5749  if test -z "$ac_cv_path_FGREP"; then
     5750    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
     5751  fi
     5752else
     5753  ac_cv_path_FGREP=$FGREP
     5754fi
     5755
     5756   fi
     5757fi
     5758{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
     5759$as_echo "$ac_cv_path_FGREP" >&6; }
     5760 FGREP="$ac_cv_path_FGREP"
     5761
     5762
     5763test -z "$GREP" && GREP=grep
     5764
     5765
     5766
     5767
     5768
     5769
     5770
     5771
     5772
     5773
     5774
     5775
     5776
     5777
     5778
     5779
     5780
     5781
     5782
     5783# Check whether --with-gnu-ld was given.
     5784if test "${with_gnu_ld+set}" = set; then :
     5785  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
     5786else
     5787  with_gnu_ld=no
     5788fi
     5789
     5790ac_prog=ld
     5791if test yes = "$GCC"; then
     5792  # Check if gcc -print-prog-name=ld gives a path.
     5793  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
     5794$as_echo_n "checking for ld used by $CC... " >&6; }
     5795  case $host in
     5796  *-*-mingw*)
     5797    # gcc leaves a trailing carriage return, which upsets mingw
     5798    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
     5799  *)
     5800    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
     5801  esac
     5802  case $ac_prog in
     5803    # Accept absolute paths.
     5804    [\\/]* | ?:[\\/]*)
     5805      re_direlt='/[^/][^/]*/\.\./'
     5806      # Canonicalize the pathname of ld
     5807      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
     5808      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
     5809        ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
     5810      done
     5811      test -z "$LD" && LD=$ac_prog
     5812      ;;
     5813  "")
     5814    # If it fails, then pretend we aren't using GCC.
     5815    ac_prog=ld
     5816    ;;
     5817  *)
     5818    # If it is relative, then search for the first ld in PATH.
     5819    with_gnu_ld=unknown
     5820    ;;
     5821  esac
     5822elif test yes = "$with_gnu_ld"; then
     5823  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
     5824$as_echo_n "checking for GNU ld... " >&6; }
     5825else
     5826  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
     5827$as_echo_n "checking for non-GNU ld... " >&6; }
     5828fi
     5829if ${lt_cv_path_LD+:} false; then :
     5830  $as_echo_n "(cached) " >&6
     5831else
     5832  if test -z "$LD"; then
     5833  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     5834  for ac_dir in $PATH; do
     5835    IFS=$lt_save_ifs
     5836    test -z "$ac_dir" && ac_dir=.
     5837    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
     5838      lt_cv_path_LD=$ac_dir/$ac_prog
     5839      # Check to see if the program is GNU ld.  I'd rather use --version,
     5840      # but apparently some variants of GNU ld only accept -v.
     5841      # Break only if it was the GNU/non-GNU ld that we prefer.
     5842      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
     5843      *GNU* | *'with BFD'*)
     5844        test no != "$with_gnu_ld" && break
     5845        ;;
     5846      *)
     5847        test yes != "$with_gnu_ld" && break
     5848        ;;
     5849      esac
     5850    fi
     5851  done
     5852  IFS=$lt_save_ifs
     5853else
     5854  lt_cv_path_LD=$LD # Let the user override the test with a path.
     5855fi
     5856fi
     5857
     5858LD=$lt_cv_path_LD
     5859if test -n "$LD"; then
     5860  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
     5861$as_echo "$LD" >&6; }
     5862else
     5863  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     5864$as_echo "no" >&6; }
     5865fi
     5866test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
     5867{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
     5868$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
     5869if ${lt_cv_prog_gnu_ld+:} false; then :
     5870  $as_echo_n "(cached) " >&6
     5871else
     5872  # I'd rather use --version here, but apparently some GNU lds only accept -v.
     5873case `$LD -v 2>&1 </dev/null` in
     5874*GNU* | *'with BFD'*)
     5875  lt_cv_prog_gnu_ld=yes
     5876  ;;
     5877*)
     5878  lt_cv_prog_gnu_ld=no
     5879  ;;
     5880esac
     5881fi
     5882{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
     5883$as_echo "$lt_cv_prog_gnu_ld" >&6; }
     5884with_gnu_ld=$lt_cv_prog_gnu_ld
     5885
     5886
     5887
     5888
     5889
     5890
     5891
     5892
     5893
     5894{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
     5895$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
     5896if ${lt_cv_path_NM+:} false; then :
     5897  $as_echo_n "(cached) " >&6
     5898else
     5899  if test -n "$NM"; then
     5900  # Let the user override the test.
     5901  lt_cv_path_NM=$NM
     5902else
     5903  lt_nm_to_check=${ac_tool_prefix}nm
     5904  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
     5905    lt_nm_to_check="$lt_nm_to_check nm"
     5906  fi
     5907  for lt_tmp_nm in $lt_nm_to_check; do
     5908    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     5909    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
     5910      IFS=$lt_save_ifs
     5911      test -z "$ac_dir" && ac_dir=.
     5912      tmp_nm=$ac_dir/$lt_tmp_nm
     5913      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
     5914        # Check to see if the nm accepts a BSD-compat flag.
     5915        # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
     5916        #   nm: unknown option "B" ignored
     5917        # Tru64's nm complains that /dev/null is an invalid object file
     5918        # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
     5919        case $build_os in
     5920        mingw*) lt_bad_file=conftest.nm/nofile ;;
     5921        *) lt_bad_file=/dev/null ;;
     5922        esac
     5923        case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
     5924        *$lt_bad_file* | *'Invalid file or object type'*)
     5925          lt_cv_path_NM="$tmp_nm -B"
     5926          break 2
     5927          ;;
     5928        *)
     5929          case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
     5930          */dev/null*)
     5931            lt_cv_path_NM="$tmp_nm -p"
     5932            break 2
     5933            ;;
     5934          *)
     5935            lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
     5936            continue # so that we can try to find one that supports BSD flags
     5937            ;;
     5938          esac
     5939          ;;
     5940        esac
     5941      fi
     5942    done
     5943    IFS=$lt_save_ifs
     5944  done
     5945  : ${lt_cv_path_NM=no}
     5946fi
     5947fi
     5948{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
     5949$as_echo "$lt_cv_path_NM" >&6; }
     5950if test no != "$lt_cv_path_NM"; then
     5951  NM=$lt_cv_path_NM
     5952else
     5953  # Didn't find any BSD compatible name lister, look for dumpbin.
     5954  if test -n "$DUMPBIN"; then :
     5955    # Let the user override the test.
     5956  else
     5957    if test -n "$ac_tool_prefix"; then
     5958  for ac_prog in dumpbin "link -dump"
     5959  do
     5960    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
     5961set dummy $ac_tool_prefix$ac_prog; ac_word=$2
     5962{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     5963$as_echo_n "checking for $ac_word... " >&6; }
     5964if ${ac_cv_prog_DUMPBIN+:} false; then :
     5965  $as_echo_n "(cached) " >&6
     5966else
     5967  if test -n "$DUMPBIN"; then
     5968  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
     5969else
     5970as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     5971for as_dir in $PATH
     5972do
     5973  IFS=$as_save_IFS
     5974  test -z "$as_dir" && as_dir=.
     5975    for ac_exec_ext in '' $ac_executable_extensions; do
     5976  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     5977    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     5978    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     5979    break 2
     5980  fi
     5981done
     5982  done
     5983IFS=$as_save_IFS
     5984
     5985fi
     5986fi
     5987DUMPBIN=$ac_cv_prog_DUMPBIN
     5988if test -n "$DUMPBIN"; then
     5989  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
     5990$as_echo "$DUMPBIN" >&6; }
     5991else
     5992  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     5993$as_echo "no" >&6; }
     5994fi
     5995
     5996
     5997    test -n "$DUMPBIN" && break
     5998  done
     5999fi
     6000if test -z "$DUMPBIN"; then
     6001  ac_ct_DUMPBIN=$DUMPBIN
     6002  for ac_prog in dumpbin "link -dump"
     6003do
     6004  # Extract the first word of "$ac_prog", so it can be a program name with args.
     6005set dummy $ac_prog; ac_word=$2
     6006{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6007$as_echo_n "checking for $ac_word... " >&6; }
     6008if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
     6009  $as_echo_n "(cached) " >&6
     6010else
     6011  if test -n "$ac_ct_DUMPBIN"; then
     6012  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
     6013else
     6014as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6015for as_dir in $PATH
     6016do
     6017  IFS=$as_save_IFS
     6018  test -z "$as_dir" && as_dir=.
     6019    for ac_exec_ext in '' $ac_executable_extensions; do
     6020  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6021    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     6022    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6023    break 2
     6024  fi
     6025done
     6026  done
     6027IFS=$as_save_IFS
     6028
     6029fi
     6030fi
     6031ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
     6032if test -n "$ac_ct_DUMPBIN"; then
     6033  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
     6034$as_echo "$ac_ct_DUMPBIN" >&6; }
     6035else
     6036  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6037$as_echo "no" >&6; }
     6038fi
     6039
     6040
     6041  test -n "$ac_ct_DUMPBIN" && break
     6042done
     6043
     6044  if test "x$ac_ct_DUMPBIN" = x; then
     6045    DUMPBIN=":"
     6046  else
     6047    case $cross_compiling:$ac_tool_warned in
     6048yes:)
     6049{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     6050$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     6051ac_tool_warned=yes ;;
     6052esac
     6053    DUMPBIN=$ac_ct_DUMPBIN
     6054  fi
     6055fi
     6056
     6057    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
     6058    *COFF*)
     6059      DUMPBIN="$DUMPBIN -symbols -headers"
     6060      ;;
     6061    *)
     6062      DUMPBIN=:
     6063      ;;
     6064    esac
     6065  fi
     6066
     6067  if test : != "$DUMPBIN"; then
     6068    NM=$DUMPBIN
     6069  fi
     6070fi
     6071test -z "$NM" && NM=nm
     6072
     6073
     6074
     6075
     6076
     6077
     6078{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
     6079$as_echo_n "checking the name lister ($NM) interface... " >&6; }
     6080if ${lt_cv_nm_interface+:} false; then :
     6081  $as_echo_n "(cached) " >&6
     6082else
     6083  lt_cv_nm_interface="BSD nm"
     6084  echo "int some_variable = 0;" > conftest.$ac_ext
     6085  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
     6086  (eval "$ac_compile" 2>conftest.err)
     6087  cat conftest.err >&5
     6088  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
     6089  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
     6090  cat conftest.err >&5
     6091  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
     6092  cat conftest.out >&5
     6093  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
     6094    lt_cv_nm_interface="MS dumpbin"
     6095  fi
     6096  rm -f conftest*
     6097fi
     6098{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
     6099$as_echo "$lt_cv_nm_interface" >&6; }
     6100
     6101{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
     6102$as_echo_n "checking whether ln -s works... " >&6; }
     6103LN_S=$as_ln_s
     6104if test "$LN_S" = "ln -s"; then
     6105  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
     6106$as_echo "yes" >&6; }
     6107else
     6108  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
     6109$as_echo "no, using $LN_S" >&6; }
     6110fi
     6111
     6112# find the maximum length of command line arguments
     6113{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
     6114$as_echo_n "checking the maximum length of command line arguments... " >&6; }
     6115if ${lt_cv_sys_max_cmd_len+:} false; then :
     6116  $as_echo_n "(cached) " >&6
     6117else
     6118    i=0
     6119  teststring=ABCD
     6120
     6121  case $build_os in
     6122  msdosdjgpp*)
     6123    # On DJGPP, this test can blow up pretty badly due to problems in libc
     6124    # (any single argument exceeding 2000 bytes causes a buffer overrun
     6125    # during glob expansion).  Even if it were fixed, the result of this
     6126    # check would be larger than it should be.
     6127    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
     6128    ;;
     6129
     6130  gnu*)
     6131    # Under GNU Hurd, this test is not required because there is
     6132    # no limit to the length of command line arguments.
     6133    # Libtool will interpret -1 as no limit whatsoever
     6134    lt_cv_sys_max_cmd_len=-1;
     6135    ;;
     6136
     6137  cygwin* | mingw* | cegcc*)
     6138    # On Win9x/ME, this test blows up -- it succeeds, but takes
     6139    # about 5 minutes as the teststring grows exponentially.
     6140    # Worse, since 9x/ME are not pre-emptively multitasking,
     6141    # you end up with a "frozen" computer, even though with patience
     6142    # the test eventually succeeds (with a max line length of 256k).
     6143    # Instead, let's just punt: use the minimum linelength reported by
     6144    # all of the supported platforms: 8192 (on NT/2K/XP).
     6145    lt_cv_sys_max_cmd_len=8192;
     6146    ;;
     6147
     6148  mint*)
     6149    # On MiNT this can take a long time and run out of memory.
     6150    lt_cv_sys_max_cmd_len=8192;
     6151    ;;
     6152
     6153  amigaos*)
     6154    # On AmigaOS with pdksh, this test takes hours, literally.
     6155    # So we just punt and use a minimum line length of 8192.
     6156    lt_cv_sys_max_cmd_len=8192;
     6157    ;;
     6158
     6159  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
     6160    # This has been around since 386BSD, at least.  Likely further.
     6161    if test -x /sbin/sysctl; then
     6162      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
     6163    elif test -x /usr/sbin/sysctl; then
     6164      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
     6165    else
     6166      lt_cv_sys_max_cmd_len=65536       # usable default for all BSDs
     6167    fi
     6168    # And add a safety zone
     6169    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
     6170    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     6171    ;;
     6172
     6173  interix*)
     6174    # We know the value 262144 and hardcode it with a safety zone (like BSD)
     6175    lt_cv_sys_max_cmd_len=196608
     6176    ;;
     6177
     6178  os2*)
     6179    # The test takes a long time on OS/2.
     6180    lt_cv_sys_max_cmd_len=8192
     6181    ;;
     6182
     6183  osf*)
     6184    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     6185    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
     6186    # nice to cause kernel panics so lets avoid the loop below.
     6187    # First set a reasonable default.
     6188    lt_cv_sys_max_cmd_len=16384
     6189    #
     6190    if test -x /sbin/sysconfig; then
     6191      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
     6192        *1*) lt_cv_sys_max_cmd_len=-1 ;;
     6193      esac
     6194    fi
     6195    ;;
     6196  sco3.2v5*)
     6197    lt_cv_sys_max_cmd_len=102400
     6198    ;;
     6199  sysv5* | sco5v6* | sysv4.2uw2*)
     6200    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
     6201    if test -n "$kargmax"; then
     6202      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[  ]//'`
     6203    else
     6204      lt_cv_sys_max_cmd_len=32768
     6205    fi
     6206    ;;
     6207  *)
     6208    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
     6209    if test -n "$lt_cv_sys_max_cmd_len" && \
     6210       test undefined != "$lt_cv_sys_max_cmd_len"; then
     6211      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
     6212      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     6213    else
     6214      # Make teststring a little bigger before we do anything with it.
     6215      # a 1K string should be a reasonable start.
     6216      for i in 1 2 3 4 5 6 7 8; do
     6217        teststring=$teststring$teststring
     6218      done
     6219      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
     6220      # If test is not a shell built-in, we'll probably end up computing a
     6221      # maximum length that is only half of the actual maximum length, but
     6222      # we can't tell.
     6223      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
     6224                 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
     6225              test 17 != "$i" # 1/2 MB should be enough
     6226      do
     6227        i=`expr $i + 1`
     6228        teststring=$teststring$teststring
     6229      done
     6230      # Only check the string length outside the loop.
     6231      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
     6232      teststring=
     6233      # Add a significant safety factor because C++ compilers can tack on
     6234      # massive amounts of additional arguments before passing them to the
     6235      # linker.  It appears as though 1/2 is a usable value.
     6236      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
     6237    fi
     6238    ;;
     6239  esac
     6240
     6241fi
     6242
     6243if test -n "$lt_cv_sys_max_cmd_len"; then
     6244  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
     6245$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
     6246else
     6247  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
     6248$as_echo "none" >&6; }
     6249fi
     6250max_cmd_len=$lt_cv_sys_max_cmd_len
     6251
     6252
     6253
     6254
     6255
     6256
     6257: ${CP="cp -f"}
     6258: ${MV="mv -f"}
     6259: ${RM="rm -f"}
     6260
     6261if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
     6262  lt_unset=unset
     6263else
     6264  lt_unset=false
     6265fi
     6266
     6267
     6268
     6269
     6270
     6271# test EBCDIC or ASCII
     6272case `echo X|tr X '\101'` in
     6273 A) # ASCII based system
     6274    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
     6275  lt_SP2NL='tr \040 \012'
     6276  lt_NL2SP='tr \015\012 \040\040'
     6277  ;;
     6278 *) # EBCDIC based system
     6279  lt_SP2NL='tr \100 \n'
     6280  lt_NL2SP='tr \r\n \100\100'
     6281  ;;
     6282esac
     6283
     6284
     6285
     6286
     6287
     6288
     6289
     6290
     6291
     6292{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
     6293$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
     6294if ${lt_cv_to_host_file_cmd+:} false; then :
     6295  $as_echo_n "(cached) " >&6
     6296else
     6297  case $host in
     6298  *-*-mingw* )
     6299    case $build in
     6300      *-*-mingw* ) # actually msys
     6301        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
     6302        ;;
     6303      *-*-cygwin* )
     6304        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
     6305        ;;
     6306      * ) # otherwise, assume *nix
     6307        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
     6308        ;;
     6309    esac
     6310    ;;
     6311  *-*-cygwin* )
     6312    case $build in
     6313      *-*-mingw* ) # actually msys
     6314        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
     6315        ;;
     6316      *-*-cygwin* )
     6317        lt_cv_to_host_file_cmd=func_convert_file_noop
     6318        ;;
     6319      * ) # otherwise, assume *nix
     6320        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
     6321        ;;
     6322    esac
     6323    ;;
     6324  * ) # unhandled hosts (and "normal" native builds)
     6325    lt_cv_to_host_file_cmd=func_convert_file_noop
     6326    ;;
     6327esac
     6328
     6329fi
     6330
     6331to_host_file_cmd=$lt_cv_to_host_file_cmd
     6332{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
     6333$as_echo "$lt_cv_to_host_file_cmd" >&6; }
     6334
     6335
     6336
     6337
     6338
     6339{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
     6340$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
     6341if ${lt_cv_to_tool_file_cmd+:} false; then :
     6342  $as_echo_n "(cached) " >&6
     6343else
     6344  #assume ordinary cross tools, or native build.
     6345lt_cv_to_tool_file_cmd=func_convert_file_noop
     6346case $host in
     6347  *-*-mingw* )
     6348    case $build in
     6349      *-*-mingw* ) # actually msys
     6350        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
     6351        ;;
     6352    esac
     6353    ;;
     6354esac
     6355
     6356fi
     6357
     6358to_tool_file_cmd=$lt_cv_to_tool_file_cmd
     6359{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
     6360$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
     6361
     6362
     6363
     6364
     6365
     6366{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
     6367$as_echo_n "checking for $LD option to reload object files... " >&6; }
     6368if ${lt_cv_ld_reload_flag+:} false; then :
     6369  $as_echo_n "(cached) " >&6
     6370else
     6371  lt_cv_ld_reload_flag='-r'
     6372fi
     6373{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
     6374$as_echo "$lt_cv_ld_reload_flag" >&6; }
     6375reload_flag=$lt_cv_ld_reload_flag
     6376case $reload_flag in
     6377"" | " "*) ;;
     6378*) reload_flag=" $reload_flag" ;;
     6379esac
     6380reload_cmds='$LD$reload_flag -o $output$reload_objs'
     6381case $host_os in
     6382  cygwin* | mingw* | pw32* | cegcc*)
     6383    if test yes != "$GCC"; then
     6384      reload_cmds=false
     6385    fi
     6386    ;;
     6387  darwin*)
     6388    if test yes = "$GCC"; then
     6389      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
     6390    else
     6391      reload_cmds='$LD$reload_flag -o $output$reload_objs'
     6392    fi
     6393    ;;
     6394esac
     6395
     6396
     6397
     6398
     6399
     6400
     6401
     6402
     6403
     6404if test -n "$ac_tool_prefix"; then
     6405  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
     6406set dummy ${ac_tool_prefix}objdump; ac_word=$2
     6407{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6408$as_echo_n "checking for $ac_word... " >&6; }
     6409if ${ac_cv_prog_OBJDUMP+:} false; then :
     6410  $as_echo_n "(cached) " >&6
     6411else
     6412  if test -n "$OBJDUMP"; then
     6413  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
     6414else
     6415as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6416for as_dir in $PATH
     6417do
     6418  IFS=$as_save_IFS
     6419  test -z "$as_dir" && as_dir=.
     6420    for ac_exec_ext in '' $ac_executable_extensions; do
     6421  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6422    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     6423    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6424    break 2
     6425  fi
     6426done
     6427  done
     6428IFS=$as_save_IFS
     6429
     6430fi
     6431fi
     6432OBJDUMP=$ac_cv_prog_OBJDUMP
     6433if test -n "$OBJDUMP"; then
     6434  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
     6435$as_echo "$OBJDUMP" >&6; }
     6436else
     6437  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6438$as_echo "no" >&6; }
     6439fi
     6440
     6441
     6442fi
     6443if test -z "$ac_cv_prog_OBJDUMP"; then
     6444  ac_ct_OBJDUMP=$OBJDUMP
     6445  # Extract the first word of "objdump", so it can be a program name with args.
     6446set dummy objdump; ac_word=$2
     6447{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6448$as_echo_n "checking for $ac_word... " >&6; }
     6449if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
     6450  $as_echo_n "(cached) " >&6
     6451else
     6452  if test -n "$ac_ct_OBJDUMP"; then
     6453  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
     6454else
     6455as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6456for as_dir in $PATH
     6457do
     6458  IFS=$as_save_IFS
     6459  test -z "$as_dir" && as_dir=.
     6460    for ac_exec_ext in '' $ac_executable_extensions; do
     6461  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6462    ac_cv_prog_ac_ct_OBJDUMP="objdump"
     6463    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6464    break 2
     6465  fi
     6466done
     6467  done
     6468IFS=$as_save_IFS
     6469
     6470fi
     6471fi
     6472ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
     6473if test -n "$ac_ct_OBJDUMP"; then
     6474  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
     6475$as_echo "$ac_ct_OBJDUMP" >&6; }
     6476else
     6477  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6478$as_echo "no" >&6; }
     6479fi
     6480
     6481  if test "x$ac_ct_OBJDUMP" = x; then
     6482    OBJDUMP="false"
     6483  else
     6484    case $cross_compiling:$ac_tool_warned in
     6485yes:)
     6486{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     6487$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     6488ac_tool_warned=yes ;;
     6489esac
     6490    OBJDUMP=$ac_ct_OBJDUMP
     6491  fi
     6492else
     6493  OBJDUMP="$ac_cv_prog_OBJDUMP"
     6494fi
     6495
     6496test -z "$OBJDUMP" && OBJDUMP=objdump
     6497
     6498
     6499
     6500
     6501
     6502
     6503
     6504
     6505
     6506{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
     6507$as_echo_n "checking how to recognize dependent libraries... " >&6; }
     6508if ${lt_cv_deplibs_check_method+:} false; then :
     6509  $as_echo_n "(cached) " >&6
     6510else
     6511  lt_cv_file_magic_cmd='$MAGIC_CMD'
     6512lt_cv_file_magic_test_file=
     6513lt_cv_deplibs_check_method='unknown'
     6514# Need to set the preceding variable on all platforms that support
     6515# interlibrary dependencies.
     6516# 'none' -- dependencies not supported.
     6517# 'unknown' -- same as none, but documents that we really don't know.
     6518# 'pass_all' -- all dependencies passed with no checks.
     6519# 'test_compile' -- check by making test program.
     6520# 'file_magic [[regex]]' -- check by looking for files in library path
     6521# that responds to the $file_magic_cmd with a given extended regex.
     6522# If you have 'file' or equivalent on your system and you're not sure
     6523# whether 'pass_all' will *always* work, you probably want this one.
     6524
     6525case $host_os in
     6526aix[4-9]*)
     6527  lt_cv_deplibs_check_method=pass_all
     6528  ;;
     6529
     6530beos*)
     6531  lt_cv_deplibs_check_method=pass_all
     6532  ;;
     6533
     6534bsdi[45]*)
     6535  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
     6536  lt_cv_file_magic_cmd='/usr/bin/file -L'
     6537  lt_cv_file_magic_test_file=/shlib/libc.so
     6538  ;;
     6539
     6540cygwin*)
     6541  # func_win32_libid is a shell function defined in ltmain.sh
     6542  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
     6543  lt_cv_file_magic_cmd='func_win32_libid'
     6544  ;;
     6545
     6546mingw* | pw32*)
     6547  # Base MSYS/MinGW do not provide the 'file' command needed by
     6548  # func_win32_libid shell function, so use a weaker test based on 'objdump',
     6549  # unless we find 'file', for example because we are cross-compiling.
     6550  if ( file / ) >/dev/null 2>&1; then
     6551    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
     6552    lt_cv_file_magic_cmd='func_win32_libid'
     6553  else
     6554    # Keep this pattern in sync with the one in func_win32_libid.
     6555    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
     6556    lt_cv_file_magic_cmd='$OBJDUMP -f'
     6557  fi
     6558  ;;
     6559
     6560cegcc*)
     6561  # use the weaker test based on 'objdump'. See mingw*.
     6562  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
     6563  lt_cv_file_magic_cmd='$OBJDUMP -f'
     6564  ;;
     6565
     6566darwin* | rhapsody*)
     6567  lt_cv_deplibs_check_method=pass_all
     6568  ;;
     6569
     6570freebsd* | dragonfly*)
     6571  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     6572    case $host_cpu in
     6573    i*86 )
     6574      # Not sure whether the presence of OpenBSD here was a mistake.
     6575      # Let's accept both of them until this is cleared up.
     6576      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
     6577      lt_cv_file_magic_cmd=/usr/bin/file
     6578      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
     6579      ;;
     6580    esac
     6581  else
     6582    lt_cv_deplibs_check_method=pass_all
     6583  fi
     6584  ;;
     6585
     6586haiku*)
     6587  lt_cv_deplibs_check_method=pass_all
     6588  ;;
     6589
     6590hpux10.20* | hpux11*)
     6591  lt_cv_file_magic_cmd=/usr/bin/file
     6592  case $host_cpu in
     6593  ia64*)
     6594    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
     6595    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
     6596    ;;
     6597  hppa*64*)
     6598    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]'
     6599    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
     6600    ;;
     6601  *)
     6602    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
     6603    lt_cv_file_magic_test_file=/usr/lib/libc.sl
     6604    ;;
     6605  esac
     6606  ;;
     6607
     6608interix[3-9]*)
     6609  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
     6610  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
     6611  ;;
     6612
     6613irix5* | irix6* | nonstopux*)
     6614  case $LD in
     6615  *-32|*"-32 ") libmagic=32-bit;;
     6616  *-n32|*"-n32 ") libmagic=N32;;
     6617  *-64|*"-64 ") libmagic=64-bit;;
     6618  *) libmagic=never-match;;
     6619  esac
     6620  lt_cv_deplibs_check_method=pass_all
     6621  ;;
     6622
     6623# This must be glibc/ELF.
     6624linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     6625  lt_cv_deplibs_check_method=pass_all
     6626  ;;
     6627
     6628netbsd* | netbsdelf*-gnu)
     6629  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     6630    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
     6631  else
     6632    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
     6633  fi
     6634  ;;
     6635
     6636newos6*)
     6637  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
     6638  lt_cv_file_magic_cmd=/usr/bin/file
     6639  lt_cv_file_magic_test_file=/usr/lib/libnls.so
     6640  ;;
     6641
     6642*nto* | *qnx*)
     6643  lt_cv_deplibs_check_method=pass_all
     6644  ;;
     6645
     6646openbsd* | bitrig*)
     6647  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
     6648    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
     6649  else
     6650    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
     6651  fi
     6652  ;;
     6653
     6654osf3* | osf4* | osf5*)
     6655  lt_cv_deplibs_check_method=pass_all
     6656  ;;
     6657
     6658rdos*)
     6659  lt_cv_deplibs_check_method=pass_all
     6660  ;;
     6661
     6662solaris*)
     6663  lt_cv_deplibs_check_method=pass_all
     6664  ;;
     6665
     6666sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
     6667  lt_cv_deplibs_check_method=pass_all
     6668  ;;
     6669
     6670sysv4 | sysv4.3*)
     6671  case $host_vendor in
     6672  motorola)
     6673    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]'
     6674    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
     6675    ;;
     6676  ncr)
     6677    lt_cv_deplibs_check_method=pass_all
     6678    ;;
     6679  sequent)
     6680    lt_cv_file_magic_cmd='/bin/file'
     6681    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
     6682    ;;
     6683  sni)
     6684    lt_cv_file_magic_cmd='/bin/file'
     6685    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
     6686    lt_cv_file_magic_test_file=/lib/libc.so
     6687    ;;
     6688  siemens)
     6689    lt_cv_deplibs_check_method=pass_all
     6690    ;;
     6691  pc)
     6692    lt_cv_deplibs_check_method=pass_all
     6693    ;;
     6694  esac
     6695  ;;
     6696
     6697tpf*)
     6698  lt_cv_deplibs_check_method=pass_all
     6699  ;;
     6700os2*)
     6701  lt_cv_deplibs_check_method=pass_all
     6702  ;;
     6703esac
     6704
     6705fi
     6706{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
     6707$as_echo "$lt_cv_deplibs_check_method" >&6; }
     6708
     6709file_magic_glob=
     6710want_nocaseglob=no
     6711if test "$build" = "$host"; then
     6712  case $host_os in
     6713  mingw* | pw32*)
     6714    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
     6715      want_nocaseglob=yes
     6716    else
     6717      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
     6718    fi
     6719    ;;
     6720  esac
     6721fi
     6722
     6723file_magic_cmd=$lt_cv_file_magic_cmd
     6724deplibs_check_method=$lt_cv_deplibs_check_method
     6725test -z "$deplibs_check_method" && deplibs_check_method=unknown
     6726
     6727
     6728
     6729
     6730
     6731
     6732
     6733
     6734
     6735
     6736
     6737
     6738
     6739
     6740
     6741
     6742
     6743
     6744
     6745
     6746
     6747
     6748if test -n "$ac_tool_prefix"; then
     6749  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
     6750set dummy ${ac_tool_prefix}dlltool; ac_word=$2
     6751{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6752$as_echo_n "checking for $ac_word... " >&6; }
     6753if ${ac_cv_prog_DLLTOOL+:} false; then :
     6754  $as_echo_n "(cached) " >&6
     6755else
     6756  if test -n "$DLLTOOL"; then
     6757  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
     6758else
     6759as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6760for as_dir in $PATH
     6761do
     6762  IFS=$as_save_IFS
     6763  test -z "$as_dir" && as_dir=.
     6764    for ac_exec_ext in '' $ac_executable_extensions; do
     6765  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6766    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
     6767    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6768    break 2
     6769  fi
     6770done
     6771  done
     6772IFS=$as_save_IFS
     6773
     6774fi
     6775fi
     6776DLLTOOL=$ac_cv_prog_DLLTOOL
     6777if test -n "$DLLTOOL"; then
     6778  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
     6779$as_echo "$DLLTOOL" >&6; }
     6780else
     6781  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6782$as_echo "no" >&6; }
     6783fi
     6784
     6785
     6786fi
     6787if test -z "$ac_cv_prog_DLLTOOL"; then
     6788  ac_ct_DLLTOOL=$DLLTOOL
     6789  # Extract the first word of "dlltool", so it can be a program name with args.
     6790set dummy dlltool; ac_word=$2
     6791{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6792$as_echo_n "checking for $ac_word... " >&6; }
     6793if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
     6794  $as_echo_n "(cached) " >&6
     6795else
     6796  if test -n "$ac_ct_DLLTOOL"; then
     6797  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
     6798else
     6799as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6800for as_dir in $PATH
     6801do
     6802  IFS=$as_save_IFS
     6803  test -z "$as_dir" && as_dir=.
     6804    for ac_exec_ext in '' $ac_executable_extensions; do
     6805  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6806    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
     6807    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6808    break 2
     6809  fi
     6810done
     6811  done
     6812IFS=$as_save_IFS
     6813
     6814fi
     6815fi
     6816ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
     6817if test -n "$ac_ct_DLLTOOL"; then
     6818  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
     6819$as_echo "$ac_ct_DLLTOOL" >&6; }
     6820else
     6821  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6822$as_echo "no" >&6; }
     6823fi
     6824
     6825  if test "x$ac_ct_DLLTOOL" = x; then
     6826    DLLTOOL="false"
     6827  else
     6828    case $cross_compiling:$ac_tool_warned in
     6829yes:)
     6830{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     6831$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     6832ac_tool_warned=yes ;;
     6833esac
     6834    DLLTOOL=$ac_ct_DLLTOOL
     6835  fi
     6836else
     6837  DLLTOOL="$ac_cv_prog_DLLTOOL"
     6838fi
     6839
     6840test -z "$DLLTOOL" && DLLTOOL=dlltool
     6841
     6842
     6843
     6844
     6845
     6846
     6847
     6848
     6849
     6850
     6851{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
     6852$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
     6853if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
     6854  $as_echo_n "(cached) " >&6
     6855else
     6856  lt_cv_sharedlib_from_linklib_cmd='unknown'
     6857
     6858case $host_os in
     6859cygwin* | mingw* | pw32* | cegcc*)
     6860  # two different shell functions defined in ltmain.sh;
     6861  # decide which one to use based on capabilities of $DLLTOOL
     6862  case `$DLLTOOL --help 2>&1` in
     6863  *--identify-strict*)
     6864    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
     6865    ;;
     6866  *)
     6867    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
     6868    ;;
     6869  esac
     6870  ;;
     6871*)
     6872  # fallback: assume linklib IS sharedlib
     6873  lt_cv_sharedlib_from_linklib_cmd=$ECHO
     6874  ;;
     6875esac
     6876
     6877fi
     6878{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
     6879$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
     6880sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
     6881test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
     6882
     6883
     6884
     6885
     6886
     6887
     6888
     6889if test -n "$ac_tool_prefix"; then
     6890  for ac_prog in ar
     6891  do
     6892    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
     6893set dummy $ac_tool_prefix$ac_prog; ac_word=$2
     6894{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6895$as_echo_n "checking for $ac_word... " >&6; }
     6896if ${ac_cv_prog_AR+:} false; then :
     6897  $as_echo_n "(cached) " >&6
     6898else
     6899  if test -n "$AR"; then
     6900  ac_cv_prog_AR="$AR" # Let the user override the test.
     6901else
     6902as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6903for as_dir in $PATH
     6904do
     6905  IFS=$as_save_IFS
     6906  test -z "$as_dir" && as_dir=.
     6907    for ac_exec_ext in '' $ac_executable_extensions; do
     6908  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6909    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
     6910    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6911    break 2
     6912  fi
     6913done
     6914  done
     6915IFS=$as_save_IFS
     6916
     6917fi
     6918fi
     6919AR=$ac_cv_prog_AR
     6920if test -n "$AR"; then
     6921  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
     6922$as_echo "$AR" >&6; }
     6923else
     6924  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6925$as_echo "no" >&6; }
     6926fi
     6927
     6928
     6929    test -n "$AR" && break
     6930  done
     6931fi
     6932if test -z "$AR"; then
     6933  ac_ct_AR=$AR
     6934  for ac_prog in ar
     6935do
     6936  # Extract the first word of "$ac_prog", so it can be a program name with args.
     6937set dummy $ac_prog; ac_word=$2
     6938{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     6939$as_echo_n "checking for $ac_word... " >&6; }
     6940if ${ac_cv_prog_ac_ct_AR+:} false; then :
     6941  $as_echo_n "(cached) " >&6
     6942else
     6943  if test -n "$ac_ct_AR"; then
     6944  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
     6945else
     6946as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     6947for as_dir in $PATH
     6948do
     6949  IFS=$as_save_IFS
     6950  test -z "$as_dir" && as_dir=.
     6951    for ac_exec_ext in '' $ac_executable_extensions; do
     6952  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     6953    ac_cv_prog_ac_ct_AR="$ac_prog"
     6954    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     6955    break 2
     6956  fi
     6957done
     6958  done
     6959IFS=$as_save_IFS
     6960
     6961fi
     6962fi
     6963ac_ct_AR=$ac_cv_prog_ac_ct_AR
     6964if test -n "$ac_ct_AR"; then
     6965  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
     6966$as_echo "$ac_ct_AR" >&6; }
     6967else
     6968  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6969$as_echo "no" >&6; }
     6970fi
     6971
     6972
     6973  test -n "$ac_ct_AR" && break
     6974done
     6975
     6976  if test "x$ac_ct_AR" = x; then
     6977    AR="false"
     6978  else
     6979    case $cross_compiling:$ac_tool_warned in
     6980yes:)
     6981{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     6982$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     6983ac_tool_warned=yes ;;
     6984esac
     6985    AR=$ac_ct_AR
     6986  fi
     6987fi
     6988
     6989: ${AR=ar}
     6990: ${AR_FLAGS=cru}
     6991
     6992
     6993
     6994
     6995
     6996
     6997
     6998
     6999
     7000
     7001
     7002{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
     7003$as_echo_n "checking for archiver @FILE support... " >&6; }
     7004if ${lt_cv_ar_at_file+:} false; then :
     7005  $as_echo_n "(cached) " >&6
     7006else
     7007  lt_cv_ar_at_file=no
     7008   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     7009/* end confdefs.h.  */
     7010
     7011int
     7012main ()
     7013{
     7014
     7015  ;
     7016  return 0;
     7017}
     7018_ACEOF
     7019if ac_fn_c_try_compile "$LINENO"; then :
     7020  echo conftest.$ac_objext > conftest.lst
     7021      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
     7022      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
     7023  (eval $lt_ar_try) 2>&5
     7024  ac_status=$?
     7025  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7026  test $ac_status = 0; }
     7027      if test 0 -eq "$ac_status"; then
     7028        # Ensure the archiver fails upon bogus file names.
     7029        rm -f conftest.$ac_objext libconftest.a
     7030        { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
     7031  (eval $lt_ar_try) 2>&5
     7032  ac_status=$?
     7033  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7034  test $ac_status = 0; }
     7035        if test 0 -ne "$ac_status"; then
     7036          lt_cv_ar_at_file=@
     7037        fi
     7038      fi
     7039      rm -f conftest.* libconftest.a
     7040
     7041fi
     7042rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     7043
     7044fi
     7045{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
     7046$as_echo "$lt_cv_ar_at_file" >&6; }
     7047
     7048if test no = "$lt_cv_ar_at_file"; then
     7049  archiver_list_spec=
     7050else
     7051  archiver_list_spec=$lt_cv_ar_at_file
     7052fi
     7053
     7054
     7055
     7056
     7057
     7058
     7059
     7060if test -n "$ac_tool_prefix"; then
     7061  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
     7062set dummy ${ac_tool_prefix}strip; ac_word=$2
     7063{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     7064$as_echo_n "checking for $ac_word... " >&6; }
     7065if ${ac_cv_prog_STRIP+:} false; then :
     7066  $as_echo_n "(cached) " >&6
     7067else
     7068  if test -n "$STRIP"; then
     7069  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
     7070else
     7071as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7072for as_dir in $PATH
     7073do
     7074  IFS=$as_save_IFS
     7075  test -z "$as_dir" && as_dir=.
     7076    for ac_exec_ext in '' $ac_executable_extensions; do
     7077  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     7078    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     7079    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     7080    break 2
     7081  fi
     7082done
     7083  done
     7084IFS=$as_save_IFS
     7085
     7086fi
     7087fi
     7088STRIP=$ac_cv_prog_STRIP
     7089if test -n "$STRIP"; then
     7090  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
     7091$as_echo "$STRIP" >&6; }
     7092else
     7093  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     7094$as_echo "no" >&6; }
     7095fi
     7096
     7097
     7098fi
     7099if test -z "$ac_cv_prog_STRIP"; then
     7100  ac_ct_STRIP=$STRIP
     7101  # Extract the first word of "strip", so it can be a program name with args.
     7102set dummy strip; ac_word=$2
     7103{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     7104$as_echo_n "checking for $ac_word... " >&6; }
     7105if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
     7106  $as_echo_n "(cached) " >&6
     7107else
     7108  if test -n "$ac_ct_STRIP"; then
     7109  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
     7110else
     7111as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7112for as_dir in $PATH
     7113do
     7114  IFS=$as_save_IFS
     7115  test -z "$as_dir" && as_dir=.
     7116    for ac_exec_ext in '' $ac_executable_extensions; do
     7117  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     7118    ac_cv_prog_ac_ct_STRIP="strip"
     7119    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     7120    break 2
     7121  fi
     7122done
     7123  done
     7124IFS=$as_save_IFS
     7125
     7126fi
     7127fi
     7128ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
     7129if test -n "$ac_ct_STRIP"; then
     7130  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
     7131$as_echo "$ac_ct_STRIP" >&6; }
     7132else
     7133  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     7134$as_echo "no" >&6; }
     7135fi
     7136
     7137  if test "x$ac_ct_STRIP" = x; then
     7138    STRIP=":"
     7139  else
     7140    case $cross_compiling:$ac_tool_warned in
     7141yes:)
     7142{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     7143$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     7144ac_tool_warned=yes ;;
     7145esac
     7146    STRIP=$ac_ct_STRIP
     7147  fi
     7148else
     7149  STRIP="$ac_cv_prog_STRIP"
     7150fi
     7151
     7152test -z "$STRIP" && STRIP=:
     7153
     7154
     7155
     7156
     7157
     7158
     7159if test -n "$ac_tool_prefix"; then
     7160  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
     7161set dummy ${ac_tool_prefix}ranlib; ac_word=$2
     7162{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     7163$as_echo_n "checking for $ac_word... " >&6; }
     7164if ${ac_cv_prog_RANLIB+:} false; then :
     7165  $as_echo_n "(cached) " >&6
     7166else
     7167  if test -n "$RANLIB"; then
     7168  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
     7169else
     7170as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7171for as_dir in $PATH
     7172do
     7173  IFS=$as_save_IFS
     7174  test -z "$as_dir" && as_dir=.
     7175    for ac_exec_ext in '' $ac_executable_extensions; do
     7176  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     7177    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     7178    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     7179    break 2
     7180  fi
     7181done
     7182  done
     7183IFS=$as_save_IFS
     7184
     7185fi
     7186fi
     7187RANLIB=$ac_cv_prog_RANLIB
     7188if test -n "$RANLIB"; then
     7189  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
     7190$as_echo "$RANLIB" >&6; }
     7191else
     7192  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     7193$as_echo "no" >&6; }
     7194fi
     7195
     7196
     7197fi
     7198if test -z "$ac_cv_prog_RANLIB"; then
     7199  ac_ct_RANLIB=$RANLIB
     7200  # Extract the first word of "ranlib", so it can be a program name with args.
     7201set dummy ranlib; ac_word=$2
     7202{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     7203$as_echo_n "checking for $ac_word... " >&6; }
     7204if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
     7205  $as_echo_n "(cached) " >&6
     7206else
     7207  if test -n "$ac_ct_RANLIB"; then
     7208  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
     7209else
     7210as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7211for as_dir in $PATH
     7212do
     7213  IFS=$as_save_IFS
     7214  test -z "$as_dir" && as_dir=.
     7215    for ac_exec_ext in '' $ac_executable_extensions; do
     7216  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     7217    ac_cv_prog_ac_ct_RANLIB="ranlib"
     7218    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     7219    break 2
     7220  fi
     7221done
     7222  done
     7223IFS=$as_save_IFS
     7224
     7225fi
     7226fi
     7227ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
     7228if test -n "$ac_ct_RANLIB"; then
     7229  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
     7230$as_echo "$ac_ct_RANLIB" >&6; }
     7231else
     7232  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     7233$as_echo "no" >&6; }
     7234fi
     7235
     7236  if test "x$ac_ct_RANLIB" = x; then
     7237    RANLIB=":"
     7238  else
     7239    case $cross_compiling:$ac_tool_warned in
     7240yes:)
     7241{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     7242$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     7243ac_tool_warned=yes ;;
     7244esac
     7245    RANLIB=$ac_ct_RANLIB
     7246  fi
     7247else
     7248  RANLIB="$ac_cv_prog_RANLIB"
     7249fi
     7250
     7251test -z "$RANLIB" && RANLIB=:
     7252
     7253
     7254
     7255
     7256
     7257
     7258# Determine commands to create old-style static archives.
     7259old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
     7260old_postinstall_cmds='chmod 644 $oldlib'
     7261old_postuninstall_cmds=
     7262
     7263if test -n "$RANLIB"; then
     7264  case $host_os in
     7265  bitrig* | openbsd*)
     7266    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
     7267    ;;
     7268  *)
     7269    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
     7270    ;;
     7271  esac
     7272  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
     7273fi
     7274
     7275case $host_os in
     7276  darwin*)
     7277    lock_old_archive_extraction=yes ;;
     7278  *)
     7279    lock_old_archive_extraction=no ;;
     7280esac
     7281
     7282
     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# If no C compiler was specified, use CC.
     7321LTCC=${LTCC-"$CC"}
     7322
     7323# If no C compiler flags were specified, use CFLAGS.
     7324LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
     7325
     7326# Allow CC to be a program name with arguments.
     7327compiler=$CC
     7328
     7329
     7330# Check for command to grab the raw symbol name followed by C symbol from nm.
     7331{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
     7332$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
     7333if ${lt_cv_sys_global_symbol_pipe+:} false; then :
     7334  $as_echo_n "(cached) " >&6
     7335else
     7336
     7337# These are sane defaults that work on at least a few old systems.
     7338# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
     7339
     7340# Character class describing NM global symbol codes.
     7341symcode='[BCDEGRST]'
     7342
     7343# Regexp to match symbols that can be accessed directly from C.
     7344sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
     7345
     7346# Define system-specific variables.
     7347case $host_os in
     7348aix*)
     7349  symcode='[BCDT]'
     7350  ;;
     7351cygwin* | mingw* | pw32* | cegcc*)
     7352  symcode='[ABCDGISTW]'
     7353  ;;
     7354hpux*)
     7355  if test ia64 = "$host_cpu"; then
     7356    symcode='[ABCDEGRST]'
     7357  fi
     7358  ;;
     7359irix* | nonstopux*)
     7360  symcode='[BCDEGRST]'
     7361  ;;
     7362osf*)
     7363  symcode='[BCDEGQRST]'
     7364  ;;
     7365solaris*)
     7366  symcode='[BDRT]'
     7367  ;;
     7368sco3.2v5*)
     7369  symcode='[DT]'
     7370  ;;
     7371sysv4.2uw2*)
     7372  symcode='[DT]'
     7373  ;;
     7374sysv5* | sco5v6* | unixware* | OpenUNIX*)
     7375  symcode='[ABDT]'
     7376  ;;
     7377sysv4)
     7378  symcode='[DFNSTU]'
     7379  ;;
     7380esac
     7381
     7382# If we're using GNU nm, then use its standard symbol codes.
     7383case `$NM -V 2>&1` in
     7384*GNU* | *'with BFD'*)
     7385  symcode='[ABCDGIRSTW]' ;;
     7386esac
     7387
     7388if test "$lt_cv_nm_interface" = "MS dumpbin"; then
     7389  # Gets list of data symbols to import.
     7390  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
     7391  # Adjust the below global symbol transforms to fixup imported variables.
     7392  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
     7393  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
     7394  lt_c_name_lib_hook="\
     7395  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
     7396  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
     7397else
     7398  # Disable hooks by default.
     7399  lt_cv_sys_global_symbol_to_import=
     7400  lt_cdecl_hook=
     7401  lt_c_name_hook=
     7402  lt_c_name_lib_hook=
     7403fi
     7404
     7405# Transform an extracted symbol line into a proper C declaration.
     7406# Some systems (esp. on ia64) link data and code symbols differently,
     7407# so use this general approach.
     7408lt_cv_sys_global_symbol_to_cdecl="sed -n"\
     7409$lt_cdecl_hook\
     7410" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
     7411" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
     7412
     7413# Transform an extracted symbol line into symbol name and symbol address
     7414lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
     7415$lt_c_name_hook\
     7416" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
     7417" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
     7418
     7419# Transform an extracted symbol line into symbol name with lib prefix and
     7420# symbol address.
     7421lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
     7422$lt_c_name_lib_hook\
     7423" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
     7424" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
     7425" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
     7426
     7427# Handle CRLF in mingw tool chain
     7428opt_cr=
     7429case $build_os in
     7430mingw*)
     7431  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
     7432  ;;
     7433esac
     7434
     7435# Try without a prefix underscore, then with it.
     7436for ac_symprfx in "" "_"; do
     7437
     7438  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
     7439  symxfrm="\\1 $ac_symprfx\\2 \\2"
     7440
     7441  # Write the raw and C identifiers.
     7442  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
     7443    # Fake it for dumpbin and say T for any non-static function,
     7444    # D for any global variable and I for any imported variable.
     7445    # Also find C++ and __fastcall symbols from MSVC++,
     7446    # which start with @ or ?.
     7447    lt_cv_sys_global_symbol_pipe="$AWK '"\
     7448"     {last_section=section; section=\$ 3};"\
     7449"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
     7450"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
     7451"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
     7452"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
     7453"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
     7454"     \$ 0!~/External *\|/{next};"\
     7455"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
     7456"     {if(hide[section]) next};"\
     7457"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
     7458"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
     7459"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
     7460"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
     7461"     ' prfx=^$ac_symprfx"
     7462  else
     7463    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[      ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
     7464  fi
     7465  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
     7466
     7467  # Check to see that the pipe works correctly.
     7468  pipe_works=no
     7469
     7470  rm -f conftest*
     7471  cat > conftest.$ac_ext <<_LT_EOF
     7472#ifdef __cplusplus
     7473extern "C" {
     7474#endif
     7475char nm_test_var;
     7476void nm_test_func(void);
     7477void nm_test_func(void){}
     7478#ifdef __cplusplus
     7479}
     7480#endif
     7481int main(){nm_test_var='a';nm_test_func();return(0);}
     7482_LT_EOF
     7483
     7484  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     7485  (eval $ac_compile) 2>&5
     7486  ac_status=$?
     7487  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7488  test $ac_status = 0; }; then
     7489    # Now try to grab the symbols.
     7490    nlist=conftest.nm
     7491    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
     7492  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
     7493  ac_status=$?
     7494  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7495  test $ac_status = 0; } && test -s "$nlist"; then
     7496      # Try sorting and uniquifying the output.
     7497      if sort "$nlist" | uniq > "$nlist"T; then
     7498        mv -f "$nlist"T "$nlist"
     7499      else
     7500        rm -f "$nlist"T
     7501      fi
     7502
     7503      # Make sure that we snagged all the symbols we need.
     7504      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
     7505        if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
     7506          cat <<_LT_EOF > conftest.$ac_ext
     7507/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
     7508#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
     7509/* DATA imports from DLLs on WIN32 can't be const, because runtime
     7510   relocations are performed -- see ld's documentation on pseudo-relocs.  */
     7511# define LT_DLSYM_CONST
     7512#elif defined __osf__
     7513/* This system does not cope well with relocations in const data.  */
     7514# define LT_DLSYM_CONST
     7515#else
     7516# define LT_DLSYM_CONST const
     7517#endif
     7518
     7519#ifdef __cplusplus
     7520extern "C" {
     7521#endif
     7522
     7523_LT_EOF
     7524          # Now generate the symbol file.
     7525          eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
     7526
     7527          cat <<_LT_EOF >> conftest.$ac_ext
     7528
     7529/* The mapping between symbol names and symbols.  */
     7530LT_DLSYM_CONST struct {
     7531  const char *name;
     7532  void       *address;
     7533}
     7534lt__PROGRAM__LTX_preloaded_symbols[] =
     7535{
     7536  { "@PROGRAM@", (void *) 0 },
     7537_LT_EOF
     7538          $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
     7539          cat <<\_LT_EOF >> conftest.$ac_ext
     7540  {0, (void *) 0}
     7541};
     7542
     7543/* This works around a problem in FreeBSD linker */
     7544#ifdef FREEBSD_WORKAROUND
     7545static const void *lt_preloaded_setup() {
     7546  return lt__PROGRAM__LTX_preloaded_symbols;
     7547}
     7548#endif
     7549
     7550#ifdef __cplusplus
     7551}
     7552#endif
     7553_LT_EOF
     7554          # Now try linking the two files.
     7555          mv conftest.$ac_objext conftstm.$ac_objext
     7556          lt_globsym_save_LIBS=$LIBS
     7557          lt_globsym_save_CFLAGS=$CFLAGS
     7558          LIBS=conftstm.$ac_objext
     7559          CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
     7560          if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
     7561  (eval $ac_link) 2>&5
     7562  ac_status=$?
     7563  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7564  test $ac_status = 0; } && test -s conftest$ac_exeext; then
     7565            pipe_works=yes
     7566          fi
     7567          LIBS=$lt_globsym_save_LIBS
     7568          CFLAGS=$lt_globsym_save_CFLAGS
     7569        else
     7570          echo "cannot find nm_test_func in $nlist" >&5
     7571        fi
     7572      else
     7573        echo "cannot find nm_test_var in $nlist" >&5
     7574      fi
     7575    else
     7576      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
     7577    fi
     7578  else
     7579    echo "$progname: failed program was:" >&5
     7580    cat conftest.$ac_ext >&5
     7581  fi
     7582  rm -rf conftest* conftst*
     7583
     7584  # Do not use the global_symbol_pipe unless it works.
     7585  if test yes = "$pipe_works"; then
     7586    break
     7587  else
     7588    lt_cv_sys_global_symbol_pipe=
     7589  fi
     7590done
     7591
     7592fi
     7593
     7594if test -z "$lt_cv_sys_global_symbol_pipe"; then
     7595  lt_cv_sys_global_symbol_to_cdecl=
     7596fi
     7597if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
     7598  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
     7599$as_echo "failed" >&6; }
     7600else
     7601  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
     7602$as_echo "ok" >&6; }
     7603fi
     7604
     7605# Response file support.
     7606if test "$lt_cv_nm_interface" = "MS dumpbin"; then
     7607  nm_file_list_spec='@'
     7608elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
     7609  nm_file_list_spec='@'
     7610fi
     7611
     7612
     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{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
     7649$as_echo_n "checking for sysroot... " >&6; }
     7650
     7651# Check whether --with-sysroot was given.
     7652if test "${with_sysroot+set}" = set; then :
     7653  withval=$with_sysroot;
     7654else
     7655  with_sysroot=no
     7656fi
     7657
     7658
     7659lt_sysroot=
     7660case $with_sysroot in #(
     7661 yes)
     7662   if test yes = "$GCC"; then
     7663     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
     7664   fi
     7665   ;; #(
     7666 /*)
     7667   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
     7668   ;; #(
     7669 no|'')
     7670   ;; #(
     7671 *)
     7672   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
     7673$as_echo "$with_sysroot" >&6; }
     7674   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
     7675   ;;
     7676esac
     7677
     7678 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
     7679$as_echo "${lt_sysroot:-no}" >&6; }
     7680
     7681
     7682
     7683
     7684
     7685{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
     7686$as_echo_n "checking for a working dd... " >&6; }
     7687if ${ac_cv_path_lt_DD+:} false; then :
     7688  $as_echo_n "(cached) " >&6
     7689else
     7690  printf 0123456789abcdef0123456789abcdef >conftest.i
     7691cat conftest.i conftest.i >conftest2.i
     7692: ${lt_DD:=$DD}
     7693if test -z "$lt_DD"; then
     7694  ac_path_lt_DD_found=false
     7695  # Loop through the user's path and test for each of PROGNAME-LIST
     7696  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     7697for as_dir in $PATH
     7698do
     7699  IFS=$as_save_IFS
     7700  test -z "$as_dir" && as_dir=.
     7701    for ac_prog in dd; do
     7702    for ac_exec_ext in '' $ac_executable_extensions; do
     7703      ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
     7704      as_fn_executable_p "$ac_path_lt_DD" || continue
     7705if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
     7706  cmp -s conftest.i conftest.out \
     7707  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
     7708fi
     7709      $ac_path_lt_DD_found && break 3
     7710    done
     7711  done
     7712  done
     7713IFS=$as_save_IFS
     7714  if test -z "$ac_cv_path_lt_DD"; then
     7715    :
     7716  fi
     7717else
     7718  ac_cv_path_lt_DD=$lt_DD
     7719fi
     7720
     7721rm -f conftest.i conftest2.i conftest.out
     7722fi
     7723{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
     7724$as_echo "$ac_cv_path_lt_DD" >&6; }
     7725
     7726
     7727{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
     7728$as_echo_n "checking how to truncate binary pipes... " >&6; }
     7729if ${lt_cv_truncate_bin+:} false; then :
     7730  $as_echo_n "(cached) " >&6
     7731else
     7732  printf 0123456789abcdef0123456789abcdef >conftest.i
     7733cat conftest.i conftest.i >conftest2.i
     7734lt_cv_truncate_bin=
     7735if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
     7736  cmp -s conftest.i conftest.out \
     7737  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
     7738fi
     7739rm -f conftest.i conftest2.i conftest.out
     7740test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
     7741fi
     7742{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
     7743$as_echo "$lt_cv_truncate_bin" >&6; }
     7744
     7745
     7746
     7747
     7748
     7749
     7750
     7751# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
     7752func_cc_basename ()
     7753{
     7754    for cc_temp in $*""; do
     7755      case $cc_temp in
     7756        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
     7757        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
     7758        \-*) ;;
     7759        *) break;;
     7760      esac
     7761    done
     7762    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
     7763}
     7764
     7765# Check whether --enable-libtool-lock was given.
     7766if test "${enable_libtool_lock+set}" = set; then :
     7767  enableval=$enable_libtool_lock;
     7768fi
     7769
     7770test no = "$enable_libtool_lock" || enable_libtool_lock=yes
     7771
     7772# Some flags need to be propagated to the compiler or linker for good
     7773# libtool support.
     7774case $host in
     7775ia64-*-hpux*)
     7776  # Find out what ABI is being produced by ac_compile, and set mode
     7777  # options accordingly.
     7778  echo 'int i;' > conftest.$ac_ext
     7779  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     7780  (eval $ac_compile) 2>&5
     7781  ac_status=$?
     7782  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7783  test $ac_status = 0; }; then
     7784    case `/usr/bin/file conftest.$ac_objext` in
     7785      *ELF-32*)
     7786        HPUX_IA64_MODE=32
     7787        ;;
     7788      *ELF-64*)
     7789        HPUX_IA64_MODE=64
     7790        ;;
     7791    esac
     7792  fi
     7793  rm -rf conftest*
     7794  ;;
     7795*-*-irix6*)
     7796  # Find out what ABI is being produced by ac_compile, and set linker
     7797  # options accordingly.
     7798  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
     7799  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     7800  (eval $ac_compile) 2>&5
     7801  ac_status=$?
     7802  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7803  test $ac_status = 0; }; then
     7804    if test yes = "$lt_cv_prog_gnu_ld"; then
     7805      case `/usr/bin/file conftest.$ac_objext` in
     7806        *32-bit*)
     7807          LD="${LD-ld} -melf32bsmip"
     7808          ;;
     7809        *N32*)
     7810          LD="${LD-ld} -melf32bmipn32"
     7811          ;;
     7812        *64-bit*)
     7813          LD="${LD-ld} -melf64bmip"
     7814        ;;
     7815      esac
     7816    else
     7817      case `/usr/bin/file conftest.$ac_objext` in
     7818        *32-bit*)
     7819          LD="${LD-ld} -32"
     7820          ;;
     7821        *N32*)
     7822          LD="${LD-ld} -n32"
     7823          ;;
     7824        *64-bit*)
     7825          LD="${LD-ld} -64"
     7826          ;;
     7827      esac
     7828    fi
     7829  fi
     7830  rm -rf conftest*
     7831  ;;
     7832
     7833mips64*-*linux*)
     7834  # Find out what ABI is being produced by ac_compile, and set linker
     7835  # options accordingly.
     7836  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
     7837  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     7838  (eval $ac_compile) 2>&5
     7839  ac_status=$?
     7840  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7841  test $ac_status = 0; }; then
     7842    emul=elf
     7843    case `/usr/bin/file conftest.$ac_objext` in
     7844      *32-bit*)
     7845        emul="${emul}32"
     7846        ;;
     7847      *64-bit*)
     7848        emul="${emul}64"
     7849        ;;
     7850    esac
     7851    case `/usr/bin/file conftest.$ac_objext` in
     7852      *MSB*)
     7853        emul="${emul}btsmip"
     7854        ;;
     7855      *LSB*)
     7856        emul="${emul}ltsmip"
     7857        ;;
     7858    esac
     7859    case `/usr/bin/file conftest.$ac_objext` in
     7860      *N32*)
     7861        emul="${emul}n32"
     7862        ;;
     7863    esac
     7864    LD="${LD-ld} -m $emul"
     7865  fi
     7866  rm -rf conftest*
     7867  ;;
     7868
     7869x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
     7870s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
     7871  # Find out what ABI is being produced by ac_compile, and set linker
     7872  # options accordingly.  Note that the listed cases only cover the
     7873  # situations where additional linker options are needed (such as when
     7874  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
     7875  # vice versa); the common cases where no linker options are needed do
     7876  # not appear in the list.
     7877  echo 'int i;' > conftest.$ac_ext
     7878  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     7879  (eval $ac_compile) 2>&5
     7880  ac_status=$?
     7881  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7882  test $ac_status = 0; }; then
     7883    case `/usr/bin/file conftest.o` in
     7884      *32-bit*)
     7885        case $host in
     7886          x86_64-*kfreebsd*-gnu)
     7887            LD="${LD-ld} -m elf_i386_fbsd"
     7888            ;;
     7889          x86_64-*linux*)
     7890            case `/usr/bin/file conftest.o` in
     7891              *x86-64*)
     7892                LD="${LD-ld} -m elf32_x86_64"
     7893                ;;
     7894              *)
     7895                LD="${LD-ld} -m elf_i386"
     7896                ;;
     7897            esac
     7898            ;;
     7899          powerpc64le-*linux*)
     7900            LD="${LD-ld} -m elf32lppclinux"
     7901            ;;
     7902          powerpc64-*linux*)
     7903            LD="${LD-ld} -m elf32ppclinux"
     7904            ;;
     7905          s390x-*linux*)
     7906            LD="${LD-ld} -m elf_s390"
     7907            ;;
     7908          sparc64-*linux*)
     7909            LD="${LD-ld} -m elf32_sparc"
     7910            ;;
     7911        esac
     7912        ;;
     7913      *64-bit*)
     7914        case $host in
     7915          x86_64-*kfreebsd*-gnu)
     7916            LD="${LD-ld} -m elf_x86_64_fbsd"
     7917            ;;
     7918          x86_64-*linux*)
     7919            LD="${LD-ld} -m elf_x86_64"
     7920            ;;
     7921          powerpcle-*linux*)
     7922            LD="${LD-ld} -m elf64lppc"
     7923            ;;
     7924          powerpc-*linux*)
     7925            LD="${LD-ld} -m elf64ppc"
     7926            ;;
     7927          s390*-*linux*|s390*-*tpf*)
     7928            LD="${LD-ld} -m elf64_s390"
     7929            ;;
     7930          sparc*-*linux*)
     7931            LD="${LD-ld} -m elf64_sparc"
     7932            ;;
     7933        esac
     7934        ;;
     7935    esac
     7936  fi
     7937  rm -rf conftest*
     7938  ;;
     7939
     7940*-*-sco3.2v5*)
     7941  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
     7942  SAVE_CFLAGS=$CFLAGS
     7943  CFLAGS="$CFLAGS -belf"
     7944  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
     7945$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
     7946if ${lt_cv_cc_needs_belf+:} false; then :
     7947  $as_echo_n "(cached) " >&6
     7948else
     7949  ac_ext=c
     7950ac_cpp='$CPP $CPPFLAGS'
     7951ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     7952ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     7953ac_compiler_gnu=$ac_cv_c_compiler_gnu
     7954
     7955     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     7956/* end confdefs.h.  */
     7957
     7958int
     7959main ()
     7960{
     7961
     7962  ;
     7963  return 0;
     7964}
     7965_ACEOF
     7966if ac_fn_c_try_link "$LINENO"; then :
     7967  lt_cv_cc_needs_belf=yes
     7968else
     7969  lt_cv_cc_needs_belf=no
     7970fi
     7971rm -f core conftest.err conftest.$ac_objext \
     7972    conftest$ac_exeext conftest.$ac_ext
     7973     ac_ext=c
     7974ac_cpp='$CPP $CPPFLAGS'
     7975ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     7976ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     7977ac_compiler_gnu=$ac_cv_c_compiler_gnu
     7978
     7979fi
     7980{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
     7981$as_echo "$lt_cv_cc_needs_belf" >&6; }
     7982  if test yes != "$lt_cv_cc_needs_belf"; then
     7983    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
     7984    CFLAGS=$SAVE_CFLAGS
     7985  fi
     7986  ;;
     7987*-*solaris*)
     7988  # Find out what ABI is being produced by ac_compile, and set linker
     7989  # options accordingly.
     7990  echo 'int i;' > conftest.$ac_ext
     7991  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     7992  (eval $ac_compile) 2>&5
     7993  ac_status=$?
     7994  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     7995  test $ac_status = 0; }; then
     7996    case `/usr/bin/file conftest.o` in
     7997    *64-bit*)
     7998      case $lt_cv_prog_gnu_ld in
     7999      yes*)
     8000        case $host in
     8001        i?86-*-solaris*|x86_64-*-solaris*)
     8002          LD="${LD-ld} -m elf_x86_64"
     8003          ;;
     8004        sparc*-*-solaris*)
     8005          LD="${LD-ld} -m elf64_sparc"
     8006          ;;
     8007        esac
     8008        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
     8009        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
     8010          LD=${LD-ld}_sol2
     8011        fi
     8012        ;;
     8013      *)
     8014        if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
     8015          LD="${LD-ld} -64"
     8016        fi
     8017        ;;
     8018      esac
     8019      ;;
     8020    esac
     8021  fi
     8022  rm -rf conftest*
     8023  ;;
     8024esac
     8025
     8026need_locks=$enable_libtool_lock
     8027
     8028if test -n "$ac_tool_prefix"; then
     8029  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
     8030set dummy ${ac_tool_prefix}mt; ac_word=$2
     8031{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8032$as_echo_n "checking for $ac_word... " >&6; }
     8033if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
     8034  $as_echo_n "(cached) " >&6
     8035else
     8036  if test -n "$MANIFEST_TOOL"; then
     8037  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
     8038else
     8039as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8040for as_dir in $PATH
     8041do
     8042  IFS=$as_save_IFS
     8043  test -z "$as_dir" && as_dir=.
     8044    for ac_exec_ext in '' $ac_executable_extensions; do
     8045  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8046    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
     8047    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8048    break 2
     8049  fi
     8050done
     8051  done
     8052IFS=$as_save_IFS
     8053
     8054fi
     8055fi
     8056MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
     8057if test -n "$MANIFEST_TOOL"; then
     8058  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
     8059$as_echo "$MANIFEST_TOOL" >&6; }
     8060else
     8061  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8062$as_echo "no" >&6; }
     8063fi
     8064
     8065
     8066fi
     8067if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
     8068  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
     8069  # Extract the first word of "mt", so it can be a program name with args.
     8070set dummy mt; ac_word=$2
     8071{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8072$as_echo_n "checking for $ac_word... " >&6; }
     8073if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
     8074  $as_echo_n "(cached) " >&6
     8075else
     8076  if test -n "$ac_ct_MANIFEST_TOOL"; then
     8077  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
     8078else
     8079as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8080for as_dir in $PATH
     8081do
     8082  IFS=$as_save_IFS
     8083  test -z "$as_dir" && as_dir=.
     8084    for ac_exec_ext in '' $ac_executable_extensions; do
     8085  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8086    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
     8087    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8088    break 2
     8089  fi
     8090done
     8091  done
     8092IFS=$as_save_IFS
     8093
     8094fi
     8095fi
     8096ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
     8097if test -n "$ac_ct_MANIFEST_TOOL"; then
     8098  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
     8099$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
     8100else
     8101  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8102$as_echo "no" >&6; }
     8103fi
     8104
     8105  if test "x$ac_ct_MANIFEST_TOOL" = x; then
     8106    MANIFEST_TOOL=":"
     8107  else
     8108    case $cross_compiling:$ac_tool_warned in
     8109yes:)
     8110{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     8111$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     8112ac_tool_warned=yes ;;
     8113esac
     8114    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
     8115  fi
     8116else
     8117  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
     8118fi
     8119
     8120test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
     8121{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
     8122$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
     8123if ${lt_cv_path_mainfest_tool+:} false; then :
     8124  $as_echo_n "(cached) " >&6
     8125else
     8126  lt_cv_path_mainfest_tool=no
     8127  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
     8128  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
     8129  cat conftest.err >&5
     8130  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
     8131    lt_cv_path_mainfest_tool=yes
     8132  fi
     8133  rm -f conftest*
     8134fi
     8135{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
     8136$as_echo "$lt_cv_path_mainfest_tool" >&6; }
     8137if test yes != "$lt_cv_path_mainfest_tool"; then
     8138  MANIFEST_TOOL=:
     8139fi
     8140
     8141
     8142
     8143
     8144
     8145
     8146  case $host_os in
     8147    rhapsody* | darwin*)
     8148    if test -n "$ac_tool_prefix"; then
     8149  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
     8150set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
     8151{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8152$as_echo_n "checking for $ac_word... " >&6; }
     8153if ${ac_cv_prog_DSYMUTIL+:} false; then :
     8154  $as_echo_n "(cached) " >&6
     8155else
     8156  if test -n "$DSYMUTIL"; then
     8157  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
     8158else
     8159as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8160for as_dir in $PATH
     8161do
     8162  IFS=$as_save_IFS
     8163  test -z "$as_dir" && as_dir=.
     8164    for ac_exec_ext in '' $ac_executable_extensions; do
     8165  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8166    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     8167    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8168    break 2
     8169  fi
     8170done
     8171  done
     8172IFS=$as_save_IFS
     8173
     8174fi
     8175fi
     8176DSYMUTIL=$ac_cv_prog_DSYMUTIL
     8177if test -n "$DSYMUTIL"; then
     8178  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
     8179$as_echo "$DSYMUTIL" >&6; }
     8180else
     8181  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8182$as_echo "no" >&6; }
     8183fi
     8184
     8185
     8186fi
     8187if test -z "$ac_cv_prog_DSYMUTIL"; then
     8188  ac_ct_DSYMUTIL=$DSYMUTIL
     8189  # Extract the first word of "dsymutil", so it can be a program name with args.
     8190set dummy dsymutil; ac_word=$2
     8191{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8192$as_echo_n "checking for $ac_word... " >&6; }
     8193if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
     8194  $as_echo_n "(cached) " >&6
     8195else
     8196  if test -n "$ac_ct_DSYMUTIL"; then
     8197  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
     8198else
     8199as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8200for as_dir in $PATH
     8201do
     8202  IFS=$as_save_IFS
     8203  test -z "$as_dir" && as_dir=.
     8204    for ac_exec_ext in '' $ac_executable_extensions; do
     8205  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8206    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     8207    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8208    break 2
     8209  fi
     8210done
     8211  done
     8212IFS=$as_save_IFS
     8213
     8214fi
     8215fi
     8216ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
     8217if test -n "$ac_ct_DSYMUTIL"; then
     8218  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
     8219$as_echo "$ac_ct_DSYMUTIL" >&6; }
     8220else
     8221  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8222$as_echo "no" >&6; }
     8223fi
     8224
     8225  if test "x$ac_ct_DSYMUTIL" = x; then
     8226    DSYMUTIL=":"
     8227  else
     8228    case $cross_compiling:$ac_tool_warned in
     8229yes:)
     8230{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     8231$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     8232ac_tool_warned=yes ;;
     8233esac
     8234    DSYMUTIL=$ac_ct_DSYMUTIL
     8235  fi
     8236else
     8237  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
     8238fi
     8239
     8240    if test -n "$ac_tool_prefix"; then
     8241  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
     8242set dummy ${ac_tool_prefix}nmedit; ac_word=$2
     8243{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8244$as_echo_n "checking for $ac_word... " >&6; }
     8245if ${ac_cv_prog_NMEDIT+:} false; then :
     8246  $as_echo_n "(cached) " >&6
     8247else
     8248  if test -n "$NMEDIT"; then
     8249  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
     8250else
     8251as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8252for as_dir in $PATH
     8253do
     8254  IFS=$as_save_IFS
     8255  test -z "$as_dir" && as_dir=.
     8256    for ac_exec_ext in '' $ac_executable_extensions; do
     8257  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8258    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     8259    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8260    break 2
     8261  fi
     8262done
     8263  done
     8264IFS=$as_save_IFS
     8265
     8266fi
     8267fi
     8268NMEDIT=$ac_cv_prog_NMEDIT
     8269if test -n "$NMEDIT"; then
     8270  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
     8271$as_echo "$NMEDIT" >&6; }
     8272else
     8273  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8274$as_echo "no" >&6; }
     8275fi
     8276
     8277
     8278fi
     8279if test -z "$ac_cv_prog_NMEDIT"; then
     8280  ac_ct_NMEDIT=$NMEDIT
     8281  # Extract the first word of "nmedit", so it can be a program name with args.
     8282set dummy nmedit; ac_word=$2
     8283{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8284$as_echo_n "checking for $ac_word... " >&6; }
     8285if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
     8286  $as_echo_n "(cached) " >&6
     8287else
     8288  if test -n "$ac_ct_NMEDIT"; then
     8289  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
     8290else
     8291as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8292for as_dir in $PATH
     8293do
     8294  IFS=$as_save_IFS
     8295  test -z "$as_dir" && as_dir=.
     8296    for ac_exec_ext in '' $ac_executable_extensions; do
     8297  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8298    ac_cv_prog_ac_ct_NMEDIT="nmedit"
     8299    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8300    break 2
     8301  fi
     8302done
     8303  done
     8304IFS=$as_save_IFS
     8305
     8306fi
     8307fi
     8308ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
     8309if test -n "$ac_ct_NMEDIT"; then
     8310  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
     8311$as_echo "$ac_ct_NMEDIT" >&6; }
     8312else
     8313  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8314$as_echo "no" >&6; }
     8315fi
     8316
     8317  if test "x$ac_ct_NMEDIT" = x; then
     8318    NMEDIT=":"
     8319  else
     8320    case $cross_compiling:$ac_tool_warned in
     8321yes:)
     8322{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     8323$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     8324ac_tool_warned=yes ;;
     8325esac
     8326    NMEDIT=$ac_ct_NMEDIT
     8327  fi
     8328else
     8329  NMEDIT="$ac_cv_prog_NMEDIT"
     8330fi
     8331
     8332    if test -n "$ac_tool_prefix"; then
     8333  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
     8334set dummy ${ac_tool_prefix}lipo; ac_word=$2
     8335{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8336$as_echo_n "checking for $ac_word... " >&6; }
     8337if ${ac_cv_prog_LIPO+:} false; then :
     8338  $as_echo_n "(cached) " >&6
     8339else
     8340  if test -n "$LIPO"; then
     8341  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
     8342else
     8343as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8344for as_dir in $PATH
     8345do
     8346  IFS=$as_save_IFS
     8347  test -z "$as_dir" && as_dir=.
     8348    for ac_exec_ext in '' $ac_executable_extensions; do
     8349  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8350    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     8351    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8352    break 2
     8353  fi
     8354done
     8355  done
     8356IFS=$as_save_IFS
     8357
     8358fi
     8359fi
     8360LIPO=$ac_cv_prog_LIPO
     8361if test -n "$LIPO"; then
     8362  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
     8363$as_echo "$LIPO" >&6; }
     8364else
     8365  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8366$as_echo "no" >&6; }
     8367fi
     8368
     8369
     8370fi
     8371if test -z "$ac_cv_prog_LIPO"; then
     8372  ac_ct_LIPO=$LIPO
     8373  # Extract the first word of "lipo", so it can be a program name with args.
     8374set dummy lipo; ac_word=$2
     8375{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8376$as_echo_n "checking for $ac_word... " >&6; }
     8377if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
     8378  $as_echo_n "(cached) " >&6
     8379else
     8380  if test -n "$ac_ct_LIPO"; then
     8381  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
     8382else
     8383as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8384for as_dir in $PATH
     8385do
     8386  IFS=$as_save_IFS
     8387  test -z "$as_dir" && as_dir=.
     8388    for ac_exec_ext in '' $ac_executable_extensions; do
     8389  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8390    ac_cv_prog_ac_ct_LIPO="lipo"
     8391    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8392    break 2
     8393  fi
     8394done
     8395  done
     8396IFS=$as_save_IFS
     8397
     8398fi
     8399fi
     8400ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
     8401if test -n "$ac_ct_LIPO"; then
     8402  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
     8403$as_echo "$ac_ct_LIPO" >&6; }
     8404else
     8405  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8406$as_echo "no" >&6; }
     8407fi
     8408
     8409  if test "x$ac_ct_LIPO" = x; then
     8410    LIPO=":"
     8411  else
     8412    case $cross_compiling:$ac_tool_warned in
     8413yes:)
     8414{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     8415$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     8416ac_tool_warned=yes ;;
     8417esac
     8418    LIPO=$ac_ct_LIPO
     8419  fi
     8420else
     8421  LIPO="$ac_cv_prog_LIPO"
     8422fi
     8423
     8424    if test -n "$ac_tool_prefix"; then
     8425  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
     8426set dummy ${ac_tool_prefix}otool; ac_word=$2
     8427{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8428$as_echo_n "checking for $ac_word... " >&6; }
     8429if ${ac_cv_prog_OTOOL+:} false; then :
     8430  $as_echo_n "(cached) " >&6
     8431else
     8432  if test -n "$OTOOL"; then
     8433  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
     8434else
     8435as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8436for as_dir in $PATH
     8437do
     8438  IFS=$as_save_IFS
     8439  test -z "$as_dir" && as_dir=.
     8440    for ac_exec_ext in '' $ac_executable_extensions; do
     8441  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8442    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     8443    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8444    break 2
     8445  fi
     8446done
     8447  done
     8448IFS=$as_save_IFS
     8449
     8450fi
     8451fi
     8452OTOOL=$ac_cv_prog_OTOOL
     8453if test -n "$OTOOL"; then
     8454  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
     8455$as_echo "$OTOOL" >&6; }
     8456else
     8457  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8458$as_echo "no" >&6; }
     8459fi
     8460
     8461
     8462fi
     8463if test -z "$ac_cv_prog_OTOOL"; then
     8464  ac_ct_OTOOL=$OTOOL
     8465  # Extract the first word of "otool", so it can be a program name with args.
     8466set dummy otool; ac_word=$2
     8467{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8468$as_echo_n "checking for $ac_word... " >&6; }
     8469if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
     8470  $as_echo_n "(cached) " >&6
     8471else
     8472  if test -n "$ac_ct_OTOOL"; then
     8473  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
     8474else
     8475as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8476for as_dir in $PATH
     8477do
     8478  IFS=$as_save_IFS
     8479  test -z "$as_dir" && as_dir=.
     8480    for ac_exec_ext in '' $ac_executable_extensions; do
     8481  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8482    ac_cv_prog_ac_ct_OTOOL="otool"
     8483    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8484    break 2
     8485  fi
     8486done
     8487  done
     8488IFS=$as_save_IFS
     8489
     8490fi
     8491fi
     8492ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
     8493if test -n "$ac_ct_OTOOL"; then
     8494  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
     8495$as_echo "$ac_ct_OTOOL" >&6; }
     8496else
     8497  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8498$as_echo "no" >&6; }
     8499fi
     8500
     8501  if test "x$ac_ct_OTOOL" = x; then
     8502    OTOOL=":"
     8503  else
     8504    case $cross_compiling:$ac_tool_warned in
     8505yes:)
     8506{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     8507$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     8508ac_tool_warned=yes ;;
     8509esac
     8510    OTOOL=$ac_ct_OTOOL
     8511  fi
     8512else
     8513  OTOOL="$ac_cv_prog_OTOOL"
     8514fi
     8515
     8516    if test -n "$ac_tool_prefix"; then
     8517  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
     8518set dummy ${ac_tool_prefix}otool64; ac_word=$2
     8519{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8520$as_echo_n "checking for $ac_word... " >&6; }
     8521if ${ac_cv_prog_OTOOL64+:} false; then :
     8522  $as_echo_n "(cached) " >&6
     8523else
     8524  if test -n "$OTOOL64"; then
     8525  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
     8526else
     8527as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8528for as_dir in $PATH
     8529do
     8530  IFS=$as_save_IFS
     8531  test -z "$as_dir" && as_dir=.
     8532    for ac_exec_ext in '' $ac_executable_extensions; do
     8533  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8534    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     8535    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8536    break 2
     8537  fi
     8538done
     8539  done
     8540IFS=$as_save_IFS
     8541
     8542fi
     8543fi
     8544OTOOL64=$ac_cv_prog_OTOOL64
     8545if test -n "$OTOOL64"; then
     8546  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
     8547$as_echo "$OTOOL64" >&6; }
     8548else
     8549  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8550$as_echo "no" >&6; }
     8551fi
     8552
     8553
     8554fi
     8555if test -z "$ac_cv_prog_OTOOL64"; then
     8556  ac_ct_OTOOL64=$OTOOL64
     8557  # Extract the first word of "otool64", so it can be a program name with args.
     8558set dummy otool64; ac_word=$2
     8559{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     8560$as_echo_n "checking for $ac_word... " >&6; }
     8561if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
     8562  $as_echo_n "(cached) " >&6
     8563else
     8564  if test -n "$ac_ct_OTOOL64"; then
     8565  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
     8566else
     8567as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     8568for as_dir in $PATH
     8569do
     8570  IFS=$as_save_IFS
     8571  test -z "$as_dir" && as_dir=.
     8572    for ac_exec_ext in '' $ac_executable_extensions; do
     8573  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     8574    ac_cv_prog_ac_ct_OTOOL64="otool64"
     8575    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     8576    break 2
     8577  fi
     8578done
     8579  done
     8580IFS=$as_save_IFS
     8581
     8582fi
     8583fi
     8584ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
     8585if test -n "$ac_ct_OTOOL64"; then
     8586  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
     8587$as_echo "$ac_ct_OTOOL64" >&6; }
     8588else
     8589  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     8590$as_echo "no" >&6; }
     8591fi
     8592
     8593  if test "x$ac_ct_OTOOL64" = x; then
     8594    OTOOL64=":"
     8595  else
     8596    case $cross_compiling:$ac_tool_warned in
     8597yes:)
     8598{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
     8599$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
     8600ac_tool_warned=yes ;;
     8601esac
     8602    OTOOL64=$ac_ct_OTOOL64
     8603  fi
     8604else
     8605  OTOOL64="$ac_cv_prog_OTOOL64"
     8606fi
     8607
     8608
     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    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
     8635$as_echo_n "checking for -single_module linker flag... " >&6; }
     8636if ${lt_cv_apple_cc_single_mod+:} false; then :
     8637  $as_echo_n "(cached) " >&6
     8638else
     8639  lt_cv_apple_cc_single_mod=no
     8640      if test -z "$LT_MULTI_MODULE"; then
     8641        # By default we will add the -single_module flag. You can override
     8642        # by either setting the environment variable LT_MULTI_MODULE
     8643        # non-empty at configure time, or by adding -multi_module to the
     8644        # link flags.
     8645        rm -rf libconftest.dylib*
     8646        echo "int foo(void){return 1;}" > conftest.c
     8647        echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
     8648-dynamiclib -Wl,-single_module conftest.c" >&5
     8649        $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
     8650          -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
     8651        _lt_result=$?
     8652        # If there is a non-empty error log, and "single_module"
     8653        # appears in it, assume the flag caused a linker warning
     8654        if test -s conftest.err && $GREP single_module conftest.err; then
     8655          cat conftest.err >&5
     8656        # Otherwise, if the output was created with a 0 exit code from
     8657        # the compiler, it worked.
     8658        elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
     8659          lt_cv_apple_cc_single_mod=yes
     8660        else
     8661          cat conftest.err >&5
     8662        fi
     8663        rm -rf libconftest.dylib*
     8664        rm -f conftest.*
     8665      fi
     8666fi
     8667{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
     8668$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
     8669
     8670    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
     8671$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
     8672if ${lt_cv_ld_exported_symbols_list+:} false; then :
     8673  $as_echo_n "(cached) " >&6
     8674else
     8675  lt_cv_ld_exported_symbols_list=no
     8676      save_LDFLAGS=$LDFLAGS
     8677      echo "_main" > conftest.sym
     8678      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
     8679      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     8680/* end confdefs.h.  */
     8681
     8682int
     8683main ()
     8684{
     8685
     8686  ;
     8687  return 0;
     8688}
     8689_ACEOF
     8690if ac_fn_c_try_link "$LINENO"; then :
     8691  lt_cv_ld_exported_symbols_list=yes
     8692else
     8693  lt_cv_ld_exported_symbols_list=no
     8694fi
     8695rm -f core conftest.err conftest.$ac_objext \
     8696    conftest$ac_exeext conftest.$ac_ext
     8697        LDFLAGS=$save_LDFLAGS
     8698
     8699fi
     8700{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
     8701$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
     8702
     8703    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
     8704$as_echo_n "checking for -force_load linker flag... " >&6; }
     8705if ${lt_cv_ld_force_load+:} false; then :
     8706  $as_echo_n "(cached) " >&6
     8707else
     8708  lt_cv_ld_force_load=no
     8709      cat > conftest.c << _LT_EOF
     8710int forced_loaded() { return 2;}
     8711_LT_EOF
     8712      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
     8713      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
     8714      echo "$AR cru libconftest.a conftest.o" >&5
     8715      $AR cru libconftest.a conftest.o 2>&5
     8716      echo "$RANLIB libconftest.a" >&5
     8717      $RANLIB libconftest.a 2>&5
     8718      cat > conftest.c << _LT_EOF
     8719int main() { return 0;}
     8720_LT_EOF
     8721      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
     8722      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
     8723      _lt_result=$?
     8724      if test -s conftest.err && $GREP force_load conftest.err; then
     8725        cat conftest.err >&5
     8726      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
     8727        lt_cv_ld_force_load=yes
     8728      else
     8729        cat conftest.err >&5
     8730      fi
     8731        rm -f conftest.err libconftest.a conftest conftest.c
     8732        rm -rf conftest.dSYM
     8733
     8734fi
     8735{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
     8736$as_echo "$lt_cv_ld_force_load" >&6; }
     8737    case $host_os in
     8738    rhapsody* | darwin1.[012])
     8739      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
     8740    darwin1.*)
     8741      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
     8742    darwin*) # darwin 5.x on
     8743      # if running on 10.5 or later, the deployment target defaults
     8744      # to the OS version, if on x86, and 10.4, the deployment
     8745      # target defaults to 10.4. Don't you love it?
     8746      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
     8747        10.0,*86*-darwin8*|10.0,*-darwin[91]*)
     8748          _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
     8749        10.[012][,.]*)
     8750          _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
     8751        10.*)
     8752          _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
     8753      esac
     8754    ;;
     8755  esac
     8756    if test yes = "$lt_cv_apple_cc_single_mod"; then
     8757      _lt_dar_single_mod='$single_module'
     8758    fi
     8759    if test yes = "$lt_cv_ld_exported_symbols_list"; then
     8760      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
     8761    else
     8762      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
     8763    fi
     8764    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
     8765      _lt_dsymutil='~$DSYMUTIL $lib || :'
     8766    else
     8767      _lt_dsymutil=
     8768    fi
     8769    ;;
     8770  esac
     8771
     8772# func_munge_path_list VARIABLE PATH
     8773# -----------------------------------
     8774# VARIABLE is name of variable containing _space_ separated list of
     8775# directories to be munged by the contents of PATH, which is string
     8776# having a format:
     8777# "DIR[:DIR]:"
     8778#       string "DIR[ DIR]" will be prepended to VARIABLE
     8779# ":DIR[:DIR]"
     8780#       string "DIR[ DIR]" will be appended to VARIABLE
     8781# "DIRP[:DIRP]::[DIRA:]DIRA"
     8782#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
     8783#       "DIRA[ DIRA]" will be appended to VARIABLE
     8784# "DIR[:DIR]"
     8785#       VARIABLE will be replaced by "DIR[ DIR]"
     8786func_munge_path_list ()
     8787{
     8788    case x$2 in
     8789    x)
     8790        ;;
     8791    *:)
     8792        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
     8793        ;;
     8794    x:*)
     8795        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
     8796        ;;
     8797    *::*)
     8798        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
     8799        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
     8800        ;;
     8801    *)
     8802        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
     8803        ;;
     8804    esac
     8805}
     8806
     8807ac_ext=c
     8808ac_cpp='$CPP $CPPFLAGS'
     8809ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     8810ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     8811ac_compiler_gnu=$ac_cv_c_compiler_gnu
     8812{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
     8813$as_echo_n "checking how to run the C preprocessor... " >&6; }
     8814# On Suns, sometimes $CPP names a directory.
     8815if test -n "$CPP" && test -d "$CPP"; then
     8816  CPP=
     8817fi
     8818if test -z "$CPP"; then
     8819  if ${ac_cv_prog_CPP+:} false; then :
     8820  $as_echo_n "(cached) " >&6
     8821else
     8822      # Double quotes because CPP needs to be expanded
     8823    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
     8824    do
     8825      ac_preproc_ok=false
     8826for ac_c_preproc_warn_flag in '' yes
     8827do
     8828  # Use a header file that comes with gcc, so configuring glibc
     8829  # with a fresh cross-compiler works.
     8830  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     8831  # <limits.h> exists even on freestanding compilers.
     8832  # On the NeXT, cc -E runs the code through the compiler's parser,
     8833  # not just through cpp. "Syntax error" is here to catch this case.
     8834  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     8835/* end confdefs.h.  */
     8836#ifdef __STDC__
     8837# include <limits.h>
     8838#else
     8839# include <assert.h>
     8840#endif
     8841                     Syntax error
     8842_ACEOF
     8843if ac_fn_c_try_cpp "$LINENO"; then :
     8844
     8845else
     8846  # Broken: fails on valid input.
     8847continue
     8848fi
     8849rm -f conftest.err conftest.i conftest.$ac_ext
     8850
     8851  # OK, works on sane cases.  Now check whether nonexistent headers
     8852  # can be detected and how.
     8853  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     8854/* end confdefs.h.  */
     8855#include <ac_nonexistent.h>
     8856_ACEOF
     8857if ac_fn_c_try_cpp "$LINENO"; then :
     8858  # Broken: success on invalid input.
     8859continue
     8860else
     8861  # Passes both tests.
     8862ac_preproc_ok=:
     8863break
     8864fi
     8865rm -f conftest.err conftest.i conftest.$ac_ext
     8866
     8867done
     8868# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
     8869rm -f conftest.i conftest.err conftest.$ac_ext
     8870if $ac_preproc_ok; then :
     8871  break
     8872fi
     8873
     8874    done
     8875    ac_cv_prog_CPP=$CPP
     8876
     8877fi
     8878  CPP=$ac_cv_prog_CPP
     8879else
     8880  ac_cv_prog_CPP=$CPP
     8881fi
     8882{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
     8883$as_echo "$CPP" >&6; }
     8884ac_preproc_ok=false
     8885for ac_c_preproc_warn_flag in '' yes
     8886do
     8887  # Use a header file that comes with gcc, so configuring glibc
     8888  # with a fresh cross-compiler works.
     8889  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     8890  # <limits.h> exists even on freestanding compilers.
     8891  # On the NeXT, cc -E runs the code through the compiler's parser,
     8892  # not just through cpp. "Syntax error" is here to catch this case.
     8893  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     8894/* end confdefs.h.  */
     8895#ifdef __STDC__
     8896# include <limits.h>
     8897#else
     8898# include <assert.h>
     8899#endif
     8900                     Syntax error
     8901_ACEOF
     8902if ac_fn_c_try_cpp "$LINENO"; then :
     8903
     8904else
     8905  # Broken: fails on valid input.
     8906continue
     8907fi
     8908rm -f conftest.err conftest.i conftest.$ac_ext
     8909
     8910  # OK, works on sane cases.  Now check whether nonexistent headers
     8911  # can be detected and how.
     8912  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     8913/* end confdefs.h.  */
     8914#include <ac_nonexistent.h>
     8915_ACEOF
     8916if ac_fn_c_try_cpp "$LINENO"; then :
     8917  # Broken: success on invalid input.
     8918continue
     8919else
     8920  # Passes both tests.
     8921ac_preproc_ok=:
     8922break
     8923fi
     8924rm -f conftest.err conftest.i conftest.$ac_ext
     8925
     8926done
     8927# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
     8928rm -f conftest.i conftest.err conftest.$ac_ext
     8929if $ac_preproc_ok; then :
     8930
     8931else
     8932  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     8933$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     8934as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
     8935See \`config.log' for more details" "$LINENO" 5; }
     8936fi
     8937
     8938ac_ext=c
     8939ac_cpp='$CPP $CPPFLAGS'
     8940ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     8941ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     8942ac_compiler_gnu=$ac_cv_c_compiler_gnu
     8943
     8944
    57638945{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
    57648946$as_echo_n "checking for ANSI C header files... " >&6; }
     
    58909072
    58919073
     9074for ac_header in dlfcn.h
     9075do :
     9076  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
     9077"
     9078if test "x$ac_cv_header_dlfcn_h" = xyes; then :
     9079  cat >>confdefs.h <<_ACEOF
     9080#define HAVE_DLFCN_H 1
     9081_ACEOF
     9082
     9083fi
     9084
     9085done
     9086
     9087
     9088
     9089
     9090func_stripname_cnf ()
     9091{
     9092  case $2 in
     9093  .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;;
     9094  *)  func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;;
     9095  esac
     9096} # func_stripname_cnf
     9097
     9098
     9099
     9100
     9101
     9102# Set options
     9103
     9104
     9105
     9106        enable_dlopen=no
     9107
     9108
     9109  enable_win32_dll=no
     9110
     9111
     9112            # Check whether --enable-shared was given.
     9113if test "${enable_shared+set}" = set; then :
     9114  enableval=$enable_shared; p=${PACKAGE-default}
     9115    case $enableval in
     9116    yes) enable_shared=yes ;;
     9117    no) enable_shared=no ;;
     9118    *)
     9119      enable_shared=no
     9120      # Look at the argument we got.  We use all the common list separators.
     9121      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
     9122      for pkg in $enableval; do
     9123        IFS=$lt_save_ifs
     9124        if test "X$pkg" = "X$p"; then
     9125          enable_shared=yes
     9126        fi
     9127      done
     9128      IFS=$lt_save_ifs
     9129      ;;
     9130    esac
     9131else
     9132  enable_shared=yes
     9133fi
     9134
     9135
     9136
     9137
     9138
     9139
     9140
     9141
     9142
     9143  # Check whether --enable-static was given.
     9144if test "${enable_static+set}" = set; then :
     9145  enableval=$enable_static; p=${PACKAGE-default}
     9146    case $enableval in
     9147    yes) enable_static=yes ;;
     9148    no) enable_static=no ;;
     9149    *)
     9150     enable_static=no
     9151      # Look at the argument we got.  We use all the common list separators.
     9152      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
     9153      for pkg in $enableval; do
     9154        IFS=$lt_save_ifs
     9155        if test "X$pkg" = "X$p"; then
     9156          enable_static=yes
     9157        fi
     9158      done
     9159      IFS=$lt_save_ifs
     9160      ;;
     9161    esac
     9162else
     9163  enable_static=yes
     9164fi
     9165
     9166
     9167
     9168
     9169
     9170
     9171
     9172
     9173
     9174
     9175# Check whether --with-pic was given.
     9176if test "${with_pic+set}" = set; then :
     9177  withval=$with_pic; lt_p=${PACKAGE-default}
     9178    case $withval in
     9179    yes|no) pic_mode=$withval ;;
     9180    *)
     9181      pic_mode=default
     9182      # Look at the argument we got.  We use all the common list separators.
     9183      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
     9184      for lt_pkg in $withval; do
     9185        IFS=$lt_save_ifs
     9186        if test "X$lt_pkg" = "X$lt_p"; then
     9187          pic_mode=yes
     9188        fi
     9189      done
     9190      IFS=$lt_save_ifs
     9191      ;;
     9192    esac
     9193else
     9194  pic_mode=default
     9195fi
     9196
     9197
     9198
     9199
     9200
     9201
     9202
     9203
     9204  # Check whether --enable-fast-install was given.
     9205if test "${enable_fast_install+set}" = set; then :
     9206  enableval=$enable_fast_install; p=${PACKAGE-default}
     9207    case $enableval in
     9208    yes) enable_fast_install=yes ;;
     9209    no) enable_fast_install=no ;;
     9210    *)
     9211      enable_fast_install=no
     9212      # Look at the argument we got.  We use all the common list separators.
     9213      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
     9214      for pkg in $enableval; do
     9215        IFS=$lt_save_ifs
     9216        if test "X$pkg" = "X$p"; then
     9217          enable_fast_install=yes
     9218        fi
     9219      done
     9220      IFS=$lt_save_ifs
     9221      ;;
     9222    esac
     9223else
     9224  enable_fast_install=yes
     9225fi
     9226
     9227
     9228
     9229
     9230
     9231
     9232
     9233
     9234  shared_archive_member_spec=
     9235case $host,$enable_shared in
     9236power*-*-aix[5-9]*,yes)
     9237  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
     9238$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
     9239
     9240# Check whether --with-aix-soname was given.
     9241if test "${with_aix_soname+set}" = set; then :
     9242  withval=$with_aix_soname; case $withval in
     9243    aix|svr4|both)
     9244      ;;
     9245    *)
     9246      as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
     9247      ;;
     9248    esac
     9249    lt_cv_with_aix_soname=$with_aix_soname
     9250else
     9251  if ${lt_cv_with_aix_soname+:} false; then :
     9252  $as_echo_n "(cached) " >&6
     9253else
     9254  lt_cv_with_aix_soname=aix
     9255fi
     9256
     9257    with_aix_soname=$lt_cv_with_aix_soname
     9258fi
     9259
     9260  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
     9261$as_echo "$with_aix_soname" >&6; }
     9262  if test aix != "$with_aix_soname"; then
     9263    # For the AIX way of multilib, we name the shared archive member
     9264    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
     9265    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
     9266    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
     9267    # the AIX toolchain works better with OBJECT_MODE set (default 32).
     9268    if test 64 = "${OBJECT_MODE-32}"; then
     9269      shared_archive_member_spec=shr_64
     9270    else
     9271      shared_archive_member_spec=shr
     9272    fi
     9273  fi
     9274  ;;
     9275*)
     9276  with_aix_soname=aix
     9277  ;;
     9278esac
     9279
     9280
     9281
     9282
     9283
     9284
     9285
     9286
     9287
     9288
     9289# This can be used to rebuild libtool when needed
     9290LIBTOOL_DEPS=$ltmain
     9291
     9292# Always use our own libtool.
     9293LIBTOOL='$(SHELL) $(top_builddir)/libtool'
     9294
     9295
     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
     9324test -z "$LN_S" && LN_S="ln -s"
     9325
     9326
     9327
     9328
     9329
     9330
     9331
     9332
     9333
     9334
     9335
     9336
     9337
     9338
     9339if test -n "${ZSH_VERSION+set}"; then
     9340   setopt NO_GLOB_SUBST
     9341fi
     9342
     9343{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
     9344$as_echo_n "checking for objdir... " >&6; }
     9345if ${lt_cv_objdir+:} false; then :
     9346  $as_echo_n "(cached) " >&6
     9347else
     9348  rm -f .libs 2>/dev/null
     9349mkdir .libs 2>/dev/null
     9350if test -d .libs; then
     9351  lt_cv_objdir=.libs
     9352else
     9353  # MS-DOS does not allow filenames that begin with a dot.
     9354  lt_cv_objdir=_libs
     9355fi
     9356rmdir .libs 2>/dev/null
     9357fi
     9358{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
     9359$as_echo "$lt_cv_objdir" >&6; }
     9360objdir=$lt_cv_objdir
     9361
     9362
     9363
     9364
     9365
     9366cat >>confdefs.h <<_ACEOF
     9367#define LT_OBJDIR "$lt_cv_objdir/"
     9368_ACEOF
     9369
     9370
     9371
     9372
     9373case $host_os in
     9374aix3*)
     9375  # AIX sometimes has problems with the GCC collect2 program.  For some
     9376  # reason, if we set the COLLECT_NAMES environment variable, the problems
     9377  # vanish in a puff of smoke.
     9378  if test set != "${COLLECT_NAMES+set}"; then
     9379    COLLECT_NAMES=
     9380    export COLLECT_NAMES
     9381  fi
     9382  ;;
     9383esac
     9384
     9385# Global variables:
     9386ofile=libtool
     9387can_build_shared=yes
     9388
     9389# All known linkers require a '.a' archive for static linking (except MSVC,
     9390# which needs '.lib').
     9391libext=a
     9392
     9393with_gnu_ld=$lt_cv_prog_gnu_ld
     9394
     9395old_CC=$CC
     9396old_CFLAGS=$CFLAGS
     9397
     9398# Set sane defaults for various variables
     9399test -z "$CC" && CC=cc
     9400test -z "$LTCC" && LTCC=$CC
     9401test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
     9402test -z "$LD" && LD=ld
     9403test -z "$ac_objext" && ac_objext=o
     9404
     9405func_cc_basename $compiler
     9406cc_basename=$func_cc_basename_result
     9407
     9408
     9409# Only perform the check for file, if the check method requires it
     9410test -z "$MAGIC_CMD" && MAGIC_CMD=file
     9411case $deplibs_check_method in
     9412file_magic*)
     9413  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     9414    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
     9415$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
     9416if ${lt_cv_path_MAGIC_CMD+:} false; then :
     9417  $as_echo_n "(cached) " >&6
     9418else
     9419  case $MAGIC_CMD in
     9420[\\/*] |  ?:[\\/]*)
     9421  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
     9422  ;;
     9423*)
     9424  lt_save_MAGIC_CMD=$MAGIC_CMD
     9425  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     9426  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
     9427  for ac_dir in $ac_dummy; do
     9428    IFS=$lt_save_ifs
     9429    test -z "$ac_dir" && ac_dir=.
     9430    if test -f "$ac_dir/${ac_tool_prefix}file"; then
     9431      lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
     9432      if test -n "$file_magic_test_file"; then
     9433        case $deplibs_check_method in
     9434        "file_magic "*)
     9435          file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
     9436          MAGIC_CMD=$lt_cv_path_MAGIC_CMD
     9437          if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
     9438            $EGREP "$file_magic_regex" > /dev/null; then
     9439            :
     9440          else
     9441            cat <<_LT_EOF 1>&2
     9442
     9443*** Warning: the command libtool uses to detect shared libraries,
     9444*** $file_magic_cmd, produces output that libtool cannot recognize.
     9445*** The result is that libtool may fail to recognize shared libraries
     9446*** as such.  This will affect the creation of libtool libraries that
     9447*** depend on shared libraries, but programs linked with such libtool
     9448*** libraries will work regardless of this problem.  Nevertheless, you
     9449*** may want to report the problem to your system manager and/or to
     9450*** bug-libtool@gnu.org
     9451
     9452_LT_EOF
     9453          fi ;;
     9454        esac
     9455      fi
     9456      break
     9457    fi
     9458  done
     9459  IFS=$lt_save_ifs
     9460  MAGIC_CMD=$lt_save_MAGIC_CMD
     9461  ;;
     9462esac
     9463fi
     9464
     9465MAGIC_CMD=$lt_cv_path_MAGIC_CMD
     9466if test -n "$MAGIC_CMD"; then
     9467  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
     9468$as_echo "$MAGIC_CMD" >&6; }
     9469else
     9470  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     9471$as_echo "no" >&6; }
     9472fi
     9473
     9474
     9475
     9476
     9477
     9478if test -z "$lt_cv_path_MAGIC_CMD"; then
     9479  if test -n "$ac_tool_prefix"; then
     9480    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
     9481$as_echo_n "checking for file... " >&6; }
     9482if ${lt_cv_path_MAGIC_CMD+:} false; then :
     9483  $as_echo_n "(cached) " >&6
     9484else
     9485  case $MAGIC_CMD in
     9486[\\/*] |  ?:[\\/]*)
     9487  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
     9488  ;;
     9489*)
     9490  lt_save_MAGIC_CMD=$MAGIC_CMD
     9491  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     9492  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
     9493  for ac_dir in $ac_dummy; do
     9494    IFS=$lt_save_ifs
     9495    test -z "$ac_dir" && ac_dir=.
     9496    if test -f "$ac_dir/file"; then
     9497      lt_cv_path_MAGIC_CMD=$ac_dir/"file"
     9498      if test -n "$file_magic_test_file"; then
     9499        case $deplibs_check_method in
     9500        "file_magic "*)
     9501          file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
     9502          MAGIC_CMD=$lt_cv_path_MAGIC_CMD
     9503          if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
     9504            $EGREP "$file_magic_regex" > /dev/null; then
     9505            :
     9506          else
     9507            cat <<_LT_EOF 1>&2
     9508
     9509*** Warning: the command libtool uses to detect shared libraries,
     9510*** $file_magic_cmd, produces output that libtool cannot recognize.
     9511*** The result is that libtool may fail to recognize shared libraries
     9512*** as such.  This will affect the creation of libtool libraries that
     9513*** depend on shared libraries, but programs linked with such libtool
     9514*** libraries will work regardless of this problem.  Nevertheless, you
     9515*** may want to report the problem to your system manager and/or to
     9516*** bug-libtool@gnu.org
     9517
     9518_LT_EOF
     9519          fi ;;
     9520        esac
     9521      fi
     9522      break
     9523    fi
     9524  done
     9525  IFS=$lt_save_ifs
     9526  MAGIC_CMD=$lt_save_MAGIC_CMD
     9527  ;;
     9528esac
     9529fi
     9530
     9531MAGIC_CMD=$lt_cv_path_MAGIC_CMD
     9532if test -n "$MAGIC_CMD"; then
     9533  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
     9534$as_echo "$MAGIC_CMD" >&6; }
     9535else
     9536  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     9537$as_echo "no" >&6; }
     9538fi
     9539
     9540
     9541  else
     9542    MAGIC_CMD=:
     9543  fi
     9544fi
     9545
     9546  fi
     9547  ;;
     9548esac
     9549
     9550# Use C for the default configuration in the libtool script
     9551
     9552lt_save_CC=$CC
     9553ac_ext=c
     9554ac_cpp='$CPP $CPPFLAGS'
     9555ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     9556ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     9557ac_compiler_gnu=$ac_cv_c_compiler_gnu
     9558
     9559
     9560# Source file extension for C test sources.
     9561ac_ext=c
     9562
     9563# Object file extension for compiled C test sources.
     9564objext=o
     9565objext=$objext
     9566
     9567# Code to be used in simple compile tests
     9568lt_simple_compile_test_code="int some_variable = 0;"
     9569
     9570# Code to be used in simple link tests
     9571lt_simple_link_test_code='int main(){return(0);}'
     9572
     9573
     9574
     9575
     9576
     9577
     9578
     9579# If no C compiler was specified, use CC.
     9580LTCC=${LTCC-"$CC"}
     9581
     9582# If no C compiler flags were specified, use CFLAGS.
     9583LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
     9584
     9585# Allow CC to be a program name with arguments.
     9586compiler=$CC
     9587
     9588# Save the default compiler, since it gets overwritten when the other
     9589# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
     9590compiler_DEFAULT=$CC
     9591
     9592# save warnings/boilerplate of simple test code
     9593ac_outfile=conftest.$ac_objext
     9594echo "$lt_simple_compile_test_code" >conftest.$ac_ext
     9595eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
     9596_lt_compiler_boilerplate=`cat conftest.err`
     9597$RM conftest*
     9598
     9599ac_outfile=conftest.$ac_objext
     9600echo "$lt_simple_link_test_code" >conftest.$ac_ext
     9601eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
     9602_lt_linker_boilerplate=`cat conftest.err`
     9603$RM -r conftest*
     9604
     9605
     9606## CAVEAT EMPTOR:
     9607## There is no encapsulation within the following macros, do not change
     9608## the running order or otherwise move them around unless you know exactly
     9609## what you are doing...
     9610if test -n "$compiler"; then
     9611
     9612lt_prog_compiler_no_builtin_flag=
     9613
     9614if test yes = "$GCC"; then
     9615  case $cc_basename in
     9616  nvcc*)
     9617    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
     9618  *)
     9619    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
     9620  esac
     9621
     9622  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
     9623$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
     9624if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
     9625  $as_echo_n "(cached) " >&6
     9626else
     9627  lt_cv_prog_compiler_rtti_exceptions=no
     9628   ac_outfile=conftest.$ac_objext
     9629   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     9630   lt_compiler_flag="-fno-rtti -fno-exceptions"  ## exclude from sc_useless_quotes_in_assignment
     9631   # Insert the option either (1) after the last *FLAGS variable, or
     9632   # (2) before a word containing "conftest.", or (3) at the end.
     9633   # Note that $ac_compile itself does not contain backslashes and begins
     9634   # with a dollar sign (not a hyphen), so the echo should work correctly.
     9635   # The option is referenced via a variable to avoid confusing sed.
     9636   lt_compile=`echo "$ac_compile" | $SED \
     9637   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     9638   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     9639   -e 's:$: $lt_compiler_flag:'`
     9640   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     9641   (eval "$lt_compile" 2>conftest.err)
     9642   ac_status=$?
     9643   cat conftest.err >&5
     9644   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     9645   if (exit $ac_status) && test -s "$ac_outfile"; then
     9646     # The compiler can only warn and ignore the option if not recognized
     9647     # So say no if there are warnings other than the usual output.
     9648     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
     9649     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     9650     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
     9651       lt_cv_prog_compiler_rtti_exceptions=yes
     9652     fi
     9653   fi
     9654   $RM conftest*
     9655
     9656fi
     9657{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
     9658$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
     9659
     9660if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
     9661    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
     9662else
     9663    :
     9664fi
     9665
     9666fi
     9667
     9668
     9669
     9670
     9671
     9672
     9673  lt_prog_compiler_wl=
     9674lt_prog_compiler_pic=
     9675lt_prog_compiler_static=
     9676
     9677
     9678  if test yes = "$GCC"; then
     9679    lt_prog_compiler_wl='-Wl,'
     9680    lt_prog_compiler_static='-static'
     9681
     9682    case $host_os in
     9683      aix*)
     9684      # All AIX code is PIC.
     9685      if test ia64 = "$host_cpu"; then
     9686        # AIX 5 now supports IA64 processor
     9687        lt_prog_compiler_static='-Bstatic'
     9688      fi
     9689      lt_prog_compiler_pic='-fPIC'
     9690      ;;
     9691
     9692    amigaos*)
     9693      case $host_cpu in
     9694      powerpc)
     9695            # see comment about AmigaOS4 .so support
     9696            lt_prog_compiler_pic='-fPIC'
     9697        ;;
     9698      m68k)
     9699            # FIXME: we need at least 68020 code to build shared libraries, but
     9700            # adding the '-m68020' flag to GCC prevents building anything better,
     9701            # like '-m68040'.
     9702            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
     9703        ;;
     9704      esac
     9705      ;;
     9706
     9707    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
     9708      # PIC is the default for these OSes.
     9709      ;;
     9710
     9711    mingw* | cygwin* | pw32* | os2* | cegcc*)
     9712      # This hack is so that the source file can tell whether it is being
     9713      # built for inclusion in a dll (and should export symbols for example).
     9714      # Although the cygwin gcc ignores -fPIC, still need this for old-style
     9715      # (--disable-auto-import) libraries
     9716      lt_prog_compiler_pic='-DDLL_EXPORT'
     9717      case $host_os in
     9718      os2*)
     9719        lt_prog_compiler_static='$wl-static'
     9720        ;;
     9721      esac
     9722      ;;
     9723
     9724    darwin* | rhapsody*)
     9725      # PIC is the default on this platform
     9726      # Common symbols not allowed in MH_DYLIB files
     9727      lt_prog_compiler_pic='-fno-common'
     9728      ;;
     9729
     9730    haiku*)
     9731      # PIC is the default for Haiku.
     9732      # The "-static" flag exists, but is broken.
     9733      lt_prog_compiler_static=
     9734      ;;
     9735
     9736    hpux*)
     9737      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
     9738      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
     9739      # sets the default TLS model and affects inlining.
     9740      case $host_cpu in
     9741      hppa*64*)
     9742        # +Z the default
     9743        ;;
     9744      *)
     9745        lt_prog_compiler_pic='-fPIC'
     9746        ;;
     9747      esac
     9748      ;;
     9749
     9750    interix[3-9]*)
     9751      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
     9752      # Instead, we relocate shared libraries at runtime.
     9753      ;;
     9754
     9755    msdosdjgpp*)
     9756      # Just because we use GCC doesn't mean we suddenly get shared libraries
     9757      # on systems that don't support them.
     9758      lt_prog_compiler_can_build_shared=no
     9759      enable_shared=no
     9760      ;;
     9761
     9762    *nto* | *qnx*)
     9763      # QNX uses GNU C++, but need to define -shared option too, otherwise
     9764      # it will coredump.
     9765      lt_prog_compiler_pic='-fPIC -shared'
     9766      ;;
     9767
     9768    sysv4*MP*)
     9769      if test -d /usr/nec; then
     9770        lt_prog_compiler_pic=-Kconform_pic
     9771      fi
     9772      ;;
     9773
     9774    *)
     9775      lt_prog_compiler_pic='-fPIC'
     9776      ;;
     9777    esac
     9778
     9779    case $cc_basename in
     9780    nvcc*) # Cuda Compiler Driver 2.2
     9781      lt_prog_compiler_wl='-Xlinker '
     9782      if test -n "$lt_prog_compiler_pic"; then
     9783        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
     9784      fi
     9785      ;;
     9786    esac
     9787  else
     9788    # PORTME Check for flag to pass linker flags through the system compiler.
     9789    case $host_os in
     9790    aix*)
     9791      lt_prog_compiler_wl='-Wl,'
     9792      if test ia64 = "$host_cpu"; then
     9793        # AIX 5 now supports IA64 processor
     9794        lt_prog_compiler_static='-Bstatic'
     9795      else
     9796        lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
     9797      fi
     9798      ;;
     9799
     9800    darwin* | rhapsody*)
     9801      # PIC is the default on this platform
     9802      # Common symbols not allowed in MH_DYLIB files
     9803      lt_prog_compiler_pic='-fno-common'
     9804      case $cc_basename in
     9805      nagfor*)
     9806        # NAG Fortran compiler
     9807        lt_prog_compiler_wl='-Wl,-Wl,,'
     9808        lt_prog_compiler_pic='-PIC'
     9809        lt_prog_compiler_static='-Bstatic'
     9810        ;;
     9811      esac
     9812      ;;
     9813
     9814    mingw* | cygwin* | pw32* | os2* | cegcc*)
     9815      # This hack is so that the source file can tell whether it is being
     9816      # built for inclusion in a dll (and should export symbols for example).
     9817      lt_prog_compiler_pic='-DDLL_EXPORT'
     9818      case $host_os in
     9819      os2*)
     9820        lt_prog_compiler_static='$wl-static'
     9821        ;;
     9822      esac
     9823      ;;
     9824
     9825    hpux9* | hpux10* | hpux11*)
     9826      lt_prog_compiler_wl='-Wl,'
     9827      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
     9828      # not for PA HP-UX.
     9829      case $host_cpu in
     9830      hppa*64*|ia64*)
     9831        # +Z the default
     9832        ;;
     9833      *)
     9834        lt_prog_compiler_pic='+Z'
     9835        ;;
     9836      esac
     9837      # Is there a better lt_prog_compiler_static that works with the bundled CC?
     9838      lt_prog_compiler_static='$wl-a ${wl}archive'
     9839      ;;
     9840
     9841    irix5* | irix6* | nonstopux*)
     9842      lt_prog_compiler_wl='-Wl,'
     9843      # PIC (with -KPIC) is the default.
     9844      lt_prog_compiler_static='-non_shared'
     9845      ;;
     9846
     9847    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     9848      case $cc_basename in
     9849      # old Intel for x86_64, which still supported -KPIC.
     9850      ecc*)
     9851        lt_prog_compiler_wl='-Wl,'
     9852        lt_prog_compiler_pic='-KPIC'
     9853        lt_prog_compiler_static='-static'
     9854        ;;
     9855      # icc used to be incompatible with GCC.
     9856      # ICC 10 doesn't accept -KPIC any more.
     9857      icc* | ifort*)
     9858        lt_prog_compiler_wl='-Wl,'
     9859        lt_prog_compiler_pic='-fPIC'
     9860        lt_prog_compiler_static='-static'
     9861        ;;
     9862      # Lahey Fortran 8.1.
     9863      lf95*)
     9864        lt_prog_compiler_wl='-Wl,'
     9865        lt_prog_compiler_pic='--shared'
     9866        lt_prog_compiler_static='--static'
     9867        ;;
     9868      nagfor*)
     9869        # NAG Fortran compiler
     9870        lt_prog_compiler_wl='-Wl,-Wl,,'
     9871        lt_prog_compiler_pic='-PIC'
     9872        lt_prog_compiler_static='-Bstatic'
     9873        ;;
     9874      tcc*)
     9875        # Fabrice Bellard et al's Tiny C Compiler
     9876        lt_prog_compiler_wl='-Wl,'
     9877        lt_prog_compiler_pic='-fPIC'
     9878        lt_prog_compiler_static='-static'
     9879        ;;
     9880      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
     9881        # Portland Group compilers (*not* the Pentium gcc compiler,
     9882        # which looks to be a dead project)
     9883        lt_prog_compiler_wl='-Wl,'
     9884        lt_prog_compiler_pic='-fpic'
     9885        lt_prog_compiler_static='-Bstatic'
     9886        ;;
     9887      ccc*)
     9888        lt_prog_compiler_wl='-Wl,'
     9889        # All Alpha code is PIC.
     9890        lt_prog_compiler_static='-non_shared'
     9891        ;;
     9892      xl* | bgxl* | bgf* | mpixl*)
     9893        # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
     9894        lt_prog_compiler_wl='-Wl,'
     9895        lt_prog_compiler_pic='-qpic'
     9896        lt_prog_compiler_static='-qstaticlink'
     9897        ;;
     9898      *)
     9899        case `$CC -V 2>&1 | sed 5q` in
     9900        *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
     9901          # Sun Fortran 8.3 passes all unrecognized flags to the linker
     9902          lt_prog_compiler_pic='-KPIC'
     9903          lt_prog_compiler_static='-Bstatic'
     9904          lt_prog_compiler_wl=''
     9905          ;;
     9906        *Sun\ F* | *Sun*Fortran*)
     9907          lt_prog_compiler_pic='-KPIC'
     9908          lt_prog_compiler_static='-Bstatic'
     9909          lt_prog_compiler_wl='-Qoption ld '
     9910          ;;
     9911        *Sun\ C*)
     9912          # Sun C 5.9
     9913          lt_prog_compiler_pic='-KPIC'
     9914          lt_prog_compiler_static='-Bstatic'
     9915          lt_prog_compiler_wl='-Wl,'
     9916          ;;
     9917        *Intel*\ [CF]*Compiler*)
     9918          lt_prog_compiler_wl='-Wl,'
     9919          lt_prog_compiler_pic='-fPIC'
     9920          lt_prog_compiler_static='-static'
     9921          ;;
     9922        *Portland\ Group*)
     9923          lt_prog_compiler_wl='-Wl,'
     9924          lt_prog_compiler_pic='-fpic'
     9925          lt_prog_compiler_static='-Bstatic'
     9926          ;;
     9927        esac
     9928        ;;
     9929      esac
     9930      ;;
     9931
     9932    newsos6)
     9933      lt_prog_compiler_pic='-KPIC'
     9934      lt_prog_compiler_static='-Bstatic'
     9935      ;;
     9936
     9937    *nto* | *qnx*)
     9938      # QNX uses GNU C++, but need to define -shared option too, otherwise
     9939      # it will coredump.
     9940      lt_prog_compiler_pic='-fPIC -shared'
     9941      ;;
     9942
     9943    osf3* | osf4* | osf5*)
     9944      lt_prog_compiler_wl='-Wl,'
     9945      # All OSF/1 code is PIC.
     9946      lt_prog_compiler_static='-non_shared'
     9947      ;;
     9948
     9949    rdos*)
     9950      lt_prog_compiler_static='-non_shared'
     9951      ;;
     9952
     9953    solaris*)
     9954      lt_prog_compiler_pic='-KPIC'
     9955      lt_prog_compiler_static='-Bstatic'
     9956      case $cc_basename in
     9957      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
     9958        lt_prog_compiler_wl='-Qoption ld ';;
     9959      *)
     9960        lt_prog_compiler_wl='-Wl,';;
     9961      esac
     9962      ;;
     9963
     9964    sunos4*)
     9965      lt_prog_compiler_wl='-Qoption ld '
     9966      lt_prog_compiler_pic='-PIC'
     9967      lt_prog_compiler_static='-Bstatic'
     9968      ;;
     9969
     9970    sysv4 | sysv4.2uw2* | sysv4.3*)
     9971      lt_prog_compiler_wl='-Wl,'
     9972      lt_prog_compiler_pic='-KPIC'
     9973      lt_prog_compiler_static='-Bstatic'
     9974      ;;
     9975
     9976    sysv4*MP*)
     9977      if test -d /usr/nec; then
     9978        lt_prog_compiler_pic='-Kconform_pic'
     9979        lt_prog_compiler_static='-Bstatic'
     9980      fi
     9981      ;;
     9982
     9983    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
     9984      lt_prog_compiler_wl='-Wl,'
     9985      lt_prog_compiler_pic='-KPIC'
     9986      lt_prog_compiler_static='-Bstatic'
     9987      ;;
     9988
     9989    unicos*)
     9990      lt_prog_compiler_wl='-Wl,'
     9991      lt_prog_compiler_can_build_shared=no
     9992      ;;
     9993
     9994    uts4*)
     9995      lt_prog_compiler_pic='-pic'
     9996      lt_prog_compiler_static='-Bstatic'
     9997      ;;
     9998
     9999    *)
     10000      lt_prog_compiler_can_build_shared=no
     10001      ;;
     10002    esac
     10003  fi
     10004
     10005case $host_os in
     10006  # For platforms that do not support PIC, -DPIC is meaningless:
     10007  *djgpp*)
     10008    lt_prog_compiler_pic=
     10009    ;;
     10010  *)
     10011    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
     10012    ;;
     10013esac
     10014
     10015{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
     10016$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
     10017if ${lt_cv_prog_compiler_pic+:} false; then :
     10018  $as_echo_n "(cached) " >&6
     10019else
     10020  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
     10021fi
     10022{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
     10023$as_echo "$lt_cv_prog_compiler_pic" >&6; }
     10024lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
     10025
     10026#
     10027# Check to make sure the PIC flag actually works.
     10028#
     10029if test -n "$lt_prog_compiler_pic"; then
     10030  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
     10031$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
     10032if ${lt_cv_prog_compiler_pic_works+:} false; then :
     10033  $as_echo_n "(cached) " >&6
     10034else
     10035  lt_cv_prog_compiler_pic_works=no
     10036   ac_outfile=conftest.$ac_objext
     10037   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     10038   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"  ## exclude from sc_useless_quotes_in_assignment
     10039   # Insert the option either (1) after the last *FLAGS variable, or
     10040   # (2) before a word containing "conftest.", or (3) at the end.
     10041   # Note that $ac_compile itself does not contain backslashes and begins
     10042   # with a dollar sign (not a hyphen), so the echo should work correctly.
     10043   # The option is referenced via a variable to avoid confusing sed.
     10044   lt_compile=`echo "$ac_compile" | $SED \
     10045   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     10046   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     10047   -e 's:$: $lt_compiler_flag:'`
     10048   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     10049   (eval "$lt_compile" 2>conftest.err)
     10050   ac_status=$?
     10051   cat conftest.err >&5
     10052   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     10053   if (exit $ac_status) && test -s "$ac_outfile"; then
     10054     # The compiler can only warn and ignore the option if not recognized
     10055     # So say no if there are warnings other than the usual output.
     10056     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
     10057     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     10058     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
     10059       lt_cv_prog_compiler_pic_works=yes
     10060     fi
     10061   fi
     10062   $RM conftest*
     10063
     10064fi
     10065{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
     10066$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
     10067
     10068if test yes = "$lt_cv_prog_compiler_pic_works"; then
     10069    case $lt_prog_compiler_pic in
     10070     "" | " "*) ;;
     10071     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
     10072     esac
     10073else
     10074    lt_prog_compiler_pic=
     10075     lt_prog_compiler_can_build_shared=no
     10076fi
     10077
     10078fi
     10079
     10080
     10081
     10082
     10083
     10084
     10085
     10086
     10087
     10088
     10089
     10090#
     10091# Check to make sure the static flag actually works.
     10092#
     10093wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
     10094{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
     10095$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
     10096if ${lt_cv_prog_compiler_static_works+:} false; then :
     10097  $as_echo_n "(cached) " >&6
     10098else
     10099  lt_cv_prog_compiler_static_works=no
     10100   save_LDFLAGS=$LDFLAGS
     10101   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
     10102   echo "$lt_simple_link_test_code" > conftest.$ac_ext
     10103   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
     10104     # The linker can only warn and ignore the option if not recognized
     10105     # So say no if there are warnings
     10106     if test -s conftest.err; then
     10107       # Append any errors to the config.log.
     10108       cat conftest.err 1>&5
     10109       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
     10110       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     10111       if diff conftest.exp conftest.er2 >/dev/null; then
     10112         lt_cv_prog_compiler_static_works=yes
     10113       fi
     10114     else
     10115       lt_cv_prog_compiler_static_works=yes
     10116     fi
     10117   fi
     10118   $RM -r conftest*
     10119   LDFLAGS=$save_LDFLAGS
     10120
     10121fi
     10122{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
     10123$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
     10124
     10125if test yes = "$lt_cv_prog_compiler_static_works"; then
     10126    :
     10127else
     10128    lt_prog_compiler_static=
     10129fi
     10130
     10131
     10132
     10133
     10134
     10135
     10136
     10137  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
     10138$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
     10139if ${lt_cv_prog_compiler_c_o+:} false; then :
     10140  $as_echo_n "(cached) " >&6
     10141else
     10142  lt_cv_prog_compiler_c_o=no
     10143   $RM -r conftest 2>/dev/null
     10144   mkdir conftest
     10145   cd conftest
     10146   mkdir out
     10147   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     10148
     10149   lt_compiler_flag="-o out/conftest2.$ac_objext"
     10150   # Insert the option either (1) after the last *FLAGS variable, or
     10151   # (2) before a word containing "conftest.", or (3) at the end.
     10152   # Note that $ac_compile itself does not contain backslashes and begins
     10153   # with a dollar sign (not a hyphen), so the echo should work correctly.
     10154   lt_compile=`echo "$ac_compile" | $SED \
     10155   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     10156   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     10157   -e 's:$: $lt_compiler_flag:'`
     10158   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     10159   (eval "$lt_compile" 2>out/conftest.err)
     10160   ac_status=$?
     10161   cat out/conftest.err >&5
     10162   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     10163   if (exit $ac_status) && test -s out/conftest2.$ac_objext
     10164   then
     10165     # The compiler can only warn and ignore the option if not recognized
     10166     # So say no if there are warnings
     10167     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
     10168     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
     10169     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
     10170       lt_cv_prog_compiler_c_o=yes
     10171     fi
     10172   fi
     10173   chmod u+w . 2>&5
     10174   $RM conftest*
     10175   # SGI C++ compiler will create directory out/ii_files/ for
     10176   # template instantiation
     10177   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
     10178   $RM out/* && rmdir out
     10179   cd ..
     10180   $RM -r conftest
     10181   $RM conftest*
     10182
     10183fi
     10184{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
     10185$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
     10186
     10187
     10188
     10189
     10190
     10191
     10192  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
     10193$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
     10194if ${lt_cv_prog_compiler_c_o+:} false; then :
     10195  $as_echo_n "(cached) " >&6
     10196else
     10197  lt_cv_prog_compiler_c_o=no
     10198   $RM -r conftest 2>/dev/null
     10199   mkdir conftest
     10200   cd conftest
     10201   mkdir out
     10202   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     10203
     10204   lt_compiler_flag="-o out/conftest2.$ac_objext"
     10205   # Insert the option either (1) after the last *FLAGS variable, or
     10206   # (2) before a word containing "conftest.", or (3) at the end.
     10207   # Note that $ac_compile itself does not contain backslashes and begins
     10208   # with a dollar sign (not a hyphen), so the echo should work correctly.
     10209   lt_compile=`echo "$ac_compile" | $SED \
     10210   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     10211   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     10212   -e 's:$: $lt_compiler_flag:'`
     10213   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     10214   (eval "$lt_compile" 2>out/conftest.err)
     10215   ac_status=$?
     10216   cat out/conftest.err >&5
     10217   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     10218   if (exit $ac_status) && test -s out/conftest2.$ac_objext
     10219   then
     10220     # The compiler can only warn and ignore the option if not recognized
     10221     # So say no if there are warnings
     10222     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
     10223     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
     10224     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
     10225       lt_cv_prog_compiler_c_o=yes
     10226     fi
     10227   fi
     10228   chmod u+w . 2>&5
     10229   $RM conftest*
     10230   # SGI C++ compiler will create directory out/ii_files/ for
     10231   # template instantiation
     10232   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
     10233   $RM out/* && rmdir out
     10234   cd ..
     10235   $RM -r conftest
     10236   $RM conftest*
     10237
     10238fi
     10239{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
     10240$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
     10241
     10242
     10243
     10244
     10245hard_links=nottested
     10246if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
     10247  # do not overwrite the value of need_locks provided by the user
     10248  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
     10249$as_echo_n "checking if we can lock with hard links... " >&6; }
     10250  hard_links=yes
     10251  $RM conftest*
     10252  ln conftest.a conftest.b 2>/dev/null && hard_links=no
     10253  touch conftest.a
     10254  ln conftest.a conftest.b 2>&5 || hard_links=no
     10255  ln conftest.a conftest.b 2>/dev/null && hard_links=no
     10256  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
     10257$as_echo "$hard_links" >&6; }
     10258  if test no = "$hard_links"; then
     10259    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
     10260$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
     10261    need_locks=warn
     10262  fi
     10263else
     10264  need_locks=no
     10265fi
     10266
     10267
     10268
     10269
     10270
     10271
     10272  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
     10273$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
     10274
     10275  runpath_var=
     10276  allow_undefined_flag=
     10277  always_export_symbols=no
     10278  archive_cmds=
     10279  archive_expsym_cmds=
     10280  compiler_needs_object=no
     10281  enable_shared_with_static_runtimes=no
     10282  export_dynamic_flag_spec=
     10283  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     10284  hardcode_automatic=no
     10285  hardcode_direct=no
     10286  hardcode_direct_absolute=no
     10287  hardcode_libdir_flag_spec=
     10288  hardcode_libdir_separator=
     10289  hardcode_minus_L=no
     10290  hardcode_shlibpath_var=unsupported
     10291  inherit_rpath=no
     10292  link_all_deplibs=unknown
     10293  module_cmds=
     10294  module_expsym_cmds=
     10295  old_archive_from_new_cmds=
     10296  old_archive_from_expsyms_cmds=
     10297  thread_safe_flag_spec=
     10298  whole_archive_flag_spec=
     10299  # include_expsyms should be a list of space-separated symbols to be *always*
     10300  # included in the symbol list
     10301  include_expsyms=
     10302  # exclude_expsyms can be an extended regexp of symbols to exclude
     10303  # it will be wrapped by ' (' and ')$', so one must not match beginning or
     10304  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
     10305  # as well as any symbol that contains 'd'.
     10306  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
     10307  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
     10308  # platforms (ab)use it in PIC code, but their linkers get confused if
     10309  # the symbol is explicitly referenced.  Since portable code cannot
     10310  # rely on this symbol name, it's probably fine to never include it in
     10311  # preloaded symbol tables.
     10312  # Exclude shared library initialization/finalization symbols.
     10313  extract_expsyms_cmds=
     10314
     10315  case $host_os in
     10316  cygwin* | mingw* | pw32* | cegcc*)
     10317    # FIXME: the MSVC++ port hasn't been tested in a loooong time
     10318    # When not using gcc, we currently assume that we are using
     10319    # Microsoft Visual C++.
     10320    if test yes != "$GCC"; then
     10321      with_gnu_ld=no
     10322    fi
     10323    ;;
     10324  interix*)
     10325    # we just hope/assume this is gcc and not c89 (= MSVC++)
     10326    with_gnu_ld=yes
     10327    ;;
     10328  openbsd* | bitrig*)
     10329    with_gnu_ld=no
     10330    ;;
     10331  linux* | k*bsd*-gnu | gnu*)
     10332    link_all_deplibs=no
     10333    ;;
     10334  esac
     10335
     10336  ld_shlibs=yes
     10337
     10338  # On some targets, GNU ld is compatible enough with the native linker
     10339  # that we're better off using the native interface for both.
     10340  lt_use_gnu_ld_interface=no
     10341  if test yes = "$with_gnu_ld"; then
     10342    case $host_os in
     10343      aix*)
     10344        # The AIX port of GNU ld has always aspired to compatibility
     10345        # with the native linker.  However, as the warning in the GNU ld
     10346        # block says, versions before 2.19.5* couldn't really create working
     10347        # shared libraries, regardless of the interface used.
     10348        case `$LD -v 2>&1` in
     10349          *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
     10350          *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
     10351          *\ \(GNU\ Binutils\)\ [3-9]*) ;;
     10352          *)
     10353            lt_use_gnu_ld_interface=yes
     10354            ;;
     10355        esac
     10356        ;;
     10357      *)
     10358        lt_use_gnu_ld_interface=yes
     10359        ;;
     10360    esac
     10361  fi
     10362
     10363  if test yes = "$lt_use_gnu_ld_interface"; then
     10364    # If archive_cmds runs LD, not CC, wlarc should be empty
     10365    wlarc='$wl'
     10366
     10367    # Set some defaults for GNU ld with shared library support. These
     10368    # are reset later if shared libraries are not supported. Putting them
     10369    # here allows them to be overridden if necessary.
     10370    runpath_var=LD_RUN_PATH
     10371    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     10372    export_dynamic_flag_spec='$wl--export-dynamic'
     10373    # ancient GNU ld didn't support --whole-archive et. al.
     10374    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
     10375      whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
     10376    else
     10377      whole_archive_flag_spec=
     10378    fi
     10379    supports_anon_versioning=no
     10380    case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
     10381      *GNU\ gold*) supports_anon_versioning=yes ;;
     10382      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
     10383      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
     10384      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
     10385      *\ 2.11.*) ;; # other 2.11 versions
     10386      *) supports_anon_versioning=yes ;;
     10387    esac
     10388
     10389    # See if GNU ld supports shared libraries.
     10390    case $host_os in
     10391    aix[3-9]*)
     10392      # On AIX/PPC, the GNU linker is very broken
     10393      if test ia64 != "$host_cpu"; then
     10394        ld_shlibs=no
     10395        cat <<_LT_EOF 1>&2
     10396
     10397*** Warning: the GNU linker, at least up to release 2.19, is reported
     10398*** to be unable to reliably create shared libraries on AIX.
     10399*** Therefore, libtool is disabling shared libraries support.  If you
     10400*** really care for shared libraries, you may want to install binutils
     10401*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
     10402*** You will then need to restart the configuration process.
     10403
     10404_LT_EOF
     10405      fi
     10406      ;;
     10407
     10408    amigaos*)
     10409      case $host_cpu in
     10410      powerpc)
     10411            # see comment about AmigaOS4 .so support
     10412            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10413            archive_expsym_cmds=''
     10414        ;;
     10415      m68k)
     10416            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)'
     10417            hardcode_libdir_flag_spec='-L$libdir'
     10418            hardcode_minus_L=yes
     10419        ;;
     10420      esac
     10421      ;;
     10422
     10423    beos*)
     10424      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
     10425        allow_undefined_flag=unsupported
     10426        # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
     10427        # support --undefined.  This deserves some investigation.  FIXME
     10428        archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10429      else
     10430        ld_shlibs=no
     10431      fi
     10432      ;;
     10433
     10434    cygwin* | mingw* | pw32* | cegcc*)
     10435      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
     10436      # as there is no search path for DLLs.
     10437      hardcode_libdir_flag_spec='-L$libdir'
     10438      export_dynamic_flag_spec='$wl--export-all-symbols'
     10439      allow_undefined_flag=unsupported
     10440      always_export_symbols=no
     10441      enable_shared_with_static_runtimes=yes
     10442      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'
     10443      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
     10444
     10445      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
     10446        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
     10447        # If the export-symbols file already is a .def file, use it as
     10448        # is; otherwise, prepend EXPORTS...
     10449        archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[   ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
     10450          cp $export_symbols $output_objdir/$soname.def;
     10451        else
     10452          echo EXPORTS > $output_objdir/$soname.def;
     10453          cat $export_symbols >> $output_objdir/$soname.def;
     10454        fi~
     10455        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
     10456      else
     10457        ld_shlibs=no
     10458      fi
     10459      ;;
     10460
     10461    haiku*)
     10462      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10463      link_all_deplibs=yes
     10464      ;;
     10465
     10466    os2*)
     10467      hardcode_libdir_flag_spec='-L$libdir'
     10468      hardcode_minus_L=yes
     10469      allow_undefined_flag=unsupported
     10470      shrext_cmds=.dll
     10471      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     10472        $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     10473        $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     10474        $ECHO EXPORTS >> $output_objdir/$libname.def~
     10475        emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
     10476        $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     10477        emximp -o $lib $output_objdir/$libname.def'
     10478      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     10479        $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     10480        $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     10481        $ECHO EXPORTS >> $output_objdir/$libname.def~
     10482        prefix_cmds="$SED"~
     10483        if test EXPORTS = "`$SED 1q $export_symbols`"; then
     10484          prefix_cmds="$prefix_cmds -e 1d";
     10485        fi~
     10486        prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
     10487        cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
     10488        $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     10489        emximp -o $lib $output_objdir/$libname.def'
     10490      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
     10491      enable_shared_with_static_runtimes=yes
     10492      ;;
     10493
     10494    interix[3-9]*)
     10495      hardcode_direct=no
     10496      hardcode_shlibpath_var=no
     10497      hardcode_libdir_flag_spec='$wl-rpath,$libdir'
     10498      export_dynamic_flag_spec='$wl-E'
     10499      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
     10500      # Instead, shared libraries are loaded at an image base (0x10000000 by
     10501      # default) and relocated if they conflict, which is a slow very memory
     10502      # consuming and fragmenting process.  To avoid this, we pick a random,
     10503      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
     10504      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
     10505      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
     10506      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'
     10507      ;;
     10508
     10509    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
     10510      tmp_diet=no
     10511      if test linux-dietlibc = "$host_os"; then
     10512        case $cc_basename in
     10513          diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
     10514        esac
     10515      fi
     10516      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
     10517         && test no = "$tmp_diet"
     10518      then
     10519        tmp_addflag=' $pic_flag'
     10520        tmp_sharedflag='-shared'
     10521        case $cc_basename,$host_cpu in
     10522        pgcc*)                          # Portland Group C compiler
     10523          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'
     10524          tmp_addflag=' $pic_flag'
     10525          ;;
     10526        pgf77* | pgf90* | pgf95* | pgfortran*)
     10527                                        # Portland Group f77 and f90 compilers
     10528          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'
     10529          tmp_addflag=' $pic_flag -Mnomain' ;;
     10530        ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
     10531          tmp_addflag=' -i_dynamic' ;;
     10532        efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
     10533          tmp_addflag=' -i_dynamic -nofor_main' ;;
     10534        ifc* | ifort*)                  # Intel Fortran compiler
     10535          tmp_addflag=' -nofor_main' ;;
     10536        lf95*)                          # Lahey Fortran 8.1
     10537          whole_archive_flag_spec=
     10538          tmp_sharedflag='--shared' ;;
     10539        nagfor*)                        # NAGFOR 5.3
     10540          tmp_sharedflag='-Wl,-shared' ;;
     10541        xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
     10542          tmp_sharedflag='-qmkshrobj'
     10543          tmp_addflag= ;;
     10544        nvcc*)  # Cuda Compiler Driver 2.2
     10545          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'
     10546          compiler_needs_object=yes
     10547          ;;
     10548        esac
     10549        case `$CC -V 2>&1 | sed 5q` in
     10550        *Sun\ C*)                       # Sun C 5.9
     10551          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'
     10552          compiler_needs_object=yes
     10553          tmp_sharedflag='-G' ;;
     10554        *Sun\ F*)                       # Sun Fortran 8.3
     10555          tmp_sharedflag='-G' ;;
     10556        esac
     10557        archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10558
     10559        if test yes = "$supports_anon_versioning"; then
     10560          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
     10561            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
     10562            echo "local: *; };" >> $output_objdir/$libname.ver~
     10563            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
     10564        fi
     10565
     10566        case $cc_basename in
     10567        tcc*)
     10568          export_dynamic_flag_spec='-rdynamic'
     10569          ;;
     10570        xlf* | bgf* | bgxlf* | mpixlf*)
     10571          # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
     10572          whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
     10573          hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     10574          archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
     10575          if test yes = "$supports_anon_versioning"; then
     10576            archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
     10577              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
     10578              echo "local: *; };" >> $output_objdir/$libname.ver~
     10579              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
     10580          fi
     10581          ;;
     10582        esac
     10583      else
     10584        ld_shlibs=no
     10585      fi
     10586      ;;
     10587
     10588    netbsd* | netbsdelf*-gnu)
     10589      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
     10590        archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
     10591        wlarc=
     10592      else
     10593        archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10594        archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
     10595      fi
     10596      ;;
     10597
     10598    solaris*)
     10599      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
     10600        ld_shlibs=no
     10601        cat <<_LT_EOF 1>&2
     10602
     10603*** Warning: The releases 2.8.* of the GNU linker cannot reliably
     10604*** create shared libraries on Solaris systems.  Therefore, libtool
     10605*** is disabling shared libraries support.  We urge you to upgrade GNU
     10606*** binutils to release 2.9.1 or newer.  Another option is to modify
     10607*** your PATH or compiler configuration so that the native linker is
     10608*** used, and then restart.
     10609
     10610_LT_EOF
     10611      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
     10612        archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10613        archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
     10614      else
     10615        ld_shlibs=no
     10616      fi
     10617      ;;
     10618
     10619    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
     10620      case `$LD -v 2>&1` in
     10621        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
     10622        ld_shlibs=no
     10623        cat <<_LT_EOF 1>&2
     10624
     10625*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
     10626*** reliably create shared libraries on SCO systems.  Therefore, libtool
     10627*** is disabling shared libraries support.  We urge you to upgrade GNU
     10628*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
     10629*** your PATH or compiler configuration so that the native linker is
     10630*** used, and then restart.
     10631
     10632_LT_EOF
     10633        ;;
     10634        *)
     10635          # For security reasons, it is highly recommended that you always
     10636          # use absolute paths for naming shared libraries, and exclude the
     10637          # DT_RUNPATH tag from executables and libraries.  But doing so
     10638          # requires that you compile everything twice, which is a pain.
     10639          if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
     10640            hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     10641            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10642            archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
     10643          else
     10644            ld_shlibs=no
     10645          fi
     10646        ;;
     10647      esac
     10648      ;;
     10649
     10650    sunos4*)
     10651      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
     10652      wlarc=
     10653      hardcode_direct=yes
     10654      hardcode_shlibpath_var=no
     10655      ;;
     10656
     10657    *)
     10658      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
     10659        archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10660        archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
     10661      else
     10662        ld_shlibs=no
     10663      fi
     10664      ;;
     10665    esac
     10666
     10667    if test no = "$ld_shlibs"; then
     10668      runpath_var=
     10669      hardcode_libdir_flag_spec=
     10670      export_dynamic_flag_spec=
     10671      whole_archive_flag_spec=
     10672    fi
     10673  else
     10674    # PORTME fill in a description of your system's linker (not GNU ld)
     10675    case $host_os in
     10676    aix3*)
     10677      allow_undefined_flag=unsupported
     10678      always_export_symbols=yes
     10679      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'
     10680      # Note: this linker hardcodes the directories in LIBPATH if there
     10681      # are no directories specified by -L.
     10682      hardcode_minus_L=yes
     10683      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
     10684        # Neither direct hardcoding nor static linking is supported with a
     10685        # broken collect2.
     10686        hardcode_direct=unsupported
     10687      fi
     10688      ;;
     10689
     10690    aix[4-9]*)
     10691      if test ia64 = "$host_cpu"; then
     10692        # On IA64, the linker does run time linking by default, so we don't
     10693        # have to do anything special.
     10694        aix_use_runtimelinking=no
     10695        exp_sym_flag='-Bexport'
     10696        no_entry_flag=
     10697      else
     10698        # If we're using GNU nm, then we don't want the "-C" option.
     10699        # -C means demangle to GNU nm, but means don't demangle to AIX nm.
     10700        # Without the "-l" option, or with the "-B" option, AIX nm treats
     10701        # weak defined symbols like other global defined symbols, whereas
     10702        # GNU nm marks them as "W".
     10703        # While the 'weak' keyword is ignored in the Export File, we need
     10704        # it in the Import File for the 'aix-soname' feature, so we have
     10705        # to replace the "-B" option with "-P" for AIX nm.
     10706        if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
     10707          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'
     10708        else
     10709          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'
     10710        fi
     10711        aix_use_runtimelinking=no
     10712
     10713        # Test if we are trying to use run time linking or normal
     10714        # AIX style linking. If -brtl is somewhere in LDFLAGS, we
     10715        # have runtime linking enabled, and use it for executables.
     10716        # For shared libraries, we enable/disable runtime linking
     10717        # depending on the kind of the shared library created -
     10718        # when "with_aix_soname,aix_use_runtimelinking" is:
     10719        # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
     10720        # "aix,yes"  lib.so          shared, rtl:yes, for executables
     10721        #            lib.a           static archive
     10722        # "both,no"  lib.so.V(shr.o) shared, rtl:yes
     10723        #            lib.a(lib.so.V) shared, rtl:no,  for executables
     10724        # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
     10725        #            lib.a(lib.so.V) shared, rtl:no
     10726        # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
     10727        #            lib.a           static archive
     10728        case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
     10729          for ld_flag in $LDFLAGS; do
     10730          if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
     10731            aix_use_runtimelinking=yes
     10732            break
     10733          fi
     10734          done
     10735          if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
     10736            # With aix-soname=svr4, we create the lib.so.V shared archives only,
     10737            # so we don't have lib.a shared libs to link our executables.
     10738            # We have to force runtime linking in this case.
     10739            aix_use_runtimelinking=yes
     10740            LDFLAGS="$LDFLAGS -Wl,-brtl"
     10741          fi
     10742          ;;
     10743        esac
     10744
     10745        exp_sym_flag='-bexport'
     10746        no_entry_flag='-bnoentry'
     10747      fi
     10748
     10749      # When large executables or shared objects are built, AIX ld can
     10750      # have problems creating the table of contents.  If linking a library
     10751      # or program results in "error TOC overflow" add -mminimal-toc to
     10752      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
     10753      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
     10754
     10755      archive_cmds=''
     10756      hardcode_direct=yes
     10757      hardcode_direct_absolute=yes
     10758      hardcode_libdir_separator=':'
     10759      link_all_deplibs=yes
     10760      file_list_spec='$wl-f,'
     10761      case $with_aix_soname,$aix_use_runtimelinking in
     10762      aix,*) ;; # traditional, no import file
     10763      svr4,* | *,yes) # use import file
     10764        # The Import File defines what to hardcode.
     10765        hardcode_direct=no
     10766        hardcode_direct_absolute=no
     10767        ;;
     10768      esac
     10769
     10770      if test yes = "$GCC"; then
     10771        case $host_os in aix4.[012]|aix4.[012].*)
     10772        # We only want to do this on AIX 4.2 and lower, the check
     10773        # below for broken collect2 doesn't work under 4.3+
     10774          collect2name=`$CC -print-prog-name=collect2`
     10775          if test -f "$collect2name" &&
     10776           strings "$collect2name" | $GREP resolve_lib_name >/dev/null
     10777          then
     10778          # We have reworked collect2
     10779          :
     10780          else
     10781          # We have old collect2
     10782          hardcode_direct=unsupported
     10783          # It fails to find uninstalled libraries when the uninstalled
     10784          # path is not listed in the libpath.  Setting hardcode_minus_L
     10785          # to unsupported forces relinking
     10786          hardcode_minus_L=yes
     10787          hardcode_libdir_flag_spec='-L$libdir'
     10788          hardcode_libdir_separator=
     10789          fi
     10790          ;;
     10791        esac
     10792        shared_flag='-shared'
     10793        if test yes = "$aix_use_runtimelinking"; then
     10794          shared_flag="$shared_flag "'$wl-G'
     10795        fi
     10796        # Need to ensure runtime linking is disabled for the traditional
     10797        # shared library, or the linker may eventually find shared libraries
     10798        # /with/ Import File - we do not want to mix them.
     10799        shared_flag_aix='-shared'
     10800        shared_flag_svr4='-shared $wl-G'
     10801      else
     10802        # not using gcc
     10803        if test ia64 = "$host_cpu"; then
     10804        # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
     10805        # chokes on -Wl,-G. The following line is correct:
     10806          shared_flag='-G'
     10807        else
     10808          if test yes = "$aix_use_runtimelinking"; then
     10809            shared_flag='$wl-G'
     10810          else
     10811            shared_flag='$wl-bM:SRE'
     10812          fi
     10813          shared_flag_aix='$wl-bM:SRE'
     10814          shared_flag_svr4='$wl-G'
     10815        fi
     10816      fi
     10817
     10818      export_dynamic_flag_spec='$wl-bexpall'
     10819      # It seems that -bexpall does not export symbols beginning with
     10820      # underscore (_), so it is better to generate a list of symbols to export.
     10821      always_export_symbols=yes
     10822      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
     10823        # Warning - without using the other runtime loading flags (-brtl),
     10824        # -berok will link without error, but may produce a broken library.
     10825        allow_undefined_flag='-berok'
     10826        # Determine the default libpath from the value encoded in an
     10827        # empty executable.
     10828        if test set = "${lt_cv_aix_libpath+set}"; then
     10829  aix_libpath=$lt_cv_aix_libpath
     10830else
     10831  if ${lt_cv_aix_libpath_+:} false; then :
     10832  $as_echo_n "(cached) " >&6
     10833else
     10834  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     10835/* end confdefs.h.  */
     10836
     10837int
     10838main ()
     10839{
     10840
     10841  ;
     10842  return 0;
     10843}
     10844_ACEOF
     10845if ac_fn_c_try_link "$LINENO"; then :
     10846
     10847  lt_aix_libpath_sed='
     10848      /Import File Strings/,/^$/ {
     10849          /^0/ {
     10850              s/^0  *\([^ ]*\) *$/\1/
     10851              p
     10852          }
     10853      }'
     10854  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     10855  # Check for a 64-bit object if we didn't find anything.
     10856  if test -z "$lt_cv_aix_libpath_"; then
     10857    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     10858  fi
     10859fi
     10860rm -f core conftest.err conftest.$ac_objext \
     10861    conftest$ac_exeext conftest.$ac_ext
     10862  if test -z "$lt_cv_aix_libpath_"; then
     10863    lt_cv_aix_libpath_=/usr/lib:/lib
     10864  fi
     10865
     10866fi
     10867
     10868  aix_libpath=$lt_cv_aix_libpath_
     10869fi
     10870
     10871        hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
     10872        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
     10873      else
     10874        if test ia64 = "$host_cpu"; then
     10875          hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
     10876          allow_undefined_flag="-z nodefs"
     10877          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"
     10878        else
     10879         # Determine the default libpath from the value encoded in an
     10880         # empty executable.
     10881         if test set = "${lt_cv_aix_libpath+set}"; then
     10882  aix_libpath=$lt_cv_aix_libpath
     10883else
     10884  if ${lt_cv_aix_libpath_+:} false; then :
     10885  $as_echo_n "(cached) " >&6
     10886else
     10887  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     10888/* end confdefs.h.  */
     10889
     10890int
     10891main ()
     10892{
     10893
     10894  ;
     10895  return 0;
     10896}
     10897_ACEOF
     10898if ac_fn_c_try_link "$LINENO"; then :
     10899
     10900  lt_aix_libpath_sed='
     10901      /Import File Strings/,/^$/ {
     10902          /^0/ {
     10903              s/^0  *\([^ ]*\) *$/\1/
     10904              p
     10905          }
     10906      }'
     10907  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     10908  # Check for a 64-bit object if we didn't find anything.
     10909  if test -z "$lt_cv_aix_libpath_"; then
     10910    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     10911  fi
     10912fi
     10913rm -f core conftest.err conftest.$ac_objext \
     10914    conftest$ac_exeext conftest.$ac_ext
     10915  if test -z "$lt_cv_aix_libpath_"; then
     10916    lt_cv_aix_libpath_=/usr/lib:/lib
     10917  fi
     10918
     10919fi
     10920
     10921  aix_libpath=$lt_cv_aix_libpath_
     10922fi
     10923
     10924         hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
     10925          # Warning - without using the other run time loading flags,
     10926          # -berok will link without error, but may produce a broken library.
     10927          no_undefined_flag=' $wl-bernotok'
     10928          allow_undefined_flag=' $wl-berok'
     10929          if test yes = "$with_gnu_ld"; then
     10930            # We only use this code for GNU lds that support --whole-archive.
     10931            whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
     10932          else
     10933            # Exported symbols can be pulled into shared objects from archives
     10934            whole_archive_flag_spec='$convenience'
     10935          fi
     10936          archive_cmds_need_lc=yes
     10937          archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
     10938          # -brtl affects multiple linker settings, -berok does not and is overridden later
     10939          compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
     10940          if test svr4 != "$with_aix_soname"; then
     10941            # This is similar to how AIX traditionally builds its shared libraries.
     10942            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'
     10943          fi
     10944          if test aix != "$with_aix_soname"; then
     10945            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'
     10946          else
     10947            # used by -dlpreopen to get the symbols
     10948            archive_expsym_cmds="$archive_expsym_cmds"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
     10949          fi
     10950          archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
     10951        fi
     10952      fi
     10953      ;;
     10954
     10955    amigaos*)
     10956      case $host_cpu in
     10957      powerpc)
     10958            # see comment about AmigaOS4 .so support
     10959            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     10960            archive_expsym_cmds=''
     10961        ;;
     10962      m68k)
     10963            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)'
     10964            hardcode_libdir_flag_spec='-L$libdir'
     10965            hardcode_minus_L=yes
     10966        ;;
     10967      esac
     10968      ;;
     10969
     10970    bsdi[45]*)
     10971      export_dynamic_flag_spec=-rdynamic
     10972      ;;
     10973
     10974    cygwin* | mingw* | pw32* | cegcc*)
     10975      # When not using gcc, we currently assume that we are using
     10976      # Microsoft Visual C++.
     10977      # hardcode_libdir_flag_spec is actually meaningless, as there is
     10978      # no search path for DLLs.
     10979      case $cc_basename in
     10980      cl*)
     10981        # Native MSVC
     10982        hardcode_libdir_flag_spec=' '
     10983        allow_undefined_flag=unsupported
     10984        always_export_symbols=yes
     10985        file_list_spec='@'
     10986        # Tell ltmain to make .lib files, not .a files.
     10987        libext=lib
     10988        # Tell ltmain to make .dll files, not .so files.
     10989        shrext_cmds=.dll
     10990        # FIXME: Setting linknames here is a bad hack.
     10991        archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
     10992        archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[   ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
     10993            cp "$export_symbols" "$output_objdir/$soname.def";
     10994            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
     10995          else
     10996            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
     10997          fi~
     10998          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
     10999          linknames='
     11000        # The linker will not automatically build a static lib if we build a DLL.
     11001        # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
     11002        enable_shared_with_static_runtimes=yes
     11003        exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
     11004        export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
     11005        # Don't use ranlib
     11006        old_postinstall_cmds='chmod 644 $oldlib'
     11007        postlink_cmds='lt_outputfile="@OUTPUT@"~
     11008          lt_tool_outputfile="@TOOL_OUTPUT@"~
     11009          case $lt_outputfile in
     11010            *.exe|*.EXE) ;;
     11011            *)
     11012              lt_outputfile=$lt_outputfile.exe
     11013              lt_tool_outputfile=$lt_tool_outputfile.exe
     11014              ;;
     11015          esac~
     11016          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
     11017            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
     11018            $RM "$lt_outputfile.manifest";
     11019          fi'
     11020        ;;
     11021      *)
     11022        # Assume MSVC wrapper
     11023        hardcode_libdir_flag_spec=' '
     11024        allow_undefined_flag=unsupported
     11025        # Tell ltmain to make .lib files, not .a files.
     11026        libext=lib
     11027        # Tell ltmain to make .dll files, not .so files.
     11028        shrext_cmds=.dll
     11029        # FIXME: Setting linknames here is a bad hack.
     11030        archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
     11031        # The linker will automatically build a .lib file if we build a DLL.
     11032        old_archive_from_new_cmds='true'
     11033        # FIXME: Should let the user specify the lib program.
     11034        old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
     11035        enable_shared_with_static_runtimes=yes
     11036        ;;
     11037      esac
     11038      ;;
     11039
     11040    darwin* | rhapsody*)
     11041
     11042
     11043  archive_cmds_need_lc=no
     11044  hardcode_direct=no
     11045  hardcode_automatic=yes
     11046  hardcode_shlibpath_var=unsupported
     11047  if test yes = "$lt_cv_ld_force_load"; then
     11048    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\"`'
     11049
     11050  else
     11051    whole_archive_flag_spec=''
     11052  fi
     11053  link_all_deplibs=yes
     11054  allow_undefined_flag=$_lt_dar_allow_undefined
     11055  case $cc_basename in
     11056     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
     11057     *) _lt_dar_can_shared=$GCC ;;
     11058  esac
     11059  if test yes = "$_lt_dar_can_shared"; then
     11060    output_verbose_link_cmd=func_echo_all
     11061    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
     11062    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
     11063    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"
     11064    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"
     11065
     11066  else
     11067  ld_shlibs=no
     11068  fi
     11069
     11070      ;;
     11071
     11072    dgux*)
     11073      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     11074      hardcode_libdir_flag_spec='-L$libdir'
     11075      hardcode_shlibpath_var=no
     11076      ;;
     11077
     11078    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
     11079    # support.  Future versions do this automatically, but an explicit c++rt0.o
     11080    # does not break anything, and helps significantly (at the cost of a little
     11081    # extra space).
     11082    freebsd2.2*)
     11083      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
     11084      hardcode_libdir_flag_spec='-R$libdir'
     11085      hardcode_direct=yes
     11086      hardcode_shlibpath_var=no
     11087      ;;
     11088
     11089    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
     11090    freebsd2.*)
     11091      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
     11092      hardcode_direct=yes
     11093      hardcode_minus_L=yes
     11094      hardcode_shlibpath_var=no
     11095      ;;
     11096
     11097    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
     11098    freebsd* | dragonfly*)
     11099      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
     11100      hardcode_libdir_flag_spec='-R$libdir'
     11101      hardcode_direct=yes
     11102      hardcode_shlibpath_var=no
     11103      ;;
     11104
     11105    hpux9*)
     11106      if test yes = "$GCC"; then
     11107        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'
     11108      else
     11109        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'
     11110      fi
     11111      hardcode_libdir_flag_spec='$wl+b $wl$libdir'
     11112      hardcode_libdir_separator=:
     11113      hardcode_direct=yes
     11114
     11115      # hardcode_minus_L: Not really in the search PATH,
     11116      # but as the default location of the library.
     11117      hardcode_minus_L=yes
     11118      export_dynamic_flag_spec='$wl-E'
     11119      ;;
     11120
     11121    hpux10*)
     11122      if test yes,no = "$GCC,$with_gnu_ld"; then
     11123        archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
     11124      else
     11125        archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
     11126      fi
     11127      if test no = "$with_gnu_ld"; then
     11128        hardcode_libdir_flag_spec='$wl+b $wl$libdir'
     11129        hardcode_libdir_separator=:
     11130        hardcode_direct=yes
     11131        hardcode_direct_absolute=yes
     11132        export_dynamic_flag_spec='$wl-E'
     11133        # hardcode_minus_L: Not really in the search PATH,
     11134        # but as the default location of the library.
     11135        hardcode_minus_L=yes
     11136      fi
     11137      ;;
     11138
     11139    hpux11*)
     11140      if test yes,no = "$GCC,$with_gnu_ld"; then
     11141        case $host_cpu in
     11142        hppa*64*)
     11143          archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
     11144          ;;
     11145        ia64*)
     11146          archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
     11147          ;;
     11148        *)
     11149          archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
     11150          ;;
     11151        esac
     11152      else
     11153        case $host_cpu in
     11154        hppa*64*)
     11155          archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
     11156          ;;
     11157        ia64*)
     11158          archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
     11159          ;;
     11160        *)
     11161
     11162          # Older versions of the 11.00 compiler do not understand -b yet
     11163          # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
     11164          { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
     11165$as_echo_n "checking if $CC understands -b... " >&6; }
     11166if ${lt_cv_prog_compiler__b+:} false; then :
     11167  $as_echo_n "(cached) " >&6
     11168else
     11169  lt_cv_prog_compiler__b=no
     11170   save_LDFLAGS=$LDFLAGS
     11171   LDFLAGS="$LDFLAGS -b"
     11172   echo "$lt_simple_link_test_code" > conftest.$ac_ext
     11173   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
     11174     # The linker can only warn and ignore the option if not recognized
     11175     # So say no if there are warnings
     11176     if test -s conftest.err; then
     11177       # Append any errors to the config.log.
     11178       cat conftest.err 1>&5
     11179       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
     11180       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     11181       if diff conftest.exp conftest.er2 >/dev/null; then
     11182         lt_cv_prog_compiler__b=yes
     11183       fi
     11184     else
     11185       lt_cv_prog_compiler__b=yes
     11186     fi
     11187   fi
     11188   $RM -r conftest*
     11189   LDFLAGS=$save_LDFLAGS
     11190
     11191fi
     11192{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
     11193$as_echo "$lt_cv_prog_compiler__b" >&6; }
     11194
     11195if test yes = "$lt_cv_prog_compiler__b"; then
     11196    archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
     11197else
     11198    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
     11199fi
     11200
     11201          ;;
     11202        esac
     11203      fi
     11204      if test no = "$with_gnu_ld"; then
     11205        hardcode_libdir_flag_spec='$wl+b $wl$libdir'
     11206        hardcode_libdir_separator=:
     11207
     11208        case $host_cpu in
     11209        hppa*64*|ia64*)
     11210          hardcode_direct=no
     11211          hardcode_shlibpath_var=no
     11212          ;;
     11213        *)
     11214          hardcode_direct=yes
     11215          hardcode_direct_absolute=yes
     11216          export_dynamic_flag_spec='$wl-E'
     11217
     11218          # hardcode_minus_L: Not really in the search PATH,
     11219          # but as the default location of the library.
     11220          hardcode_minus_L=yes
     11221          ;;
     11222        esac
     11223      fi
     11224      ;;
     11225
     11226    irix5* | irix6* | nonstopux*)
     11227      if test yes = "$GCC"; then
     11228        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'
     11229        # Try to use the -exported_symbol ld option, if it does not
     11230        # work, assume that -exports_file does not work either and
     11231        # implicitly export all symbols.
     11232        # This should be the same for all languages, so no per-tag cache variable.
     11233        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
     11234$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
     11235if ${lt_cv_irix_exported_symbol+:} false; then :
     11236  $as_echo_n "(cached) " >&6
     11237else
     11238  save_LDFLAGS=$LDFLAGS
     11239           LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
     11240           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     11241/* end confdefs.h.  */
     11242int foo (void) { return 0; }
     11243_ACEOF
     11244if ac_fn_c_try_link "$LINENO"; then :
     11245  lt_cv_irix_exported_symbol=yes
     11246else
     11247  lt_cv_irix_exported_symbol=no
     11248fi
     11249rm -f core conftest.err conftest.$ac_objext \
     11250    conftest$ac_exeext conftest.$ac_ext
     11251           LDFLAGS=$save_LDFLAGS
     11252fi
     11253{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
     11254$as_echo "$lt_cv_irix_exported_symbol" >&6; }
     11255        if test yes = "$lt_cv_irix_exported_symbol"; then
     11256          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'
     11257        fi
     11258        link_all_deplibs=no
     11259      else
     11260        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'
     11261        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'
     11262      fi
     11263      archive_cmds_need_lc='no'
     11264      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     11265      hardcode_libdir_separator=:
     11266      inherit_rpath=yes
     11267      link_all_deplibs=yes
     11268      ;;
     11269
     11270    linux*)
     11271      case $cc_basename in
     11272      tcc*)
     11273        # Fabrice Bellard et al's Tiny C Compiler
     11274        ld_shlibs=yes
     11275        archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
     11276        ;;
     11277      esac
     11278      ;;
     11279
     11280    netbsd* | netbsdelf*-gnu)
     11281      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
     11282        archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
     11283      else
     11284        archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
     11285      fi
     11286      hardcode_libdir_flag_spec='-R$libdir'
     11287      hardcode_direct=yes
     11288      hardcode_shlibpath_var=no
     11289      ;;
     11290
     11291    newsos6)
     11292      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     11293      hardcode_direct=yes
     11294      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     11295      hardcode_libdir_separator=:
     11296      hardcode_shlibpath_var=no
     11297      ;;
     11298
     11299    *nto* | *qnx*)
     11300      ;;
     11301
     11302    openbsd* | bitrig*)
     11303      if test -f /usr/libexec/ld.so; then
     11304        hardcode_direct=yes
     11305        hardcode_shlibpath_var=no
     11306        hardcode_direct_absolute=yes
     11307        if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
     11308          archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
     11309          archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
     11310          hardcode_libdir_flag_spec='$wl-rpath,$libdir'
     11311          export_dynamic_flag_spec='$wl-E'
     11312        else
     11313          archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
     11314          hardcode_libdir_flag_spec='$wl-rpath,$libdir'
     11315        fi
     11316      else
     11317        ld_shlibs=no
     11318      fi
     11319      ;;
     11320
     11321    os2*)
     11322      hardcode_libdir_flag_spec='-L$libdir'
     11323      hardcode_minus_L=yes
     11324      allow_undefined_flag=unsupported
     11325      shrext_cmds=.dll
     11326      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     11327        $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     11328        $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     11329        $ECHO EXPORTS >> $output_objdir/$libname.def~
     11330        emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
     11331        $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     11332        emximp -o $lib $output_objdir/$libname.def'
     11333      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     11334        $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     11335        $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     11336        $ECHO EXPORTS >> $output_objdir/$libname.def~
     11337        prefix_cmds="$SED"~
     11338        if test EXPORTS = "`$SED 1q $export_symbols`"; then
     11339          prefix_cmds="$prefix_cmds -e 1d";
     11340        fi~
     11341        prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
     11342        cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
     11343        $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     11344        emximp -o $lib $output_objdir/$libname.def'
     11345      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
     11346      enable_shared_with_static_runtimes=yes
     11347      ;;
     11348
     11349    osf3*)
     11350      if test yes = "$GCC"; then
     11351        allow_undefined_flag=' $wl-expect_unresolved $wl\*'
     11352        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'
     11353      else
     11354        allow_undefined_flag=' -expect_unresolved \*'
     11355        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'
     11356      fi
     11357      archive_cmds_need_lc='no'
     11358      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     11359      hardcode_libdir_separator=:
     11360      ;;
     11361
     11362    osf4* | osf5*)      # as osf3* with the addition of -msym flag
     11363      if test yes = "$GCC"; then
     11364        allow_undefined_flag=' $wl-expect_unresolved $wl\*'
     11365        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'
     11366        hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
     11367      else
     11368        allow_undefined_flag=' -expect_unresolved \*'
     11369        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'
     11370        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~
     11371          $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'
     11372
     11373        # Both c and cxx compiler support -rpath directly
     11374        hardcode_libdir_flag_spec='-rpath $libdir'
     11375      fi
     11376      archive_cmds_need_lc='no'
     11377      hardcode_libdir_separator=:
     11378      ;;
     11379
     11380    solaris*)
     11381      no_undefined_flag=' -z defs'
     11382      if test yes = "$GCC"; then
     11383        wlarc='$wl'
     11384        archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
     11385        archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     11386          $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'
     11387      else
     11388        case `$CC -V 2>&1` in
     11389        *"Compilers 5.0"*)
     11390          wlarc=''
     11391          archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
     11392          archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     11393            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
     11394          ;;
     11395        *)
     11396          wlarc='$wl'
     11397          archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
     11398          archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     11399            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
     11400          ;;
     11401        esac
     11402      fi
     11403      hardcode_libdir_flag_spec='-R$libdir'
     11404      hardcode_shlibpath_var=no
     11405      case $host_os in
     11406      solaris2.[0-5] | solaris2.[0-5].*) ;;
     11407      *)
     11408        # The compiler driver will combine and reorder linker options,
     11409        # but understands '-z linker_flag'.  GCC discards it without '$wl',
     11410        # but is careful enough not to reorder.
     11411        # Supported since Solaris 2.6 (maybe 2.5.1?)
     11412        if test yes = "$GCC"; then
     11413          whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
     11414        else
     11415          whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
     11416        fi
     11417        ;;
     11418      esac
     11419      link_all_deplibs=yes
     11420      ;;
     11421
     11422    sunos4*)
     11423      if test sequent = "$host_vendor"; then
     11424        # Use $CC to link under sequent, because it throws in some extra .o
     11425        # files that make .init and .fini sections work.
     11426        archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
     11427      else
     11428        archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
     11429      fi
     11430      hardcode_libdir_flag_spec='-L$libdir'
     11431      hardcode_direct=yes
     11432      hardcode_minus_L=yes
     11433      hardcode_shlibpath_var=no
     11434      ;;
     11435
     11436    sysv4)
     11437      case $host_vendor in
     11438        sni)
     11439          archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     11440          hardcode_direct=yes # is this really true???
     11441        ;;
     11442        siemens)
     11443          ## LD is ld it makes a PLAMLIB
     11444          ## CC just makes a GrossModule.
     11445          archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
     11446          reload_cmds='$CC -r -o $output$reload_objs'
     11447          hardcode_direct=no
     11448        ;;
     11449        motorola)
     11450          archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     11451          hardcode_direct=no #Motorola manual says yes, but my tests say they lie
     11452        ;;
     11453      esac
     11454      runpath_var='LD_RUN_PATH'
     11455      hardcode_shlibpath_var=no
     11456      ;;
     11457
     11458    sysv4.3*)
     11459      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     11460      hardcode_shlibpath_var=no
     11461      export_dynamic_flag_spec='-Bexport'
     11462      ;;
     11463
     11464    sysv4*MP*)
     11465      if test -d /usr/nec; then
     11466        archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     11467        hardcode_shlibpath_var=no
     11468        runpath_var=LD_RUN_PATH
     11469        hardcode_runpath_var=yes
     11470        ld_shlibs=yes
     11471      fi
     11472      ;;
     11473
     11474    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
     11475      no_undefined_flag='$wl-z,text'
     11476      archive_cmds_need_lc=no
     11477      hardcode_shlibpath_var=no
     11478      runpath_var='LD_RUN_PATH'
     11479
     11480      if test yes = "$GCC"; then
     11481        archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     11482        archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     11483      else
     11484        archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     11485        archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     11486      fi
     11487      ;;
     11488
     11489    sysv5* | sco3.2v5* | sco5v6*)
     11490      # Note: We CANNOT use -z defs as we might desire, because we do not
     11491      # link with -lc, and that would cause any symbols used from libc to
     11492      # always be unresolved, which means just about no library would
     11493      # ever link correctly.  If we're not using GNU ld we use -z text
     11494      # though, which does catch some bad symbols but isn't as heavy-handed
     11495      # as -z defs.
     11496      no_undefined_flag='$wl-z,text'
     11497      allow_undefined_flag='$wl-z,nodefs'
     11498      archive_cmds_need_lc=no
     11499      hardcode_shlibpath_var=no
     11500      hardcode_libdir_flag_spec='$wl-R,$libdir'
     11501      hardcode_libdir_separator=':'
     11502      link_all_deplibs=yes
     11503      export_dynamic_flag_spec='$wl-Bexport'
     11504      runpath_var='LD_RUN_PATH'
     11505
     11506      if test yes = "$GCC"; then
     11507        archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     11508        archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     11509      else
     11510        archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     11511        archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     11512      fi
     11513      ;;
     11514
     11515    uts4*)
     11516      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     11517      hardcode_libdir_flag_spec='-L$libdir'
     11518      hardcode_shlibpath_var=no
     11519      ;;
     11520
     11521    *)
     11522      ld_shlibs=no
     11523      ;;
     11524    esac
     11525
     11526    if test sni = "$host_vendor"; then
     11527      case $host in
     11528      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
     11529        export_dynamic_flag_spec='$wl-Blargedynsym'
     11530        ;;
     11531      esac
     11532    fi
     11533  fi
     11534
     11535{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
     11536$as_echo "$ld_shlibs" >&6; }
     11537test no = "$ld_shlibs" && can_build_shared=no
     11538
     11539with_gnu_ld=$with_gnu_ld
     11540
     11541
     11542
     11543
     11544
     11545
     11546
     11547
     11548
     11549
     11550
     11551
     11552
     11553
     11554
     11555#
     11556# Do we need to explicitly link libc?
     11557#
     11558case "x$archive_cmds_need_lc" in
     11559x|xyes)
     11560  # Assume -lc should be added
     11561  archive_cmds_need_lc=yes
     11562
     11563  if test yes,yes = "$GCC,$enable_shared"; then
     11564    case $archive_cmds in
     11565    *'~'*)
     11566      # FIXME: we may have to deal with multi-command sequences.
     11567      ;;
     11568    '$CC '*)
     11569      # Test whether the compiler implicitly links with -lc since on some
     11570      # systems, -lgcc has to come before -lc. If gcc already passes -lc
     11571      # to ld, don't add -lc before -lgcc.
     11572      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
     11573$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
     11574if ${lt_cv_archive_cmds_need_lc+:} false; then :
     11575  $as_echo_n "(cached) " >&6
     11576else
     11577  $RM conftest*
     11578        echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     11579
     11580        if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     11581  (eval $ac_compile) 2>&5
     11582  ac_status=$?
     11583  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     11584  test $ac_status = 0; } 2>conftest.err; then
     11585          soname=conftest
     11586          lib=conftest
     11587          libobjs=conftest.$ac_objext
     11588          deplibs=
     11589          wl=$lt_prog_compiler_wl
     11590          pic_flag=$lt_prog_compiler_pic
     11591          compiler_flags=-v
     11592          linker_flags=-v
     11593          verstring=
     11594          output_objdir=.
     11595          libname=conftest
     11596          lt_save_allow_undefined_flag=$allow_undefined_flag
     11597          allow_undefined_flag=
     11598          if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
     11599  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
     11600  ac_status=$?
     11601  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     11602  test $ac_status = 0; }
     11603          then
     11604            lt_cv_archive_cmds_need_lc=no
     11605          else
     11606            lt_cv_archive_cmds_need_lc=yes
     11607          fi
     11608          allow_undefined_flag=$lt_save_allow_undefined_flag
     11609        else
     11610          cat conftest.err 1>&5
     11611        fi
     11612        $RM conftest*
     11613
     11614fi
     11615{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
     11616$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
     11617      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
     11618      ;;
     11619    esac
     11620  fi
     11621  ;;
     11622esac
     11623
     11624
     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  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
     11776$as_echo_n "checking dynamic linker characteristics... " >&6; }
     11777
     11778if test yes = "$GCC"; then
     11779  case $host_os in
     11780    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
     11781    *) lt_awk_arg='/^libraries:/' ;;
     11782  esac
     11783  case $host_os in
     11784    mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
     11785    *) lt_sed_strip_eq='s|=/|/|g' ;;
     11786  esac
     11787  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
     11788  case $lt_search_path_spec in
     11789  *\;*)
     11790    # if the path contains ";" then we assume it to be the separator
     11791    # otherwise default to the standard path separator (i.e. ":") - it is
     11792    # assumed that no part of a normal pathname contains ";" but that should
     11793    # okay in the real world where ";" in dirpaths is itself problematic.
     11794    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
     11795    ;;
     11796  *)
     11797    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
     11798    ;;
     11799  esac
     11800  # Ok, now we have the path, separated by spaces, we can step through it
     11801  # and add multilib dir if necessary...
     11802  lt_tmp_lt_search_path_spec=
     11803  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
     11804  # ...but if some path component already ends with the multilib dir we assume
     11805  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
     11806  case "$lt_multi_os_dir; $lt_search_path_spec " in
     11807  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
     11808    lt_multi_os_dir=
     11809    ;;
     11810  esac
     11811  for lt_sys_path in $lt_search_path_spec; do
     11812    if test -d "$lt_sys_path$lt_multi_os_dir"; then
     11813      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
     11814    elif test -n "$lt_multi_os_dir"; then
     11815      test -d "$lt_sys_path" && \
     11816        lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
     11817    fi
     11818  done
     11819  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
     11820BEGIN {RS = " "; FS = "/|\n";} {
     11821  lt_foo = "";
     11822  lt_count = 0;
     11823  for (lt_i = NF; lt_i > 0; lt_i--) {
     11824    if ($lt_i != "" && $lt_i != ".") {
     11825      if ($lt_i == "..") {
     11826        lt_count++;
     11827      } else {
     11828        if (lt_count == 0) {
     11829          lt_foo = "/" $lt_i lt_foo;
     11830        } else {
     11831          lt_count--;
     11832        }
     11833      }
     11834    }
     11835  }
     11836  if (lt_foo != "") { lt_freq[lt_foo]++; }
     11837  if (lt_freq[lt_foo] == 1) { print lt_foo; }
     11838}'`
     11839  # AWK program above erroneously prepends '/' to C:/dos/paths
     11840  # for these hosts.
     11841  case $host_os in
     11842    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
     11843      $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
     11844  esac
     11845  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
     11846else
     11847  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
     11848fi
     11849library_names_spec=
     11850libname_spec='lib$name'
     11851soname_spec=
     11852shrext_cmds=.so
     11853postinstall_cmds=
     11854postuninstall_cmds=
     11855finish_cmds=
     11856finish_eval=
     11857shlibpath_var=
     11858shlibpath_overrides_runpath=unknown
     11859version_type=none
     11860dynamic_linker="$host_os ld.so"
     11861sys_lib_dlsearch_path_spec="/lib /usr/lib"
     11862need_lib_prefix=unknown
     11863hardcode_into_libs=no
     11864
     11865# when you set need_version to no, make sure it does not cause -set_version
     11866# flags to be left without arguments
     11867need_version=unknown
     11868
     11869
     11870
     11871case $host_os in
     11872aix3*)
     11873  version_type=linux # correct to gnu/linux during the next big refactor
     11874  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
     11875  shlibpath_var=LIBPATH
     11876
     11877  # AIX 3 has no versioning support, so we append a major version to the name.
     11878  soname_spec='$libname$release$shared_ext$major'
     11879  ;;
     11880
     11881aix[4-9]*)
     11882  version_type=linux # correct to gnu/linux during the next big refactor
     11883  need_lib_prefix=no
     11884  need_version=no
     11885  hardcode_into_libs=yes
     11886  if test ia64 = "$host_cpu"; then
     11887    # AIX 5 supports IA64
     11888    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
     11889    shlibpath_var=LD_LIBRARY_PATH
     11890  else
     11891    # With GCC up to 2.95.x, collect2 would create an import file
     11892    # for dependence libraries.  The import file would start with
     11893    # the line '#! .'.  This would cause the generated library to
     11894    # depend on '.', always an invalid library.  This was fixed in
     11895    # development snapshots of GCC prior to 3.0.
     11896    case $host_os in
     11897      aix4 | aix4.[01] | aix4.[01].*)
     11898      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
     11899           echo ' yes '
     11900           echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
     11901        :
     11902      else
     11903        can_build_shared=no
     11904      fi
     11905      ;;
     11906    esac
     11907    # Using Import Files as archive members, it is possible to support
     11908    # filename-based versioning of shared library archives on AIX. While
     11909    # this would work for both with and without runtime linking, it will
     11910    # prevent static linking of such archives. So we do filename-based
     11911    # shared library versioning with .so extension only, which is used
     11912    # when both runtime linking and shared linking is enabled.
     11913    # Unfortunately, runtime linking may impact performance, so we do
     11914    # not want this to be the default eventually. Also, we use the
     11915    # versioned .so libs for executables only if there is the -brtl
     11916    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
     11917    # To allow for filename-based versioning support, we need to create
     11918    # libNAME.so.V as an archive file, containing:
     11919    # *) an Import File, referring to the versioned filename of the
     11920    #    archive as well as the shared archive member, telling the
     11921    #    bitwidth (32 or 64) of that shared object, and providing the
     11922    #    list of exported symbols of that shared object, eventually
     11923    #    decorated with the 'weak' keyword
     11924    # *) the shared object with the F_LOADONLY flag set, to really avoid
     11925    #    it being seen by the linker.
     11926    # At run time we better use the real file rather than another symlink,
     11927    # but for link time we create the symlink libNAME.so -> libNAME.so.V
     11928
     11929    case $with_aix_soname,$aix_use_runtimelinking in
     11930    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
     11931    # soname into executable. Probably we can add versioning support to
     11932    # collect2, so additional links can be useful in future.
     11933    aix,yes) # traditional libtool
     11934      dynamic_linker='AIX unversionable lib.so'
     11935      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
     11936      # instead of lib<name>.a to let people know that these are not
     11937      # typical AIX shared libraries.
     11938      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     11939      ;;
     11940    aix,no) # traditional AIX only
     11941      dynamic_linker='AIX lib.a(lib.so.V)'
     11942      # We preserve .a as extension for shared libraries through AIX4.2
     11943      # and later when we are not doing run time linking.
     11944      library_names_spec='$libname$release.a $libname.a'
     11945      soname_spec='$libname$release$shared_ext$major'
     11946      ;;
     11947    svr4,*) # full svr4 only
     11948      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
     11949      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
     11950      # We do not specify a path in Import Files, so LIBPATH fires.
     11951      shlibpath_overrides_runpath=yes
     11952      ;;
     11953    *,yes) # both, prefer svr4
     11954      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
     11955      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
     11956      # unpreferred sharedlib libNAME.a needs extra handling
     11957      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"'
     11958      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"'
     11959      # We do not specify a path in Import Files, so LIBPATH fires.
     11960      shlibpath_overrides_runpath=yes
     11961      ;;
     11962    *,no) # both, prefer aix
     11963      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
     11964      library_names_spec='$libname$release.a $libname.a'
     11965      soname_spec='$libname$release$shared_ext$major'
     11966      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
     11967      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)'
     11968      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"'
     11969      ;;
     11970    esac
     11971    shlibpath_var=LIBPATH
     11972  fi
     11973  ;;
     11974
     11975amigaos*)
     11976  case $host_cpu in
     11977  powerpc)
     11978    # Since July 2007 AmigaOS4 officially supports .so libraries.
     11979    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
     11980    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     11981    ;;
     11982  m68k)
     11983    library_names_spec='$libname.ixlibrary $libname.a'
     11984    # Create ${libname}_ixlibrary.a entries in /sys/libs.
     11985    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'
     11986    ;;
     11987  esac
     11988  ;;
     11989
     11990beos*)
     11991  library_names_spec='$libname$shared_ext'
     11992  dynamic_linker="$host_os ld.so"
     11993  shlibpath_var=LIBRARY_PATH
     11994  ;;
     11995
     11996bsdi[45]*)
     11997  version_type=linux # correct to gnu/linux during the next big refactor
     11998  need_version=no
     11999  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12000  soname_spec='$libname$release$shared_ext$major'
     12001  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
     12002  shlibpath_var=LD_LIBRARY_PATH
     12003  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
     12004  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
     12005  # the default ld.so.conf also contains /usr/contrib/lib and
     12006  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
     12007  # libtool to hard-code these into programs
     12008  ;;
     12009
     12010cygwin* | mingw* | pw32* | cegcc*)
     12011  version_type=windows
     12012  shrext_cmds=.dll
     12013  need_version=no
     12014  need_lib_prefix=no
     12015
     12016  case $GCC,$cc_basename in
     12017  yes,*)
     12018    # gcc
     12019    library_names_spec='$libname.dll.a'
     12020    # DLL is installed to $(libdir)/../bin by postinstall_cmds
     12021    postinstall_cmds='base_file=`basename \$file`~
     12022      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
     12023      dldir=$destdir/`dirname \$dlpath`~
     12024      test -d \$dldir || mkdir -p \$dldir~
     12025      $install_prog $dir/$dlname \$dldir/$dlname~
     12026      chmod a+x \$dldir/$dlname~
     12027      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
     12028        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
     12029      fi'
     12030    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
     12031      dlpath=$dir/\$dldll~
     12032       $RM \$dlpath'
     12033    shlibpath_overrides_runpath=yes
     12034
     12035    case $host_os in
     12036    cygwin*)
     12037      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
     12038      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     12039
     12040      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
     12041      ;;
     12042    mingw* | cegcc*)
     12043      # MinGW DLLs use traditional 'lib' prefix
     12044      soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     12045      ;;
     12046    pw32*)
     12047      # pw32 DLLs use 'pw' prefix rather than 'lib'
     12048      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     12049      ;;
     12050    esac
     12051    dynamic_linker='Win32 ld.exe'
     12052    ;;
     12053
     12054  *,cl*)
     12055    # Native MSVC
     12056    libname_spec='$name'
     12057    soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     12058    library_names_spec='$libname.dll.lib'
     12059
     12060    case $build_os in
     12061    mingw*)
     12062      sys_lib_search_path_spec=
     12063      lt_save_ifs=$IFS
     12064      IFS=';'
     12065      for lt_path in $LIB
     12066      do
     12067        IFS=$lt_save_ifs
     12068        # Let DOS variable expansion print the short 8.3 style file name.
     12069        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
     12070        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
     12071      done
     12072      IFS=$lt_save_ifs
     12073      # Convert to MSYS style.
     12074      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
     12075      ;;
     12076    cygwin*)
     12077      # Convert to unix form, then to dos form, then back to unix form
     12078      # but this time dos style (no spaces!) so that the unix form looks
     12079      # like /cygdrive/c/PROGRA~1:/cygdr...
     12080      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
     12081      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
     12082      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
     12083      ;;
     12084    *)
     12085      sys_lib_search_path_spec=$LIB
     12086      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
     12087        # It is most probably a Windows format PATH.
     12088        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
     12089      else
     12090        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
     12091      fi
     12092      # FIXME: find the short name or the path components, as spaces are
     12093      # common. (e.g. "Program Files" -> "PROGRA~1")
     12094      ;;
     12095    esac
     12096
     12097    # DLL is installed to $(libdir)/../bin by postinstall_cmds
     12098    postinstall_cmds='base_file=`basename \$file`~
     12099      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
     12100      dldir=$destdir/`dirname \$dlpath`~
     12101      test -d \$dldir || mkdir -p \$dldir~
     12102      $install_prog $dir/$dlname \$dldir/$dlname'
     12103    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
     12104      dlpath=$dir/\$dldll~
     12105       $RM \$dlpath'
     12106    shlibpath_overrides_runpath=yes
     12107    dynamic_linker='Win32 link.exe'
     12108    ;;
     12109
     12110  *)
     12111    # Assume MSVC wrapper
     12112    library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
     12113    dynamic_linker='Win32 ld.exe'
     12114    ;;
     12115  esac
     12116  # FIXME: first we should search . and the directory the executable is in
     12117  shlibpath_var=PATH
     12118  ;;
     12119
     12120darwin* | rhapsody*)
     12121  dynamic_linker="$host_os dyld"
     12122  version_type=darwin
     12123  need_lib_prefix=no
     12124  need_version=no
     12125  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
     12126  soname_spec='$libname$release$major$shared_ext'
     12127  shlibpath_overrides_runpath=yes
     12128  shlibpath_var=DYLD_LIBRARY_PATH
     12129  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
     12130
     12131  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
     12132  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
     12133  ;;
     12134
     12135dgux*)
     12136  version_type=linux # correct to gnu/linux during the next big refactor
     12137  need_lib_prefix=no
     12138  need_version=no
     12139  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12140  soname_spec='$libname$release$shared_ext$major'
     12141  shlibpath_var=LD_LIBRARY_PATH
     12142  ;;
     12143
     12144freebsd* | dragonfly*)
     12145  # DragonFly does not have aout.  When/if they implement a new
     12146  # versioning mechanism, adjust this.
     12147  if test -x /usr/bin/objformat; then
     12148    objformat=`/usr/bin/objformat`
     12149  else
     12150    case $host_os in
     12151    freebsd[23].*) objformat=aout ;;
     12152    *) objformat=elf ;;
     12153    esac
     12154  fi
     12155  version_type=freebsd-$objformat
     12156  case $version_type in
     12157    freebsd-elf*)
     12158      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12159      soname_spec='$libname$release$shared_ext$major'
     12160      need_version=no
     12161      need_lib_prefix=no
     12162      ;;
     12163    freebsd-*)
     12164      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     12165      need_version=yes
     12166      ;;
     12167  esac
     12168  shlibpath_var=LD_LIBRARY_PATH
     12169  case $host_os in
     12170  freebsd2.*)
     12171    shlibpath_overrides_runpath=yes
     12172    ;;
     12173  freebsd3.[01]* | freebsdelf3.[01]*)
     12174    shlibpath_overrides_runpath=yes
     12175    hardcode_into_libs=yes
     12176    ;;
     12177  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
     12178  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
     12179    shlibpath_overrides_runpath=no
     12180    hardcode_into_libs=yes
     12181    ;;
     12182  *) # from 4.6 on, and DragonFly
     12183    shlibpath_overrides_runpath=yes
     12184    hardcode_into_libs=yes
     12185    ;;
     12186  esac
     12187  ;;
     12188
     12189haiku*)
     12190  version_type=linux # correct to gnu/linux during the next big refactor
     12191  need_lib_prefix=no
     12192  need_version=no
     12193  dynamic_linker="$host_os runtime_loader"
     12194  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12195  soname_spec='$libname$release$shared_ext$major'
     12196  shlibpath_var=LIBRARY_PATH
     12197  shlibpath_overrides_runpath=no
     12198  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
     12199  hardcode_into_libs=yes
     12200  ;;
     12201
     12202hpux9* | hpux10* | hpux11*)
     12203  # Give a soname corresponding to the major version so that dld.sl refuses to
     12204  # link against other versions.
     12205  version_type=sunos
     12206  need_lib_prefix=no
     12207  need_version=no
     12208  case $host_cpu in
     12209  ia64*)
     12210    shrext_cmds='.so'
     12211    hardcode_into_libs=yes
     12212    dynamic_linker="$host_os dld.so"
     12213    shlibpath_var=LD_LIBRARY_PATH
     12214    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
     12215    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12216    soname_spec='$libname$release$shared_ext$major'
     12217    if test 32 = "$HPUX_IA64_MODE"; then
     12218      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
     12219      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
     12220    else
     12221      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
     12222      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
     12223    fi
     12224    ;;
     12225  hppa*64*)
     12226    shrext_cmds='.sl'
     12227    hardcode_into_libs=yes
     12228    dynamic_linker="$host_os dld.sl"
     12229    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
     12230    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
     12231    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12232    soname_spec='$libname$release$shared_ext$major'
     12233    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
     12234    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     12235    ;;
     12236  *)
     12237    shrext_cmds='.sl'
     12238    dynamic_linker="$host_os dld.sl"
     12239    shlibpath_var=SHLIB_PATH
     12240    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
     12241    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12242    soname_spec='$libname$release$shared_ext$major'
     12243    ;;
     12244  esac
     12245  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
     12246  postinstall_cmds='chmod 555 $lib'
     12247  # or fails outright, so override atomically:
     12248  install_override_mode=555
     12249  ;;
     12250
     12251interix[3-9]*)
     12252  version_type=linux # correct to gnu/linux during the next big refactor
     12253  need_lib_prefix=no
     12254  need_version=no
     12255  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12256  soname_spec='$libname$release$shared_ext$major'
     12257  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
     12258  shlibpath_var=LD_LIBRARY_PATH
     12259  shlibpath_overrides_runpath=no
     12260  hardcode_into_libs=yes
     12261  ;;
     12262
     12263irix5* | irix6* | nonstopux*)
     12264  case $host_os in
     12265    nonstopux*) version_type=nonstopux ;;
     12266    *)
     12267        if test yes = "$lt_cv_prog_gnu_ld"; then
     12268                version_type=linux # correct to gnu/linux during the next big refactor
     12269        else
     12270                version_type=irix
     12271        fi ;;
     12272  esac
     12273  need_lib_prefix=no
     12274  need_version=no
     12275  soname_spec='$libname$release$shared_ext$major'
     12276  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
     12277  case $host_os in
     12278  irix5* | nonstopux*)
     12279    libsuff= shlibsuff=
     12280    ;;
     12281  *)
     12282    case $LD in # libtool.m4 will add one of these switches to LD
     12283    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
     12284      libsuff= shlibsuff= libmagic=32-bit;;
     12285    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
     12286      libsuff=32 shlibsuff=N32 libmagic=N32;;
     12287    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
     12288      libsuff=64 shlibsuff=64 libmagic=64-bit;;
     12289    *) libsuff= shlibsuff= libmagic=never-match;;
     12290    esac
     12291    ;;
     12292  esac
     12293  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
     12294  shlibpath_overrides_runpath=no
     12295  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
     12296  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
     12297  hardcode_into_libs=yes
     12298  ;;
     12299
     12300# No shared lib support for Linux oldld, aout, or coff.
     12301linux*oldld* | linux*aout* | linux*coff*)
     12302  dynamic_linker=no
     12303  ;;
     12304
     12305linux*android*)
     12306  version_type=none # Android doesn't support versioned libraries.
     12307  need_lib_prefix=no
     12308  need_version=no
     12309  library_names_spec='$libname$release$shared_ext'
     12310  soname_spec='$libname$release$shared_ext'
     12311  finish_cmds=
     12312  shlibpath_var=LD_LIBRARY_PATH
     12313  shlibpath_overrides_runpath=yes
     12314
     12315  # This implies no fast_install, which is unacceptable.
     12316  # Some rework will be needed to allow for fast_install
     12317  # before this can be enabled.
     12318  hardcode_into_libs=yes
     12319
     12320  dynamic_linker='Android linker'
     12321  # Don't embed -rpath directories since the linker doesn't support them.
     12322  hardcode_libdir_flag_spec='-L$libdir'
     12323  ;;
     12324
     12325# This must be glibc/ELF.
     12326linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     12327  version_type=linux # correct to gnu/linux during the next big refactor
     12328  need_lib_prefix=no
     12329  need_version=no
     12330  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12331  soname_spec='$libname$release$shared_ext$major'
     12332  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
     12333  shlibpath_var=LD_LIBRARY_PATH
     12334  shlibpath_overrides_runpath=no
     12335
     12336  # Some binutils ld are patched to set DT_RUNPATH
     12337  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
     12338  $as_echo_n "(cached) " >&6
     12339else
     12340  lt_cv_shlibpath_overrides_runpath=no
     12341    save_LDFLAGS=$LDFLAGS
     12342    save_libdir=$libdir
     12343    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
     12344         LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
     12345    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     12346/* end confdefs.h.  */
     12347
     12348int
     12349main ()
     12350{
     12351
     12352  ;
     12353  return 0;
     12354}
     12355_ACEOF
     12356if ac_fn_c_try_link "$LINENO"; then :
     12357  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
     12358  lt_cv_shlibpath_overrides_runpath=yes
     12359fi
     12360fi
     12361rm -f core conftest.err conftest.$ac_objext \
     12362    conftest$ac_exeext conftest.$ac_ext
     12363    LDFLAGS=$save_LDFLAGS
     12364    libdir=$save_libdir
     12365
     12366fi
     12367
     12368  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
     12369
     12370  # This implies no fast_install, which is unacceptable.
     12371  # Some rework will be needed to allow for fast_install
     12372  # before this can be enabled.
     12373  hardcode_into_libs=yes
     12374
     12375  # Ideally, we could use ldconfig to report *all* directores which are
     12376  # searched for libraries, however this is still not possible.  Aside from not
     12377  # being certain /sbin/ldconfig is available, command
     12378  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
     12379  # even though it is searched at run-time.  Try to do the best guess by
     12380  # appending ld.so.conf contents (and includes) to the search path.
     12381  if test -f /etc/ld.so.conf; then
     12382    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' ' '`
     12383    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
     12384  fi
     12385
     12386  # We used to test for /lib/ld.so.1 and disable shared libraries on
     12387  # powerpc, because MkLinux only supported shared libraries with the
     12388  # GNU dynamic linker.  Since this was broken with cross compilers,
     12389  # most powerpc-linux boxes support dynamic linking these days and
     12390  # people can always --disable-shared, the test was removed, and we
     12391  # assume the GNU/Linux dynamic linker is in use.
     12392  dynamic_linker='GNU/Linux ld.so'
     12393  ;;
     12394
     12395netbsdelf*-gnu)
     12396  version_type=linux
     12397  need_lib_prefix=no
     12398  need_version=no
     12399  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
     12400  soname_spec='${libname}${release}${shared_ext}$major'
     12401  shlibpath_var=LD_LIBRARY_PATH
     12402  shlibpath_overrides_runpath=no
     12403  hardcode_into_libs=yes
     12404  dynamic_linker='NetBSD ld.elf_so'
     12405  ;;
     12406
     12407netbsd*)
     12408  version_type=sunos
     12409  need_lib_prefix=no
     12410  need_version=no
     12411  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
     12412    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     12413    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     12414    dynamic_linker='NetBSD (a.out) ld.so'
     12415  else
     12416    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12417    soname_spec='$libname$release$shared_ext$major'
     12418    dynamic_linker='NetBSD ld.elf_so'
     12419  fi
     12420  shlibpath_var=LD_LIBRARY_PATH
     12421  shlibpath_overrides_runpath=yes
     12422  hardcode_into_libs=yes
     12423  ;;
     12424
     12425newsos6)
     12426  version_type=linux # correct to gnu/linux during the next big refactor
     12427  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12428  shlibpath_var=LD_LIBRARY_PATH
     12429  shlibpath_overrides_runpath=yes
     12430  ;;
     12431
     12432*nto* | *qnx*)
     12433  version_type=qnx
     12434  need_lib_prefix=no
     12435  need_version=no
     12436  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12437  soname_spec='$libname$release$shared_ext$major'
     12438  shlibpath_var=LD_LIBRARY_PATH
     12439  shlibpath_overrides_runpath=no
     12440  hardcode_into_libs=yes
     12441  dynamic_linker='ldqnx.so'
     12442  ;;
     12443
     12444openbsd* | bitrig*)
     12445  version_type=sunos
     12446  sys_lib_dlsearch_path_spec=/usr/lib
     12447  need_lib_prefix=no
     12448  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
     12449    need_version=no
     12450  else
     12451    need_version=yes
     12452  fi
     12453  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     12454  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     12455  shlibpath_var=LD_LIBRARY_PATH
     12456  shlibpath_overrides_runpath=yes
     12457  ;;
     12458
     12459os2*)
     12460  libname_spec='$name'
     12461  version_type=windows
     12462  shrext_cmds=.dll
     12463  need_version=no
     12464  need_lib_prefix=no
     12465  # OS/2 can only load a DLL with a base name of 8 characters or less.
     12466  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
     12467    v=$($ECHO $release$versuffix | tr -d .-);
     12468    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
     12469    $ECHO $n$v`$shared_ext'
     12470  library_names_spec='${libname}_dll.$libext'
     12471  dynamic_linker='OS/2 ld.exe'
     12472  shlibpath_var=BEGINLIBPATH
     12473  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
     12474  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     12475  postinstall_cmds='base_file=`basename \$file`~
     12476    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
     12477    dldir=$destdir/`dirname \$dlpath`~
     12478    test -d \$dldir || mkdir -p \$dldir~
     12479    $install_prog $dir/$dlname \$dldir/$dlname~
     12480    chmod a+x \$dldir/$dlname~
     12481    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
     12482      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
     12483    fi'
     12484  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
     12485    dlpath=$dir/\$dldll~
     12486    $RM \$dlpath'
     12487  ;;
     12488
     12489osf3* | osf4* | osf5*)
     12490  version_type=osf
     12491  need_lib_prefix=no
     12492  need_version=no
     12493  soname_spec='$libname$release$shared_ext$major'
     12494  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12495  shlibpath_var=LD_LIBRARY_PATH
     12496  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
     12497  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     12498  ;;
     12499
     12500rdos*)
     12501  dynamic_linker=no
     12502  ;;
     12503
     12504solaris*)
     12505  version_type=linux # correct to gnu/linux during the next big refactor
     12506  need_lib_prefix=no
     12507  need_version=no
     12508  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12509  soname_spec='$libname$release$shared_ext$major'
     12510  shlibpath_var=LD_LIBRARY_PATH
     12511  shlibpath_overrides_runpath=yes
     12512  hardcode_into_libs=yes
     12513  # ldd complains unless libraries are executable
     12514  postinstall_cmds='chmod +x $lib'
     12515  ;;
     12516
     12517sunos4*)
     12518  version_type=sunos
     12519  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     12520  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
     12521  shlibpath_var=LD_LIBRARY_PATH
     12522  shlibpath_overrides_runpath=yes
     12523  if test yes = "$with_gnu_ld"; then
     12524    need_lib_prefix=no
     12525  fi
     12526  need_version=yes
     12527  ;;
     12528
     12529sysv4 | sysv4.3*)
     12530  version_type=linux # correct to gnu/linux during the next big refactor
     12531  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12532  soname_spec='$libname$release$shared_ext$major'
     12533  shlibpath_var=LD_LIBRARY_PATH
     12534  case $host_vendor in
     12535    sni)
     12536      shlibpath_overrides_runpath=no
     12537      need_lib_prefix=no
     12538      runpath_var=LD_RUN_PATH
     12539      ;;
     12540    siemens)
     12541      need_lib_prefix=no
     12542      ;;
     12543    motorola)
     12544      need_lib_prefix=no
     12545      need_version=no
     12546      shlibpath_overrides_runpath=no
     12547      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
     12548      ;;
     12549  esac
     12550  ;;
     12551
     12552sysv4*MP*)
     12553  if test -d /usr/nec; then
     12554    version_type=linux # correct to gnu/linux during the next big refactor
     12555    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
     12556    soname_spec='$libname$shared_ext.$major'
     12557    shlibpath_var=LD_LIBRARY_PATH
     12558  fi
     12559  ;;
     12560
     12561sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
     12562  version_type=sco
     12563  need_lib_prefix=no
     12564  need_version=no
     12565  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
     12566  soname_spec='$libname$release$shared_ext$major'
     12567  shlibpath_var=LD_LIBRARY_PATH
     12568  shlibpath_overrides_runpath=yes
     12569  hardcode_into_libs=yes
     12570  if test yes = "$with_gnu_ld"; then
     12571    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
     12572  else
     12573    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
     12574    case $host_os in
     12575      sco3.2v5*)
     12576        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
     12577        ;;
     12578    esac
     12579  fi
     12580  sys_lib_dlsearch_path_spec='/usr/lib'
     12581  ;;
     12582
     12583tpf*)
     12584  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
     12585  version_type=linux # correct to gnu/linux during the next big refactor
     12586  need_lib_prefix=no
     12587  need_version=no
     12588  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12589  shlibpath_var=LD_LIBRARY_PATH
     12590  shlibpath_overrides_runpath=no
     12591  hardcode_into_libs=yes
     12592  ;;
     12593
     12594uts4*)
     12595  version_type=linux # correct to gnu/linux during the next big refactor
     12596  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     12597  soname_spec='$libname$release$shared_ext$major'
     12598  shlibpath_var=LD_LIBRARY_PATH
     12599  ;;
     12600
     12601*)
     12602  dynamic_linker=no
     12603  ;;
     12604esac
     12605{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
     12606$as_echo "$dynamic_linker" >&6; }
     12607test no = "$dynamic_linker" && can_build_shared=no
     12608
     12609variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
     12610if test yes = "$GCC"; then
     12611  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
     12612fi
     12613
     12614if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
     12615  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
     12616fi
     12617
     12618if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
     12619  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
     12620fi
     12621
     12622# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
     12623configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
     12624
     12625# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
     12626func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
     12627
     12628# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
     12629configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
     12630
     12631
     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  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
     12728$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
     12729hardcode_action=
     12730if test -n "$hardcode_libdir_flag_spec" ||
     12731   test -n "$runpath_var" ||
     12732   test yes = "$hardcode_automatic"; then
     12733
     12734  # We can hardcode non-existent directories.
     12735  if test no != "$hardcode_direct" &&
     12736     # If the only mechanism to avoid hardcoding is shlibpath_var, we
     12737     # have to relink, otherwise we might link with an installed library
     12738     # when we should be linking with a yet-to-be-installed one
     12739     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
     12740     test no != "$hardcode_minus_L"; then
     12741    # Linking always hardcodes the temporary library directory.
     12742    hardcode_action=relink
     12743  else
     12744    # We can link without hardcoding, and we can hardcode nonexisting dirs.
     12745    hardcode_action=immediate
     12746  fi
     12747else
     12748  # We cannot hardcode anything, or else we can only hardcode existing
     12749  # directories.
     12750  hardcode_action=unsupported
     12751fi
     12752{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
     12753$as_echo "$hardcode_action" >&6; }
     12754
     12755if test relink = "$hardcode_action" ||
     12756   test yes = "$inherit_rpath"; then
     12757  # Fast installation is not supported
     12758  enable_fast_install=no
     12759elif test yes = "$shlibpath_overrides_runpath" ||
     12760     test no = "$enable_shared"; then
     12761  # Fast installation is not necessary
     12762  enable_fast_install=needless
     12763fi
     12764
     12765
     12766
     12767
     12768
     12769
     12770  if test yes != "$enable_dlopen"; then
     12771  enable_dlopen=unknown
     12772  enable_dlopen_self=unknown
     12773  enable_dlopen_self_static=unknown
     12774else
     12775  lt_cv_dlopen=no
     12776  lt_cv_dlopen_libs=
     12777
     12778  case $host_os in
     12779  beos*)
     12780    lt_cv_dlopen=load_add_on
     12781    lt_cv_dlopen_libs=
     12782    lt_cv_dlopen_self=yes
     12783    ;;
     12784
     12785  mingw* | pw32* | cegcc*)
     12786    lt_cv_dlopen=LoadLibrary
     12787    lt_cv_dlopen_libs=
     12788    ;;
     12789
     12790  cygwin*)
     12791    lt_cv_dlopen=dlopen
     12792    lt_cv_dlopen_libs=
     12793    ;;
     12794
     12795  darwin*)
     12796    # if libdl is installed we need to link against it
     12797    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
     12798$as_echo_n "checking for dlopen in -ldl... " >&6; }
     12799if ${ac_cv_lib_dl_dlopen+:} false; then :
     12800  $as_echo_n "(cached) " >&6
     12801else
     12802  ac_check_lib_save_LIBS=$LIBS
     12803LIBS="-ldl  $LIBS"
     12804cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     12805/* end confdefs.h.  */
     12806
     12807/* Override any GCC internal prototype to avoid an error.
     12808   Use char because int might match the return type of a GCC
     12809   builtin and then its argument prototype would still apply.  */
     12810#ifdef __cplusplus
     12811extern "C"
     12812#endif
     12813char dlopen ();
     12814int
     12815main ()
     12816{
     12817return dlopen ();
     12818  ;
     12819  return 0;
     12820}
     12821_ACEOF
     12822if ac_fn_c_try_link "$LINENO"; then :
     12823  ac_cv_lib_dl_dlopen=yes
     12824else
     12825  ac_cv_lib_dl_dlopen=no
     12826fi
     12827rm -f core conftest.err conftest.$ac_objext \
     12828    conftest$ac_exeext conftest.$ac_ext
     12829LIBS=$ac_check_lib_save_LIBS
     12830fi
     12831{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
     12832$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
     12833if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
     12834  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
     12835else
     12836
     12837    lt_cv_dlopen=dyld
     12838    lt_cv_dlopen_libs=
     12839    lt_cv_dlopen_self=yes
     12840
     12841fi
     12842
     12843    ;;
     12844
     12845  tpf*)
     12846    # Don't try to run any link tests for TPF.  We know it's impossible
     12847    # because TPF is a cross-compiler, and we know how we open DSOs.
     12848    lt_cv_dlopen=dlopen
     12849    lt_cv_dlopen_libs=
     12850    lt_cv_dlopen_self=no
     12851    ;;
     12852
     12853  *)
     12854    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
     12855if test "x$ac_cv_func_shl_load" = xyes; then :
     12856  lt_cv_dlopen=shl_load
     12857else
     12858  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
     12859$as_echo_n "checking for shl_load in -ldld... " >&6; }
     12860if ${ac_cv_lib_dld_shl_load+:} false; then :
     12861  $as_echo_n "(cached) " >&6
     12862else
     12863  ac_check_lib_save_LIBS=$LIBS
     12864LIBS="-ldld  $LIBS"
     12865cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     12866/* end confdefs.h.  */
     12867
     12868/* Override any GCC internal prototype to avoid an error.
     12869   Use char because int might match the return type of a GCC
     12870   builtin and then its argument prototype would still apply.  */
     12871#ifdef __cplusplus
     12872extern "C"
     12873#endif
     12874char shl_load ();
     12875int
     12876main ()
     12877{
     12878return shl_load ();
     12879  ;
     12880  return 0;
     12881}
     12882_ACEOF
     12883if ac_fn_c_try_link "$LINENO"; then :
     12884  ac_cv_lib_dld_shl_load=yes
     12885else
     12886  ac_cv_lib_dld_shl_load=no
     12887fi
     12888rm -f core conftest.err conftest.$ac_objext \
     12889    conftest$ac_exeext conftest.$ac_ext
     12890LIBS=$ac_check_lib_save_LIBS
     12891fi
     12892{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
     12893$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
     12894if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
     12895  lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
     12896else
     12897  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
     12898if test "x$ac_cv_func_dlopen" = xyes; then :
     12899  lt_cv_dlopen=dlopen
     12900else
     12901  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
     12902$as_echo_n "checking for dlopen in -ldl... " >&6; }
     12903if ${ac_cv_lib_dl_dlopen+:} false; then :
     12904  $as_echo_n "(cached) " >&6
     12905else
     12906  ac_check_lib_save_LIBS=$LIBS
     12907LIBS="-ldl  $LIBS"
     12908cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     12909/* end confdefs.h.  */
     12910
     12911/* Override any GCC internal prototype to avoid an error.
     12912   Use char because int might match the return type of a GCC
     12913   builtin and then its argument prototype would still apply.  */
     12914#ifdef __cplusplus
     12915extern "C"
     12916#endif
     12917char dlopen ();
     12918int
     12919main ()
     12920{
     12921return dlopen ();
     12922  ;
     12923  return 0;
     12924}
     12925_ACEOF
     12926if ac_fn_c_try_link "$LINENO"; then :
     12927  ac_cv_lib_dl_dlopen=yes
     12928else
     12929  ac_cv_lib_dl_dlopen=no
     12930fi
     12931rm -f core conftest.err conftest.$ac_objext \
     12932    conftest$ac_exeext conftest.$ac_ext
     12933LIBS=$ac_check_lib_save_LIBS
     12934fi
     12935{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
     12936$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
     12937if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
     12938  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
     12939else
     12940  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
     12941$as_echo_n "checking for dlopen in -lsvld... " >&6; }
     12942if ${ac_cv_lib_svld_dlopen+:} false; then :
     12943  $as_echo_n "(cached) " >&6
     12944else
     12945  ac_check_lib_save_LIBS=$LIBS
     12946LIBS="-lsvld  $LIBS"
     12947cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     12948/* end confdefs.h.  */
     12949
     12950/* Override any GCC internal prototype to avoid an error.
     12951   Use char because int might match the return type of a GCC
     12952   builtin and then its argument prototype would still apply.  */
     12953#ifdef __cplusplus
     12954extern "C"
     12955#endif
     12956char dlopen ();
     12957int
     12958main ()
     12959{
     12960return dlopen ();
     12961  ;
     12962  return 0;
     12963}
     12964_ACEOF
     12965if ac_fn_c_try_link "$LINENO"; then :
     12966  ac_cv_lib_svld_dlopen=yes
     12967else
     12968  ac_cv_lib_svld_dlopen=no
     12969fi
     12970rm -f core conftest.err conftest.$ac_objext \
     12971    conftest$ac_exeext conftest.$ac_ext
     12972LIBS=$ac_check_lib_save_LIBS
     12973fi
     12974{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
     12975$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
     12976if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
     12977  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
     12978else
     12979  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
     12980$as_echo_n "checking for dld_link in -ldld... " >&6; }
     12981if ${ac_cv_lib_dld_dld_link+:} false; then :
     12982  $as_echo_n "(cached) " >&6
     12983else
     12984  ac_check_lib_save_LIBS=$LIBS
     12985LIBS="-ldld  $LIBS"
     12986cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     12987/* end confdefs.h.  */
     12988
     12989/* Override any GCC internal prototype to avoid an error.
     12990   Use char because int might match the return type of a GCC
     12991   builtin and then its argument prototype would still apply.  */
     12992#ifdef __cplusplus
     12993extern "C"
     12994#endif
     12995char dld_link ();
     12996int
     12997main ()
     12998{
     12999return dld_link ();
     13000  ;
     13001  return 0;
     13002}
     13003_ACEOF
     13004if ac_fn_c_try_link "$LINENO"; then :
     13005  ac_cv_lib_dld_dld_link=yes
     13006else
     13007  ac_cv_lib_dld_dld_link=no
     13008fi
     13009rm -f core conftest.err conftest.$ac_objext \
     13010    conftest$ac_exeext conftest.$ac_ext
     13011LIBS=$ac_check_lib_save_LIBS
     13012fi
     13013{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
     13014$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
     13015if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
     13016  lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
     13017fi
     13018
     13019
     13020fi
     13021
     13022
     13023fi
     13024
     13025
     13026fi
     13027
     13028
     13029fi
     13030
     13031
     13032fi
     13033
     13034    ;;
     13035  esac
     13036
     13037  if test no = "$lt_cv_dlopen"; then
     13038    enable_dlopen=no
     13039  else
     13040    enable_dlopen=yes
     13041  fi
     13042
     13043  case $lt_cv_dlopen in
     13044  dlopen)
     13045    save_CPPFLAGS=$CPPFLAGS
     13046    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
     13047
     13048    save_LDFLAGS=$LDFLAGS
     13049    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
     13050
     13051    save_LIBS=$LIBS
     13052    LIBS="$lt_cv_dlopen_libs $LIBS"
     13053
     13054    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
     13055$as_echo_n "checking whether a program can dlopen itself... " >&6; }
     13056if ${lt_cv_dlopen_self+:} false; then :
     13057  $as_echo_n "(cached) " >&6
     13058else
     13059          if test yes = "$cross_compiling"; then :
     13060  lt_cv_dlopen_self=cross
     13061else
     13062  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
     13063  lt_status=$lt_dlunknown
     13064  cat > conftest.$ac_ext <<_LT_EOF
     13065#line $LINENO "configure"
     13066#include "confdefs.h"
     13067
     13068#if HAVE_DLFCN_H
     13069#include <dlfcn.h>
     13070#endif
     13071
     13072#include <stdio.h>
     13073
     13074#ifdef RTLD_GLOBAL
     13075#  define LT_DLGLOBAL           RTLD_GLOBAL
     13076#else
     13077#  ifdef DL_GLOBAL
     13078#    define LT_DLGLOBAL         DL_GLOBAL
     13079#  else
     13080#    define LT_DLGLOBAL         0
     13081#  endif
     13082#endif
     13083
     13084/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
     13085   find out it does not work in some platform. */
     13086#ifndef LT_DLLAZY_OR_NOW
     13087#  ifdef RTLD_LAZY
     13088#    define LT_DLLAZY_OR_NOW            RTLD_LAZY
     13089#  else
     13090#    ifdef DL_LAZY
     13091#      define LT_DLLAZY_OR_NOW          DL_LAZY
     13092#    else
     13093#      ifdef RTLD_NOW
     13094#        define LT_DLLAZY_OR_NOW        RTLD_NOW
     13095#      else
     13096#        ifdef DL_NOW
     13097#          define LT_DLLAZY_OR_NOW      DL_NOW
     13098#        else
     13099#          define LT_DLLAZY_OR_NOW      0
     13100#        endif
     13101#      endif
     13102#    endif
     13103#  endif
     13104#endif
     13105
     13106/* When -fvisibility=hidden is used, assume the code has been annotated
     13107   correspondingly for the symbols needed.  */
     13108#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
     13109int fnord () __attribute__((visibility("default")));
     13110#endif
     13111
     13112int fnord () { return 42; }
     13113int main ()
     13114{
     13115  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
     13116  int status = $lt_dlunknown;
     13117
     13118  if (self)
     13119    {
     13120      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
     13121      else
     13122        {
     13123          if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
     13124          else puts (dlerror ());
     13125        }
     13126      /* dlclose (self); */
     13127    }
     13128  else
     13129    puts (dlerror ());
     13130
     13131  return status;
     13132}
     13133_LT_EOF
     13134  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
     13135  (eval $ac_link) 2>&5
     13136  ac_status=$?
     13137  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     13138  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
     13139    (./conftest; exit; ) >&5 2>/dev/null
     13140    lt_status=$?
     13141    case x$lt_status in
     13142      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
     13143      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
     13144      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
     13145    esac
     13146  else :
     13147    # compilation failed
     13148    lt_cv_dlopen_self=no
     13149  fi
     13150fi
     13151rm -fr conftest*
     13152
     13153
     13154fi
     13155{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
     13156$as_echo "$lt_cv_dlopen_self" >&6; }
     13157
     13158    if test yes = "$lt_cv_dlopen_self"; then
     13159      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
     13160      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
     13161$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
     13162if ${lt_cv_dlopen_self_static+:} false; then :
     13163  $as_echo_n "(cached) " >&6
     13164else
     13165          if test yes = "$cross_compiling"; then :
     13166  lt_cv_dlopen_self_static=cross
     13167else
     13168  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
     13169  lt_status=$lt_dlunknown
     13170  cat > conftest.$ac_ext <<_LT_EOF
     13171#line $LINENO "configure"
     13172#include "confdefs.h"
     13173
     13174#if HAVE_DLFCN_H
     13175#include <dlfcn.h>
     13176#endif
     13177
     13178#include <stdio.h>
     13179
     13180#ifdef RTLD_GLOBAL
     13181#  define LT_DLGLOBAL           RTLD_GLOBAL
     13182#else
     13183#  ifdef DL_GLOBAL
     13184#    define LT_DLGLOBAL         DL_GLOBAL
     13185#  else
     13186#    define LT_DLGLOBAL         0
     13187#  endif
     13188#endif
     13189
     13190/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
     13191   find out it does not work in some platform. */
     13192#ifndef LT_DLLAZY_OR_NOW
     13193#  ifdef RTLD_LAZY
     13194#    define LT_DLLAZY_OR_NOW            RTLD_LAZY
     13195#  else
     13196#    ifdef DL_LAZY
     13197#      define LT_DLLAZY_OR_NOW          DL_LAZY
     13198#    else
     13199#      ifdef RTLD_NOW
     13200#        define LT_DLLAZY_OR_NOW        RTLD_NOW
     13201#      else
     13202#        ifdef DL_NOW
     13203#          define LT_DLLAZY_OR_NOW      DL_NOW
     13204#        else
     13205#          define LT_DLLAZY_OR_NOW      0
     13206#        endif
     13207#      endif
     13208#    endif
     13209#  endif
     13210#endif
     13211
     13212/* When -fvisibility=hidden is used, assume the code has been annotated
     13213   correspondingly for the symbols needed.  */
     13214#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
     13215int fnord () __attribute__((visibility("default")));
     13216#endif
     13217
     13218int fnord () { return 42; }
     13219int main ()
     13220{
     13221  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
     13222  int status = $lt_dlunknown;
     13223
     13224  if (self)
     13225    {
     13226      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
     13227      else
     13228        {
     13229          if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
     13230          else puts (dlerror ());
     13231        }
     13232      /* dlclose (self); */
     13233    }
     13234  else
     13235    puts (dlerror ());
     13236
     13237  return status;
     13238}
     13239_LT_EOF
     13240  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
     13241  (eval $ac_link) 2>&5
     13242  ac_status=$?
     13243  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     13244  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
     13245    (./conftest; exit; ) >&5 2>/dev/null
     13246    lt_status=$?
     13247    case x$lt_status in
     13248      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
     13249      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
     13250      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
     13251    esac
     13252  else :
     13253    # compilation failed
     13254    lt_cv_dlopen_self_static=no
     13255  fi
     13256fi
     13257rm -fr conftest*
     13258
     13259
     13260fi
     13261{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
     13262$as_echo "$lt_cv_dlopen_self_static" >&6; }
     13263    fi
     13264
     13265    CPPFLAGS=$save_CPPFLAGS
     13266    LDFLAGS=$save_LDFLAGS
     13267    LIBS=$save_LIBS
     13268    ;;
     13269  esac
     13270
     13271  case $lt_cv_dlopen_self in
     13272  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
     13273  *) enable_dlopen_self=unknown ;;
     13274  esac
     13275
     13276  case $lt_cv_dlopen_self_static in
     13277  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
     13278  *) enable_dlopen_self_static=unknown ;;
     13279  esac
     13280fi
     13281
     13282
     13283
     13284
     13285
     13286
     13287
     13288
     13289
     13290
     13291
     13292
     13293
     13294
     13295
     13296
     13297
     13298striplib=
     13299old_striplib=
     13300{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
     13301$as_echo_n "checking whether stripping libraries is possible... " >&6; }
     13302if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
     13303  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
     13304  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
     13305  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
     13306$as_echo "yes" >&6; }
     13307else
     13308# FIXME - insert some real tests, host_os isn't really good enough
     13309  case $host_os in
     13310  darwin*)
     13311    if test -n "$STRIP"; then
     13312      striplib="$STRIP -x"
     13313      old_striplib="$STRIP -S"
     13314      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
     13315$as_echo "yes" >&6; }
     13316    else
     13317      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     13318$as_echo "no" >&6; }
     13319    fi
     13320    ;;
     13321  *)
     13322    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     13323$as_echo "no" >&6; }
     13324    ;;
     13325  esac
     13326fi
     13327
     13328
     13329
     13330
     13331
     13332
     13333
     13334
     13335
     13336
     13337
     13338
     13339  # Report what library types will actually be built
     13340  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
     13341$as_echo_n "checking if libtool supports shared libraries... " >&6; }
     13342  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
     13343$as_echo "$can_build_shared" >&6; }
     13344
     13345  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
     13346$as_echo_n "checking whether to build shared libraries... " >&6; }
     13347  test no = "$can_build_shared" && enable_shared=no
     13348
     13349  # On AIX, shared libraries and static libraries use the same namespace, and
     13350  # are all built from PIC.
     13351  case $host_os in
     13352  aix3*)
     13353    test yes = "$enable_shared" && enable_static=no
     13354    if test -n "$RANLIB"; then
     13355      archive_cmds="$archive_cmds~\$RANLIB \$lib"
     13356      postinstall_cmds='$RANLIB $lib'
     13357    fi
     13358    ;;
     13359
     13360  aix[4-9]*)
     13361    if test ia64 != "$host_cpu"; then
     13362      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
     13363      yes,aix,yes) ;;                   # shared object as lib.so file only
     13364      yes,svr4,*) ;;                    # shared object as lib.so archive member only
     13365      yes,*) enable_static=no ;;        # shared object in lib.a archive as well
     13366      esac
     13367    fi
     13368    ;;
     13369  esac
     13370  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
     13371$as_echo "$enable_shared" >&6; }
     13372
     13373  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
     13374$as_echo_n "checking whether to build static libraries... " >&6; }
     13375  # Make sure either enable_shared or enable_static is yes.
     13376  test yes = "$enable_shared" || enable_static=yes
     13377  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
     13378$as_echo "$enable_static" >&6; }
     13379
     13380
     13381
     13382
     13383fi
     13384ac_ext=c
     13385ac_cpp='$CPP $CPPFLAGS'
     13386ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     13387ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     13388ac_compiler_gnu=$ac_cv_c_compiler_gnu
     13389
     13390CC=$lt_save_CC
     13391
     13392      if test -n "$CXX" && ( test no != "$CXX" &&
     13393    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
     13394    (test g++ != "$CXX"))); then
     13395  ac_ext=cpp
     13396ac_cpp='$CXXCPP $CPPFLAGS'
     13397ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     13398ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     13399ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
     13400{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
     13401$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
     13402if test -z "$CXXCPP"; then
     13403  if ${ac_cv_prog_CXXCPP+:} false; then :
     13404  $as_echo_n "(cached) " >&6
     13405else
     13406      # Double quotes because CXXCPP needs to be expanded
     13407    for CXXCPP in "$CXX -E" "/lib/cpp"
     13408    do
     13409      ac_preproc_ok=false
     13410for ac_cxx_preproc_warn_flag in '' yes
     13411do
     13412  # Use a header file that comes with gcc, so configuring glibc
     13413  # with a fresh cross-compiler works.
     13414  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     13415  # <limits.h> exists even on freestanding compilers.
     13416  # On the NeXT, cc -E runs the code through the compiler's parser,
     13417  # not just through cpp. "Syntax error" is here to catch this case.
     13418  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     13419/* end confdefs.h.  */
     13420#ifdef __STDC__
     13421# include <limits.h>
     13422#else
     13423# include <assert.h>
     13424#endif
     13425                     Syntax error
     13426_ACEOF
     13427if ac_fn_cxx_try_cpp "$LINENO"; then :
     13428
     13429else
     13430  # Broken: fails on valid input.
     13431continue
     13432fi
     13433rm -f conftest.err conftest.i conftest.$ac_ext
     13434
     13435  # OK, works on sane cases.  Now check whether nonexistent headers
     13436  # can be detected and how.
     13437  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     13438/* end confdefs.h.  */
     13439#include <ac_nonexistent.h>
     13440_ACEOF
     13441if ac_fn_cxx_try_cpp "$LINENO"; then :
     13442  # Broken: success on invalid input.
     13443continue
     13444else
     13445  # Passes both tests.
     13446ac_preproc_ok=:
     13447break
     13448fi
     13449rm -f conftest.err conftest.i conftest.$ac_ext
     13450
     13451done
     13452# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
     13453rm -f conftest.i conftest.err conftest.$ac_ext
     13454if $ac_preproc_ok; then :
     13455  break
     13456fi
     13457
     13458    done
     13459    ac_cv_prog_CXXCPP=$CXXCPP
     13460
     13461fi
     13462  CXXCPP=$ac_cv_prog_CXXCPP
     13463else
     13464  ac_cv_prog_CXXCPP=$CXXCPP
     13465fi
     13466{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
     13467$as_echo "$CXXCPP" >&6; }
     13468ac_preproc_ok=false
     13469for ac_cxx_preproc_warn_flag in '' yes
     13470do
     13471  # Use a header file that comes with gcc, so configuring glibc
     13472  # with a fresh cross-compiler works.
     13473  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     13474  # <limits.h> exists even on freestanding compilers.
     13475  # On the NeXT, cc -E runs the code through the compiler's parser,
     13476  # not just through cpp. "Syntax error" is here to catch this case.
     13477  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     13478/* end confdefs.h.  */
     13479#ifdef __STDC__
     13480# include <limits.h>
     13481#else
     13482# include <assert.h>
     13483#endif
     13484                     Syntax error
     13485_ACEOF
     13486if ac_fn_cxx_try_cpp "$LINENO"; then :
     13487
     13488else
     13489  # Broken: fails on valid input.
     13490continue
     13491fi
     13492rm -f conftest.err conftest.i conftest.$ac_ext
     13493
     13494  # OK, works on sane cases.  Now check whether nonexistent headers
     13495  # can be detected and how.
     13496  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     13497/* end confdefs.h.  */
     13498#include <ac_nonexistent.h>
     13499_ACEOF
     13500if ac_fn_cxx_try_cpp "$LINENO"; then :
     13501  # Broken: success on invalid input.
     13502continue
     13503else
     13504  # Passes both tests.
     13505ac_preproc_ok=:
     13506break
     13507fi
     13508rm -f conftest.err conftest.i conftest.$ac_ext
     13509
     13510done
     13511# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
     13512rm -f conftest.i conftest.err conftest.$ac_ext
     13513if $ac_preproc_ok; then :
     13514
     13515else
     13516  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     13517$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     13518as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
     13519See \`config.log' for more details" "$LINENO" 5; }
     13520fi
     13521
     13522ac_ext=c
     13523ac_cpp='$CPP $CPPFLAGS'
     13524ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     13525ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     13526ac_compiler_gnu=$ac_cv_c_compiler_gnu
     13527
     13528else
     13529  _lt_caught_CXX_error=yes
     13530fi
     13531
     13532ac_ext=cpp
     13533ac_cpp='$CXXCPP $CPPFLAGS'
     13534ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     13535ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     13536ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
     13537
     13538archive_cmds_need_lc_CXX=no
     13539allow_undefined_flag_CXX=
     13540always_export_symbols_CXX=no
     13541archive_expsym_cmds_CXX=
     13542compiler_needs_object_CXX=no
     13543export_dynamic_flag_spec_CXX=
     13544hardcode_direct_CXX=no
     13545hardcode_direct_absolute_CXX=no
     13546hardcode_libdir_flag_spec_CXX=
     13547hardcode_libdir_separator_CXX=
     13548hardcode_minus_L_CXX=no
     13549hardcode_shlibpath_var_CXX=unsupported
     13550hardcode_automatic_CXX=no
     13551inherit_rpath_CXX=no
     13552module_cmds_CXX=
     13553module_expsym_cmds_CXX=
     13554link_all_deplibs_CXX=unknown
     13555old_archive_cmds_CXX=$old_archive_cmds
     13556reload_flag_CXX=$reload_flag
     13557reload_cmds_CXX=$reload_cmds
     13558no_undefined_flag_CXX=
     13559whole_archive_flag_spec_CXX=
     13560enable_shared_with_static_runtimes_CXX=no
     13561
     13562# Source file extension for C++ test sources.
     13563ac_ext=cpp
     13564
     13565# Object file extension for compiled C++ test sources.
     13566objext=o
     13567objext_CXX=$objext
     13568
     13569# No sense in running all these tests if we already determined that
     13570# the CXX compiler isn't working.  Some variables (like enable_shared)
     13571# are currently assumed to apply to all compilers on this platform,
     13572# and will be corrupted by setting them based on a non-working compiler.
     13573if test yes != "$_lt_caught_CXX_error"; then
     13574  # Code to be used in simple compile tests
     13575  lt_simple_compile_test_code="int some_variable = 0;"
     13576
     13577  # Code to be used in simple link tests
     13578  lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
     13579
     13580  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
     13581
     13582
     13583
     13584
     13585
     13586
     13587# If no C compiler was specified, use CC.
     13588LTCC=${LTCC-"$CC"}
     13589
     13590# If no C compiler flags were specified, use CFLAGS.
     13591LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
     13592
     13593# Allow CC to be a program name with arguments.
     13594compiler=$CC
     13595
     13596
     13597  # save warnings/boilerplate of simple test code
     13598  ac_outfile=conftest.$ac_objext
     13599echo "$lt_simple_compile_test_code" >conftest.$ac_ext
     13600eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
     13601_lt_compiler_boilerplate=`cat conftest.err`
     13602$RM conftest*
     13603
     13604  ac_outfile=conftest.$ac_objext
     13605echo "$lt_simple_link_test_code" >conftest.$ac_ext
     13606eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
     13607_lt_linker_boilerplate=`cat conftest.err`
     13608$RM -r conftest*
     13609
     13610
     13611  # Allow CC to be a program name with arguments.
     13612  lt_save_CC=$CC
     13613  lt_save_CFLAGS=$CFLAGS
     13614  lt_save_LD=$LD
     13615  lt_save_GCC=$GCC
     13616  GCC=$GXX
     13617  lt_save_with_gnu_ld=$with_gnu_ld
     13618  lt_save_path_LD=$lt_cv_path_LD
     13619  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
     13620    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
     13621  else
     13622    $as_unset lt_cv_prog_gnu_ld
     13623  fi
     13624  if test -n "${lt_cv_path_LDCXX+set}"; then
     13625    lt_cv_path_LD=$lt_cv_path_LDCXX
     13626  else
     13627    $as_unset lt_cv_path_LD
     13628  fi
     13629  test -z "${LDCXX+set}" || LD=$LDCXX
     13630  CC=${CXX-"c++"}
     13631  CFLAGS=$CXXFLAGS
     13632  compiler=$CC
     13633  compiler_CXX=$CC
     13634  func_cc_basename $compiler
     13635cc_basename=$func_cc_basename_result
     13636
     13637
     13638  if test -n "$compiler"; then
     13639    # We don't want -fno-exception when compiling C++ code, so set the
     13640    # no_builtin_flag separately
     13641    if test yes = "$GXX"; then
     13642      lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
     13643    else
     13644      lt_prog_compiler_no_builtin_flag_CXX=
     13645    fi
     13646
     13647    if test yes = "$GXX"; then
     13648      # Set up default GNU C++ configuration
     13649
     13650
     13651
     13652# Check whether --with-gnu-ld was given.
     13653if test "${with_gnu_ld+set}" = set; then :
     13654  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
     13655else
     13656  with_gnu_ld=no
     13657fi
     13658
     13659ac_prog=ld
     13660if test yes = "$GCC"; then
     13661  # Check if gcc -print-prog-name=ld gives a path.
     13662  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
     13663$as_echo_n "checking for ld used by $CC... " >&6; }
     13664  case $host in
     13665  *-*-mingw*)
     13666    # gcc leaves a trailing carriage return, which upsets mingw
     13667    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
     13668  *)
     13669    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
     13670  esac
     13671  case $ac_prog in
     13672    # Accept absolute paths.
     13673    [\\/]* | ?:[\\/]*)
     13674      re_direlt='/[^/][^/]*/\.\./'
     13675      # Canonicalize the pathname of ld
     13676      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
     13677      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
     13678        ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
     13679      done
     13680      test -z "$LD" && LD=$ac_prog
     13681      ;;
     13682  "")
     13683    # If it fails, then pretend we aren't using GCC.
     13684    ac_prog=ld
     13685    ;;
     13686  *)
     13687    # If it is relative, then search for the first ld in PATH.
     13688    with_gnu_ld=unknown
     13689    ;;
     13690  esac
     13691elif test yes = "$with_gnu_ld"; then
     13692  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
     13693$as_echo_n "checking for GNU ld... " >&6; }
     13694else
     13695  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
     13696$as_echo_n "checking for non-GNU ld... " >&6; }
     13697fi
     13698if ${lt_cv_path_LD+:} false; then :
     13699  $as_echo_n "(cached) " >&6
     13700else
     13701  if test -z "$LD"; then
     13702  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     13703  for ac_dir in $PATH; do
     13704    IFS=$lt_save_ifs
     13705    test -z "$ac_dir" && ac_dir=.
     13706    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
     13707      lt_cv_path_LD=$ac_dir/$ac_prog
     13708      # Check to see if the program is GNU ld.  I'd rather use --version,
     13709      # but apparently some variants of GNU ld only accept -v.
     13710      # Break only if it was the GNU/non-GNU ld that we prefer.
     13711      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
     13712      *GNU* | *'with BFD'*)
     13713        test no != "$with_gnu_ld" && break
     13714        ;;
     13715      *)
     13716        test yes != "$with_gnu_ld" && break
     13717        ;;
     13718      esac
     13719    fi
     13720  done
     13721  IFS=$lt_save_ifs
     13722else
     13723  lt_cv_path_LD=$LD # Let the user override the test with a path.
     13724fi
     13725fi
     13726
     13727LD=$lt_cv_path_LD
     13728if test -n "$LD"; then
     13729  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
     13730$as_echo "$LD" >&6; }
     13731else
     13732  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     13733$as_echo "no" >&6; }
     13734fi
     13735test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
     13736{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
     13737$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
     13738if ${lt_cv_prog_gnu_ld+:} false; then :
     13739  $as_echo_n "(cached) " >&6
     13740else
     13741  # I'd rather use --version here, but apparently some GNU lds only accept -v.
     13742case `$LD -v 2>&1 </dev/null` in
     13743*GNU* | *'with BFD'*)
     13744  lt_cv_prog_gnu_ld=yes
     13745  ;;
     13746*)
     13747  lt_cv_prog_gnu_ld=no
     13748  ;;
     13749esac
     13750fi
     13751{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
     13752$as_echo "$lt_cv_prog_gnu_ld" >&6; }
     13753with_gnu_ld=$lt_cv_prog_gnu_ld
     13754
     13755
     13756
     13757
     13758
     13759
     13760
     13761      # Check if GNU C++ uses GNU ld as the underlying linker, since the
     13762      # archiving commands below assume that GNU ld is being used.
     13763      if test yes = "$with_gnu_ld"; then
     13764        archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
     13765        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'
     13766
     13767        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
     13768        export_dynamic_flag_spec_CXX='$wl--export-dynamic'
     13769
     13770        # If archive_cmds runs LD, not CC, wlarc should be empty
     13771        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
     13772        #     investigate it a little bit more. (MM)
     13773        wlarc='$wl'
     13774
     13775        # ancient GNU ld didn't support --whole-archive et. al.
     13776        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
     13777          $GREP 'no-whole-archive' > /dev/null; then
     13778          whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
     13779        else
     13780          whole_archive_flag_spec_CXX=
     13781        fi
     13782      else
     13783        with_gnu_ld=no
     13784        wlarc=
     13785
     13786        # A generic and very simple default shared library creation
     13787        # command for GNU C++ for the case where it uses the native
     13788        # linker, instead of GNU ld.  If possible, this setting should
     13789        # overridden to take advantage of the native linker features on
     13790        # the platform it is being used on.
     13791        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
     13792      fi
     13793
     13794      # Commands to make compiler produce verbose output that lists
     13795      # what "hidden" libraries, object files and flags are used when
     13796      # linking a shared library.
     13797      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
     13798
     13799    else
     13800      GXX=no
     13801      with_gnu_ld=no
     13802      wlarc=
     13803    fi
     13804
     13805    # PORTME: fill in a description of your system's C++ link characteristics
     13806    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
     13807$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
     13808    ld_shlibs_CXX=yes
     13809    case $host_os in
     13810      aix3*)
     13811        # FIXME: insert proper C++ library support
     13812        ld_shlibs_CXX=no
     13813        ;;
     13814      aix[4-9]*)
     13815        if test ia64 = "$host_cpu"; then
     13816          # On IA64, the linker does run time linking by default, so we don't
     13817          # have to do anything special.
     13818          aix_use_runtimelinking=no
     13819          exp_sym_flag='-Bexport'
     13820          no_entry_flag=
     13821        else
     13822          aix_use_runtimelinking=no
     13823
     13824          # Test if we are trying to use run time linking or normal
     13825          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
     13826          # have runtime linking enabled, and use it for executables.
     13827          # For shared libraries, we enable/disable runtime linking
     13828          # depending on the kind of the shared library created -
     13829          # when "with_aix_soname,aix_use_runtimelinking" is:
     13830          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
     13831          # "aix,yes"  lib.so          shared, rtl:yes, for executables
     13832          #            lib.a           static archive
     13833          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
     13834          #            lib.a(lib.so.V) shared, rtl:no,  for executables
     13835          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
     13836          #            lib.a(lib.so.V) shared, rtl:no
     13837          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
     13838          #            lib.a           static archive
     13839          case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
     13840            for ld_flag in $LDFLAGS; do
     13841              case $ld_flag in
     13842              *-brtl*)
     13843                aix_use_runtimelinking=yes
     13844                break
     13845                ;;
     13846              esac
     13847            done
     13848            if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
     13849              # With aix-soname=svr4, we create the lib.so.V shared archives only,
     13850              # so we don't have lib.a shared libs to link our executables.
     13851              # We have to force runtime linking in this case.
     13852              aix_use_runtimelinking=yes
     13853              LDFLAGS="$LDFLAGS -Wl,-brtl"
     13854            fi
     13855            ;;
     13856          esac
     13857
     13858          exp_sym_flag='-bexport'
     13859          no_entry_flag='-bnoentry'
     13860        fi
     13861
     13862        # When large executables or shared objects are built, AIX ld can
     13863        # have problems creating the table of contents.  If linking a library
     13864        # or program results in "error TOC overflow" add -mminimal-toc to
     13865        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
     13866        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
     13867
     13868        archive_cmds_CXX=''
     13869        hardcode_direct_CXX=yes
     13870        hardcode_direct_absolute_CXX=yes
     13871        hardcode_libdir_separator_CXX=':'
     13872        link_all_deplibs_CXX=yes
     13873        file_list_spec_CXX='$wl-f,'
     13874        case $with_aix_soname,$aix_use_runtimelinking in
     13875        aix,*) ;;       # no import file
     13876        svr4,* | *,yes) # use import file
     13877          # The Import File defines what to hardcode.
     13878          hardcode_direct_CXX=no
     13879          hardcode_direct_absolute_CXX=no
     13880          ;;
     13881        esac
     13882
     13883        if test yes = "$GXX"; then
     13884          case $host_os in aix4.[012]|aix4.[012].*)
     13885          # We only want to do this on AIX 4.2 and lower, the check
     13886          # below for broken collect2 doesn't work under 4.3+
     13887          collect2name=`$CC -print-prog-name=collect2`
     13888          if test -f "$collect2name" &&
     13889             strings "$collect2name" | $GREP resolve_lib_name >/dev/null
     13890          then
     13891            # We have reworked collect2
     13892            :
     13893          else
     13894            # We have old collect2
     13895            hardcode_direct_CXX=unsupported
     13896            # It fails to find uninstalled libraries when the uninstalled
     13897            # path is not listed in the libpath.  Setting hardcode_minus_L
     13898            # to unsupported forces relinking
     13899            hardcode_minus_L_CXX=yes
     13900            hardcode_libdir_flag_spec_CXX='-L$libdir'
     13901            hardcode_libdir_separator_CXX=
     13902          fi
     13903          esac
     13904          shared_flag='-shared'
     13905          if test yes = "$aix_use_runtimelinking"; then
     13906            shared_flag=$shared_flag' $wl-G'
     13907          fi
     13908          # Need to ensure runtime linking is disabled for the traditional
     13909          # shared library, or the linker may eventually find shared libraries
     13910          # /with/ Import File - we do not want to mix them.
     13911          shared_flag_aix='-shared'
     13912          shared_flag_svr4='-shared $wl-G'
     13913        else
     13914          # not using gcc
     13915          if test ia64 = "$host_cpu"; then
     13916          # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
     13917          # chokes on -Wl,-G. The following line is correct:
     13918          shared_flag='-G'
     13919          else
     13920            if test yes = "$aix_use_runtimelinking"; then
     13921              shared_flag='$wl-G'
     13922            else
     13923              shared_flag='$wl-bM:SRE'
     13924            fi
     13925            shared_flag_aix='$wl-bM:SRE'
     13926            shared_flag_svr4='$wl-G'
     13927          fi
     13928        fi
     13929
     13930        export_dynamic_flag_spec_CXX='$wl-bexpall'
     13931        # It seems that -bexpall does not export symbols beginning with
     13932        # underscore (_), so it is better to generate a list of symbols to
     13933        # export.
     13934        always_export_symbols_CXX=yes
     13935        if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
     13936          # Warning - without using the other runtime loading flags (-brtl),
     13937          # -berok will link without error, but may produce a broken library.
     13938          # The "-G" linker flag allows undefined symbols.
     13939          no_undefined_flag_CXX='-bernotok'
     13940          # Determine the default libpath from the value encoded in an empty
     13941          # executable.
     13942          if test set = "${lt_cv_aix_libpath+set}"; then
     13943  aix_libpath=$lt_cv_aix_libpath
     13944else
     13945  if ${lt_cv_aix_libpath__CXX+:} false; then :
     13946  $as_echo_n "(cached) " >&6
     13947else
     13948  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     13949/* end confdefs.h.  */
     13950
     13951int
     13952main ()
     13953{
     13954
     13955  ;
     13956  return 0;
     13957}
     13958_ACEOF
     13959if ac_fn_cxx_try_link "$LINENO"; then :
     13960
     13961  lt_aix_libpath_sed='
     13962      /Import File Strings/,/^$/ {
     13963          /^0/ {
     13964              s/^0  *\([^ ]*\) *$/\1/
     13965              p
     13966          }
     13967      }'
     13968  lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     13969  # Check for a 64-bit object if we didn't find anything.
     13970  if test -z "$lt_cv_aix_libpath__CXX"; then
     13971    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     13972  fi
     13973fi
     13974rm -f core conftest.err conftest.$ac_objext \
     13975    conftest$ac_exeext conftest.$ac_ext
     13976  if test -z "$lt_cv_aix_libpath__CXX"; then
     13977    lt_cv_aix_libpath__CXX=/usr/lib:/lib
     13978  fi
     13979
     13980fi
     13981
     13982  aix_libpath=$lt_cv_aix_libpath__CXX
     13983fi
     13984
     13985          hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
     13986
     13987          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
     13988        else
     13989          if test ia64 = "$host_cpu"; then
     13990            hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib'
     13991            allow_undefined_flag_CXX="-z nodefs"
     13992            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"
     13993          else
     13994            # Determine the default libpath from the value encoded in an
     13995            # empty executable.
     13996            if test set = "${lt_cv_aix_libpath+set}"; then
     13997  aix_libpath=$lt_cv_aix_libpath
     13998else
     13999  if ${lt_cv_aix_libpath__CXX+:} false; then :
     14000  $as_echo_n "(cached) " >&6
     14001else
     14002  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     14003/* end confdefs.h.  */
     14004
     14005int
     14006main ()
     14007{
     14008
     14009  ;
     14010  return 0;
     14011}
     14012_ACEOF
     14013if ac_fn_cxx_try_link "$LINENO"; then :
     14014
     14015  lt_aix_libpath_sed='
     14016      /Import File Strings/,/^$/ {
     14017          /^0/ {
     14018              s/^0  *\([^ ]*\) *$/\1/
     14019              p
     14020          }
     14021      }'
     14022  lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     14023  # Check for a 64-bit object if we didn't find anything.
     14024  if test -z "$lt_cv_aix_libpath__CXX"; then
     14025    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
     14026  fi
     14027fi
     14028rm -f core conftest.err conftest.$ac_objext \
     14029    conftest$ac_exeext conftest.$ac_ext
     14030  if test -z "$lt_cv_aix_libpath__CXX"; then
     14031    lt_cv_aix_libpath__CXX=/usr/lib:/lib
     14032  fi
     14033
     14034fi
     14035
     14036  aix_libpath=$lt_cv_aix_libpath__CXX
     14037fi
     14038
     14039            hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
     14040            # Warning - without using the other run time loading flags,
     14041            # -berok will link without error, but may produce a broken library.
     14042            no_undefined_flag_CXX=' $wl-bernotok'
     14043            allow_undefined_flag_CXX=' $wl-berok'
     14044            if test yes = "$with_gnu_ld"; then
     14045              # We only use this code for GNU lds that support --whole-archive.
     14046              whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
     14047            else
     14048              # Exported symbols can be pulled into shared objects from archives
     14049              whole_archive_flag_spec_CXX='$convenience'
     14050            fi
     14051            archive_cmds_need_lc_CXX=yes
     14052            archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
     14053            # -brtl affects multiple linker settings, -berok does not and is overridden later
     14054            compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
     14055            if test svr4 != "$with_aix_soname"; then
     14056              # This is similar to how AIX traditionally builds its shared
     14057              # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
     14058              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'
     14059            fi
     14060            if test aix != "$with_aix_soname"; then
     14061              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'
     14062            else
     14063              # used by -dlpreopen to get the symbols
     14064              archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
     14065            fi
     14066            archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d'
     14067          fi
     14068        fi
     14069        ;;
     14070
     14071      beos*)
     14072        if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
     14073          allow_undefined_flag_CXX=unsupported
     14074          # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
     14075          # support --undefined.  This deserves some investigation.  FIXME
     14076          archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     14077        else
     14078          ld_shlibs_CXX=no
     14079        fi
     14080        ;;
     14081
     14082      chorus*)
     14083        case $cc_basename in
     14084          *)
     14085          # FIXME: insert proper C++ library support
     14086          ld_shlibs_CXX=no
     14087          ;;
     14088        esac
     14089        ;;
     14090
     14091      cygwin* | mingw* | pw32* | cegcc*)
     14092        case $GXX,$cc_basename in
     14093        ,cl* | no,cl*)
     14094          # Native MSVC
     14095          # hardcode_libdir_flag_spec is actually meaningless, as there is
     14096          # no search path for DLLs.
     14097          hardcode_libdir_flag_spec_CXX=' '
     14098          allow_undefined_flag_CXX=unsupported
     14099          always_export_symbols_CXX=yes
     14100          file_list_spec_CXX='@'
     14101          # Tell ltmain to make .lib files, not .a files.
     14102          libext=lib
     14103          # Tell ltmain to make .dll files, not .so files.
     14104          shrext_cmds=.dll
     14105          # FIXME: Setting linknames here is a bad hack.
     14106          archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
     14107          archive_expsym_cmds_CXX='if   test DEF = "`$SED -n     -e '\''s/^[     ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
     14108              cp "$export_symbols" "$output_objdir/$soname.def";
     14109              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
     14110            else
     14111              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
     14112            fi~
     14113            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
     14114            linknames='
     14115          # The linker will not automatically build a static lib if we build a DLL.
     14116          # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
     14117          enable_shared_with_static_runtimes_CXX=yes
     14118          # Don't use ranlib
     14119          old_postinstall_cmds_CXX='chmod 644 $oldlib'
     14120          postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
     14121            lt_tool_outputfile="@TOOL_OUTPUT@"~
     14122            case $lt_outputfile in
     14123              *.exe|*.EXE) ;;
     14124              *)
     14125                lt_outputfile=$lt_outputfile.exe
     14126                lt_tool_outputfile=$lt_tool_outputfile.exe
     14127                ;;
     14128            esac~
     14129            func_to_tool_file "$lt_outputfile"~
     14130            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
     14131              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
     14132              $RM "$lt_outputfile.manifest";
     14133            fi'
     14134          ;;
     14135        *)
     14136          # g++
     14137          # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
     14138          # as there is no search path for DLLs.
     14139          hardcode_libdir_flag_spec_CXX='-L$libdir'
     14140          export_dynamic_flag_spec_CXX='$wl--export-all-symbols'
     14141          allow_undefined_flag_CXX=unsupported
     14142          always_export_symbols_CXX=no
     14143          enable_shared_with_static_runtimes_CXX=yes
     14144
     14145          if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
     14146            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'
     14147            # If the export-symbols file already is a .def file, use it as
     14148            # is; otherwise, prepend EXPORTS...
     14149            archive_expsym_cmds_CXX='if   test DEF = "`$SED -n     -e '\''s/^[   ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([     ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
     14150              cp $export_symbols $output_objdir/$soname.def;
     14151            else
     14152              echo EXPORTS > $output_objdir/$soname.def;
     14153              cat $export_symbols >> $output_objdir/$soname.def;
     14154            fi~
     14155            $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'
     14156          else
     14157            ld_shlibs_CXX=no
     14158          fi
     14159          ;;
     14160        esac
     14161        ;;
     14162      darwin* | rhapsody*)
     14163
     14164
     14165  archive_cmds_need_lc_CXX=no
     14166  hardcode_direct_CXX=no
     14167  hardcode_automatic_CXX=yes
     14168  hardcode_shlibpath_var_CXX=unsupported
     14169  if test yes = "$lt_cv_ld_force_load"; then
     14170    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\"`'
     14171
     14172  else
     14173    whole_archive_flag_spec_CXX=''
     14174  fi
     14175  link_all_deplibs_CXX=yes
     14176  allow_undefined_flag_CXX=$_lt_dar_allow_undefined
     14177  case $cc_basename in
     14178     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
     14179     *) _lt_dar_can_shared=$GCC ;;
     14180  esac
     14181  if test yes = "$_lt_dar_can_shared"; then
     14182    output_verbose_link_cmd=func_echo_all
     14183    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"
     14184    module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
     14185    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"
     14186    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"
     14187       if test yes != "$lt_cv_apple_cc_single_mod"; then
     14188      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"
     14189      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"
     14190    fi
     14191
     14192  else
     14193  ld_shlibs_CXX=no
     14194  fi
     14195
     14196        ;;
     14197
     14198      os2*)
     14199        hardcode_libdir_flag_spec_CXX='-L$libdir'
     14200        hardcode_minus_L_CXX=yes
     14201        allow_undefined_flag_CXX=unsupported
     14202        shrext_cmds=.dll
     14203        archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     14204          $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     14205          $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     14206          $ECHO EXPORTS >> $output_objdir/$libname.def~
     14207          emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
     14208          $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     14209          emximp -o $lib $output_objdir/$libname.def'
     14210        archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
     14211          $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
     14212          $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
     14213          $ECHO EXPORTS >> $output_objdir/$libname.def~
     14214          prefix_cmds="$SED"~
     14215          if test EXPORTS = "`$SED 1q $export_symbols`"; then
     14216            prefix_cmds="$prefix_cmds -e 1d";
     14217          fi~
     14218          prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
     14219          cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
     14220          $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
     14221          emximp -o $lib $output_objdir/$libname.def'
     14222        old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
     14223        enable_shared_with_static_runtimes_CXX=yes
     14224        ;;
     14225
     14226      dgux*)
     14227        case $cc_basename in
     14228          ec++*)
     14229            # FIXME: insert proper C++ library support
     14230            ld_shlibs_CXX=no
     14231            ;;
     14232          ghcx*)
     14233            # Green Hills C++ Compiler
     14234            # FIXME: insert proper C++ library support
     14235            ld_shlibs_CXX=no
     14236            ;;
     14237          *)
     14238            # FIXME: insert proper C++ library support
     14239            ld_shlibs_CXX=no
     14240            ;;
     14241        esac
     14242        ;;
     14243
     14244      freebsd2.*)
     14245        # C++ shared libraries reported to be fairly broken before
     14246        # switch to ELF
     14247        ld_shlibs_CXX=no
     14248        ;;
     14249
     14250      freebsd-elf*)
     14251        archive_cmds_need_lc_CXX=no
     14252        ;;
     14253
     14254      freebsd* | dragonfly*)
     14255        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
     14256        # conventions
     14257        ld_shlibs_CXX=yes
     14258        ;;
     14259
     14260      haiku*)
     14261        archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     14262        link_all_deplibs_CXX=yes
     14263        ;;
     14264
     14265      hpux9*)
     14266        hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
     14267        hardcode_libdir_separator_CXX=:
     14268        export_dynamic_flag_spec_CXX='$wl-E'
     14269        hardcode_direct_CXX=yes
     14270        hardcode_minus_L_CXX=yes # Not in the search PATH,
     14271                                             # but as the default
     14272                                             # location of the library.
     14273
     14274        case $cc_basename in
     14275          CC*)
     14276            # FIXME: insert proper C++ library support
     14277            ld_shlibs_CXX=no
     14278            ;;
     14279          aCC*)
     14280            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'
     14281            # Commands to make compiler produce verbose output that lists
     14282            # what "hidden" libraries, object files and flags are used when
     14283            # linking a shared library.
     14284            #
     14285            # There doesn't appear to be a way to prevent this compiler from
     14286            # explicitly linking system object files so we need to strip them
     14287            # from the output so that they don't get included in the library
     14288            # dependencies.
     14289            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"'
     14290            ;;
     14291          *)
     14292            if test yes = "$GXX"; then
     14293              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'
     14294            else
     14295              # FIXME: insert proper C++ library support
     14296              ld_shlibs_CXX=no
     14297            fi
     14298            ;;
     14299        esac
     14300        ;;
     14301
     14302      hpux10*|hpux11*)
     14303        if test no = "$with_gnu_ld"; then
     14304          hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
     14305          hardcode_libdir_separator_CXX=:
     14306
     14307          case $host_cpu in
     14308            hppa*64*|ia64*)
     14309              ;;
     14310            *)
     14311              export_dynamic_flag_spec_CXX='$wl-E'
     14312              ;;
     14313          esac
     14314        fi
     14315        case $host_cpu in
     14316          hppa*64*|ia64*)
     14317            hardcode_direct_CXX=no
     14318            hardcode_shlibpath_var_CXX=no
     14319            ;;
     14320          *)
     14321            hardcode_direct_CXX=yes
     14322            hardcode_direct_absolute_CXX=yes
     14323            hardcode_minus_L_CXX=yes # Not in the search PATH,
     14324                                                 # but as the default
     14325                                                 # location of the library.
     14326            ;;
     14327        esac
     14328
     14329        case $cc_basename in
     14330          CC*)
     14331            # FIXME: insert proper C++ library support
     14332            ld_shlibs_CXX=no
     14333            ;;
     14334          aCC*)
     14335            case $host_cpu in
     14336              hppa*64*)
     14337                archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     14338                ;;
     14339              ia64*)
     14340                archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     14341                ;;
     14342              *)
     14343                archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     14344                ;;
     14345            esac
     14346            # Commands to make compiler produce verbose output that lists
     14347            # what "hidden" libraries, object files and flags are used when
     14348            # linking a shared library.
     14349            #
     14350            # There doesn't appear to be a way to prevent this compiler from
     14351            # explicitly linking system object files so we need to strip them
     14352            # from the output so that they don't get included in the library
     14353            # dependencies.
     14354            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"'
     14355            ;;
     14356          *)
     14357            if test yes = "$GXX"; then
     14358              if test no = "$with_gnu_ld"; then
     14359                case $host_cpu in
     14360                  hppa*64*)
     14361                    archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     14362                    ;;
     14363                  ia64*)
     14364                    archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     14365                    ;;
     14366                  *)
     14367                    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'
     14368                    ;;
     14369                esac
     14370              fi
     14371            else
     14372              # FIXME: insert proper C++ library support
     14373              ld_shlibs_CXX=no
     14374            fi
     14375            ;;
     14376        esac
     14377        ;;
     14378
     14379      interix[3-9]*)
     14380        hardcode_direct_CXX=no
     14381        hardcode_shlibpath_var_CXX=no
     14382        hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
     14383        export_dynamic_flag_spec_CXX='$wl-E'
     14384        # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
     14385        # Instead, shared libraries are loaded at an image base (0x10000000 by
     14386        # default) and relocated if they conflict, which is a slow very memory
     14387        # consuming and fragmenting process.  To avoid this, we pick a random,
     14388        # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
     14389        # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
     14390        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'
     14391        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'
     14392        ;;
     14393      irix5* | irix6*)
     14394        case $cc_basename in
     14395          CC*)
     14396            # SGI C++
     14397            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'
     14398
     14399            # Archives containing C++ object files must be created using
     14400            # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
     14401            # necessary to make sure instantiated templates are included
     14402            # in the archive.
     14403            old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
     14404            ;;
     14405          *)
     14406            if test yes = "$GXX"; then
     14407              if test no = "$with_gnu_ld"; then
     14408                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'
     14409              else
     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"` -o $lib'
     14411              fi
     14412            fi
     14413            link_all_deplibs_CXX=yes
     14414            ;;
     14415        esac
     14416        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
     14417        hardcode_libdir_separator_CXX=:
     14418        inherit_rpath_CXX=yes
     14419        ;;
     14420
     14421      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     14422        case $cc_basename in
     14423          KCC*)
     14424            # Kuck and Associates, Inc. (KAI) C++ Compiler
     14425
     14426            # KCC will only create a shared library if the output file
     14427            # ends with ".so" (or ".sl" for HP-UX), so rename the library
     14428            # to its proper name (with version) after linking.
     14429            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'
     14430            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'
     14431            # Commands to make compiler produce verbose output that lists
     14432            # what "hidden" libraries, object files and flags are used when
     14433            # linking a shared library.
     14434            #
     14435            # There doesn't appear to be a way to prevent this compiler from
     14436            # explicitly linking system object files so we need to strip them
     14437            # from the output so that they don't get included in the library
     14438            # dependencies.
     14439            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"'
     14440
     14441            hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
     14442            export_dynamic_flag_spec_CXX='$wl--export-dynamic'
     14443
     14444            # Archives containing C++ object files must be created using
     14445            # "CC -Bstatic", where "CC" is the KAI C++ compiler.
     14446            old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
     14447            ;;
     14448          icpc* | ecpc* )
     14449            # Intel C++
     14450            with_gnu_ld=yes
     14451            # version 8.0 and above of icpc choke on multiply defined symbols
     14452            # if we add $predep_objects and $postdep_objects, however 7.1 and
     14453            # earlier do not add the objects themselves.
     14454            case `$CC -V 2>&1` in
     14455              *"Version 7."*)
     14456                archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
     14457                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'
     14458                ;;
     14459              *)  # Version 8.0 or newer
     14460                tmp_idyn=
     14461                case $host_cpu in
     14462                  ia64*) tmp_idyn=' -i_dynamic';;
     14463                esac
     14464                archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     14465                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'
     14466                ;;
     14467            esac
     14468            archive_cmds_need_lc_CXX=no
     14469            hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
     14470            export_dynamic_flag_spec_CXX='$wl--export-dynamic'
     14471            whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
     14472            ;;
     14473          pgCC* | pgcpp*)
     14474            # Portland Group C++ compiler
     14475            case `$CC -V` in
     14476            *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
     14477              prelink_cmds_CXX='tpldir=Template.dir~
     14478               rm -rf $tpldir~
     14479               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
     14480               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
     14481              old_archive_cmds_CXX='tpldir=Template.dir~
     14482                rm -rf $tpldir~
     14483                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
     14484                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
     14485                $RANLIB $oldlib'
     14486              archive_cmds_CXX='tpldir=Template.dir~
     14487                rm -rf $tpldir~
     14488                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
     14489                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
     14490              archive_expsym_cmds_CXX='tpldir=Template.dir~
     14491                rm -rf $tpldir~
     14492                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
     14493                $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'
     14494              ;;
     14495            *) # Version 6 and above use weak symbols
     14496              archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
     14497              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'
     14498              ;;
     14499            esac
     14500
     14501            hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir'
     14502            export_dynamic_flag_spec_CXX='$wl--export-dynamic'
     14503            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'
     14504            ;;
     14505          cxx*)
     14506            # Compaq C++
     14507            archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
     14508            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'
     14509
     14510            runpath_var=LD_RUN_PATH
     14511            hardcode_libdir_flag_spec_CXX='-rpath $libdir'
     14512            hardcode_libdir_separator_CXX=:
     14513
     14514            # Commands to make compiler produce verbose output that lists
     14515            # what "hidden" libraries, object files and flags are used when
     14516            # linking a shared library.
     14517            #
     14518            # There doesn't appear to be a way to prevent this compiler from
     14519            # explicitly linking system object files so we need to strip them
     14520            # from the output so that they don't get included in the library
     14521            # dependencies.
     14522            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'
     14523            ;;
     14524          xl* | mpixl* | bgxl*)
     14525            # IBM XL 8.0 on PPC, with GNU ld
     14526            hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
     14527            export_dynamic_flag_spec_CXX='$wl--export-dynamic'
     14528            archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
     14529            if test yes = "$supports_anon_versioning"; then
     14530              archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
     14531                cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
     14532                echo "local: *; };" >> $output_objdir/$libname.ver~
     14533                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
     14534            fi
     14535            ;;
     14536          *)
     14537            case `$CC -V 2>&1 | sed 5q` in
     14538            *Sun\ C*)
     14539              # Sun C++ 5.9
     14540              no_undefined_flag_CXX=' -zdefs'
     14541              archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     14542              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'
     14543              hardcode_libdir_flag_spec_CXX='-R$libdir'
     14544              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'
     14545              compiler_needs_object_CXX=yes
     14546
     14547              # Not sure whether something based on
     14548              # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
     14549              # would be better.
     14550              output_verbose_link_cmd='func_echo_all'
     14551
     14552              # Archives containing C++ object files must be created using
     14553              # "CC -xar", where "CC" is the Sun C++ compiler.  This is
     14554              # necessary to make sure instantiated templates are included
     14555              # in the archive.
     14556              old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
     14557              ;;
     14558            esac
     14559            ;;
     14560        esac
     14561        ;;
     14562
     14563      lynxos*)
     14564        # FIXME: insert proper C++ library support
     14565        ld_shlibs_CXX=no
     14566        ;;
     14567
     14568      m88k*)
     14569        # FIXME: insert proper C++ library support
     14570        ld_shlibs_CXX=no
     14571        ;;
     14572
     14573      mvs*)
     14574        case $cc_basename in
     14575          cxx*)
     14576            # FIXME: insert proper C++ library support
     14577            ld_shlibs_CXX=no
     14578            ;;
     14579          *)
     14580            # FIXME: insert proper C++ library support
     14581            ld_shlibs_CXX=no
     14582            ;;
     14583        esac
     14584        ;;
     14585
     14586      netbsd*)
     14587        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
     14588          archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
     14589          wlarc=
     14590          hardcode_libdir_flag_spec_CXX='-R$libdir'
     14591          hardcode_direct_CXX=yes
     14592          hardcode_shlibpath_var_CXX=no
     14593        fi
     14594        # Workaround some broken pre-1.5 toolchains
     14595        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
     14596        ;;
     14597
     14598      *nto* | *qnx*)
     14599        ld_shlibs_CXX=yes
     14600        ;;
     14601
     14602      openbsd* | bitrig*)
     14603        if test -f /usr/libexec/ld.so; then
     14604          hardcode_direct_CXX=yes
     14605          hardcode_shlibpath_var_CXX=no
     14606          hardcode_direct_absolute_CXX=yes
     14607          archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
     14608          hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
     14609          if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
     14610            archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
     14611            export_dynamic_flag_spec_CXX='$wl-E'
     14612            whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
     14613          fi
     14614          output_verbose_link_cmd=func_echo_all
     14615        else
     14616          ld_shlibs_CXX=no
     14617        fi
     14618        ;;
     14619
     14620      osf3* | osf4* | osf5*)
     14621        case $cc_basename in
     14622          KCC*)
     14623            # Kuck and Associates, Inc. (KAI) C++ Compiler
     14624
     14625            # KCC will only create a shared library if the output file
     14626            # ends with ".so" (or ".sl" for HP-UX), so rename the library
     14627            # to its proper name (with version) after linking.
     14628            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'
     14629
     14630            hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
     14631            hardcode_libdir_separator_CXX=:
     14632
     14633            # Archives containing C++ object files must be created using
     14634            # the KAI C++ compiler.
     14635            case $host in
     14636              osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
     14637              *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
     14638            esac
     14639            ;;
     14640          RCC*)
     14641            # Rational C++ 2.4.1
     14642            # FIXME: insert proper C++ library support
     14643            ld_shlibs_CXX=no
     14644            ;;
     14645          cxx*)
     14646            case $host in
     14647              osf3*)
     14648                allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
     14649                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'
     14650                hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
     14651                ;;
     14652              *)
     14653                allow_undefined_flag_CXX=' -expect_unresolved \*'
     14654                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'
     14655                archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
     14656                  echo "-hidden">> $lib.exp~
     14657                  $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~
     14658                  $RM $lib.exp'
     14659                hardcode_libdir_flag_spec_CXX='-rpath $libdir'
     14660                ;;
     14661            esac
     14662
     14663            hardcode_libdir_separator_CXX=:
     14664
     14665            # Commands to make compiler produce verbose output that lists
     14666            # what "hidden" libraries, object files and flags are used when
     14667            # linking a shared library.
     14668            #
     14669            # There doesn't appear to be a way to prevent this compiler from
     14670            # explicitly linking system object files so we need to strip them
     14671            # from the output so that they don't get included in the library
     14672            # dependencies.
     14673            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"'
     14674            ;;
     14675          *)
     14676            if test yes,no = "$GXX,$with_gnu_ld"; then
     14677              allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
     14678              case $host in
     14679                osf3*)
     14680                  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'
     14681                  ;;
     14682                *)
     14683                  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'
     14684                  ;;
     14685              esac
     14686
     14687              hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
     14688              hardcode_libdir_separator_CXX=:
     14689
     14690              # Commands to make compiler produce verbose output that lists
     14691              # what "hidden" libraries, object files and flags are used when
     14692              # linking a shared library.
     14693              output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
     14694
     14695            else
     14696              # FIXME: insert proper C++ library support
     14697              ld_shlibs_CXX=no
     14698            fi
     14699            ;;
     14700        esac
     14701        ;;
     14702
     14703      psos*)
     14704        # FIXME: insert proper C++ library support
     14705        ld_shlibs_CXX=no
     14706        ;;
     14707
     14708      sunos4*)
     14709        case $cc_basename in
     14710          CC*)
     14711            # Sun C++ 4.x
     14712            # FIXME: insert proper C++ library support
     14713            ld_shlibs_CXX=no
     14714            ;;
     14715          lcc*)
     14716            # Lucid
     14717            # FIXME: insert proper C++ library support
     14718            ld_shlibs_CXX=no
     14719            ;;
     14720          *)
     14721            # FIXME: insert proper C++ library support
     14722            ld_shlibs_CXX=no
     14723            ;;
     14724        esac
     14725        ;;
     14726
     14727      solaris*)
     14728        case $cc_basename in
     14729          CC* | sunCC*)
     14730            # Sun C++ 4.2, 5.x and Centerline C++
     14731            archive_cmds_need_lc_CXX=yes
     14732            no_undefined_flag_CXX=' -zdefs'
     14733            archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
     14734            archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     14735              $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'
     14736
     14737            hardcode_libdir_flag_spec_CXX='-R$libdir'
     14738            hardcode_shlibpath_var_CXX=no
     14739            case $host_os in
     14740              solaris2.[0-5] | solaris2.[0-5].*) ;;
     14741              *)
     14742                # The compiler driver will combine and reorder linker options,
     14743                # but understands '-z linker_flag'.
     14744                # Supported since Solaris 2.6 (maybe 2.5.1?)
     14745                whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
     14746                ;;
     14747            esac
     14748            link_all_deplibs_CXX=yes
     14749
     14750            output_verbose_link_cmd='func_echo_all'
     14751
     14752            # Archives containing C++ object files must be created using
     14753            # "CC -xar", where "CC" is the Sun C++ compiler.  This is
     14754            # necessary to make sure instantiated templates are included
     14755            # in the archive.
     14756            old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
     14757            ;;
     14758          gcx*)
     14759            # Green Hills C++ Compiler
     14760            archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
     14761
     14762            # The C++ compiler must be used to create the archive.
     14763            old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
     14764            ;;
     14765          *)
     14766            # GNU C++ compiler with Solaris linker
     14767            if test yes,no = "$GXX,$with_gnu_ld"; then
     14768              no_undefined_flag_CXX=' $wl-z ${wl}defs'
     14769              if $CC --version | $GREP -v '^2\.7' > /dev/null; then
     14770                archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
     14771                archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     14772                  $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'
     14773
     14774                # Commands to make compiler produce verbose output that lists
     14775                # what "hidden" libraries, object files and flags are used when
     14776                # linking a shared library.
     14777                output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
     14778              else
     14779                # g++ 2.7 appears to require '-G' NOT '-shared' on this
     14780                # platform.
     14781                archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
     14782                archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
     14783                  $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'
     14784
     14785                # Commands to make compiler produce verbose output that lists
     14786                # what "hidden" libraries, object files and flags are used when
     14787                # linking a shared library.
     14788                output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
     14789              fi
     14790
     14791              hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir'
     14792              case $host_os in
     14793                solaris2.[0-5] | solaris2.[0-5].*) ;;
     14794                *)
     14795                  whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
     14796                  ;;
     14797              esac
     14798            fi
     14799            ;;
     14800        esac
     14801        ;;
     14802
     14803    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
     14804      no_undefined_flag_CXX='$wl-z,text'
     14805      archive_cmds_need_lc_CXX=no
     14806      hardcode_shlibpath_var_CXX=no
     14807      runpath_var='LD_RUN_PATH'
     14808
     14809      case $cc_basename in
     14810        CC*)
     14811          archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14812          archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14813          ;;
     14814        *)
     14815          archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14816          archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14817          ;;
     14818      esac
     14819      ;;
     14820
     14821      sysv5* | sco3.2v5* | sco5v6*)
     14822        # Note: We CANNOT use -z defs as we might desire, because we do not
     14823        # link with -lc, and that would cause any symbols used from libc to
     14824        # always be unresolved, which means just about no library would
     14825        # ever link correctly.  If we're not using GNU ld we use -z text
     14826        # though, which does catch some bad symbols but isn't as heavy-handed
     14827        # as -z defs.
     14828        no_undefined_flag_CXX='$wl-z,text'
     14829        allow_undefined_flag_CXX='$wl-z,nodefs'
     14830        archive_cmds_need_lc_CXX=no
     14831        hardcode_shlibpath_var_CXX=no
     14832        hardcode_libdir_flag_spec_CXX='$wl-R,$libdir'
     14833        hardcode_libdir_separator_CXX=':'
     14834        link_all_deplibs_CXX=yes
     14835        export_dynamic_flag_spec_CXX='$wl-Bexport'
     14836        runpath_var='LD_RUN_PATH'
     14837
     14838        case $cc_basename in
     14839          CC*)
     14840            archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14841            archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14842            old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
     14843              '"$old_archive_cmds_CXX"
     14844            reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
     14845              '"$reload_cmds_CXX"
     14846            ;;
     14847          *)
     14848            archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14849            archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
     14850            ;;
     14851        esac
     14852      ;;
     14853
     14854      tandem*)
     14855        case $cc_basename in
     14856          NCC*)
     14857            # NonStop-UX NCC 3.20
     14858            # FIXME: insert proper C++ library support
     14859            ld_shlibs_CXX=no
     14860            ;;
     14861          *)
     14862            # FIXME: insert proper C++ library support
     14863            ld_shlibs_CXX=no
     14864            ;;
     14865        esac
     14866        ;;
     14867
     14868      vxworks*)
     14869        # FIXME: insert proper C++ library support
     14870        ld_shlibs_CXX=no
     14871        ;;
     14872
     14873      *)
     14874        # FIXME: insert proper C++ library support
     14875        ld_shlibs_CXX=no
     14876        ;;
     14877    esac
     14878
     14879    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
     14880$as_echo "$ld_shlibs_CXX" >&6; }
     14881    test no = "$ld_shlibs_CXX" && can_build_shared=no
     14882
     14883    GCC_CXX=$GXX
     14884    LD_CXX=$LD
     14885
     14886    ## CAVEAT EMPTOR:
     14887    ## There is no encapsulation within the following macros, do not change
     14888    ## the running order or otherwise move them around unless you know exactly
     14889    ## what you are doing...
     14890    # Dependencies to place before and after the object being linked:
     14891predep_objects_CXX=
     14892postdep_objects_CXX=
     14893predeps_CXX=
     14894postdeps_CXX=
     14895compiler_lib_search_path_CXX=
     14896
     14897cat > conftest.$ac_ext <<_LT_EOF
     14898class Foo
     14899{
     14900public:
     14901  Foo (void) { a = 0; }
     14902private:
     14903  int a;
     14904};
     14905_LT_EOF
     14906
     14907
     14908_lt_libdeps_save_CFLAGS=$CFLAGS
     14909case "$CC $CFLAGS " in #(
     14910*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
     14911*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
     14912*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
     14913esac
     14914
     14915if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     14916  (eval $ac_compile) 2>&5
     14917  ac_status=$?
     14918  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     14919  test $ac_status = 0; }; then
     14920  # Parse the compiler output and extract the necessary
     14921  # objects, libraries and library flags.
     14922
     14923  # Sentinel used to keep track of whether or not we are before
     14924  # the conftest object file.
     14925  pre_test_object_deps_done=no
     14926
     14927  for p in `eval "$output_verbose_link_cmd"`; do
     14928    case $prev$p in
     14929
     14930    -L* | -R* | -l*)
     14931       # Some compilers place space between "-{L,R}" and the path.
     14932       # Remove the space.
     14933       if test x-L = "$p" ||
     14934          test x-R = "$p"; then
     14935         prev=$p
     14936         continue
     14937       fi
     14938
     14939       # Expand the sysroot to ease extracting the directories later.
     14940       if test -z "$prev"; then
     14941         case $p in
     14942         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
     14943         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
     14944         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
     14945         esac
     14946       fi
     14947       case $p in
     14948       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
     14949       esac
     14950       if test no = "$pre_test_object_deps_done"; then
     14951         case $prev in
     14952         -L | -R)
     14953           # Internal compiler library paths should come after those
     14954           # provided the user.  The postdeps already come after the
     14955           # user supplied libs so there is no need to process them.
     14956           if test -z "$compiler_lib_search_path_CXX"; then
     14957             compiler_lib_search_path_CXX=$prev$p
     14958           else
     14959             compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p"
     14960           fi
     14961           ;;
     14962         # The "-l" case would never come before the object being
     14963         # linked, so don't bother handling this case.
     14964         esac
     14965       else
     14966         if test -z "$postdeps_CXX"; then
     14967           postdeps_CXX=$prev$p
     14968         else
     14969           postdeps_CXX="${postdeps_CXX} $prev$p"
     14970         fi
     14971       fi
     14972       prev=
     14973       ;;
     14974
     14975    *.lto.$objext) ;; # Ignore GCC LTO objects
     14976    *.$objext)
     14977       # This assumes that the test object file only shows up
     14978       # once in the compiler output.
     14979       if test "$p" = "conftest.$objext"; then
     14980         pre_test_object_deps_done=yes
     14981         continue
     14982       fi
     14983
     14984       if test no = "$pre_test_object_deps_done"; then
     14985         if test -z "$predep_objects_CXX"; then
     14986           predep_objects_CXX=$p
     14987         else
     14988           predep_objects_CXX="$predep_objects_CXX $p"
     14989         fi
     14990       else
     14991         if test -z "$postdep_objects_CXX"; then
     14992           postdep_objects_CXX=$p
     14993         else
     14994           postdep_objects_CXX="$postdep_objects_CXX $p"
     14995         fi
     14996       fi
     14997       ;;
     14998
     14999    *) ;; # Ignore the rest.
     15000
     15001    esac
     15002  done
     15003
     15004  # Clean up.
     15005  rm -f a.out a.exe
     15006else
     15007  echo "libtool.m4: error: problem compiling CXX test program"
     15008fi
     15009
     15010$RM -f confest.$objext
     15011CFLAGS=$_lt_libdeps_save_CFLAGS
     15012
     15013# PORTME: override above test on systems where it is broken
     15014case $host_os in
     15015interix[3-9]*)
     15016  # Interix 3.5 installs completely hosed .la files for C++, so rather than
     15017  # hack all around it, let's just trust "g++" to DTRT.
     15018  predep_objects_CXX=
     15019  postdep_objects_CXX=
     15020  postdeps_CXX=
     15021  ;;
     15022esac
     15023
     15024
     15025case " $postdeps_CXX " in
     15026*" -lc "*) archive_cmds_need_lc_CXX=no ;;
     15027esac
     15028 compiler_lib_search_dirs_CXX=
     15029if test -n "${compiler_lib_search_path_CXX}"; then
     15030 compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'`
     15031fi
     15032
     15033
     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    lt_prog_compiler_wl_CXX=
     15064lt_prog_compiler_pic_CXX=
     15065lt_prog_compiler_static_CXX=
     15066
     15067
     15068  # C++ specific cases for pic, static, wl, etc.
     15069  if test yes = "$GXX"; then
     15070    lt_prog_compiler_wl_CXX='-Wl,'
     15071    lt_prog_compiler_static_CXX='-static'
     15072
     15073    case $host_os in
     15074    aix*)
     15075      # All AIX code is PIC.
     15076      if test ia64 = "$host_cpu"; then
     15077        # AIX 5 now supports IA64 processor
     15078        lt_prog_compiler_static_CXX='-Bstatic'
     15079      fi
     15080      lt_prog_compiler_pic_CXX='-fPIC'
     15081      ;;
     15082
     15083    amigaos*)
     15084      case $host_cpu in
     15085      powerpc)
     15086            # see comment about AmigaOS4 .so support
     15087            lt_prog_compiler_pic_CXX='-fPIC'
     15088        ;;
     15089      m68k)
     15090            # FIXME: we need at least 68020 code to build shared libraries, but
     15091            # adding the '-m68020' flag to GCC prevents building anything better,
     15092            # like '-m68040'.
     15093            lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
     15094        ;;
     15095      esac
     15096      ;;
     15097
     15098    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
     15099      # PIC is the default for these OSes.
     15100      ;;
     15101    mingw* | cygwin* | os2* | pw32* | cegcc*)
     15102      # This hack is so that the source file can tell whether it is being
     15103      # built for inclusion in a dll (and should export symbols for example).
     15104      # Although the cygwin gcc ignores -fPIC, still need this for old-style
     15105      # (--disable-auto-import) libraries
     15106      lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
     15107      case $host_os in
     15108      os2*)
     15109        lt_prog_compiler_static_CXX='$wl-static'
     15110        ;;
     15111      esac
     15112      ;;
     15113    darwin* | rhapsody*)
     15114      # PIC is the default on this platform
     15115      # Common symbols not allowed in MH_DYLIB files
     15116      lt_prog_compiler_pic_CXX='-fno-common'
     15117      ;;
     15118    *djgpp*)
     15119      # DJGPP does not support shared libraries at all
     15120      lt_prog_compiler_pic_CXX=
     15121      ;;
     15122    haiku*)
     15123      # PIC is the default for Haiku.
     15124      # The "-static" flag exists, but is broken.
     15125      lt_prog_compiler_static_CXX=
     15126      ;;
     15127    interix[3-9]*)
     15128      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
     15129      # Instead, we relocate shared libraries at runtime.
     15130      ;;
     15131    sysv4*MP*)
     15132      if test -d /usr/nec; then
     15133        lt_prog_compiler_pic_CXX=-Kconform_pic
     15134      fi
     15135      ;;
     15136    hpux*)
     15137      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
     15138      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
     15139      # sets the default TLS model and affects inlining.
     15140      case $host_cpu in
     15141      hppa*64*)
     15142        ;;
     15143      *)
     15144        lt_prog_compiler_pic_CXX='-fPIC'
     15145        ;;
     15146      esac
     15147      ;;
     15148    *qnx* | *nto*)
     15149      # QNX uses GNU C++, but need to define -shared option too, otherwise
     15150      # it will coredump.
     15151      lt_prog_compiler_pic_CXX='-fPIC -shared'
     15152      ;;
     15153    *)
     15154      lt_prog_compiler_pic_CXX='-fPIC'
     15155      ;;
     15156    esac
     15157  else
     15158    case $host_os in
     15159      aix[4-9]*)
     15160        # All AIX code is PIC.
     15161        if test ia64 = "$host_cpu"; then
     15162          # AIX 5 now supports IA64 processor
     15163          lt_prog_compiler_static_CXX='-Bstatic'
     15164        else
     15165          lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
     15166        fi
     15167        ;;
     15168      chorus*)
     15169        case $cc_basename in
     15170        cxch68*)
     15171          # Green Hills C++ Compiler
     15172          # _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"
     15173          ;;
     15174        esac
     15175        ;;
     15176      mingw* | cygwin* | os2* | pw32* | cegcc*)
     15177        # This hack is so that the source file can tell whether it is being
     15178        # built for inclusion in a dll (and should export symbols for example).
     15179        lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
     15180        ;;
     15181      dgux*)
     15182        case $cc_basename in
     15183          ec++*)
     15184            lt_prog_compiler_pic_CXX='-KPIC'
     15185            ;;
     15186          ghcx*)
     15187            # Green Hills C++ Compiler
     15188            lt_prog_compiler_pic_CXX='-pic'
     15189            ;;
     15190          *)
     15191            ;;
     15192        esac
     15193        ;;
     15194      freebsd* | dragonfly*)
     15195        # FreeBSD uses GNU C++
     15196        ;;
     15197      hpux9* | hpux10* | hpux11*)
     15198        case $cc_basename in
     15199          CC*)
     15200            lt_prog_compiler_wl_CXX='-Wl,'
     15201            lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
     15202            if test ia64 != "$host_cpu"; then
     15203              lt_prog_compiler_pic_CXX='+Z'
     15204            fi
     15205            ;;
     15206          aCC*)
     15207            lt_prog_compiler_wl_CXX='-Wl,'
     15208            lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
     15209            case $host_cpu in
     15210            hppa*64*|ia64*)
     15211              # +Z the default
     15212              ;;
     15213            *)
     15214              lt_prog_compiler_pic_CXX='+Z'
     15215              ;;
     15216            esac
     15217            ;;
     15218          *)
     15219            ;;
     15220        esac
     15221        ;;
     15222      interix*)
     15223        # This is c89, which is MS Visual C++ (no shared libs)
     15224        # Anyone wants to do a port?
     15225        ;;
     15226      irix5* | irix6* | nonstopux*)
     15227        case $cc_basename in
     15228          CC*)
     15229            lt_prog_compiler_wl_CXX='-Wl,'
     15230            lt_prog_compiler_static_CXX='-non_shared'
     15231            # CC pic flag -KPIC is the default.
     15232            ;;
     15233          *)
     15234            ;;
     15235        esac
     15236        ;;
     15237      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     15238        case $cc_basename in
     15239          KCC*)
     15240            # KAI C++ Compiler
     15241            lt_prog_compiler_wl_CXX='--backend -Wl,'
     15242            lt_prog_compiler_pic_CXX='-fPIC'
     15243            ;;
     15244          ecpc* )
     15245            # old Intel C++ for x86_64, which still supported -KPIC.
     15246            lt_prog_compiler_wl_CXX='-Wl,'
     15247            lt_prog_compiler_pic_CXX='-KPIC'
     15248            lt_prog_compiler_static_CXX='-static'
     15249            ;;
     15250          icpc* )
     15251            # Intel C++, used to be incompatible with GCC.
     15252            # ICC 10 doesn't accept -KPIC any more.
     15253            lt_prog_compiler_wl_CXX='-Wl,'
     15254            lt_prog_compiler_pic_CXX='-fPIC'
     15255            lt_prog_compiler_static_CXX='-static'
     15256            ;;
     15257          pgCC* | pgcpp*)
     15258            # Portland Group C++ compiler
     15259            lt_prog_compiler_wl_CXX='-Wl,'
     15260            lt_prog_compiler_pic_CXX='-fpic'
     15261            lt_prog_compiler_static_CXX='-Bstatic'
     15262            ;;
     15263          cxx*)
     15264            # Compaq C++
     15265            # Make sure the PIC flag is empty.  It appears that all Alpha
     15266            # Linux and Compaq Tru64 Unix objects are PIC.
     15267            lt_prog_compiler_pic_CXX=
     15268            lt_prog_compiler_static_CXX='-non_shared'
     15269            ;;
     15270          xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
     15271            # IBM XL 8.0, 9.0 on PPC and BlueGene
     15272            lt_prog_compiler_wl_CXX='-Wl,'
     15273            lt_prog_compiler_pic_CXX='-qpic'
     15274            lt_prog_compiler_static_CXX='-qstaticlink'
     15275            ;;
     15276          *)
     15277            case `$CC -V 2>&1 | sed 5q` in
     15278            *Sun\ C*)
     15279              # Sun C++ 5.9
     15280              lt_prog_compiler_pic_CXX='-KPIC'
     15281              lt_prog_compiler_static_CXX='-Bstatic'
     15282              lt_prog_compiler_wl_CXX='-Qoption ld '
     15283              ;;
     15284            esac
     15285            ;;
     15286        esac
     15287        ;;
     15288      lynxos*)
     15289        ;;
     15290      m88k*)
     15291        ;;
     15292      mvs*)
     15293        case $cc_basename in
     15294          cxx*)
     15295            lt_prog_compiler_pic_CXX='-W c,exportall'
     15296            ;;
     15297          *)
     15298            ;;
     15299        esac
     15300        ;;
     15301      netbsd* | netbsdelf*-gnu)
     15302        ;;
     15303      *qnx* | *nto*)
     15304        # QNX uses GNU C++, but need to define -shared option too, otherwise
     15305        # it will coredump.
     15306        lt_prog_compiler_pic_CXX='-fPIC -shared'
     15307        ;;
     15308      osf3* | osf4* | osf5*)
     15309        case $cc_basename in
     15310          KCC*)
     15311            lt_prog_compiler_wl_CXX='--backend -Wl,'
     15312            ;;
     15313          RCC*)
     15314            # Rational C++ 2.4.1
     15315            lt_prog_compiler_pic_CXX='-pic'
     15316            ;;
     15317          cxx*)
     15318            # Digital/Compaq C++
     15319            lt_prog_compiler_wl_CXX='-Wl,'
     15320            # Make sure the PIC flag is empty.  It appears that all Alpha
     15321            # Linux and Compaq Tru64 Unix objects are PIC.
     15322            lt_prog_compiler_pic_CXX=
     15323            lt_prog_compiler_static_CXX='-non_shared'
     15324            ;;
     15325          *)
     15326            ;;
     15327        esac
     15328        ;;
     15329      psos*)
     15330        ;;
     15331      solaris*)
     15332        case $cc_basename in
     15333          CC* | sunCC*)
     15334            # Sun C++ 4.2, 5.x and Centerline C++
     15335            lt_prog_compiler_pic_CXX='-KPIC'
     15336            lt_prog_compiler_static_CXX='-Bstatic'
     15337            lt_prog_compiler_wl_CXX='-Qoption ld '
     15338            ;;
     15339          gcx*)
     15340            # Green Hills C++ Compiler
     15341            lt_prog_compiler_pic_CXX='-PIC'
     15342            ;;
     15343          *)
     15344            ;;
     15345        esac
     15346        ;;
     15347      sunos4*)
     15348        case $cc_basename in
     15349          CC*)
     15350            # Sun C++ 4.x
     15351            lt_prog_compiler_pic_CXX='-pic'
     15352            lt_prog_compiler_static_CXX='-Bstatic'
     15353            ;;
     15354          lcc*)
     15355            # Lucid
     15356            lt_prog_compiler_pic_CXX='-pic'
     15357            ;;
     15358          *)
     15359            ;;
     15360        esac
     15361        ;;
     15362      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
     15363        case $cc_basename in
     15364          CC*)
     15365            lt_prog_compiler_wl_CXX='-Wl,'
     15366            lt_prog_compiler_pic_CXX='-KPIC'
     15367            lt_prog_compiler_static_CXX='-Bstatic'
     15368            ;;
     15369        esac
     15370        ;;
     15371      tandem*)
     15372        case $cc_basename in
     15373          NCC*)
     15374            # NonStop-UX NCC 3.20
     15375            lt_prog_compiler_pic_CXX='-KPIC'
     15376            ;;
     15377          *)
     15378            ;;
     15379        esac
     15380        ;;
     15381      vxworks*)
     15382        ;;
     15383      *)
     15384        lt_prog_compiler_can_build_shared_CXX=no
     15385        ;;
     15386    esac
     15387  fi
     15388
     15389case $host_os in
     15390  # For platforms that do not support PIC, -DPIC is meaningless:
     15391  *djgpp*)
     15392    lt_prog_compiler_pic_CXX=
     15393    ;;
     15394  *)
     15395    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
     15396    ;;
     15397esac
     15398
     15399{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
     15400$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
     15401if ${lt_cv_prog_compiler_pic_CXX+:} false; then :
     15402  $as_echo_n "(cached) " >&6
     15403else
     15404  lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
     15405fi
     15406{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5
     15407$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; }
     15408lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX
     15409
     15410#
     15411# Check to make sure the PIC flag actually works.
     15412#
     15413if test -n "$lt_prog_compiler_pic_CXX"; then
     15414  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
     15415$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
     15416if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then :
     15417  $as_echo_n "(cached) " >&6
     15418else
     15419  lt_cv_prog_compiler_pic_works_CXX=no
     15420   ac_outfile=conftest.$ac_objext
     15421   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     15422   lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"  ## exclude from sc_useless_quotes_in_assignment
     15423   # Insert the option either (1) after the last *FLAGS variable, or
     15424   # (2) before a word containing "conftest.", or (3) at the end.
     15425   # Note that $ac_compile itself does not contain backslashes and begins
     15426   # with a dollar sign (not a hyphen), so the echo should work correctly.
     15427   # The option is referenced via a variable to avoid confusing sed.
     15428   lt_compile=`echo "$ac_compile" | $SED \
     15429   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     15430   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     15431   -e 's:$: $lt_compiler_flag:'`
     15432   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     15433   (eval "$lt_compile" 2>conftest.err)
     15434   ac_status=$?
     15435   cat conftest.err >&5
     15436   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     15437   if (exit $ac_status) && test -s "$ac_outfile"; then
     15438     # The compiler can only warn and ignore the option if not recognized
     15439     # So say no if there are warnings other than the usual output.
     15440     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
     15441     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     15442     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
     15443       lt_cv_prog_compiler_pic_works_CXX=yes
     15444     fi
     15445   fi
     15446   $RM conftest*
     15447
     15448fi
     15449{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
     15450$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
     15451
     15452if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then
     15453    case $lt_prog_compiler_pic_CXX in
     15454     "" | " "*) ;;
     15455     *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
     15456     esac
     15457else
     15458    lt_prog_compiler_pic_CXX=
     15459     lt_prog_compiler_can_build_shared_CXX=no
     15460fi
     15461
     15462fi
     15463
     15464
     15465
     15466
     15467
     15468#
     15469# Check to make sure the static flag actually works.
     15470#
     15471wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
     15472{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
     15473$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
     15474if ${lt_cv_prog_compiler_static_works_CXX+:} false; then :
     15475  $as_echo_n "(cached) " >&6
     15476else
     15477  lt_cv_prog_compiler_static_works_CXX=no
     15478   save_LDFLAGS=$LDFLAGS
     15479   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
     15480   echo "$lt_simple_link_test_code" > conftest.$ac_ext
     15481   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
     15482     # The linker can only warn and ignore the option if not recognized
     15483     # So say no if there are warnings
     15484     if test -s conftest.err; then
     15485       # Append any errors to the config.log.
     15486       cat conftest.err 1>&5
     15487       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
     15488       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
     15489       if diff conftest.exp conftest.er2 >/dev/null; then
     15490         lt_cv_prog_compiler_static_works_CXX=yes
     15491       fi
     15492     else
     15493       lt_cv_prog_compiler_static_works_CXX=yes
     15494     fi
     15495   fi
     15496   $RM -r conftest*
     15497   LDFLAGS=$save_LDFLAGS
     15498
     15499fi
     15500{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
     15501$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
     15502
     15503if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then
     15504    :
     15505else
     15506    lt_prog_compiler_static_CXX=
     15507fi
     15508
     15509
     15510
     15511
     15512    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
     15513$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
     15514if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
     15515  $as_echo_n "(cached) " >&6
     15516else
     15517  lt_cv_prog_compiler_c_o_CXX=no
     15518   $RM -r conftest 2>/dev/null
     15519   mkdir conftest
     15520   cd conftest
     15521   mkdir out
     15522   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     15523
     15524   lt_compiler_flag="-o out/conftest2.$ac_objext"
     15525   # Insert the option either (1) after the last *FLAGS variable, or
     15526   # (2) before a word containing "conftest.", or (3) at the end.
     15527   # Note that $ac_compile itself does not contain backslashes and begins
     15528   # with a dollar sign (not a hyphen), so the echo should work correctly.
     15529   lt_compile=`echo "$ac_compile" | $SED \
     15530   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     15531   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     15532   -e 's:$: $lt_compiler_flag:'`
     15533   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     15534   (eval "$lt_compile" 2>out/conftest.err)
     15535   ac_status=$?
     15536   cat out/conftest.err >&5
     15537   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     15538   if (exit $ac_status) && test -s out/conftest2.$ac_objext
     15539   then
     15540     # The compiler can only warn and ignore the option if not recognized
     15541     # So say no if there are warnings
     15542     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
     15543     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
     15544     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
     15545       lt_cv_prog_compiler_c_o_CXX=yes
     15546     fi
     15547   fi
     15548   chmod u+w . 2>&5
     15549   $RM conftest*
     15550   # SGI C++ compiler will create directory out/ii_files/ for
     15551   # template instantiation
     15552   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
     15553   $RM out/* && rmdir out
     15554   cd ..
     15555   $RM -r conftest
     15556   $RM conftest*
     15557
     15558fi
     15559{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
     15560$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
     15561
     15562
     15563
     15564    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
     15565$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
     15566if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
     15567  $as_echo_n "(cached) " >&6
     15568else
     15569  lt_cv_prog_compiler_c_o_CXX=no
     15570   $RM -r conftest 2>/dev/null
     15571   mkdir conftest
     15572   cd conftest
     15573   mkdir out
     15574   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     15575
     15576   lt_compiler_flag="-o out/conftest2.$ac_objext"
     15577   # Insert the option either (1) after the last *FLAGS variable, or
     15578   # (2) before a word containing "conftest.", or (3) at the end.
     15579   # Note that $ac_compile itself does not contain backslashes and begins
     15580   # with a dollar sign (not a hyphen), so the echo should work correctly.
     15581   lt_compile=`echo "$ac_compile" | $SED \
     15582   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     15583   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     15584   -e 's:$: $lt_compiler_flag:'`
     15585   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
     15586   (eval "$lt_compile" 2>out/conftest.err)
     15587   ac_status=$?
     15588   cat out/conftest.err >&5
     15589   echo "$as_me:$LINENO: \$? = $ac_status" >&5
     15590   if (exit $ac_status) && test -s out/conftest2.$ac_objext
     15591   then
     15592     # The compiler can only warn and ignore the option if not recognized
     15593     # So say no if there are warnings
     15594     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
     15595     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
     15596     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
     15597       lt_cv_prog_compiler_c_o_CXX=yes
     15598     fi
     15599   fi
     15600   chmod u+w . 2>&5
     15601   $RM conftest*
     15602   # SGI C++ compiler will create directory out/ii_files/ for
     15603   # template instantiation
     15604   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
     15605   $RM out/* && rmdir out
     15606   cd ..
     15607   $RM -r conftest
     15608   $RM conftest*
     15609
     15610fi
     15611{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
     15612$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
     15613
     15614
     15615
     15616
     15617hard_links=nottested
     15618if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then
     15619  # do not overwrite the value of need_locks provided by the user
     15620  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
     15621$as_echo_n "checking if we can lock with hard links... " >&6; }
     15622  hard_links=yes
     15623  $RM conftest*
     15624  ln conftest.a conftest.b 2>/dev/null && hard_links=no
     15625  touch conftest.a
     15626  ln conftest.a conftest.b 2>&5 || hard_links=no
     15627  ln conftest.a conftest.b 2>/dev/null && hard_links=no
     15628  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
     15629$as_echo "$hard_links" >&6; }
     15630  if test no = "$hard_links"; then
     15631    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
     15632$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
     15633    need_locks=warn
     15634  fi
     15635else
     15636  need_locks=no
     15637fi
     15638
     15639
     15640
     15641    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
     15642$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
     15643
     15644  export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     15645  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
     15646  case $host_os in
     15647  aix[4-9]*)
     15648    # If we're using GNU nm, then we don't want the "-C" option.
     15649    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
     15650    # Without the "-l" option, or with the "-B" option, AIX nm treats
     15651    # weak defined symbols like other global defined symbols, whereas
     15652    # GNU nm marks them as "W".
     15653    # While the 'weak' keyword is ignored in the Export File, we need
     15654    # it in the Import File for the 'aix-soname' feature, so we have
     15655    # to replace the "-B" option with "-P" for AIX nm.
     15656    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
     15657      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'
     15658    else
     15659      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'
     15660    fi
     15661    ;;
     15662  pw32*)
     15663    export_symbols_cmds_CXX=$ltdll_cmds
     15664    ;;
     15665  cygwin* | mingw* | cegcc*)
     15666    case $cc_basename in
     15667    cl*)
     15668      exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
     15669      ;;
     15670    *)
     15671      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'
     15672      exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
     15673      ;;
     15674    esac
     15675    ;;
     15676  linux* | k*bsd*-gnu | gnu*)
     15677    link_all_deplibs_CXX=no
     15678    ;;
     15679  *)
     15680    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     15681    ;;
     15682  esac
     15683
     15684{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
     15685$as_echo "$ld_shlibs_CXX" >&6; }
     15686test no = "$ld_shlibs_CXX" && can_build_shared=no
     15687
     15688with_gnu_ld_CXX=$with_gnu_ld
     15689
     15690
     15691
     15692
     15693
     15694
     15695#
     15696# Do we need to explicitly link libc?
     15697#
     15698case "x$archive_cmds_need_lc_CXX" in
     15699x|xyes)
     15700  # Assume -lc should be added
     15701  archive_cmds_need_lc_CXX=yes
     15702
     15703  if test yes,yes = "$GCC,$enable_shared"; then
     15704    case $archive_cmds_CXX in
     15705    *'~'*)
     15706      # FIXME: we may have to deal with multi-command sequences.
     15707      ;;
     15708    '$CC '*)
     15709      # Test whether the compiler implicitly links with -lc since on some
     15710      # systems, -lgcc has to come before -lc. If gcc already passes -lc
     15711      # to ld, don't add -lc before -lgcc.
     15712      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
     15713$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
     15714if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then :
     15715  $as_echo_n "(cached) " >&6
     15716else
     15717  $RM conftest*
     15718        echo "$lt_simple_compile_test_code" > conftest.$ac_ext
     15719
     15720        if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
     15721  (eval $ac_compile) 2>&5
     15722  ac_status=$?
     15723  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     15724  test $ac_status = 0; } 2>conftest.err; then
     15725          soname=conftest
     15726          lib=conftest
     15727          libobjs=conftest.$ac_objext
     15728          deplibs=
     15729          wl=$lt_prog_compiler_wl_CXX
     15730          pic_flag=$lt_prog_compiler_pic_CXX
     15731          compiler_flags=-v
     15732          linker_flags=-v
     15733          verstring=
     15734          output_objdir=.
     15735          libname=conftest
     15736          lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
     15737          allow_undefined_flag_CXX=
     15738          if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
     15739  (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
     15740  ac_status=$?
     15741  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     15742  test $ac_status = 0; }
     15743          then
     15744            lt_cv_archive_cmds_need_lc_CXX=no
     15745          else
     15746            lt_cv_archive_cmds_need_lc_CXX=yes
     15747          fi
     15748          allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
     15749        else
     15750          cat conftest.err 1>&5
     15751        fi
     15752        $RM conftest*
     15753
     15754fi
     15755{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
     15756$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
     15757      archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
     15758      ;;
     15759    esac
     15760  fi
     15761  ;;
     15762esac
     15763
     15764
     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    { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
     15826$as_echo_n "checking dynamic linker characteristics... " >&6; }
     15827
     15828library_names_spec=
     15829libname_spec='lib$name'
     15830soname_spec=
     15831shrext_cmds=.so
     15832postinstall_cmds=
     15833postuninstall_cmds=
     15834finish_cmds=
     15835finish_eval=
     15836shlibpath_var=
     15837shlibpath_overrides_runpath=unknown
     15838version_type=none
     15839dynamic_linker="$host_os ld.so"
     15840sys_lib_dlsearch_path_spec="/lib /usr/lib"
     15841need_lib_prefix=unknown
     15842hardcode_into_libs=no
     15843
     15844# when you set need_version to no, make sure it does not cause -set_version
     15845# flags to be left without arguments
     15846need_version=unknown
     15847
     15848
     15849
     15850case $host_os in
     15851aix3*)
     15852  version_type=linux # correct to gnu/linux during the next big refactor
     15853  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
     15854  shlibpath_var=LIBPATH
     15855
     15856  # AIX 3 has no versioning support, so we append a major version to the name.
     15857  soname_spec='$libname$release$shared_ext$major'
     15858  ;;
     15859
     15860aix[4-9]*)
     15861  version_type=linux # correct to gnu/linux during the next big refactor
     15862  need_lib_prefix=no
     15863  need_version=no
     15864  hardcode_into_libs=yes
     15865  if test ia64 = "$host_cpu"; then
     15866    # AIX 5 supports IA64
     15867    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
     15868    shlibpath_var=LD_LIBRARY_PATH
     15869  else
     15870    # With GCC up to 2.95.x, collect2 would create an import file
     15871    # for dependence libraries.  The import file would start with
     15872    # the line '#! .'.  This would cause the generated library to
     15873    # depend on '.', always an invalid library.  This was fixed in
     15874    # development snapshots of GCC prior to 3.0.
     15875    case $host_os in
     15876      aix4 | aix4.[01] | aix4.[01].*)
     15877      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
     15878           echo ' yes '
     15879           echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
     15880        :
     15881      else
     15882        can_build_shared=no
     15883      fi
     15884      ;;
     15885    esac
     15886    # Using Import Files as archive members, it is possible to support
     15887    # filename-based versioning of shared library archives on AIX. While
     15888    # this would work for both with and without runtime linking, it will
     15889    # prevent static linking of such archives. So we do filename-based
     15890    # shared library versioning with .so extension only, which is used
     15891    # when both runtime linking and shared linking is enabled.
     15892    # Unfortunately, runtime linking may impact performance, so we do
     15893    # not want this to be the default eventually. Also, we use the
     15894    # versioned .so libs for executables only if there is the -brtl
     15895    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
     15896    # To allow for filename-based versioning support, we need to create
     15897    # libNAME.so.V as an archive file, containing:
     15898    # *) an Import File, referring to the versioned filename of the
     15899    #    archive as well as the shared archive member, telling the
     15900    #    bitwidth (32 or 64) of that shared object, and providing the
     15901    #    list of exported symbols of that shared object, eventually
     15902    #    decorated with the 'weak' keyword
     15903    # *) the shared object with the F_LOADONLY flag set, to really avoid
     15904    #    it being seen by the linker.
     15905    # At run time we better use the real file rather than another symlink,
     15906    # but for link time we create the symlink libNAME.so -> libNAME.so.V
     15907
     15908    case $with_aix_soname,$aix_use_runtimelinking in
     15909    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
     15910    # soname into executable. Probably we can add versioning support to
     15911    # collect2, so additional links can be useful in future.
     15912    aix,yes) # traditional libtool
     15913      dynamic_linker='AIX unversionable lib.so'
     15914      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
     15915      # instead of lib<name>.a to let people know that these are not
     15916      # typical AIX shared libraries.
     15917      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15918      ;;
     15919    aix,no) # traditional AIX only
     15920      dynamic_linker='AIX lib.a(lib.so.V)'
     15921      # We preserve .a as extension for shared libraries through AIX4.2
     15922      # and later when we are not doing run time linking.
     15923      library_names_spec='$libname$release.a $libname.a'
     15924      soname_spec='$libname$release$shared_ext$major'
     15925      ;;
     15926    svr4,*) # full svr4 only
     15927      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
     15928      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
     15929      # We do not specify a path in Import Files, so LIBPATH fires.
     15930      shlibpath_overrides_runpath=yes
     15931      ;;
     15932    *,yes) # both, prefer svr4
     15933      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
     15934      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
     15935      # unpreferred sharedlib libNAME.a needs extra handling
     15936      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"'
     15937      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"'
     15938      # We do not specify a path in Import Files, so LIBPATH fires.
     15939      shlibpath_overrides_runpath=yes
     15940      ;;
     15941    *,no) # both, prefer aix
     15942      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
     15943      library_names_spec='$libname$release.a $libname.a'
     15944      soname_spec='$libname$release$shared_ext$major'
     15945      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
     15946      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)'
     15947      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"'
     15948      ;;
     15949    esac
     15950    shlibpath_var=LIBPATH
     15951  fi
     15952  ;;
     15953
     15954amigaos*)
     15955  case $host_cpu in
     15956  powerpc)
     15957    # Since July 2007 AmigaOS4 officially supports .so libraries.
     15958    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
     15959    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15960    ;;
     15961  m68k)
     15962    library_names_spec='$libname.ixlibrary $libname.a'
     15963    # Create ${libname}_ixlibrary.a entries in /sys/libs.
     15964    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'
     15965    ;;
     15966  esac
     15967  ;;
     15968
     15969beos*)
     15970  library_names_spec='$libname$shared_ext'
     15971  dynamic_linker="$host_os ld.so"
     15972  shlibpath_var=LIBRARY_PATH
     15973  ;;
     15974
     15975bsdi[45]*)
     15976  version_type=linux # correct to gnu/linux during the next big refactor
     15977  need_version=no
     15978  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     15979  soname_spec='$libname$release$shared_ext$major'
     15980  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
     15981  shlibpath_var=LD_LIBRARY_PATH
     15982  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
     15983  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
     15984  # the default ld.so.conf also contains /usr/contrib/lib and
     15985  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
     15986  # libtool to hard-code these into programs
     15987  ;;
     15988
     15989cygwin* | mingw* | pw32* | cegcc*)
     15990  version_type=windows
     15991  shrext_cmds=.dll
     15992  need_version=no
     15993  need_lib_prefix=no
     15994
     15995  case $GCC,$cc_basename in
     15996  yes,*)
     15997    # gcc
     15998    library_names_spec='$libname.dll.a'
     15999    # DLL is installed to $(libdir)/../bin by postinstall_cmds
     16000    postinstall_cmds='base_file=`basename \$file`~
     16001      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
     16002      dldir=$destdir/`dirname \$dlpath`~
     16003      test -d \$dldir || mkdir -p \$dldir~
     16004      $install_prog $dir/$dlname \$dldir/$dlname~
     16005      chmod a+x \$dldir/$dlname~
     16006      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
     16007        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
     16008      fi'
     16009    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
     16010      dlpath=$dir/\$dldll~
     16011       $RM \$dlpath'
     16012    shlibpath_overrides_runpath=yes
     16013
     16014    case $host_os in
     16015    cygwin*)
     16016      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
     16017      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     16018
     16019      ;;
     16020    mingw* | cegcc*)
     16021      # MinGW DLLs use traditional 'lib' prefix
     16022      soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     16023      ;;
     16024    pw32*)
     16025      # pw32 DLLs use 'pw' prefix rather than 'lib'
     16026      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     16027      ;;
     16028    esac
     16029    dynamic_linker='Win32 ld.exe'
     16030    ;;
     16031
     16032  *,cl*)
     16033    # Native MSVC
     16034    libname_spec='$name'
     16035    soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
     16036    library_names_spec='$libname.dll.lib'
     16037
     16038    case $build_os in
     16039    mingw*)
     16040      sys_lib_search_path_spec=
     16041      lt_save_ifs=$IFS
     16042      IFS=';'
     16043      for lt_path in $LIB
     16044      do
     16045        IFS=$lt_save_ifs
     16046        # Let DOS variable expansion print the short 8.3 style file name.
     16047        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
     16048        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
     16049      done
     16050      IFS=$lt_save_ifs
     16051      # Convert to MSYS style.
     16052      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
     16053      ;;
     16054    cygwin*)
     16055      # Convert to unix form, then to dos form, then back to unix form
     16056      # but this time dos style (no spaces!) so that the unix form looks
     16057      # like /cygdrive/c/PROGRA~1:/cygdr...
     16058      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
     16059      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
     16060      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
     16061      ;;
     16062    *)
     16063      sys_lib_search_path_spec=$LIB
     16064      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
     16065        # It is most probably a Windows format PATH.
     16066        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
     16067      else
     16068        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
     16069      fi
     16070      # FIXME: find the short name or the path components, as spaces are
     16071      # common. (e.g. "Program Files" -> "PROGRA~1")
     16072      ;;
     16073    esac
     16074
     16075    # DLL is installed to $(libdir)/../bin by postinstall_cmds
     16076    postinstall_cmds='base_file=`basename \$file`~
     16077      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
     16078      dldir=$destdir/`dirname \$dlpath`~
     16079      test -d \$dldir || mkdir -p \$dldir~
     16080      $install_prog $dir/$dlname \$dldir/$dlname'
     16081    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
     16082      dlpath=$dir/\$dldll~
     16083       $RM \$dlpath'
     16084    shlibpath_overrides_runpath=yes
     16085    dynamic_linker='Win32 link.exe'
     16086    ;;
     16087
     16088  *)
     16089    # Assume MSVC wrapper
     16090    library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
     16091    dynamic_linker='Win32 ld.exe'
     16092    ;;
     16093  esac
     16094  # FIXME: first we should search . and the directory the executable is in
     16095  shlibpath_var=PATH
     16096  ;;
     16097
     16098darwin* | rhapsody*)
     16099  dynamic_linker="$host_os dyld"
     16100  version_type=darwin
     16101  need_lib_prefix=no
     16102  need_version=no
     16103  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
     16104  soname_spec='$libname$release$major$shared_ext'
     16105  shlibpath_overrides_runpath=yes
     16106  shlibpath_var=DYLD_LIBRARY_PATH
     16107  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
     16108
     16109  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
     16110  ;;
     16111
     16112dgux*)
     16113  version_type=linux # correct to gnu/linux during the next big refactor
     16114  need_lib_prefix=no
     16115  need_version=no
     16116  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16117  soname_spec='$libname$release$shared_ext$major'
     16118  shlibpath_var=LD_LIBRARY_PATH
     16119  ;;
     16120
     16121freebsd* | dragonfly*)
     16122  # DragonFly does not have aout.  When/if they implement a new
     16123  # versioning mechanism, adjust this.
     16124  if test -x /usr/bin/objformat; then
     16125    objformat=`/usr/bin/objformat`
     16126  else
     16127    case $host_os in
     16128    freebsd[23].*) objformat=aout ;;
     16129    *) objformat=elf ;;
     16130    esac
     16131  fi
     16132  version_type=freebsd-$objformat
     16133  case $version_type in
     16134    freebsd-elf*)
     16135      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16136      soname_spec='$libname$release$shared_ext$major'
     16137      need_version=no
     16138      need_lib_prefix=no
     16139      ;;
     16140    freebsd-*)
     16141      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     16142      need_version=yes
     16143      ;;
     16144  esac
     16145  shlibpath_var=LD_LIBRARY_PATH
     16146  case $host_os in
     16147  freebsd2.*)
     16148    shlibpath_overrides_runpath=yes
     16149    ;;
     16150  freebsd3.[01]* | freebsdelf3.[01]*)
     16151    shlibpath_overrides_runpath=yes
     16152    hardcode_into_libs=yes
     16153    ;;
     16154  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
     16155  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
     16156    shlibpath_overrides_runpath=no
     16157    hardcode_into_libs=yes
     16158    ;;
     16159  *) # from 4.6 on, and DragonFly
     16160    shlibpath_overrides_runpath=yes
     16161    hardcode_into_libs=yes
     16162    ;;
     16163  esac
     16164  ;;
     16165
     16166haiku*)
     16167  version_type=linux # correct to gnu/linux during the next big refactor
     16168  need_lib_prefix=no
     16169  need_version=no
     16170  dynamic_linker="$host_os runtime_loader"
     16171  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16172  soname_spec='$libname$release$shared_ext$major'
     16173  shlibpath_var=LIBRARY_PATH
     16174  shlibpath_overrides_runpath=no
     16175  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
     16176  hardcode_into_libs=yes
     16177  ;;
     16178
     16179hpux9* | hpux10* | hpux11*)
     16180  # Give a soname corresponding to the major version so that dld.sl refuses to
     16181  # link against other versions.
     16182  version_type=sunos
     16183  need_lib_prefix=no
     16184  need_version=no
     16185  case $host_cpu in
     16186  ia64*)
     16187    shrext_cmds='.so'
     16188    hardcode_into_libs=yes
     16189    dynamic_linker="$host_os dld.so"
     16190    shlibpath_var=LD_LIBRARY_PATH
     16191    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
     16192    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16193    soname_spec='$libname$release$shared_ext$major'
     16194    if test 32 = "$HPUX_IA64_MODE"; then
     16195      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
     16196      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
     16197    else
     16198      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
     16199      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
     16200    fi
     16201    ;;
     16202  hppa*64*)
     16203    shrext_cmds='.sl'
     16204    hardcode_into_libs=yes
     16205    dynamic_linker="$host_os dld.sl"
     16206    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
     16207    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
     16208    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16209    soname_spec='$libname$release$shared_ext$major'
     16210    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
     16211    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     16212    ;;
     16213  *)
     16214    shrext_cmds='.sl'
     16215    dynamic_linker="$host_os dld.sl"
     16216    shlibpath_var=SHLIB_PATH
     16217    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
     16218    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16219    soname_spec='$libname$release$shared_ext$major'
     16220    ;;
     16221  esac
     16222  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
     16223  postinstall_cmds='chmod 555 $lib'
     16224  # or fails outright, so override atomically:
     16225  install_override_mode=555
     16226  ;;
     16227
     16228interix[3-9]*)
     16229  version_type=linux # correct to gnu/linux during the next big refactor
     16230  need_lib_prefix=no
     16231  need_version=no
     16232  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16233  soname_spec='$libname$release$shared_ext$major'
     16234  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
     16235  shlibpath_var=LD_LIBRARY_PATH
     16236  shlibpath_overrides_runpath=no
     16237  hardcode_into_libs=yes
     16238  ;;
     16239
     16240irix5* | irix6* | nonstopux*)
     16241  case $host_os in
     16242    nonstopux*) version_type=nonstopux ;;
     16243    *)
     16244        if test yes = "$lt_cv_prog_gnu_ld"; then
     16245                version_type=linux # correct to gnu/linux during the next big refactor
     16246        else
     16247                version_type=irix
     16248        fi ;;
     16249  esac
     16250  need_lib_prefix=no
     16251  need_version=no
     16252  soname_spec='$libname$release$shared_ext$major'
     16253  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
     16254  case $host_os in
     16255  irix5* | nonstopux*)
     16256    libsuff= shlibsuff=
     16257    ;;
     16258  *)
     16259    case $LD in # libtool.m4 will add one of these switches to LD
     16260    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
     16261      libsuff= shlibsuff= libmagic=32-bit;;
     16262    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
     16263      libsuff=32 shlibsuff=N32 libmagic=N32;;
     16264    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
     16265      libsuff=64 shlibsuff=64 libmagic=64-bit;;
     16266    *) libsuff= shlibsuff= libmagic=never-match;;
     16267    esac
     16268    ;;
     16269  esac
     16270  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
     16271  shlibpath_overrides_runpath=no
     16272  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
     16273  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
     16274  hardcode_into_libs=yes
     16275  ;;
     16276
     16277# No shared lib support for Linux oldld, aout, or coff.
     16278linux*oldld* | linux*aout* | linux*coff*)
     16279  dynamic_linker=no
     16280  ;;
     16281
     16282linux*android*)
     16283  version_type=none # Android doesn't support versioned libraries.
     16284  need_lib_prefix=no
     16285  need_version=no
     16286  library_names_spec='$libname$release$shared_ext'
     16287  soname_spec='$libname$release$shared_ext'
     16288  finish_cmds=
     16289  shlibpath_var=LD_LIBRARY_PATH
     16290  shlibpath_overrides_runpath=yes
     16291
     16292  # This implies no fast_install, which is unacceptable.
     16293  # Some rework will be needed to allow for fast_install
     16294  # before this can be enabled.
     16295  hardcode_into_libs=yes
     16296
     16297  dynamic_linker='Android linker'
     16298  # Don't embed -rpath directories since the linker doesn't support them.
     16299  hardcode_libdir_flag_spec_CXX='-L$libdir'
     16300  ;;
     16301
     16302# This must be glibc/ELF.
     16303linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
     16304  version_type=linux # correct to gnu/linux during the next big refactor
     16305  need_lib_prefix=no
     16306  need_version=no
     16307  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16308  soname_spec='$libname$release$shared_ext$major'
     16309  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
     16310  shlibpath_var=LD_LIBRARY_PATH
     16311  shlibpath_overrides_runpath=no
     16312
     16313  # Some binutils ld are patched to set DT_RUNPATH
     16314  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
     16315  $as_echo_n "(cached) " >&6
     16316else
     16317  lt_cv_shlibpath_overrides_runpath=no
     16318    save_LDFLAGS=$LDFLAGS
     16319    save_libdir=$libdir
     16320    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
     16321         LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
     16322    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     16323/* end confdefs.h.  */
     16324
     16325int
     16326main ()
     16327{
     16328
     16329  ;
     16330  return 0;
     16331}
     16332_ACEOF
     16333if ac_fn_cxx_try_link "$LINENO"; then :
     16334  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
     16335  lt_cv_shlibpath_overrides_runpath=yes
     16336fi
     16337fi
     16338rm -f core conftest.err conftest.$ac_objext \
     16339    conftest$ac_exeext conftest.$ac_ext
     16340    LDFLAGS=$save_LDFLAGS
     16341    libdir=$save_libdir
     16342
     16343fi
     16344
     16345  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
     16346
     16347  # This implies no fast_install, which is unacceptable.
     16348  # Some rework will be needed to allow for fast_install
     16349  # before this can be enabled.
     16350  hardcode_into_libs=yes
     16351
     16352  # Ideally, we could use ldconfig to report *all* directores which are
     16353  # searched for libraries, however this is still not possible.  Aside from not
     16354  # being certain /sbin/ldconfig is available, command
     16355  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
     16356  # even though it is searched at run-time.  Try to do the best guess by
     16357  # appending ld.so.conf contents (and includes) to the search path.
     16358  if test -f /etc/ld.so.conf; then
     16359    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' ' '`
     16360    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
     16361  fi
     16362
     16363  # We used to test for /lib/ld.so.1 and disable shared libraries on
     16364  # powerpc, because MkLinux only supported shared libraries with the
     16365  # GNU dynamic linker.  Since this was broken with cross compilers,
     16366  # most powerpc-linux boxes support dynamic linking these days and
     16367  # people can always --disable-shared, the test was removed, and we
     16368  # assume the GNU/Linux dynamic linker is in use.
     16369  dynamic_linker='GNU/Linux ld.so'
     16370  ;;
     16371
     16372netbsdelf*-gnu)
     16373  version_type=linux
     16374  need_lib_prefix=no
     16375  need_version=no
     16376  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
     16377  soname_spec='${libname}${release}${shared_ext}$major'
     16378  shlibpath_var=LD_LIBRARY_PATH
     16379  shlibpath_overrides_runpath=no
     16380  hardcode_into_libs=yes
     16381  dynamic_linker='NetBSD ld.elf_so'
     16382  ;;
     16383
     16384netbsd*)
     16385  version_type=sunos
     16386  need_lib_prefix=no
     16387  need_version=no
     16388  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
     16389    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     16390    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     16391    dynamic_linker='NetBSD (a.out) ld.so'
     16392  else
     16393    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16394    soname_spec='$libname$release$shared_ext$major'
     16395    dynamic_linker='NetBSD ld.elf_so'
     16396  fi
     16397  shlibpath_var=LD_LIBRARY_PATH
     16398  shlibpath_overrides_runpath=yes
     16399  hardcode_into_libs=yes
     16400  ;;
     16401
     16402newsos6)
     16403  version_type=linux # correct to gnu/linux during the next big refactor
     16404  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16405  shlibpath_var=LD_LIBRARY_PATH
     16406  shlibpath_overrides_runpath=yes
     16407  ;;
     16408
     16409*nto* | *qnx*)
     16410  version_type=qnx
     16411  need_lib_prefix=no
     16412  need_version=no
     16413  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16414  soname_spec='$libname$release$shared_ext$major'
     16415  shlibpath_var=LD_LIBRARY_PATH
     16416  shlibpath_overrides_runpath=no
     16417  hardcode_into_libs=yes
     16418  dynamic_linker='ldqnx.so'
     16419  ;;
     16420
     16421openbsd* | bitrig*)
     16422  version_type=sunos
     16423  sys_lib_dlsearch_path_spec=/usr/lib
     16424  need_lib_prefix=no
     16425  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
     16426    need_version=no
     16427  else
     16428    need_version=yes
     16429  fi
     16430  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     16431  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     16432  shlibpath_var=LD_LIBRARY_PATH
     16433  shlibpath_overrides_runpath=yes
     16434  ;;
     16435
     16436os2*)
     16437  libname_spec='$name'
     16438  version_type=windows
     16439  shrext_cmds=.dll
     16440  need_version=no
     16441  need_lib_prefix=no
     16442  # OS/2 can only load a DLL with a base name of 8 characters or less.
     16443  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
     16444    v=$($ECHO $release$versuffix | tr -d .-);
     16445    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
     16446    $ECHO $n$v`$shared_ext'
     16447  library_names_spec='${libname}_dll.$libext'
     16448  dynamic_linker='OS/2 ld.exe'
     16449  shlibpath_var=BEGINLIBPATH
     16450  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
     16451  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     16452  postinstall_cmds='base_file=`basename \$file`~
     16453    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
     16454    dldir=$destdir/`dirname \$dlpath`~
     16455    test -d \$dldir || mkdir -p \$dldir~
     16456    $install_prog $dir/$dlname \$dldir/$dlname~
     16457    chmod a+x \$dldir/$dlname~
     16458    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
     16459      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
     16460    fi'
     16461  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
     16462    dlpath=$dir/\$dldll~
     16463    $RM \$dlpath'
     16464  ;;
     16465
     16466osf3* | osf4* | osf5*)
     16467  version_type=osf
     16468  need_lib_prefix=no
     16469  need_version=no
     16470  soname_spec='$libname$release$shared_ext$major'
     16471  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16472  shlibpath_var=LD_LIBRARY_PATH
     16473  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
     16474  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     16475  ;;
     16476
     16477rdos*)
     16478  dynamic_linker=no
     16479  ;;
     16480
     16481solaris*)
     16482  version_type=linux # correct to gnu/linux during the next big refactor
     16483  need_lib_prefix=no
     16484  need_version=no
     16485  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16486  soname_spec='$libname$release$shared_ext$major'
     16487  shlibpath_var=LD_LIBRARY_PATH
     16488  shlibpath_overrides_runpath=yes
     16489  hardcode_into_libs=yes
     16490  # ldd complains unless libraries are executable
     16491  postinstall_cmds='chmod +x $lib'
     16492  ;;
     16493
     16494sunos4*)
     16495  version_type=sunos
     16496  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     16497  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
     16498  shlibpath_var=LD_LIBRARY_PATH
     16499  shlibpath_overrides_runpath=yes
     16500  if test yes = "$with_gnu_ld"; then
     16501    need_lib_prefix=no
     16502  fi
     16503  need_version=yes
     16504  ;;
     16505
     16506sysv4 | sysv4.3*)
     16507  version_type=linux # correct to gnu/linux during the next big refactor
     16508  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16509  soname_spec='$libname$release$shared_ext$major'
     16510  shlibpath_var=LD_LIBRARY_PATH
     16511  case $host_vendor in
     16512    sni)
     16513      shlibpath_overrides_runpath=no
     16514      need_lib_prefix=no
     16515      runpath_var=LD_RUN_PATH
     16516      ;;
     16517    siemens)
     16518      need_lib_prefix=no
     16519      ;;
     16520    motorola)
     16521      need_lib_prefix=no
     16522      need_version=no
     16523      shlibpath_overrides_runpath=no
     16524      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
     16525      ;;
     16526  esac
     16527  ;;
     16528
     16529sysv4*MP*)
     16530  if test -d /usr/nec; then
     16531    version_type=linux # correct to gnu/linux during the next big refactor
     16532    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
     16533    soname_spec='$libname$shared_ext.$major'
     16534    shlibpath_var=LD_LIBRARY_PATH
     16535  fi
     16536  ;;
     16537
     16538sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
     16539  version_type=sco
     16540  need_lib_prefix=no
     16541  need_version=no
     16542  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
     16543  soname_spec='$libname$release$shared_ext$major'
     16544  shlibpath_var=LD_LIBRARY_PATH
     16545  shlibpath_overrides_runpath=yes
     16546  hardcode_into_libs=yes
     16547  if test yes = "$with_gnu_ld"; then
     16548    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
     16549  else
     16550    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
     16551    case $host_os in
     16552      sco3.2v5*)
     16553        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
     16554        ;;
     16555    esac
     16556  fi
     16557  sys_lib_dlsearch_path_spec='/usr/lib'
     16558  ;;
     16559
     16560tpf*)
     16561  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
     16562  version_type=linux # correct to gnu/linux during the next big refactor
     16563  need_lib_prefix=no
     16564  need_version=no
     16565  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16566  shlibpath_var=LD_LIBRARY_PATH
     16567  shlibpath_overrides_runpath=no
     16568  hardcode_into_libs=yes
     16569  ;;
     16570
     16571uts4*)
     16572  version_type=linux # correct to gnu/linux during the next big refactor
     16573  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     16574  soname_spec='$libname$release$shared_ext$major'
     16575  shlibpath_var=LD_LIBRARY_PATH
     16576  ;;
     16577
     16578*)
     16579  dynamic_linker=no
     16580  ;;
     16581esac
     16582{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
     16583$as_echo "$dynamic_linker" >&6; }
     16584test no = "$dynamic_linker" && can_build_shared=no
     16585
     16586variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
     16587if test yes = "$GCC"; then
     16588  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
     16589fi
     16590
     16591if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
     16592  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
     16593fi
     16594
     16595if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
     16596  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
     16597fi
     16598
     16599# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
     16600configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
     16601
     16602# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
     16603func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
     16604
     16605# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
     16606configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
     16607
     16608
     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    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
     16648$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
     16649hardcode_action_CXX=
     16650if test -n "$hardcode_libdir_flag_spec_CXX" ||
     16651   test -n "$runpath_var_CXX" ||
     16652   test yes = "$hardcode_automatic_CXX"; then
     16653
     16654  # We can hardcode non-existent directories.
     16655  if test no != "$hardcode_direct_CXX" &&
     16656     # If the only mechanism to avoid hardcoding is shlibpath_var, we
     16657     # have to relink, otherwise we might link with an installed library
     16658     # when we should be linking with a yet-to-be-installed one
     16659     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" &&
     16660     test no != "$hardcode_minus_L_CXX"; then
     16661    # Linking always hardcodes the temporary library directory.
     16662    hardcode_action_CXX=relink
     16663  else
     16664    # We can link without hardcoding, and we can hardcode nonexisting dirs.
     16665    hardcode_action_CXX=immediate
     16666  fi
     16667else
     16668  # We cannot hardcode anything, or else we can only hardcode existing
     16669  # directories.
     16670  hardcode_action_CXX=unsupported
     16671fi
     16672{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
     16673$as_echo "$hardcode_action_CXX" >&6; }
     16674
     16675if test relink = "$hardcode_action_CXX" ||
     16676   test yes = "$inherit_rpath_CXX"; then
     16677  # Fast installation is not supported
     16678  enable_fast_install=no
     16679elif test yes = "$shlibpath_overrides_runpath" ||
     16680     test no = "$enable_shared"; then
     16681  # Fast installation is not necessary
     16682  enable_fast_install=needless
     16683fi
     16684
     16685
     16686
     16687
     16688
     16689
     16690
     16691  fi # test -n "$compiler"
     16692
     16693  CC=$lt_save_CC
     16694  CFLAGS=$lt_save_CFLAGS
     16695  LDCXX=$LD
     16696  LD=$lt_save_LD
     16697  GCC=$lt_save_GCC
     16698  with_gnu_ld=$lt_save_with_gnu_ld
     16699  lt_cv_path_LDCXX=$lt_cv_path_LD
     16700  lt_cv_path_LD=$lt_save_path_LD
     16701  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
     16702  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
     16703fi # test yes != "$_lt_caught_CXX_error"
     16704
     16705ac_ext=c
     16706ac_cpp='$CPP $CPPFLAGS'
     16707ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
     16708ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
     16709ac_compiler_gnu=$ac_cv_c_compiler_gnu
     16710
     16711
     16712
     16713
     16714
     16715
     16716
     16717
     16718
     16719
     16720
     16721
     16722
     16723
     16724
     16725        ac_config_commands="$ac_config_commands libtool"
     16726
     16727
     16728
     16729
     16730# Only expand once:
     16731
     16732
     16733
     16734{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
     16735$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
     16736set x ${MAKE-make}
     16737ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
     16738if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
     16739  $as_echo_n "(cached) " >&6
     16740else
     16741  cat >conftest.make <<\_ACEOF
     16742SHELL = /bin/sh
     16743all:
     16744        @echo '@@@%%%=$(MAKE)=@@@%%%'
     16745_ACEOF
     16746# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
     16747case `${MAKE-make} -f conftest.make 2>/dev/null` in
     16748  *@@@%%%=?*=@@@%%%*)
     16749    eval ac_cv_prog_make_${ac_make}_set=yes;;
     16750  *)
     16751    eval ac_cv_prog_make_${ac_make}_set=no;;
     16752esac
     16753rm -f conftest.make
     16754fi
     16755if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
     16756  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
     16757$as_echo "yes" >&6; }
     16758  SET_MAKE=
     16759else
     16760  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     16761$as_echo "no" >&6; }
     16762  SET_MAKE="MAKE=${MAKE-make}"
     16763fi
     16764
     16765
     16766# Checks for libraries.
     16767{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fibre::yield in -lfibre" >&5
     16768$as_echo_n "checking for Fibre::yield in -lfibre... " >&6; }
     16769if ${ac_cv_lib_fibre_Fibre__yield+:} false; then :
     16770  $as_echo_n "(cached) " >&6
     16771else
     16772  ac_check_lib_save_LIBS=$LIBS
     16773LIBS="-lfibre  $LIBS"
     16774cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     16775/* end confdefs.h.  */
     16776
     16777/* Override any GCC internal prototype to avoid an error.
     16778   Use char because int might match the return type of a GCC
     16779   builtin and then its argument prototype would still apply.  */
     16780#ifdef __cplusplus
     16781extern "C"
     16782#endif
     16783char Fibre::yield ();
     16784int
     16785main ()
     16786{
     16787return Fibre::yield ();
     16788  ;
     16789  return 0;
     16790}
     16791_ACEOF
     16792if ac_fn_c_try_link "$LINENO"; then :
     16793  ac_cv_lib_fibre_Fibre__yield=yes
     16794else
     16795  ac_cv_lib_fibre_Fibre__yield=no
     16796fi
     16797rm -f core conftest.err conftest.$ac_objext \
     16798    conftest$ac_exeext conftest.$ac_ext
     16799LIBS=$ac_check_lib_save_LIBS
     16800fi
     16801{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fibre_Fibre__yield" >&5
     16802$as_echo "$ac_cv_lib_fibre_Fibre__yield" >&6; }
     16803if test "x$ac_cv_lib_fibre_Fibre__yield" = xyes; then :
     16804  HAVE_LIBFIBRE=1
     16805else
     16806  HAVE_LIBFIBRE=0
     16807fi
     16808
     16809 if test "$HAVE_LIBFIBRE" -eq 1; then
     16810  WITH_LIBFIBRE_TRUE=
     16811  WITH_LIBFIBRE_FALSE='#'
     16812else
     16813  WITH_LIBFIBRE_TRUE='#'
     16814  WITH_LIBFIBRE_FALSE=
     16815fi
     16816
     16817
     16818# Checks for header files.
    589216819ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
    589316820if test "x$ac_cv_type_size_t" = xyes; then :
     
    638017307fi
    638117308done
     17309
     17310
     17311#==============================================================================
     17312# backend compiler implementation
     17313
     17314cat >>confdefs.h <<_ACEOF
     17315#define CFA_BACKEND_CC "${CC}"
     17316_ACEOF
     17317
    638217318
    638317319
     
    712418060AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
    712518061
     18062
     18063# The HP-UX ksh and POSIX shell print the target directory to stdout
     18064# if CDPATH is set.
     18065(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
     18066
     18067sed_quote_subst='$sed_quote_subst'
     18068double_quote_subst='$double_quote_subst'
     18069delay_variable_subst='$delay_variable_subst'
     18070macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
     18071macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
     18072enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
     18073enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
     18074pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
     18075enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
     18076shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
     18077SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
     18078ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
     18079PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
     18080host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
     18081host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
     18082host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
     18083build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
     18084build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
     18085build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
     18086SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
     18087Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
     18088GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
     18089EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
     18090FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
     18091LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
     18092NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
     18093LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
     18094max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
     18095ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
     18096exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
     18097lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
     18098lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
     18099lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
     18100lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
     18101lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
     18102reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
     18103reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
     18104OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
     18105deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
     18106file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
     18107file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
     18108want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
     18109DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
     18110sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
     18111AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
     18112AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
     18113archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
     18114STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
     18115RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
     18116old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
     18117old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
     18118old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
     18119lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
     18120CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
     18121CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
     18122compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
     18123GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
     18124lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
     18125lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
     18126lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
     18127lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
     18128lt_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"`'
     18129lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
     18130nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
     18131lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
     18132lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
     18133objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
     18134MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
     18135lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
     18136lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
     18137lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
     18138lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
     18139lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
     18140need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
     18141MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
     18142DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
     18143NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
     18144LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
     18145OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
     18146OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
     18147libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
     18148shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
     18149extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
     18150archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
     18151enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
     18152export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
     18153whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
     18154compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
     18155old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
     18156old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
     18157archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
     18158archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
     18159module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
     18160module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
     18161with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
     18162allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
     18163no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
     18164hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
     18165hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
     18166hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
     18167hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
     18168hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
     18169hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
     18170hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
     18171inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
     18172link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
     18173always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
     18174export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
     18175exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
     18176include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
     18177prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
     18178postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
     18179file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
     18180variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
     18181need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
     18182need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
     18183version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
     18184runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
     18185shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
     18186shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
     18187libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
     18188library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
     18189soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
     18190install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
     18191postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
     18192postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
     18193finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
     18194finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
     18195hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
     18196sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
     18197configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
     18198configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
     18199hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
     18200enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
     18201enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
     18202enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
     18203old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
     18204striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
     18205compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
     18206predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
     18207postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
     18208predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
     18209postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
     18210compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
     18211LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
     18212reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
     18213reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18214old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18215compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
     18216GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
     18217lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
     18218lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
     18219lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
     18220lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
     18221lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
     18222archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
     18223enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
     18224export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
     18225whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
     18226compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
     18227old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18228old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18229archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18230archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18231module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18232module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18233with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
     18234allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
     18235no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
     18236hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
     18237hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
     18238hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
     18239hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
     18240hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
     18241hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
     18242hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
     18243inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
     18244link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
     18245always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
     18246export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18247exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
     18248include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
     18249prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18250postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
     18251file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
     18252hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
     18253compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
     18254predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
     18255postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
     18256predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
     18257postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
     18258compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
     18259
     18260LTCC='$LTCC'
     18261LTCFLAGS='$LTCFLAGS'
     18262compiler='$compiler_DEFAULT'
     18263
     18264# A function that is used when there is no print builtin or printf.
     18265func_fallback_echo ()
     18266{
     18267  eval 'cat <<_LTECHO_EOF
     18268\$1
     18269_LTECHO_EOF'
     18270}
     18271
     18272# Quote evaled strings.
     18273for var in SHELL \
     18274ECHO \
     18275PATH_SEPARATOR \
     18276SED \
     18277GREP \
     18278EGREP \
     18279FGREP \
     18280LD \
     18281NM \
     18282LN_S \
     18283lt_SP2NL \
     18284lt_NL2SP \
     18285reload_flag \
     18286OBJDUMP \
     18287deplibs_check_method \
     18288file_magic_cmd \
     18289file_magic_glob \
     18290want_nocaseglob \
     18291DLLTOOL \
     18292sharedlib_from_linklib_cmd \
     18293AR \
     18294AR_FLAGS \
     18295archiver_list_spec \
     18296STRIP \
     18297RANLIB \
     18298CC \
     18299CFLAGS \
     18300compiler \
     18301lt_cv_sys_global_symbol_pipe \
     18302lt_cv_sys_global_symbol_to_cdecl \
     18303lt_cv_sys_global_symbol_to_import \
     18304lt_cv_sys_global_symbol_to_c_name_address \
     18305lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
     18306lt_cv_nm_interface \
     18307nm_file_list_spec \
     18308lt_cv_truncate_bin \
     18309lt_prog_compiler_no_builtin_flag \
     18310lt_prog_compiler_pic \
     18311lt_prog_compiler_wl \
     18312lt_prog_compiler_static \
     18313lt_cv_prog_compiler_c_o \
     18314need_locks \
     18315MANIFEST_TOOL \
     18316DSYMUTIL \
     18317NMEDIT \
     18318LIPO \
     18319OTOOL \
     18320OTOOL64 \
     18321shrext_cmds \
     18322export_dynamic_flag_spec \
     18323whole_archive_flag_spec \
     18324compiler_needs_object \
     18325with_gnu_ld \
     18326allow_undefined_flag \
     18327no_undefined_flag \
     18328hardcode_libdir_flag_spec \
     18329hardcode_libdir_separator \
     18330exclude_expsyms \
     18331include_expsyms \
     18332file_list_spec \
     18333variables_saved_for_relink \
     18334libname_spec \
     18335library_names_spec \
     18336soname_spec \
     18337install_override_mode \
     18338finish_eval \
     18339old_striplib \
     18340striplib \
     18341compiler_lib_search_dirs \
     18342predep_objects \
     18343postdep_objects \
     18344predeps \
     18345postdeps \
     18346compiler_lib_search_path \
     18347LD_CXX \
     18348reload_flag_CXX \
     18349compiler_CXX \
     18350lt_prog_compiler_no_builtin_flag_CXX \
     18351lt_prog_compiler_pic_CXX \
     18352lt_prog_compiler_wl_CXX \
     18353lt_prog_compiler_static_CXX \
     18354lt_cv_prog_compiler_c_o_CXX \
     18355export_dynamic_flag_spec_CXX \
     18356whole_archive_flag_spec_CXX \
     18357compiler_needs_object_CXX \
     18358with_gnu_ld_CXX \
     18359allow_undefined_flag_CXX \
     18360no_undefined_flag_CXX \
     18361hardcode_libdir_flag_spec_CXX \
     18362hardcode_libdir_separator_CXX \
     18363exclude_expsyms_CXX \
     18364include_expsyms_CXX \
     18365file_list_spec_CXX \
     18366compiler_lib_search_dirs_CXX \
     18367predep_objects_CXX \
     18368postdep_objects_CXX \
     18369predeps_CXX \
     18370postdeps_CXX \
     18371compiler_lib_search_path_CXX; do
     18372    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     18373    *[\\\\\\\`\\"\\\$]*)
     18374      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
     18375      ;;
     18376    *)
     18377      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
     18378      ;;
     18379    esac
     18380done
     18381
     18382# Double-quote double-evaled strings.
     18383for var in reload_cmds \
     18384old_postinstall_cmds \
     18385old_postuninstall_cmds \
     18386old_archive_cmds \
     18387extract_expsyms_cmds \
     18388old_archive_from_new_cmds \
     18389old_archive_from_expsyms_cmds \
     18390archive_cmds \
     18391archive_expsym_cmds \
     18392module_cmds \
     18393module_expsym_cmds \
     18394export_symbols_cmds \
     18395prelink_cmds \
     18396postlink_cmds \
     18397postinstall_cmds \
     18398postuninstall_cmds \
     18399finish_cmds \
     18400sys_lib_search_path_spec \
     18401configure_time_dlsearch_path \
     18402configure_time_lt_sys_library_path \
     18403reload_cmds_CXX \
     18404old_archive_cmds_CXX \
     18405old_archive_from_new_cmds_CXX \
     18406old_archive_from_expsyms_cmds_CXX \
     18407archive_cmds_CXX \
     18408archive_expsym_cmds_CXX \
     18409module_cmds_CXX \
     18410module_expsym_cmds_CXX \
     18411export_symbols_cmds_CXX \
     18412prelink_cmds_CXX \
     18413postlink_cmds_CXX; do
     18414    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     18415    *[\\\\\\\`\\"\\\$]*)
     18416      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
     18417      ;;
     18418    *)
     18419      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
     18420      ;;
     18421    esac
     18422done
     18423
     18424ac_aux_dir='$ac_aux_dir'
     18425
     18426# See if we are running on zsh, and set the options that allow our
     18427# commands through without removal of \ escapes INIT.
     18428if test -n "\${ZSH_VERSION+set}"; then
     18429   setopt NO_GLOB_SUBST
     18430fi
     18431
     18432
     18433    PACKAGE='$PACKAGE'
     18434    VERSION='$VERSION'
     18435    RM='$RM'
     18436    ofile='$ofile'
     18437
     18438
     18439
     18440
     18441
     18442
    712618443_ACEOF
    712718444
     
    713418451    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:src/config.h.in" ;;
    713518452    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
     18453    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
    713618454    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
    713718455    "driver/Makefile") CONFIG_FILES="$CONFIG_FILES driver/Makefile" ;;
     
    786419182}
    786519183 ;;
     19184    "libtool":C)
     19185
     19186    # See if we are running on zsh, and set the options that allow our
     19187    # commands through without removal of \ escapes.
     19188    if test -n "${ZSH_VERSION+set}"; then
     19189      setopt NO_GLOB_SUBST
     19190    fi
     19191
     19192    cfgfile=${ofile}T
     19193    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
     19194    $RM "$cfgfile"
     19195
     19196    cat <<_LT_EOF >> "$cfgfile"
     19197#! $SHELL
     19198# Generated automatically by $as_me ($PACKAGE) $VERSION
     19199# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
     19200# NOTE: Changes made to this file will be lost: look at ltmain.sh.
     19201
     19202# Provide generalized library-building support services.
     19203# Written by Gordon Matzigkeit, 1996
     19204
     19205# Copyright (C) 2014 Free Software Foundation, Inc.
     19206# This is free software; see the source for copying conditions.  There is NO
     19207# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     19208
     19209# GNU Libtool is free software; you can redistribute it and/or modify
     19210# it under the terms of the GNU General Public License as published by
     19211# the Free Software Foundation; either version 2 of of the License, or
     19212# (at your option) any later version.
     19213#
     19214# As a special exception to the GNU General Public License, if you
     19215# distribute this file as part of a program or library that is built
     19216# using GNU Libtool, you may include this file under the  same
     19217# distribution terms that you use for the rest of that program.
     19218#
     19219# GNU Libtool is distributed in the hope that it will be useful, but
     19220# WITHOUT ANY WARRANTY; without even the implied warranty of
     19221# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     19222# GNU General Public License for more details.
     19223#
     19224# You should have received a copy of the GNU General Public License
     19225# along with this program.  If not, see <http://www.gnu.org/licenses/>.
     19226
     19227
     19228# The names of the tagged configurations supported by this script.
     19229available_tags='CXX '
     19230
     19231# Configured defaults for sys_lib_dlsearch_path munging.
     19232: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
     19233
     19234# ### BEGIN LIBTOOL CONFIG
     19235
     19236# Which release of libtool.m4 was used?
     19237macro_version=$macro_version
     19238macro_revision=$macro_revision
     19239
     19240# Whether or not to build shared libraries.
     19241build_libtool_libs=$enable_shared
     19242
     19243# Whether or not to build static libraries.
     19244build_old_libs=$enable_static
     19245
     19246# What type of objects to build.
     19247pic_mode=$pic_mode
     19248
     19249# Whether or not to optimize for fast installation.
     19250fast_install=$enable_fast_install
     19251
     19252# Shared archive member basename,for filename based shared library versioning on AIX.
     19253shared_archive_member_spec=$shared_archive_member_spec
     19254
     19255# Shell to use when invoking shell scripts.
     19256SHELL=$lt_SHELL
     19257
     19258# An echo program that protects backslashes.
     19259ECHO=$lt_ECHO
     19260
     19261# The PATH separator for the build system.
     19262PATH_SEPARATOR=$lt_PATH_SEPARATOR
     19263
     19264# The host system.
     19265host_alias=$host_alias
     19266host=$host
     19267host_os=$host_os
     19268
     19269# The build system.
     19270build_alias=$build_alias
     19271build=$build
     19272build_os=$build_os
     19273
     19274# A sed program that does not truncate output.
     19275SED=$lt_SED
     19276
     19277# Sed that helps us avoid accidentally triggering echo(1) options like -n.
     19278Xsed="\$SED -e 1s/^X//"
     19279
     19280# A grep program that handles long lines.
     19281GREP=$lt_GREP
     19282
     19283# An ERE matcher.
     19284EGREP=$lt_EGREP
     19285
     19286# A literal string matcher.
     19287FGREP=$lt_FGREP
     19288
     19289# A BSD- or MS-compatible name lister.
     19290NM=$lt_NM
     19291
     19292# Whether we need soft or hard links.
     19293LN_S=$lt_LN_S
     19294
     19295# What is the maximum length of a command?
     19296max_cmd_len=$max_cmd_len
     19297
     19298# Object file suffix (normally "o").
     19299objext=$ac_objext
     19300
     19301# Executable file suffix (normally "").
     19302exeext=$exeext
     19303
     19304# whether the shell understands "unset".
     19305lt_unset=$lt_unset
     19306
     19307# turn spaces into newlines.
     19308SP2NL=$lt_lt_SP2NL
     19309
     19310# turn newlines into spaces.
     19311NL2SP=$lt_lt_NL2SP
     19312
     19313# convert \$build file names to \$host format.
     19314to_host_file_cmd=$lt_cv_to_host_file_cmd
     19315
     19316# convert \$build files to toolchain format.
     19317to_tool_file_cmd=$lt_cv_to_tool_file_cmd
     19318
     19319# An object symbol dumper.
     19320OBJDUMP=$lt_OBJDUMP
     19321
     19322# Method to check whether dependent libraries are shared objects.
     19323deplibs_check_method=$lt_deplibs_check_method
     19324
     19325# Command to use when deplibs_check_method = "file_magic".
     19326file_magic_cmd=$lt_file_magic_cmd
     19327
     19328# How to find potential files when deplibs_check_method = "file_magic".
     19329file_magic_glob=$lt_file_magic_glob
     19330
     19331# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
     19332want_nocaseglob=$lt_want_nocaseglob
     19333
     19334# DLL creation program.
     19335DLLTOOL=$lt_DLLTOOL
     19336
     19337# Command to associate shared and link libraries.
     19338sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
     19339
     19340# The archiver.
     19341AR=$lt_AR
     19342
     19343# Flags to create an archive.
     19344AR_FLAGS=$lt_AR_FLAGS
     19345
     19346# How to feed a file listing to the archiver.
     19347archiver_list_spec=$lt_archiver_list_spec
     19348
     19349# A symbol stripping program.
     19350STRIP=$lt_STRIP
     19351
     19352# Commands used to install an old-style archive.
     19353RANLIB=$lt_RANLIB
     19354old_postinstall_cmds=$lt_old_postinstall_cmds
     19355old_postuninstall_cmds=$lt_old_postuninstall_cmds
     19356
     19357# Whether to use a lock for old archive extraction.
     19358lock_old_archive_extraction=$lock_old_archive_extraction
     19359
     19360# A C compiler.
     19361LTCC=$lt_CC
     19362
     19363# LTCC compiler flags.
     19364LTCFLAGS=$lt_CFLAGS
     19365
     19366# Take the output of nm and produce a listing of raw symbols and C names.
     19367global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
     19368
     19369# Transform the output of nm in a proper C declaration.
     19370global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
     19371
     19372# Transform the output of nm into a list of symbols to manually relocate.
     19373global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
     19374
     19375# Transform the output of nm in a C name address pair.
     19376global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
     19377
     19378# Transform the output of nm in a C name address pair when lib prefix is needed.
     19379global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
     19380
     19381# The name lister interface.
     19382nm_interface=$lt_lt_cv_nm_interface
     19383
     19384# Specify filename containing input files for \$NM.
     19385nm_file_list_spec=$lt_nm_file_list_spec
     19386
     19387# The root where to search for dependent libraries,and where our libraries should be installed.
     19388lt_sysroot=$lt_sysroot
     19389
     19390# Command to truncate a binary pipe.
     19391lt_truncate_bin=$lt_lt_cv_truncate_bin
     19392
     19393# The name of the directory that contains temporary libtool files.
     19394objdir=$objdir
     19395
     19396# Used to examine libraries when file_magic_cmd begins with "file".
     19397MAGIC_CMD=$MAGIC_CMD
     19398
     19399# Must we lock files when doing compilation?
     19400need_locks=$lt_need_locks
     19401
     19402# Manifest tool.
     19403MANIFEST_TOOL=$lt_MANIFEST_TOOL
     19404
     19405# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
     19406DSYMUTIL=$lt_DSYMUTIL
     19407
     19408# Tool to change global to local symbols on Mac OS X.
     19409NMEDIT=$lt_NMEDIT
     19410
     19411# Tool to manipulate fat objects and archives on Mac OS X.
     19412LIPO=$lt_LIPO
     19413
     19414# ldd/readelf like tool for Mach-O binaries on Mac OS X.
     19415OTOOL=$lt_OTOOL
     19416
     19417# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
     19418OTOOL64=$lt_OTOOL64
     19419
     19420# Old archive suffix (normally "a").
     19421libext=$libext
     19422
     19423# Shared library suffix (normally ".so").
     19424shrext_cmds=$lt_shrext_cmds
     19425
     19426# The commands to extract the exported symbol list from a shared archive.
     19427extract_expsyms_cmds=$lt_extract_expsyms_cmds
     19428
     19429# Variables whose values should be saved in libtool wrapper scripts and
     19430# restored at link time.
     19431variables_saved_for_relink=$lt_variables_saved_for_relink
     19432
     19433# Do we need the "lib" prefix for modules?
     19434need_lib_prefix=$need_lib_prefix
     19435
     19436# Do we need a version for libraries?
     19437need_version=$need_version
     19438
     19439# Library versioning type.
     19440version_type=$version_type
     19441
     19442# Shared library runtime path variable.
     19443runpath_var=$runpath_var
     19444
     19445# Shared library path variable.
     19446shlibpath_var=$shlibpath_var
     19447
     19448# Is shlibpath searched before the hard-coded library search path?
     19449shlibpath_overrides_runpath=$shlibpath_overrides_runpath
     19450
     19451# Format of library name prefix.
     19452libname_spec=$lt_libname_spec
     19453
     19454# List of archive names.  First name is the real one, the rest are links.
     19455# The last name is the one that the linker finds with -lNAME
     19456library_names_spec=$lt_library_names_spec
     19457
     19458# The coded name of the library, if different from the real name.
     19459soname_spec=$lt_soname_spec
     19460
     19461# Permission mode override for installation of shared libraries.
     19462install_override_mode=$lt_install_override_mode
     19463
     19464# Command to use after installation of a shared archive.
     19465postinstall_cmds=$lt_postinstall_cmds
     19466
     19467# Command to use after uninstallation of a shared archive.
     19468postuninstall_cmds=$lt_postuninstall_cmds
     19469
     19470# Commands used to finish a libtool library installation in a directory.
     19471finish_cmds=$lt_finish_cmds
     19472
     19473# As "finish_cmds", except a single script fragment to be evaled but
     19474# not shown.
     19475finish_eval=$lt_finish_eval
     19476
     19477# Whether we should hardcode library paths into libraries.
     19478hardcode_into_libs=$hardcode_into_libs
     19479
     19480# Compile-time system search path for libraries.
     19481sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
     19482
     19483# Detected run-time system search path for libraries.
     19484sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
     19485
     19486# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
     19487configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
     19488
     19489# Whether dlopen is supported.
     19490dlopen_support=$enable_dlopen
     19491
     19492# Whether dlopen of programs is supported.
     19493dlopen_self=$enable_dlopen_self
     19494
     19495# Whether dlopen of statically linked programs is supported.
     19496dlopen_self_static=$enable_dlopen_self_static
     19497
     19498# Commands to strip libraries.
     19499old_striplib=$lt_old_striplib
     19500striplib=$lt_striplib
     19501
     19502
     19503# The linker used to build libraries.
     19504LD=$lt_LD
     19505
     19506# How to create reloadable object files.
     19507reload_flag=$lt_reload_flag
     19508reload_cmds=$lt_reload_cmds
     19509
     19510# Commands used to build an old-style archive.
     19511old_archive_cmds=$lt_old_archive_cmds
     19512
     19513# A language specific compiler.
     19514CC=$lt_compiler
     19515
     19516# Is the compiler the GNU compiler?
     19517with_gcc=$GCC
     19518
     19519# Compiler flag to turn off builtin functions.
     19520no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
     19521
     19522# Additional compiler flags for building library objects.
     19523pic_flag=$lt_lt_prog_compiler_pic
     19524
     19525# How to pass a linker flag through the compiler.
     19526wl=$lt_lt_prog_compiler_wl
     19527
     19528# Compiler flag to prevent dynamic linking.
     19529link_static_flag=$lt_lt_prog_compiler_static
     19530
     19531# Does compiler simultaneously support -c and -o options?
     19532compiler_c_o=$lt_lt_cv_prog_compiler_c_o
     19533
     19534# Whether or not to add -lc for building shared libraries.
     19535build_libtool_need_lc=$archive_cmds_need_lc
     19536
     19537# Whether or not to disallow shared libs when runtime libs are static.
     19538allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
     19539
     19540# Compiler flag to allow reflexive dlopens.
     19541export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
     19542
     19543# Compiler flag to generate shared objects directly from archives.
     19544whole_archive_flag_spec=$lt_whole_archive_flag_spec
     19545
     19546# Whether the compiler copes with passing no objects directly.
     19547compiler_needs_object=$lt_compiler_needs_object
     19548
     19549# Create an old-style archive from a shared archive.
     19550old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
     19551
     19552# Create a temporary old-style archive to link instead of a shared archive.
     19553old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
     19554
     19555# Commands used to build a shared archive.
     19556archive_cmds=$lt_archive_cmds
     19557archive_expsym_cmds=$lt_archive_expsym_cmds
     19558
     19559# Commands used to build a loadable module if different from building
     19560# a shared archive.
     19561module_cmds=$lt_module_cmds
     19562module_expsym_cmds=$lt_module_expsym_cmds
     19563
     19564# Whether we are building with GNU ld or not.
     19565with_gnu_ld=$lt_with_gnu_ld
     19566
     19567# Flag that allows shared libraries with undefined symbols to be built.
     19568allow_undefined_flag=$lt_allow_undefined_flag
     19569
     19570# Flag that enforces no undefined symbols.
     19571no_undefined_flag=$lt_no_undefined_flag
     19572
     19573# Flag to hardcode \$libdir into a binary during linking.
     19574# This must work even if \$libdir does not exist
     19575hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
     19576
     19577# Whether we need a single "-rpath" flag with a separated argument.
     19578hardcode_libdir_separator=$lt_hardcode_libdir_separator
     19579
     19580# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
     19581# DIR into the resulting binary.
     19582hardcode_direct=$hardcode_direct
     19583
     19584# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
     19585# DIR into the resulting binary and the resulting library dependency is
     19586# "absolute",i.e impossible to change by setting \$shlibpath_var if the
     19587# library is relocated.
     19588hardcode_direct_absolute=$hardcode_direct_absolute
     19589
     19590# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
     19591# into the resulting binary.
     19592hardcode_minus_L=$hardcode_minus_L
     19593
     19594# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
     19595# into the resulting binary.
     19596hardcode_shlibpath_var=$hardcode_shlibpath_var
     19597
     19598# Set to "yes" if building a shared library automatically hardcodes DIR
     19599# into the library and all subsequent libraries and executables linked
     19600# against it.
     19601hardcode_automatic=$hardcode_automatic
     19602
     19603# Set to yes if linker adds runtime paths of dependent libraries
     19604# to runtime path list.
     19605inherit_rpath=$inherit_rpath
     19606
     19607# Whether libtool must link a program against all its dependency libraries.
     19608link_all_deplibs=$link_all_deplibs
     19609
     19610# Set to "yes" if exported symbols are required.
     19611always_export_symbols=$always_export_symbols
     19612
     19613# The commands to list exported symbols.
     19614export_symbols_cmds=$lt_export_symbols_cmds
     19615
     19616# Symbols that should not be listed in the preloaded symbols.
     19617exclude_expsyms=$lt_exclude_expsyms
     19618
     19619# Symbols that must always be exported.
     19620include_expsyms=$lt_include_expsyms
     19621
     19622# Commands necessary for linking programs (against libraries) with templates.
     19623prelink_cmds=$lt_prelink_cmds
     19624
     19625# Commands necessary for finishing linking programs.
     19626postlink_cmds=$lt_postlink_cmds
     19627
     19628# Specify filename containing input files.
     19629file_list_spec=$lt_file_list_spec
     19630
     19631# How to hardcode a shared library path into an executable.
     19632hardcode_action=$hardcode_action
     19633
     19634# The directories searched by this compiler when creating a shared library.
     19635compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
     19636
     19637# Dependencies to place before and after the objects being linked to
     19638# create a shared library.
     19639predep_objects=$lt_predep_objects
     19640postdep_objects=$lt_postdep_objects
     19641predeps=$lt_predeps
     19642postdeps=$lt_postdeps
     19643
     19644# The library search path used internally by the compiler when linking
     19645# a shared library.
     19646compiler_lib_search_path=$lt_compiler_lib_search_path
     19647
     19648# ### END LIBTOOL CONFIG
     19649
     19650_LT_EOF
     19651
     19652    cat <<'_LT_EOF' >> "$cfgfile"
     19653
     19654# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
     19655
     19656# func_munge_path_list VARIABLE PATH
     19657# -----------------------------------
     19658# VARIABLE is name of variable containing _space_ separated list of
     19659# directories to be munged by the contents of PATH, which is string
     19660# having a format:
     19661# "DIR[:DIR]:"
     19662#       string "DIR[ DIR]" will be prepended to VARIABLE
     19663# ":DIR[:DIR]"
     19664#       string "DIR[ DIR]" will be appended to VARIABLE
     19665# "DIRP[:DIRP]::[DIRA:]DIRA"
     19666#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
     19667#       "DIRA[ DIRA]" will be appended to VARIABLE
     19668# "DIR[:DIR]"
     19669#       VARIABLE will be replaced by "DIR[ DIR]"
     19670func_munge_path_list ()
     19671{
     19672    case x$2 in
     19673    x)
     19674        ;;
     19675    *:)
     19676        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
     19677        ;;
     19678    x:*)
     19679        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
     19680        ;;
     19681    *::*)
     19682        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
     19683        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
     19684        ;;
     19685    *)
     19686        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
     19687        ;;
     19688    esac
     19689}
     19690
     19691
     19692# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
     19693func_cc_basename ()
     19694{
     19695    for cc_temp in $*""; do
     19696      case $cc_temp in
     19697        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
     19698        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
     19699        \-*) ;;
     19700        *) break;;
     19701      esac
     19702    done
     19703    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
     19704}
     19705
     19706
     19707# ### END FUNCTIONS SHARED WITH CONFIGURE
     19708
     19709_LT_EOF
     19710
     19711  case $host_os in
     19712  aix3*)
     19713    cat <<\_LT_EOF >> "$cfgfile"
     19714# AIX sometimes has problems with the GCC collect2 program.  For some
     19715# reason, if we set the COLLECT_NAMES environment variable, the problems
     19716# vanish in a puff of smoke.
     19717if test set != "${COLLECT_NAMES+set}"; then
     19718  COLLECT_NAMES=
     19719  export COLLECT_NAMES
     19720fi
     19721_LT_EOF
     19722    ;;
     19723  esac
     19724
     19725
     19726ltmain=$ac_aux_dir/ltmain.sh
     19727
     19728
     19729  # We use sed instead of cat because bash on DJGPP gets confused if
     19730  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
     19731  # text mode, it properly converts lines to CR/LF.  This bash problem
     19732  # is reportedly fixed, but why not run on old versions too?
     19733  sed '$q' "$ltmain" >> "$cfgfile" \
     19734     || (rm -f "$cfgfile"; exit 1)
     19735
     19736   mv -f "$cfgfile" "$ofile" ||
     19737    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
     19738  chmod +x "$ofile"
     19739
     19740
     19741    cat <<_LT_EOF >> "$ofile"
     19742
     19743# ### BEGIN LIBTOOL TAG CONFIG: CXX
     19744
     19745# The linker used to build libraries.
     19746LD=$lt_LD_CXX
     19747
     19748# How to create reloadable object files.
     19749reload_flag=$lt_reload_flag_CXX
     19750reload_cmds=$lt_reload_cmds_CXX
     19751
     19752# Commands used to build an old-style archive.
     19753old_archive_cmds=$lt_old_archive_cmds_CXX
     19754
     19755# A language specific compiler.
     19756CC=$lt_compiler_CXX
     19757
     19758# Is the compiler the GNU compiler?
     19759with_gcc=$GCC_CXX
     19760
     19761# Compiler flag to turn off builtin functions.
     19762no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
     19763
     19764# Additional compiler flags for building library objects.
     19765pic_flag=$lt_lt_prog_compiler_pic_CXX
     19766
     19767# How to pass a linker flag through the compiler.
     19768wl=$lt_lt_prog_compiler_wl_CXX
     19769
     19770# Compiler flag to prevent dynamic linking.
     19771link_static_flag=$lt_lt_prog_compiler_static_CXX
     19772
     19773# Does compiler simultaneously support -c and -o options?
     19774compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
     19775
     19776# Whether or not to add -lc for building shared libraries.
     19777build_libtool_need_lc=$archive_cmds_need_lc_CXX
     19778
     19779# Whether or not to disallow shared libs when runtime libs are static.
     19780allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
     19781
     19782# Compiler flag to allow reflexive dlopens.
     19783export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
     19784
     19785# Compiler flag to generate shared objects directly from archives.
     19786whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
     19787
     19788# Whether the compiler copes with passing no objects directly.
     19789compiler_needs_object=$lt_compiler_needs_object_CXX
     19790
     19791# Create an old-style archive from a shared archive.
     19792old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
     19793
     19794# Create a temporary old-style archive to link instead of a shared archive.
     19795old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
     19796
     19797# Commands used to build a shared archive.
     19798archive_cmds=$lt_archive_cmds_CXX
     19799archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
     19800
     19801# Commands used to build a loadable module if different from building
     19802# a shared archive.
     19803module_cmds=$lt_module_cmds_CXX
     19804module_expsym_cmds=$lt_module_expsym_cmds_CXX
     19805
     19806# Whether we are building with GNU ld or not.
     19807with_gnu_ld=$lt_with_gnu_ld_CXX
     19808
     19809# Flag that allows shared libraries with undefined symbols to be built.
     19810allow_undefined_flag=$lt_allow_undefined_flag_CXX
     19811
     19812# Flag that enforces no undefined symbols.
     19813no_undefined_flag=$lt_no_undefined_flag_CXX
     19814
     19815# Flag to hardcode \$libdir into a binary during linking.
     19816# This must work even if \$libdir does not exist
     19817hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
     19818
     19819# Whether we need a single "-rpath" flag with a separated argument.
     19820hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
     19821
     19822# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
     19823# DIR into the resulting binary.
     19824hardcode_direct=$hardcode_direct_CXX
     19825
     19826# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
     19827# DIR into the resulting binary and the resulting library dependency is
     19828# "absolute",i.e impossible to change by setting \$shlibpath_var if the
     19829# library is relocated.
     19830hardcode_direct_absolute=$hardcode_direct_absolute_CXX
     19831
     19832# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
     19833# into the resulting binary.
     19834hardcode_minus_L=$hardcode_minus_L_CXX
     19835
     19836# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
     19837# into the resulting binary.
     19838hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
     19839
     19840# Set to "yes" if building a shared library automatically hardcodes DIR
     19841# into the library and all subsequent libraries and executables linked
     19842# against it.
     19843hardcode_automatic=$hardcode_automatic_CXX
     19844
     19845# Set to yes if linker adds runtime paths of dependent libraries
     19846# to runtime path list.
     19847inherit_rpath=$inherit_rpath_CXX
     19848
     19849# Whether libtool must link a program against all its dependency libraries.
     19850link_all_deplibs=$link_all_deplibs_CXX
     19851
     19852# Set to "yes" if exported symbols are required.
     19853always_export_symbols=$always_export_symbols_CXX
     19854
     19855# The commands to list exported symbols.
     19856export_symbols_cmds=$lt_export_symbols_cmds_CXX
     19857
     19858# Symbols that should not be listed in the preloaded symbols.
     19859exclude_expsyms=$lt_exclude_expsyms_CXX
     19860
     19861# Symbols that must always be exported.
     19862include_expsyms=$lt_include_expsyms_CXX
     19863
     19864# Commands necessary for linking programs (against libraries) with templates.
     19865prelink_cmds=$lt_prelink_cmds_CXX
     19866
     19867# Commands necessary for finishing linking programs.
     19868postlink_cmds=$lt_postlink_cmds_CXX
     19869
     19870# Specify filename containing input files.
     19871file_list_spec=$lt_file_list_spec_CXX
     19872
     19873# How to hardcode a shared library path into an executable.
     19874hardcode_action=$hardcode_action_CXX
     19875
     19876# The directories searched by this compiler when creating a shared library.
     19877compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
     19878
     19879# Dependencies to place before and after the objects being linked to
     19880# create a shared library.
     19881predep_objects=$lt_predep_objects_CXX
     19882postdep_objects=$lt_postdep_objects_CXX
     19883predeps=$lt_predeps_CXX
     19884postdeps=$lt_postdeps_CXX
     19885
     19886# The library search path used internally by the compiler when linking
     19887# a shared library.
     19888compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
     19889
     19890# ### END LIBTOOL TAG CONFIG: CXX
     19891_LT_EOF
     19892
     19893 ;;
    786619894
    786719895  esac
  • configure.ac

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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/invoke.h

    raeb8f70 re99e43f  
    5959                                volatile bool in_progress;
    6060                        } preemption_state;
    61                 } kernelTLS;
     61                } kernelTLS __attribute__ ((tls_model ( "initial-exec" )));
    6262        }
    6363
  • libcfa/src/concurrency/kernel.cfa

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    120120                        os << "Null expression!" << std::endl;
    121121                } // if
    122                 os << indent << "Environment: ";
     122                os << indent << "Environment:";
    123123                env.print( os, indent+1 );
    124124                os << std::endl;
  • src/ResolvExpr/AlternativeFinder.cc

    raeb8f70 re99e43f  
    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
     
    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/ResolveTypeof.cc

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
     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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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:
  • tests/.expect/declarationErrors.txt

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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:
     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:
    44  instance of struct S with body 1
    55  instance of type Z (not function type)
  • tests/.expect/scopeErrors.txt

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

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

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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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
     
    4040void main( PingPong & pingpong ) {                                              // ping's starter ::main, pong's starter ping
    4141        for ( pingpong.N ) {                                                            // N ping-pongs
    42                 sout | pingpong.name | endl;
     42                sout | pingpong.name;
    4343                cycle( *pingpong.part );
    4444        } // for
  • tests/coroutine/prodcons.cfa

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

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

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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
     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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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

    raeb8f70 re99e43f  
    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.